2017-11-07 2 views
3

dlib를 사용하여 객체 탐지에 대한 질문이 있습니다. 나는 얼굴에 수염을 감지하고 싶다. 그래서 내가 400 개 이미지를 훈련 한 dlib 객체 감지 용 레이블 지정 - 감지 만 60 %

typedef scan_fhog_pyramid<pyramid_down<6> > image_scanner_type; 
image_scanner_type scanner; 
scanner.set_detection_window_size(80, 80); 
structural_object_detection_trainer<image_scanner_type> trainer(scanner); 

아래처럼 라벨을하고있다. 탐지율은 60입니다. 수염이 없다고하더라도 탐지하고 있습니다. 왜냐하면 no_beard에 레이블이 지정되어 감지 할 수 있기 때문입니다. 내 라벨이 틀렸어, 수염 얼굴 만 감지하고 싶다. 그래서 그 경우에는 수염을 가진 얼굴에만 레이블을 붙일 필요가 있습니까? 또는 나는 수염과 no_beard를 표시해야합니까? 무슨 일 이니? 내가 사용하는 참조 용 enter link description here

답변

2

아무 것도 변경하지 않으면 기본 교육 방법은 xml입니다. 직사각형 상자 (모든 상자의 너비와 높이 비율이 거의 동일)로 개체 만 트레이닝하는 곳입니다.

레이블을 훈련시키지 않으므로 수염 이미지 만 개체로 훈련시키는 것이 좋습니다. 당신이 충분한 심상이있는 경우에, 그것은 수염 대상을 배워야한다.

다른 생각은 얼굴을 dlib's MMOD Face detection으로 감지 한 다음 수염 이미지를 훈련시키는 것입니다.

주석이없는 콧수염이없는 이미지는 교육 과정에서 배워야합니다.

+0

예, 내 접근 방식은 MMOD 얼굴 검출을 사용한 다음 수염 이미지를 훈련하는 것입니다. 내 질문은 턱수염이 아닌 이미지에 주석을 달았는지 아닌지에 관한 것이었다. 빠른 제안에 감사드립니다. 비 주석 이미지를 외부 주석으로 남겨 둘 것입니다. – Saha

+0

예, 수염이없는 이미지에 주석을 달지 마십시오. 예. 예제의 세 번째 이미지를 비워 두지 만 훈련 세트에 그대로 두십시오. 탐지기는 그들 사이의 차이를 배울 것입니다. – Ultraviolet