인프런 커뮤니티 질문&답변

kimhy365님의 프로필 이미지
kimhy365

작성한 질문수

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

Yolo V5로 COCO형태의 BCCD 데이터 Train 실습 - Dataset yaml 적용 후 Train과 Inference 수행

yolov5 강의에서 test.py

작성

·

3.9K

0

선생님, 안녕하세요?
yolov5로 모델을 만들고 예측을 해서 mAP를 계산하려고 합니다.
1. test.py를 이용하려고 하는데, 이상하게 제 yolov5에는 val.py가 있고 test.py가 없습니다. 같은 기능으로 파일명이 변경된 건가요?
2. detect.py로 결과를 파일로 저장해서 그 파일을 GT파일의 값과 비교해서 계산해야 하는 건가요?
좋은 강의에 감사드립니다.

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

1. 음, 이게 val.py 로 바뀌었군요. test.py 대신 val.py로만 바꿔서 수행하시면 될 것 같습니다. 

2. detect.py는 하나의 이미지만 detect 합니다. 일반적으로 하나의 파일만 가지고는 mAP를 제공하지는 않습니다.  val.py를 수행하시면 mAP가 나옵니다.  detect.py의 결과를 file로 저장하고자 하신다면  detect.py에 --save-txt라는 option이 있습니다. 

아래와 같이 수행해 보시면, project 디렉토리인 content/data/output 밑에 labels라는 디렉토리가 생기고 여기에BloodImage_0011.txt 라는 파일로 결과가 출력됩니다.  Detect된 object들이 라인별로 출력되면, 맨 앞이 클래스 id입니다. 좌표들은 학습데이터와 동일하게 0~1 사이의 스케일링된 값으로 나오므로 다시 image size를 곱해서 만들어야 합니다.  

!cd /content/yolov5;python detect.py --source /content/bccd/images/test/BloodImage_00011.jpg \
                            --weights /mydrive/ultra_workdir/bccd/weights/best.pt --conf 0.2 \
                            --project=/content/data/output  --save-txt \
                            --name=run_image --exist-ok --line-thickness 2
kimhy365님의 프로필 이미지
kimhy365
질문자

아... 정말 감탄.

이렇게 빨리, 자상하게 답변해 주시니 막혔던 속이 시원해지네요.

감사합니다.

kimhy365님의 프로필 이미지
kimhy365

작성한 질문수

질문하기