ML/머신러닝 25

face_recognition을 이용한 real time 얼굴 인식

face_recognition을 이용한 real time 얼굴 인식 2020. 3. 8. 16:31ㆍ3.5기(200104~)/출석체크 팀 2020 3월 8일 출석관리팀 DMC 탐탐 실시간으로 영상을 전송하여 얼굴 인식을 할 수 있는 face_recognition 라이브러리를 이용하여 실제 최영환과 김정민 얼굴의 영상을 인식하여 실습을 진행해 보았습니다. 최영환의 얼굴은 잘 인식되지 않았었는데 영상의 규격의 문제가 있었던것 같습니다. 갤럭시 a50 앞면 카메라를 이용하니 인식이 잘 되었고 출석체크 모델에 적용해볼 예정입니다. 참조 깃허브는 아래와 같습니다. https://github.com/ageitgey/face_recognition ageitgey/face_recognition The world's s..

ML/머신러닝 2020.03.08

유용한 라이브러리에 대해 정리해보자

torch , torch.nn, numpy (PyTorch로 신경망 처리를 위한 필수 패키지) torch.optim (효율적인 그라디언트 디센트) PIL , PIL.Image , matplotlib.pyplot (이미지를 읽고 보여주는 패키지) torchvision.transforms (PIL타입의 이미지들을 토치 텐서 형태로 변형해주는 패키지) torchvision.models (사전 훈련된 모델들의 학습 또는 읽기 패키지) copy (모델들의 깊은 복사를 위한 시스템 패키지) Matplotlib Matplotlib는 파이썬에서 데이타를 차트나 플롯(Plot)으로 그려주는 라이브러리 패키지로서 가장 많이 사용되는 데이타 시각화(Data Visualization) 패키지로 알려져 있다. 다양한 사용법이 ..

ML/머신러닝 2020.03.07

코랩을 이용한 샴 네트워크 구현

출석관리팀 발표자: 김정민 실습은 코드도 길고 첨부할 이미지도 많아서 따로 게시물을 작성하였습니다. 코드는 깃허브에서 가져왔고 중간 중간에 조금씩 수정은 하였습니다. 코랩을 이용하였기 때문에 드라이브에 마운트하여 파일을 이용하면 됩니다. 압축을 풀어서 드라이브에 업로드한다. 우선 깃허브에 있는 데이터셋으로 이용할 파일을 다운받아주고 코랩라이브러리에 저장해줍니다. 파일에는 각종 이미지가 담겨져 있습니다. 물론 주피터를 사용하신다면 본인 내장 드라이브 주소를 입력하시면 됩니다. /content/drive/My Drive/Colab Notebooks/training 위에 보이는 것이 주소입니다. 후에 언급할것입니다. #각종 라이브러리를 임포트 해줍시다. %matplotlib inline import torch..

ML/머신러닝 2020.03.06

샴 네트워크(Siamese Network)와 삼중항 손실 (Triplet loss)

샴 네트워크(Siamese Network) 샴 네트워크는 무엇일까? 두 개의 입력에 대해 독립적으로 두 개의 합성곱 신경망을 실행한 뒤 비교하는 아이디어이다. 샴 네트워크 구조를 간단히 설명하자면 기존의 컨볼루션 네트워크를 통해서 피처맵을 뽑아낸다. 두개의 이미지에서 피처맵을 뽑아낸 이후에 거리를 계산해 본다. 거리가 작다면 두사람이 비슷하다는것이고 거리가 크다면 두 사람이 다른 사람이라는것이다. 두 네트워크에 두 사진을 입력으로 넣고 합성곱 신경망으로 인코딩을 시킨다. 만약에 두 사람이 비슷한 사람이라면 인코딩 사이의 거리 값은 작아야한다. 만약에 두 사람이 다른 사람이라면 인코딩 사이의 거리 값은 커야한다. 위 조건을 만족시키도록 학습을 시켜야 한다. 삼중항 손실 (Triplet loss) 간단하게 ..

ML/머신러닝 2020.03.06

딥러닝을 이용한 출석체크 프로젝트 계획

스터디 진행 2020년 3월 4일 DMC 탐탐 출석관리팀:김정민,박승재,최웅준,최영환,한준희 프로젝트 구체적인 주제 휴대폰 카메라를 통해서 인식한 사진을 기존에 저장되어 있던 DB와 비교하여 출석을 확인한다. 출석결과는 출석부로 보내진다. 결과는 웹(사이트)를 통해서 보내진다. 새로운 인물이 동아리에 참석하거나 인식이 올바르지 않을 때는 데이터를 보충하고 학습을 다시 시켜서 시스템을 유지 보수 가능한 모델을 구현하는 것이 목표이다. 왼쪽에 보이는 사진은 개략적인 구성도이다. 카메라, 웹서버, 데이터 서버로 나뉘어져 있다. 시스템 동작을 보여주는 다이어그램 Face database에서는 입력이 제공만 된다. 온라인으로 학습시키면서 자동으로 보수시키고 싶지만 쉽지 않을것으로 판단되어 보류하였다. 목표 기한:..

