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를 표시하지 않는다.
* 결과
'AI' 카테고리의 다른 글
darknet yolo 실행을 위해 필요한 프로그램 (0) | 2020.05.01 |
---|---|
YOLO 학습에 대한 잡다한 지식(기본, 배경 지식) (2) | 2020.03.05 |
YOLO 학습 환경(PC 스펙) (4) | 2020.03.04 |
YOLO mark 학습이미지 ( 마킹 크기에 대하여 ) (0) | 2020.03.03 |
Darknet YOLO에서 사용하는 학습(train) 이미지 구하기(YOLO 기본 이미지 변환) (3) | 2020.03.03 |