만든 계기:

공부할 목적도잇고 이러한 비슷한 유형의 오픈소스도 많지만 저는 참고를 안하고 이 것을 생각하게 된 계기가 미션 임파셔블 영화를 보고 거기서 주인공 톰크루즈가 범인을 찾을때 범인 사진을 주고 그 길거리에서 범인 찾는것을 보고 아 만들어 보자 재미겟다 하고 프로젝트를 시행햇고 그결과 나름 괜찮은 모델이 만들어 졋으며, 길거리에서 나를 찾아주는것을 하고 싶지만 다른사람의 개인 정보 노출인것 같아서 해보지 못햇습니다 그렇지만 나중에 기회가 되면 한번 해보고 싶은 테스트 입니다

첫번째로는 제 얼굴 데이터를 가져오는게 첫번쨰 엿고

그리고 두번쨰로는 제 이미지와 다른 이미지 얼굴을 비교할 이미지엿습니다

이때 제가 이미지를 가져올때 사용한 모듈은 openCV이고 이것을 활용해서  제 이미지와 유투브에 볼수잇는 사람 얼굴 이미지를 가져왓습니다

이미지를 가져왓다는 기준에서 이미지를 전처리하고 학습하는 과정입니다

















이미지 파일을 저장한 파일 이름

이미지 파일을 가져 코드 입니다





















이미지를 가져오고 그 이미지를 ToTensor 화를 시켜 데이터셋으로 만듭니다






[[1, 'train', 'image//train\\train_img98.jpg'], [1, 'train', 'image//train\\train_img99.jpg']]
5636

이 데이터 셋을 DataLoader를 통해 데이터 로드화를 시킵니다



<torch.utils.data.dataloader.DataLoader object at 0x0000022480D08EB8>

model 만들기



























































모델을 불러오고 이게 이진 분류이기떄문에 cross Entropy를 사용하엿습니다 

옵티마이저는 SGD 를 사용하엿고요





























tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) tensor([1, 0, 1, 1, 0, 0, 1, 1, 0, 0]) 0 tensor([ 0.0280, -0.0438], grad_fn=<SelectBackward>) tensor(0.6926, grad_fn=<NllLossBackward>) tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) tensor([1, 0, 1, 1, 0, 1, 1, 0, 1, 1]) 3 tensor([ 0.0192, -0.0182], grad_fn=<SelectBackward>) tensor(0.6747, grad_fn=<NllLossBackward>) tensor([0, 0, 1, 0, 1, 1, 0, 0, 0, 0]) tensor([0, 0, 1, 0, 1, 1, 0, 0, 0, 0]) 6 tensor([ 0.1548, -0.1646], grad_fn=<SelectBackward>) tensor(0.6105, grad_fn=<NllLossBackward>) tensor([1, 1, 1, 0, 1, 0, 1, 1, 0, 1]) tensor([1, 1, 1, 0, 1, 0, 1, 1, 0, 1]) 9 tensor([-0.0842, 0.0758], grad_fn=<SelectBackward>) tensor(0.5047, grad_fn=<NllLossBackward>) tensor([0, 1, 0, 0, 1, 0, 1, 1, 0, 1]) tensor([0, 1, 0, 0, 1, 0, 1, 1, 0, 1]) 12 tensor([ 0.0621, -0.0692], grad_fn=<SelectBackward>) tensor(0.3295, grad_fn=<NllLossBackward>) tensor([0, 1, 0, 0, 0, 0, 1, 0, 1, 0]) tensor([0, 1, 0, 0, 0, 0, 1, 0, 1, 0]) 15 tensor([ 1.2586, -1.2573], grad_fn=<SelectBackward>) tensor(0.0666, grad_fn=<NllLossBackward>) tensor([0, 0, 0, 0, 1, 1, 0, 0, 0, 1]) tensor([0, 0, 0, 0, 1, 1, 0, 0, 0, 1]) 18 tensor([ 3.9662, -3.9760], grad_fn=<SelectBackward>) tensor(0.0190, grad_fn=<NllLossBackward>) tensor([1, 1, 1, 0, 0, 1, 1, 1, 1, 1]) tensor([1, 1, 1, 0, 0, 1, 1, 1, 0, 1]) 21 tensor([-4.7700, 4.5682], grad_fn=<SelectBackward>) tensor(0.1105, grad_fn=<NllLossBackward>) tensor([1, 0, 1, 0, 0, 0, 0, 1, 1, 1]) tensor([1, 0, 1, 0, 0, 0, 0, 1, 0, 1]) 24 tensor([-4.1996, 4.0406], grad_fn=<SelectBackward>) tensor(0.3424, grad_fn=<NllLossBackward>) tensor([0, 1, 0, 0, 1, 1, 1, 0, 0, 0]) tensor([0, 1, 0, 0, 1, 1, 0, 0, 0, 0]) 27 tensor([ 5.5803, -5.6217], grad_fn=<SelectBackward>) tensor(0.2072, grad_fn=<NllLossBackward>) tensor([0, 0, 1, 1, 1, 1, 0, 1, 0, 0]) tensor([0, 0, 1, 1, 1, 1, 0, 1, 0, 0]) 30 tensor([ 8.9125, -8.9570], grad_fn=<SelectBackward>) tensor(0.0434, grad_fn=<NllLossBackward>) tensor([1, 0, 0, 0, 0, 1, 0, 1, 1, 0]) tensor([1, 0, 0, 0, 0, 1, 0, 1, 1, 0]) 33 tensor([-2.5862, 2.4938], grad_fn=<SelectBackward>) tensor(0.0365, grad_fn=<NllLossBackward>) tensor([0, 1, 0, 1, 1, 1, 0, 1, 1, 1]) tensor([0, 1, 0, 1, 1, 1, 0, 1, 1, 1]) 36 tensor([ 5.4982, -5.4998], grad_fn=<SelectBackward>) tensor(0.0100, grad_fn=<NllLossBackward>) tensor([0, 0, 0, 0, 0, 0, 0, 1, 0, 0]) tensor([0, 0, 0, 0, 0, 0, 0, 1, 0, 0]) 39 tensor([ 6.5110, -6.5401], grad_fn=<SelectBackward>) tensor(0.0181, grad_fn=<NllLossBackward>) tensor([1, 1, 0, 1, 0, 1, 1, 0, 0, 0]) tensor([1, 1, 0, 1, 0, 1, 1, 0, 0, 0]) 42 tensor([-1.8054, 1.7288], grad_fn=<SelectBackward>) tensor(0.0623, grad_fn=<NllLossBackward>) tensor([0, 0, 1, 0, 1, 0, 0, 1, 1, 0]) tensor([0, 0, 1, 0, 1, 0, 0, 1, 1, 0]) 45 tensor([ 9.7148, -9.7983], grad_fn=<SelectBackward>) tensor(0.1400, grad_fn=<NllLossBackward>) tensor([0, 1, 0, 1, 0, 0, 0, 0, 1, 1]) tensor([0, 1, 0, 1, 0, 0, 0, 0, 1, 1]) 48 tensor([ 5.6560, -5.6685], grad_fn=<SelectBackward>) tensor(0.1142, grad_fn=<NllLossBackward>) tensor([1, 0, 1, 0, 1, 1, 0, 0, 0, 1]) tensor([1, 0, 1, 0, 1, 1, 0, 0, 0, 1]) 51 tensor([-3.2274, 3.1140], grad_fn=<SelectBackward>) tensor(0.0149, grad_fn=<NllLossBackward>) tensor([1, 1, 1, 1, 1, 1, 1, 0, 0, 0]) tensor([1, 1, 1, 1, 1, 1, 1, 0, 0, 0]) 54 tensor([-2.9067, 2.7908], grad_fn=<SelectBackward>) tensor(0.0314, grad_fn=<NllLossBackward>

C:\anaconda\envs\py36\lib\site-packages\torch\serialization.py:250: UserWarning: Couldn't retrieve source code for container of type Detect. It won't be checked for correctness upon loading.
  "type " + obj.__name__ + ". It won't be checked "

************************************************************************************************************** 0 tensor(0.9402) ************************************************************************************************************** tensor([1, 0, 1, 0, 1, 1, 0, 1, 0, 0]) tensor([1, 0, 1, 0, 1, 1, 0, 1, 0, 0]) 0 tensor([-4.0769, 3.9162], grad_fn=<SelectBackward>) tensor(0.0169, grad_fn=<NllLossBackward>) tensor([1, 0, 1, 0, 1, 0, 1, 1, 0, 0]) tensor([1, 0, 1, 0, 1, 0, 1, 1, 0, 0]) 3 tensor([-3.1147, 3.0043], grad_fn=<SelectBackward>) tensor(0.0201, grad_fn=<NllLossBackward>) tensor([0, 1, 1, 0, 1, 1, 0, 1, 0, 0]) tensor([0, 1, 1, 0, 1, 1, 0, 1, 0, 0]) 6 tensor([ 11.2800, -11.4009], grad_fn=<SelectBackward>) tensor(0.0050, grad_fn=<NllLossBackward>) tensor([1, 1, 1, 1, 1, 1, 0, 0, 0, 0]) tensor([1, 1, 1, 1, 1, 1, 0, 0, 0, 0]) 9 tensor([-3.1894, 3.0685], grad_fn=<SelectBackward>) tensor(0.0048, grad_fn=<NllLossBackward>) tensor([1, 1, 1, 1, 0, 0, 1, 0, 0, 0]) tensor([1, 1, 1, 1, 0, 0, 1, 0, 0, 0]) 12 tensor([-3.6513, 3.5146], grad_fn=<SelectBackward>) tensor(0.0027, grad_fn=<NllLossBackward>) tensor([0, 1, 1, 1, 0, 1, 1, 0, 1, 1]) tensor([0, 1, 1, 1, 0, 1, 1, 0, 1, 1]) 15 tensor([ 5.8190, -5.8288], grad_fn=<SelectBackward>) tensor(0.0011, grad_fn=<NllLossBackward>) tensor([0, 1, 0, 1, 0, 0, 1, 0, 0, 0]) tensor([0, 1, 0, 1, 0, 0, 1, 0, 0, 0]) 18 tensor([ 4.0300, -4.0859], grad_fn=<SelectBackward>) tensor(0.0059, grad_fn=<NllLossBackward>) tensor([0, 0, 1, 1, 0, 0, 0, 0, 1, 0]) tensor([0, 0, 1, 1, 0, 0, 0, 0, 1, 0]) 21 tensor([ 15.3868, -15.5231], grad_fn=<SelectBackward>) tensor(0.0003, grad_fn=<NllLossBackward>) tensor([0, 0, 0, 0, 1, 1, 1, 1, 1, 1]) tensor([0, 0, 0, 0, 1, 1, 1, 1, 1, 1]) 24 tensor([ 3.4316, -3.4660], grad_fn=<SelectBackward>) tensor(0.0004, grad_fn=<NllLossBackward>) tensor([1, 0, 0, 1, 0, 1, 0, 0, 0, 0]) tensor([1, 0, 0, 1, 0, 1, 0, 0, 0, 0]) 27 tensor([-4.5901, 4.4397], grad_fn=<SelectBackward>) tensor(0.0002, grad_fn=<NllLossBackward>) tensor([0, 0, 1, 1, 0, 1, 1, 0, 0, 0]) tensor([0, 0, 1, 1, 0, 1, 1, 0, 0, 0]) 30 tensor([ 8.0189, -8.0658], grad_fn=<SelectBackward>) tensor(0.0011, grad_fn=<NllLossBackward>) tensor([1, 0, 0, 0, 0, 0, 1, 1, 1, 1]) tensor([1, 0, 0, 0, 0, 0, 1, 1, 1, 1]) 33 tensor([-4.3459, 4.2037], grad_fn=<SelectBackward>) tensor(0.0026, grad_fn=<NllLossBackward>) tensor([0, 0, 1, 1, 1, 0, 1, 1, 0, 1]) tensor([0, 0, 1, 1, 1, 0, 1, 1, 0, 1]) 36 tensor([ 9.0171, -9.0800], grad_fn=<SelectBackward>) tensor(0.0010, grad_fn=<NllLossBackward>) tensor([0, 0, 1, 0, 0, 0, 0, 1, 0, 0]) tensor([0, 0, 1, 0, 0, 0, 0, 1, 0, 0]) 39 tensor([ 10.2416, -10.3436], grad_fn=<SelectBackward>) tensor(0.0002, grad_fn=<NllLossBackward>) tensor([1, 1, 0, 0, 0, 0, 0, 1, 0, 0]) tensor([1, 1, 0, 0, 0, 0, 0, 1, 0, 0]) 42 tensor([-5.2891, 5.1190], grad_fn=<SelectBackward>) tensor(0.0709, grad_fn=<NllLossBackward>) tensor([1, 1, 0, 1, 0, 1, 1, 1, 1, 0]) tensor([1, 1, 0, 1, 0, 1, 1, 1, 1, 0]) 45 tensor([-5.0690, 4.9150], grad_fn=<SelectBackward>) tensor(0.0007, grad_fn=<NllLossBackward>) tensor([1, 1, 1, 1, 0, 0, 0, 1, 1, 0]) tensor([1, 1, 1, 1, 0, 0, 0, 1, 1, 0]) 48 tensor([-5.1015, 4.9344], grad_fn=<SelectBackward>) tensor(0.0023, grad_fn=<NllLossBackward>) tensor([1, 1, 1, 0, 1, 0, 0, 0, 0, 0]) tensor([1, 1, 1, 0, 1, 0, 0, 0, 0, 0]) 51 tensor([-4.4345, 4.2825], grad_fn=<SelectBackward>) tensor(0.0002, grad_fn=<NllLossBackward>) tensor([0, 1, 0, 0, 0, 0, 0, 0, 1, 0]) tensor([0, 1, 0, 0, 0, 0, 0, 0, 1, 0]) 54 tensor([ 6.1383, -6.2095], grad_fn=<SelectBackward>) tensor(0.0002, grad_fn=<NllLossBackward>) ************************************************************************************************************** 1 tensor(0.9989)




















































+ Recent posts