728x90

눈,코,입의 중심점들을 이어서 각도로 사람을 대분류하는 작업 진행중

개선점:
눈 -  중심점이 정확이 잡히도록 할 것:특히 가로방향
코 - 조명이 한쪽으로 치우치면 코볼이 콧구멍처럼 잡히는 경우가 있다. 이런 경우 x축의 중심점이 이동하게 되므로 세로로 긴 부분은 제거하고 계산해야 한다.
입 - 특별히 개선점은 없음, x점을 코의 중심에서 받아 오는 것은 유의할 점

얼굴형과 함께 대분류로 작업할 수 있을 만큼의 값들은 나온다.

소분류에서는 눈코입 각각의 모양과 다른 다양한 특징점들을 모두 비교해봐야 한다.
728x90
728x90
눈(눈동자와 눈모양을 모두 검출)의 중심을 기준으로 양쪽 기준점이 수평이 되도록 하였다.
코와 입도 부분 히스토그램 평활화를 거친 다음 경계감으로 2진화를 거쳐 입의 세로중심값을 구하였다.

오늘은 일찍 집에 가고 주말동안 코를 이용하여 코의 중심점을 찾고 입도 어느정도 가운데값을 찾도록 해봐야 겠다.

문제점 : 코의 경우 콧구멍이 두개 잡힐 수도 있지만, 고개를 숙일 경우 코의 중심 아래가 어두워져 하나로 합쳐진다. 고개를 옆으로 돌릴 경우 콧구멍이 하나만 잡히고 가끔 코의 중심에 대한 그림자가 대신 잡히기도 한다.
728x90
728x90
얼굴영역 추출과 피부색 추출에 관한 논문이 상당히 많이 있다. 하지만 논문에 나오는 내용이 그다지 믿음직스럽지가 않다.
어제는 HSV에서 Hue값을, YCbCr에서 Cr값을, YUV에서 U값을 가지고 피부색을 추출하면 피부색만 거의 정확하게 추출할 수 있다는 논문을 봤다. 수식도 없고 다만 분포도만 나와있었다.
실제 검사를 해보니 해당 값들의 분포가 상당히 좁아서 사용해도 될 것이라는 생각이 들었다. 하지만 막상 실험을 해보니 peer보다 훨씬 못한 값들이 나왔다. 일부 사진에 맞춰놓은 값을 사용하면 그와 비슷한 환경에서 찍은 사진은 잘 적용이 된다. 하지만 내가 하고 있는 것은 다양한 곳에서 찍은 증명사진으로 얼굴을 구분해내는 작업이기 때문에 논문에 맞추기 위한 사진을 찍을 수는 없다.

그런 면에서 보면 프로젝트를 진행하는 것보다 조작 논문을 쓰는 것이 훨씬 쉽다는 생각이 든다. 물론 자신들도 제대로 실험하고 그 결과를 논문으로 쓰고 싶었겠지만 워낙 잘 안되는 분야다보니 조작된(이라기 보다는 잘 나오는 사진들을 가지고 적용한 결과만 있는) 논문이 많다.

=================================================
눈 부분 추출은 여러가지 방법을 사용해봤는데 결국엔 gray로 바꾼 후에 눈 영역만 가지고 대비를 증가시키는 histogram형활화를 시킨 다음 어두운 부분을 추출하는 것이 가장 결과가 좋았다.
=================================================
오늘은 눈의 중심을 잡고 그 중심을 이용하여 이미지를 회전시키는 작업을 해야겠다. 
지금도 그 부분은 구현되어 있지만 1회 진행하는 것으로 그친다. 그것을 양쪽 눈 중심의 Y값이 같을 때까지 반복수행 해야겠다.
728x90
728x90

그냥 test용으로 작성한 코드라 대강대강 만들었다.
대략 알고리즘은 주변 값들과 비교해서 피부영역이 많으면 피부영역으로 잡고 제거된 부분이 많으면 같이 제거하는 방식이다.


노이즈제거 전
<노이즈 제거 전>

노이즈제거 후
<노이즈 제거 후>
728x90

+ Recent posts