ML/머신러닝 2020.03.05

파이토치 MNIST (CNN)[pytorch]

2020/02/21 3.5기 3팀 최웅준,송근영,김정민 장소: 능곡역 지노스 까페 합성곱을 이용한 신경망을 구성하여 Mnist를 학습하였다. 28 x 28 사이즈의 이미지셋으로 총 60000장을 라이브러리 'torchvision'에서제공해준다. 모델구조 구글에 있는 MNIST 모델을 참조하였습니다. import torch import torch.nn as nn import torchvision.datasets as dsets import torchvision.transforms as transforms import matplotlib.pyplot as plt import random 위와 같은 라이브러리를 import 하였습니다. class MnistClassifier(nn.Module) : def __..

ML/머신러닝 2020.02.24

신경망 구조를 이용하여 와인 분류하기[pytorch]

사이킷런에 포함된 와인 데이터 집합을 학습 데이터로 사용할 것이다. 2020/02/21 3.5기 3팀 최웅준,송근영,김정민 장소: 능곡역 지노스 까페 직접신경망을 구성하기에는 아직 미숙하여 'pytorch를 활용한 머신러닝,딥러닝 철저 입문' 서적에 있는 신경망을 이용한 와인분류 부분의 코드를 직접 코랩을 이용하면서 실행해보고 분석해보았다. sklearn 라이브러리('사이킷런')에는 여러가지 데이터들을 제공해주는데 wine 데이터 집합을 활용하였다. from sklearn.datasets import load_wine from sklearn.model_selection import train_test_split 위의 코드들로 라이브러리를 임포트하면 wine데이터를 이용할 수있다. wine변수의 내용은 아..

ML/머신러닝 2020.02.24

Pytorch를 이용한 Mnist 학습하기

구글 코랩을 이용하여 라이브러리 '파이토치' 기반으로 Mnist를 학습하였다. 아래 문구를 통해서 다운 받게 된다.28x28의 이미지 셋으로 라이브러리 'torchvision'에서 제공해준다. mnist_train = torchvision.datasets.MNIST(root="MNIST_data/", train=True, transform=torchvision.transforms.ToTensor(), download=True) mnist_test = torchvision.datasets.MNIST(root="MNIST_data/", train=False, transform=torchvision.transforms.ToTensor(), download=True) 데이터 셋을 다운받은 것을 확인할 수 있다 ..

ML/머신러닝 2020.02.24

Selective search 와 segmentation algorithm

2020/02/15 3.5기 3팀 최웅준,송근영,김정민 장소:한국항공대학교 중앙도서관 selective search 와 segmentation algorithm에 대하여 좀 더 스터디해보았다. segmentation이란 무엇인가? 말그대로 이미지를 조각 조각 나누는 것이다. 이미지를 나눈후에 그룹화 시켜서 유사도를 구한 후 통합해 나아가는 것이 selective search의 목표이다. Segmentation의 세가지 방법 픽셀 기반 방법: 이 방법은 흔히 thresholding에 기반한 방식으로 histogram을 이용해 픽셀들의 분포를 확인한 | 후 적절한 threshold를 설정하고, 픽셀 단위 연산을 통해 픽셀 별로 나누는 방식이며, 이진화에 많이 사용이 된다. thresholding으로는 전역(..

ML/머신러닝 2020.02.24

YOLO와 RCNN 분석

3팀-최웅준, 송근영, 김정민 회의 날짜 : 02/13 목요일 회의장소 : 능곡역 지노스 카페 주제동기 : 모여서 공부해온 것을 나누다가 R-CNN의 기존 방식에서의 Selective Search에 대해 의문이 생겨 이번 주제로 선정하게 되었다. 확실하지는 않지만 이야기하면서 우리 팀이 이해하는 방식안에서 진행되었다 Selective Search란? 기존의 Detection에서 Bounding Box를 사용할 때 Sliding window 방식으로 사진을 받아들이는데, 이 때 발생하는 문제가 필요없는 부분까지 인식하게 된다는 점이다. 이것을 좀 더 효율적으로 수행하기 위해 Selective Search를 한다. Sliding window의 하나씩 이동하면서 받아들이는 것과 다르게 인식할 부분이 적절한 위..

ML/머신러닝 2020.02.24