nnstreamer-preprocessor / nnstreamer

4 stars 0 forks source link

평가 코드 개발 #15

Closed DownyBehind closed 4 years ago

DownyBehind commented 4 years ago

목표: 평가 코드 개발

결과물: nnstreamer 결과를 받아서 성능을 평가하는 평가 코드 (파이썬)

due date: ~ 토요일

리뷰어: 심용희

hayleyshim commented 4 years ago

참고 : https://github.com/ghimiredhikura/Complex-YOLOv3/blob/master/eval_mAP.py

계획

hayleyshim commented 4 years ago

고려할 것 참고소스 내 evaluate() 함수 수정

  1. Get dataloader

    • dataset : NNStreamer output data type [630 * 64] frame size에 맞춰 데이터 불러올 것
    • 어떻게 dataset에 NNStreamer output data type 넣어줄 수 있을지 생각
  2. 평가지표 : precision, recall, AP, f1, ap_class Source Logic

    • labels : dataloader를 통해 불러온 dataset의 targets 리스트화하여 label 추출
    • Rescale target : img_size 만큼 곱해서 target rescale함

-> 해당 logic에서 제외/추가할 부분? 필요한 평가지표는?

DownyBehind commented 4 years ago

image

evaluate( )함수는 지금 내부에서 model을 돌려서 detection을 한 다음에 training data set에 있는 Label의 값이랑 비교하는 것처럼 보이네요.

저희는 모델을 평가 코드에서 돌릴게 아니라 nnstreamer로 돌리고 그 결과를 txt에 list형태로 output을 만든다음, 라벨이랑 비교하는 방법을 쓰는게 어떨까요?

순서만 같으면 평가하는데 지장은 없어 보이거든요.

hayleyshim commented 4 years ago

네, 현재 nnstreamer에서 모델을 돌리고 있어 그렇게하면 좋을거같아요.

그럼 말씀해주신 결과를 txt에 list형태로 outout을 출력하는 것은 nnstreamer 쪽에서 받아와야하지않나요?

해당 평가 코드에서는 nnstreamer 쪽에서 받아온 것을 라벨이랑 비교해서 나와있는 평가지표로 출력하구요, 이해한 부분이 맞나요?

DownyBehind commented 4 years ago

네 용희님 이해하신 내용이 맞습니다

ddeokho commented 4 years ago

NNStreamer 내에서 받아올 수 있는 데이터는 label, x, y, width, height 그리고 prob를 가져와 저장할 수 있을 거 같아요.

아래와 같은 사진의 코드 또는 바운딩 박스를 그리는 코드에 데이터가 잘 들어오면요.

그런데 이 지표만 있으면 되는 건가요?

Screenshot from 2020-03-19 23-15-05

hayleyshim commented 4 years ago

image

올려주신 코드로 현재 위와 같이 score가 출력되고 있는 상황.

모든 라이더 데이터에 대한 바운딩 박스 score가 출력되는 것이 아닌 바운딩 박스를 잡은 시점부터 score가 출력됨.(모델 :ssdlite_mobilenet_v2.pb)

결과를 txt 파일형식의 list 형태로 받아와 평가 코드에서 불러올 것.

hayleyshim commented 4 years ago

현재 상황

  1. lidar raw data의 txt 파일을 NNStreamer Pipeline에 넣어 Yolo data format(x,y,w,h)로 데이터 출력
  2. ConvertYolo 소스를 통해 KITTI dataset(Img, Label)을 넣고 Yolo data format(x,y,w,h)로 변환 가능

-> NNStreamer를 통해 출력된 Yolo data format과 KITTI dataset을 Yolo data format으로 변환한 값의 비교를 통해 AP 측정

*벙개모임 후 수정 -> KITTI raw data 중 bbox 4 point(x,y,w,h) 만 뽑아서 비교하는 방향으로

DownyBehind commented 4 years ago

간단하게 평가 코드 만들어 봤습니다. 검토 부탁드려요.

evaluation