• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

mAP해석

21.09.25 22:06 작성 조회수 207

0

안녕하세요 강사님.

제가 다른 데이터셋을 이용해서 학습을 시켜봤는데 결과가

이런식으로 정확도(acc)는 매우 높고 loss는 매우 낮게 나왔습니다.

이후에 자동으로 

이 과정을 통해서 자동으로 validation을 한거 같은데

결과가

이렇게 정말 ap값이 매우 낮게 나옵니다.

데이터 갯수도 모두 50개 이상인 클래스들만 전처리하여 학습을 시켰습니다.

사용한 데이터셋의 그림상에서 object의 크기가 매우 작기는 합니다. 하지만 학습 epoch에서는 정확도와 loss가 매우 좋게나왔는데 왜 갑자기 개별 object의 ap들은 형편없는 값이 나오는지 모르겠습니다...

 

#추가로 middle format으로 모델을 evaluate할 수 있는 방법이 있을까요??  test.py파일에서 지원하는 evaluate는 coco랑 voc형태의 데이터구조일 경우 옵션 인자만 적혀있어서  middle format인 경우는 어떻게 하는지 궁금합니다..!

 

감사합니다!

 

답변 1

답변을 작성해보세요.

0

안녕하십니까, 

이게 epochs수가 작음에도 불구하고 accuracy와 loss는 좋은데 mAP는 아주 나쁜 경우가 MMDetection 수행시에 종종 발생하는 것 같습니다. mmdetection의 accuracy 기준이 좀 모호한 것 같습니다만, 어찌되었든 결과를 보시면 recall 이 굉장히 안좋습니다. 

특히 gt 가 작은, validation 데이터 세트내의(학습 데이터도 마찬가지일 것 같습니다만) object 갯수가 적은 class 들의 detection이 거의 되지 않았습니다. 예를 들어 w55의 경우 60개 gts(ground truths) 중에 dets(detections)는 0 개 입니다. 

일단 epoch수를 높여서 적어도 20회 이상으로 해주십시요.  3회 정도로는 50개 클래스를 detection하기에는 너무 부족합니다. 그리고 class가 50개인데 개별 class당 평균적으로 학습 이미지가 몇장이나 되는지요, 그리고 개별 class당 object의 특징이 비슷한지요(가령 개의 비슷한 품종끼리인지요? ). 그리고 적용한 알고리즘은 faster rcnn으로 보입니다만 혹 다른걸 적용하신 건지요? 

그리고 coco 형태 BCCD 데이터 학습-테스트 데이터 세트 Evaluation 수행 영상에서 test 데이터 세트로 mAP Evaluation하는 강의 영상이 있으니 참조하시면 좋을 것 같습니다. 영상은 coco 데이터 세트지만, 제가 middle format으로도 과거에 테스트 해보았는데 잘 되었습니다. 

교통표지판 데이터셋인데다가 object의 크기들이 사진에서 매우작아서 그런것 같습니다. 적용한 알고리즘은 faster rcnn입니다! 혹 다른 알고리즘을 적용하면 다르게 설정해야하는 부분들이 있을까요?

그리고 제가 학습시킨 모델로 inference를 해보았습니다. 제가 등록한 데이터는 p50,p100이런 형태로 등록했는데 추론된 사진을 보면 car, motocycle 이렇게 coco데이터로 나옵니다... 이런 경우도 train을 너무 적게 해서 발생하는 이슈일까요?? 

다른 알고리즘을 적용한다고 해도 지금은 성능이 너무 낮습니다.  제가 물어본 이유는 환경 설정이 뭐가 잘못되었는지를 확인해 보기 위함입니다. 

먼저 Epoch수를 20회 정도로 늘려서 해보십시요.  그리고 학습용 이미지 전체 이미지 갯수가 몇개인지, 또 클래스별로 평균 몇개 정도 되는지 알려주시면 좋을 것 같습니다.  학습이 충분히 안된것 같습니다. 

그리고 학습 모델의 클래스가 다른데,  추론된 모델이 car, motocycle 과 같은 coco 형태로 나올 수는 없습니다.  예측된 클래스id가 제대로 label로 매핑되었는지, 아님, 다른 모델 파일을 사용한건 아닌지 다시 한번 확인해 주시기 바랍니다. 

 

네 감사드립니다!