0

나는 각 이미지에 1 또는 때로는 2 개의 얼굴이있는 얼굴 이미지 모음을 가지고 있습니다. 내가하고 싶은 것은 각 이미지에서 얼굴을 찾아서 자르는 것입니다. 저는 openCV를 사용하여 Python으로 구현 된 몇 가지 메서드를 테스트했지만 그 결과가 좋지 않았습니다. 이 방법은 다음과 같습니다이미지에서 얼굴 자르기

1 Implementation 1

2- Implementation 2

이 내가 테스트 한 또 하나 개의 모델이지만, 나는 두 개 이상의 링크를 게시 할 수 있지 않다. 문제는 이러한 Haar-Feature 기반 알고리즘이 얼굴 크기에 강하지 않으며 얼굴에 가깝게 촬영 한 이미지에서 얼굴을 찾을 수 없다는 것입니다. 깊은 학습 기반 알고리즘을 시도하기 위해 언급 된 사람이 있지만 내가하고 싶은 것에 해당하는 알고리즘을 찾을 수 없습니다. 기본적으로, 나는 이미지에서 얼굴 경계 상자의 좌표를 나에게 줄 수있는 사전 훈련 된 모델이 필요하다고 생각한다. 또는 더 좋게, 자른 얼굴 이미지를 출력으로 제공하는 미리 훈련 된 모델.

+1

OpenCV의 얼굴 인식 매개 변수를 이해해야합니다. ** scaleFactor (이 매개 변수는 성능에 크게 영향을 미침) ** 및 minNeighbors 등 –

답변

2

기계 학습 알고리즘이 필요하지 않으므로 그래프 알고리즘이면 충분합니다. 예를 들어 다음과 같이 Snapchats 얼굴 인식 알고리즘 작동 :

  1. 는 가장 일반적인 얼굴 ("표준 얼굴")에서 노드 및 가장자리와 그래프를 작성합니다.

  2. 가 짜잔 당신은 얼굴이 입력 이미지 인식되었다 입력 이미지에 장착 된 픽셀 도표/Recoordinate는 노드

  3. 변형.

쉬운 말이지 만 코드 작성이 더 어렵습니다. 예를 들어, 우리 대학의 Dijkstra 알고리즘을 구현했으며, 필요한 경우 "그래프"클래스를 제공 할 수 있습니다. 하지만 C++로 작성했습니다.

이러한 그래프 알고리즘을 사용하면보다 효율적인면을 잘라낼 수 있습니다.

+0

dlib의 얼굴 및 얼굴 표식 감지기와 동일합니까?Graph 클래스를 가지고 있다면 Github은 우리 중 많은 사람들에게 도움이 될 것입니다. – Totoro

0

Here은 비디오에서 얼굴 데이터베이스를 만드는 오픈 소스 프로그램입니다. 이미지에서 자르기 및 저장하는 데 사용할 수 있습니다.

이 프로그램은 파이썬 Face Recognition Module을 사용하여 얼굴을 인식하고 face_recognizer.py이 비디오의 얼굴을 인식하고 잘라내어 적절한 경로 계층 구조로 이미지로 저장합니다.

일단 얼굴 데이터를 획득하면 프로그램에서 얼굴 데이터를 읽을 필요가 있습니다. 데모 응용 프로그램에서 아주 간단한 CSV 파일에서 이미지를 읽기로 결정했습니다.

직접 CSV 파일을 만들지는 않습니다. Here은 자동으로 CSV 파일을 만드는 작은 Python 스크립트입니다.

자신 만의 얼굴 인식/인식 데이터베이스를 생성하기위한이 프로그램은 수정하고 목표를 위해 사용할 수 있으며 여기 프로그램의 흐름도가 있습니다.

enter image description here