5

프로젝트 : 얼굴 인식얼굴 탐지 및 자르기

설명 : 나는 감지하고 이미지에서 얼굴을 자르려. 이미지는 웹캠과 이미지 당 하나의 얼굴을 통해 캡처됩니다. OpenCV 얼굴 검출기를 사용했지만 자르기에 만족하지 않았습니다. 그래서 STASM (http://www.milbo.users.sonic.net/stasm/) 얼굴 표식 감지기를 사용하여 이미지를 자르기 시작했습니다 .STASM은 OpenCV 얼굴 탐지기를 사용하여 이미지에서 얼굴을 찾고 STASM은 얼굴의 명소를 찾습니다. 나쁜 조명 조건에서는 STASM에서 자른 이미지가 얼굴을 정확히 감지하지 못하기 때문에 좋지 않습니다.

1) 얼굴 인식을위한 더 나은 알고리즘을 알고 싶습니다. 내 주요 목표는 이미지에서 얼굴을 자르는 것입니다.

2) 현재 자르기에 STASM을 사용하고 있습니다. 나쁜 조명 상태이거나 이미지에있는 경우 전체 또는 전체 얼굴 (이마에서 턱까지)이 캡처되지 않으면 STASM 자르기가 안정적이지 않습니다 (출력은 눈이나 입술 만됩니다). 그리고 내 응용 프로그램에서 stasm에서 적절한 출력이없는 경우 또는 얼굴이 prpoerly 자른되지 않습니다 그럼 내가 이미지를 거부해야합니다. 그렇게하는 방법? 그래서 저는 눈으로 얼굴을 확인함으로써 이미지의 얼굴을 검증 할 계획입니다. 내 접근 방식에 맞으면 자른 이미지에서 눈을 감지하는 방법?

+0

얼굴을 자른 후 목표는 무엇입니까? 훈련 세트를 만들거나 얼굴 인식을 수행 하시겠습니까? –

+0

수확 후, 나는 그것을 사용하여 얼굴 인식을위한 훌륭한 훈련 세트를 만든다. 답변 해 주셔서 감사합니다 ... – 2vision2

답변

1

OpenCV에서 안구 감지기를 사용해보십시오. 그리고 눈의 위치에 따라 얼굴 상자를 조정하십시오.

3

내 프로젝트 중 하나에서 중첩 된 계단식 분류기를 사용하여 눈을 감지하여 꽤 좋은 결과를 얻었습니다. 제공된 예제에서는 그렇지 않습니다. 그런데 추가 트릭을 사용합니다. nestedCascade.detectMultiScale()의 minNeighbors 매개 변수를 0으로 설정합니다.

즉 많은 결과를 얻습니다. 하나의 눈이 인식 될 수 있습니다. 그런 다음 결과가 얼굴의 왼쪽 및 오른쪽 부분에 수집되는 곳을 확인합니다. 수집 지점은 실제 눈 위치입니다.

그런 다음 초기 이미지를 회전합니다. 회전 중심은 내가 발견 한 얼굴의 중심이며, 회전 각은 감지 된 눈 사이의 천사입니다. 그런 다음 회전 된 이미지에서 다른 얼굴 검출을 수행하고 nestedCascade.detectMultiScale() 매개 변수에서 매우 낮은 배율 인수를 사용해야합니다.

결과는 대부분의 경우 완벽하게 정규화 된 얼굴 이미지입니다. 물론 성공 여부는 번개 조건이 실제로 얼마나 나쁜지에 달려 있습니다.