AI
YOLO 동작 시 화면에 있는 퍼센트(확률) 지우기
LordLoop
2020. 3. 5. 10:30
YOLO에서 실시간 detection 혹은 동영상 detection 등을 하게 되면 화면에 class의 name과 probability(확률)이 %로 나온다.
감지된 화면이 어지럽다고 생각하거나, 단순히 어떤 객체로 인식하는 지만 출력해 줄 필요가 있다면 그다지 유용한 기능이 아니다.
따라서 화면에서 probability가 표시 되지 않게 하기 위해서는 소스코드를 수정해줘야 한다.
환경은 windows의 darknet에서 진행했다.
darknet에서 사용하는 여러 소스파일 중 image_opencv.cpp 파일에서 이를 해결 할 수 있다.
image_opencv.cpp 에서 draw_detections_cv_v3를 수정하면 된다.
extern "C" void draw_detections_cv_v3(mat_cv* mat, detection *dets, int num, float thresh, char **names, image **alphabet, int classes, int ext_output)
draw_detections_cv_v3 함수 내용을 보면 prob를 구해서 string을 합친다는 것을 알 수 있다.
따라서 그 부분만 주석 처리를 하게 되면, 확률이 표시 되지 않는다.
수정 후 다시 컴파일 하여 darknet을 실행시키면 영상, 실시간 처리 등의 감지에서 probability를 표시하지 않는다.
* 결과