이것은 교실이나 사무실 출석을위한 얼굴 인식 시스템을 만들려는 시도입니다. 이 시스템은 시암 네트워크로 알려진 특수 유형의 CNN 아키텍처를 기반으로합니다. 이러한 네트워크는 네트워크에 공급되는 얼굴의 이미지가 올바르게 정렬되고 자르기 때문에 매우 정확하고 거의 고유 한 128 벡터를 생성하도록 훈련됩니다.
그런 다음 또 다른 조밀 한 신경망이 이러한 임베딩을 입력하는 훈련을받습니다. 두 번째 신경망은 분류 목적으로 만 사용됩니다. 그런 다음 시스템에 의해 식별 된 사람, 시스템에 출석 한 사람은 1로 증가합니다.
시스템이 닫히면 모든 학생들의 출석으로 구성된 Excel 파일이 생성됩니다.
deeplearning.ai에서 가져 왔습니다.
이 비디오를 볼 수 있습니다. Andrew Ng 교수는이 네트워크에 대한 훌륭한 설명을 제공합니다.
나는 Nyoki-MTL Githubu에서 사전에 사전 된 Facenet 모델을 다운로드했습니다.
이 네트워크는 꽤 큰 데이터 세트에 사전에 사전 처리되며, 공급 된 이미지가 얼굴 영역으로 만 자르고 결합 된 특정면에 대해 고유 한 128 차원 벡터를 생성합니다. 이 netowrk의 이미지 입력 크기는 160x160x3입니다.
Face Detection은 OpenCV의 Haar Cascades를 사용하여 달성됩니다. 얼굴 감지 Haarcascade는 얼굴을 감지하는 데 사용 되며이 감지 된 영역은 임베딩 생성기에 공급됩니다.
두 번째 신경망에는 조밀 한 아키텍처가 있으며 분류에 사용됩니다. 두 번째 신경망은 128 차원 벡터를 입력하고 얼굴이 학생 중 하나가 될 확률을 강요합니다. 두 번째 신경망의 아키텍처는 다음과 같습니다. 
사용 된 데이터베이스는 MongoDB입니다. Pymongo는 레코드를 추가, 삭제하며 특정 학생의 출석을 증가시키는 데 사용됩니다. 
응용 프로그램이 닫히면 Excel 파일이 생성됩니다. 이 Excel 파일에는 모든 학생의 출석이 포함되어 있습니다.
OS에 따라 CMD 터미널을 시작하십시오.
NVIDIA GPU가있는 경우 TensorFlow GPU 설치 전제 조건이 있는지 확인하십시오 (공식 사이트 참조). 그런 다음이 Commmand를 사용하십시오
PIP 설치 -R 요구 사항 _gpu.txt
GPU가없는 경우이 명령을 사용하십시오.
pip install -r requirements_cpu.txt
1) 모든 요구 사항을 설치하십시오
2) 따옴표없이 "사람"이라는 폴더를 만듭니다
3) 이제 generating_training_data.py를 실행하십시오.이 실행되면 "Ravi"에 대한 데이터를 생성하려면 "Ravi0"에 대한 데이터를 작성하려면 "ravi0"을 작성하고 "SecondName1"을 작성하고 모든 사람에게 주어진 인덱스가 순서대로 확인되도록합니다. 이제이 모든 폴더를 사람들 폴더에 넣으십시오 
4) 이제 Trainer.py에서 폴더 수에 따라 클래스 수를 변경 한 다음 Trainer.py를 실행합니다.
5) 모델은 훈련됩니다.
6) 이제 MongoDB를 사용하여 데이터베이스를 만듭니다. 참석으로 모든 이름을 입력하십시오. 이것은 성취 될 수 있습니다
a) "new"라는 데이터베이스 만들기
b) "PA"라는 컬렉션 만들기
c) 장을 추가하십시오. 예를 들어 DB.Pa.Insert ({ "name": "satinder", "참석": 0})

7) 이제 open kenloizer.py와 사전 "a"와 데이터에 따라 사람들을 변경하십시오. 배열 "A"의 키는 사람들의 색인이며 데이터는 개인 출석이 취한 경우 특정 세션에서 특정 세션에서 나타나는 데 사용되는 변수입니다.
8) 사전 "사람"은 자기 설명입니다.
9) 인식기를 실행하여 사람들을 인식하십시오. 그들의 출석은 MongoDB 데이터베이스에 등록됩니다.


당신이 그것을 좋아한다면 당신은 반드시 내 다른 저장소를 좋아할 것입니다. 내 YouTube 채널 "Reactor Science"를 볼 수도 있습니다. 의심의 여지가 있다면 내 Facebook 페이지 "Reactor Science"에서 저에게 연락 할 수 있습니다.
1) Francois Chollet의 Python과의 딥 러닝
2) keras.io
3) Coursera의 Deeplearning.ai (Andrew Ng 교수)
4) 스탠포드의 CS231N
5) pyimagesearch.com (Adrian Rosenberg)
6) Brandon Amos (github : https : //github.com/bamos)