keras-yolov3 raccoon 학습 문의 드립니다.
343
5 câu hỏi đã được viết
안녕하세요
keras yolov3 raccoon 학습 관련하여 지난번에 mAP 구하고 싶다고 문의 드렸을 때, github 알려주셔서 보고 있습니다.
추가 문의 사항 있습니다.
1) 일반적으로 학습할 때는, train set: test set 7:3 으로 나눠서 학습과 테스트를 하게 되는데, 이때 학습에 썼던 데이터를 테스트에서도 쓴다면 이미지를 외워버리는게 되어 오버피팅이 일어날 수도 있다고 알고 있습니다.
keras-yolov3 raccoon 을 할 때는, xml 200건을 csv 로 변환하여 9:1로 학습, 검증에 사용하는데, 코드상으로는, inference 할 때도 그 200장 동일한 이미지를 사용하고 있습니다. 여기서 학습에 사용되지 않은 이미지로 inference를 해야 하는게 아닌가 궁금합니다.
개인 보유 이미지에 적용하려다 보니 의문이 들었습니다. xml 파일이 있는 걸 학습에 써야하고, inference는 xml 파일이 없는 (학습에 사용하지 않은 ) 이미지를 써야 한다고 생각해서요.
2) mAP를 구할 때 ground-truth, detection result 파일이 필요한데요,
ground-truth 는 <class_name> <left> <top> <right> <bottom> 이 필요하고
detection-result는 <class_name> <confidence> <left> <top> <right> <bottom> 가 필요합니다.
여기서, ground-truth 는 학습에 쓸 xml 파일, detection-result 는 inference 에서 나오는 결과를 활용해야 할 거 같은데 요, 위 질문에 이어서 봤을 때, inference에 학습에 미사용된 이미지를 사용했을 경우에 mAP를 구하려면 precision, recall 개념을 보면, 왠지 정답지가 이미 있는 이미지 (그러니까 학습에 쓴 이미지)를 가지고 테스트에도 활용해야 잘 예측을 했는지 (정답을 정답으로 맞췄는지) 구할 수 있을거 같아서 입니다.
머신러닝 위주로 해 보다 보니 딥러닝 특히 object detection에 대해 이해가 잘 안되는 부분들이 있습니다.
답변 미리 감사 드립니다.
Câu trả lời 3
0
https://github.com/Cartucho/mAP#create-the-ground-truth-files
을 이용하려고 하시는것 같군요.
detection result 파일은 ground-truth 파일 형식과 동일하게 적어주시면 될 것 같습니다만,
<class_name> <left> <top> <right> <bottom>
그런데 이러한 포맷으로 데이터를 만들려면 keras-yolo3 API 를 조금 수정해야 할 것 같습니다.
https://github.com/qqwweee/keras-yolo3/blob/master/yolo.py 에 보시면 detect_image(self, image) 가 반환하는 것이 class name, left, top, right bottom 을 이미지에 적용한 이미지를 반환합니다.
이걸 좀 수정해서 return image가 아닌, 좌표와 클래스값을 함께 담아서 return image, [좌표, 클래스값] 으로 반환하는 것으로 소스 코드를 수정해야 할 것 같습니다. 한번 시도해 보시고, 상황 update해주시면 좋을 것 같습니다.
0
답글 감사합니다.
제가 2) 질문 설명이 미흡했나 봅니다.
mAP를 구하려고 보니, ground_truth 파일, detection result 파일이 필요한데,
1번 답변처럼 학습과 테스트를 진행 후 ground-truth(학습할 때 만든 .csv 파일 변환하여 이용)까지는 준비 하였습니다.
그런데 detection result 파일을 어떤걸 써야 하는지 어려워서요.
우선,, 학습했던 이미지를 테스트 하여 나온 결과를 mAP 구하는 폴더에 넣어서 해 보겠습니다.
질문을 설명하기가 어렵네요..
0
안녕하십니까,
1. 네 맞습니다. 원래대로라면 evaluation 시 학습 데이터에 사용된 데이터는 사용되지 않아야 합니다. 이미지갯수가 많지 않아서 그렇게 한것이었습니다.
2. 두번째 질문은 잘 이해를 하지 못했습니다. "왠지 정답지가 이미 있는 이미지 (그러니까 학습에 쓴 이미지)를 가지고 테스트에도 활용해야 잘 예측을 했는지 (정답을 정답으로 맞췄는지) 구할 수 있을거 같아서 입니다. " 란 설명이 어떤 의미인지 잘 이해를 못했습니다. 좀 더 부연 설명해 주시면 감사하겠습니다.
MMDetection 버전 이슈
0
59
2
강의 환경설정 질문
0
66
2
Custom Dataset에서의 polygon 정보 관련
0
114
3
cvat.ai 보안 수준이 궁금합니다
0
102
2
캐클 nucleus 챌린지 runpod 실습 코드 에러 질문드립니다.
0
121
3
추론 결과의 Precision(또는 mAP) 평가 방법
0
100
2
mmdetection mask rcnn inferenct 실습 시 runpod 템플릿 관해서 질문드립니다.
0
72
2
runpod에서 google drive 연결 시 오류 발생
0
128
2
로드맵 선택
0
75
1
mmcv
0
67
2
Anchor box의 Positive 처리 위치
0
71
2
해당 강의 runpod 적용 후 에러 제보드립니다
0
99
2
run pod credit 관련 제보
0
129
2
mmdetection 2.x과 3.x 호환 관련 표기
0
90
2
mm_faster_rcnn_train_kitti.ipynb 실행 오류
0
116
3
질문 드립니다.
0
90
3
mm_faster_rcnn_train_coco_bccd 실행 오류 질문드립니다.
0
90
1
강사님께 수정을 제안드리고 싶은 것이 있습니다.
0
103
1
google automl efficientdet 다운로드 및 설치 오류
0
88
1
이상 탐지에 사용할 비전 기술 조언 부탁드립니다.
0
114
2
OpenCV 관련 질문드립니다.
0
88
2
mmcv 설치관련해서 문의드려요
0
362
3
강의 구성 관련해서 질문이 있습니다
1
142
2
모델 변환 성능 질문드립니다.
0
129
1

