vision.PeopleDetector
오브젝트가 실제로 이미지에 수직으로 서있는 사람들을 감지 않는다 : 여기
은 샘플 이미지입니다. 그러나 대부분의 컴퓨터 비전 알고리즘처럼 100 % 정확하지는 않습니다. 실패한 샘플 이미지를 게시 할 수 있습니까?
성능을 향상시키기 위해 시도 할 수있는 몇 가지 사항이 있습니다. 'UprightPeople_96x48'
에 ClassificationModel
매개 변수를 변경
- 보십시오. 서로 다른 데이터 세트에 대해 교육 된 객체와 함께 제공되는 두 가지 모델이 있습니다.
- 이미지의 인물의 크기 (픽셀 단위)는 얼마입니까? 기본
'UprightPeople_128x64'
모델을 사용하면 128x64 픽셀보다 작은 사람을 감지 할 수 없습니다. 마찬가지로 'UprightPeople_96x48'
모델의 경우 감지 할 수있는 가장 작은 크기의 사람은 96x48입니다. 이미지의 사람들이 그보다 작은 경우 imresize
을 사용하여 이미지를 업 샘플링 할 수 있습니다.
- 더 많은 탐지를 얻으려면
ClassificationThreshold
매개 변수를 줄여보십시오.
편집 : 특정 이미지에 일부의 생각. 내 추측으로는이 종류의 이미지에 대해 교육받지 못했기 때문에 사람들 감지기가 여기에서 잘 작동하지 않는 것입니다. 두 모델에 대한 교육 세트는 보행자의 자연스러운 이미지로 구성됩니다. 아이러니하게도, 이미지가 완벽하게 깨끗한 배경을 가지고 있다는 사실로 인해 감지기가 꺼질 수 있습니다.
이 이미지가 일반적으로 다루어야하는 이미지 인 경우 몇 가지 제안 사항이 있습니다. 하나의 가능성은 사람들을 구분하기 위해 간단한 thresholding을 사용하는 것입니다. 다른 하나는이 이미지를 완벽하게 작동하는 일이 얼굴이나 상체, 감지 vision.CascadeObjectDetector
을 사용하는 것입니다 : 내가 특정 기능 것을 사용하지 않은
im = imread('postures.jpg');
detector = vision.CascadeObjectDetector('ClassificationModel', 'UpperBody');
bboxes = step(detector, im);
im2 = insertObjectAnnotation(im, 'rectangle', bboxes, 'person', 'Color', 'red');
imshow(im2);
을하지만 도움은 ""말한다 개체가 직립 위치에 unclcluded 사람들을 감지합니다. " – nkjt
실제 사진에서 사람들을 찾는 것은 아직 공개 연구 문제입니다. 위의 의견에서 말한 것은 정확합니다. –
나는 vision.PeopleDetector에 대한 도움을 읽었습니다. 문제는 어떤 신체 탐지 문제에도 성공적으로 사용했습니다. 문제는 예제에서 꽤 잘 작동하지만 내 이미지 (!)를 시도 할 때 즐거움 ction이 거기에있는 사람을 찾지 못했습니다. 이미지에있는 사람들이 직립 자세에서 unoccluded 있다는 사실에도 불구하고 – Oleg