Closed DownyBehind closed 4 years ago
참고 : https://github.com/ghimiredhikura/Complex-YOLOv3/blob/master/eval_mAP.py
계획
고려할 것 참고소스 내 evaluate() 함수 수정
평가지표 : precision, recall, AP, f1, ap_class Source Logic
non_max_suppression_rotated_bbox() 함수를 통해 output 값 리턴받아get_batch_statistics_rotated_bbox() 함수로 sample_metrics 구함
sample_metrics을 concatenate 해서 true_positives, pred_scores, pred_labels 구함
precision, recall, AP, f1, ap_class : ap_per_class()함수로 구해줌
-> 해당 logic에서 제외/추가할 부분? 필요한 평가지표는?
evaluate( )함수는 지금 내부에서 model을 돌려서 detection을 한 다음에 training data set에 있는 Label의 값이랑 비교하는 것처럼 보이네요.
저희는 모델을 평가 코드에서 돌릴게 아니라 nnstreamer로 돌리고 그 결과를 txt에 list형태로 output을 만든다음, 라벨이랑 비교하는 방법을 쓰는게 어떨까요?
순서만 같으면 평가하는데 지장은 없어 보이거든요.
네, 현재 nnstreamer에서 모델을 돌리고 있어 그렇게하면 좋을거같아요.
그럼 말씀해주신 결과를 txt에 list형태로 outout을 출력하는 것은 nnstreamer 쪽에서 받아와야하지않나요?
해당 평가 코드에서는 nnstreamer 쪽에서 받아온 것을 라벨이랑 비교해서 나와있는 평가지표로 출력하구요, 이해한 부분이 맞나요?
네 용희님 이해하신 내용이 맞습니다
올려주신 코드로 현재 위와 같이 score가 출력되고 있는 상황.
모든 라이더 데이터에 대한 바운딩 박스 score가 출력되는 것이 아닌 바운딩 박스를 잡은 시점부터 score가 출력됨.(모델 :ssdlite_mobilenet_v2.pb)
결과를 txt 파일형식의 list 형태로 받아와 평가 코드에서 불러올 것.
현재 상황
-> NNStreamer를 통해 출력된 Yolo data format과 KITTI dataset을 Yolo data format으로 변환한 값의 비교를 통해 AP 측정
*벙개모임 후 수정 -> KITTI raw data 중 bbox 4 point(x,y,w,h) 만 뽑아서 비교하는 방향으로
간단하게 평가 코드 만들어 봤습니다. 검토 부탁드려요.
목표: 평가 코드 개발
결과물: nnstreamer 결과를 받아서 성능을 평가하는 평가 코드 (파이썬)
due date: ~ 토요일
리뷰어: 심용희