커뮤니티 대회 교육

병변 검출 AI 경진대회

[LB 0.61] YOLOv5 학습 코드 + 평가 및 제출 코드 추가

2021.11.19 01:45 11,889 조회 language

colab이나 kaggle notebook에서 학습할수 있는 코드 입니다. 
inference code는 추가하였습니다. 
kaggle version code : https://www.kaggle.com/chanmin03/endoscopy-eda
기본 base로 성능 제출시 0.61나옵니다. 
학습할시 사용할 image갯수 조절해주세요~

코드
gus8cjf
2021.11.19 11:41

좋은 레퍼런스 감사합니다. YOLOv5 최고!

datu
2021.11.25 16:05

좋은 코드 공유 감사합니다. 혹시 detect.py 실행할 때 저장 위치는 변경이 불가능 한가요?

찰진판다
2021.11.25 23:12

넵 할수 있습니다. 
밑에 있는 코드에 project에 directory를 설정해주면 저장위치가 변경이 됩니다. 
!python ./yolov5/detect.py --weights ./yolov5-endoscopy/endoscopy4/weights/best.pt \
                           --source ./test_data/images \
                           --save-txt \
                           --save-conf \
                           --project ={SAVE_DIR}

Marco Kang
2021.11.25 20:42

코드 감사합니다. IMG_SIZE의 128이라는 상수는 어디서 나오는 건가요??

찰진판다
2021.11.26 02:25

IMG_SIZE의 상수는 2번째 cell에 설정을 해놓앗습니다. 
128의 의미는 학습이미지를 128x128로 설정하는 의미입니다. 그에 따라서 bbox 크기도 128에 맞도록 resize를 시켜주는 코드도 추가하였습니다. 
학습하실때에는 IMG_SIZE를 원하시는 크기로 변경해서 사용하시면 됩니다. 

찰진판다
2021.11.25 23:14

삭제된 댓글입니다

통계왕김웅곤
2021.11.26 00:33

좋은 코드 공유해주셔서 감사합니다.

Knight
2021.12.01 02:23

좋은 레퍼런스 감사합니다.
학습 데이터를 전체 학습하지 않고 줄이는 이유가 있을까요?
통상 데이터가 많으면 더 좋은 결과가 나오는 걸로 생각하여 올려주신 코드를 그대로 사용하고 전체 데이터 학습하였으나 점수가 나오지 않고 있는데 
어디서부터 잘못된 건지 ,,뭘 놓치고 있는지 잘 모르겠어요...
혹시 조언주실 부분이 있을까요??

찰진판다
2021.12.01 11:04

안녕하세요 현재 코드를 공유를 한건 간단한 training 용도라서 10000장만 사용하였습니다. 
질문하신것처럼 전체 데이터를 학습하게 되면 성능이 당연하게 좋은 결과가 나올겁니다. 
추천하는 방법은 IMG_SIZE를 원본 이미지에 맞도록 변경해서 학습하는걸 추천드립니다.
 현재 공유해놓은 128로 학습을 하게되면 성능이 좋지 않을것으로 예상됩니다. 

ashwinipal
2021.12.05 19:46

Is LB 0.61  from the submission generated by the above code without changing any parameters like model, image_size?

찰진판다
2021.12.05 23:23

Above LB 0.61 is that each image_size and batch size was 640, 30.
So, if you want to get higher score, please image_size parameter change to 640.

ashwinipal
2021.12.05 23:45

I changed the model to 'yolov5l' and img_size to 640. The MAP@0.5 after training 24 epochs is above 0.8 on validation dataset, yet the LB score never crosses 0.4. 

찰진판다
2021.12.06 19:19

I think weights path is wrong or iou-thres value maybe changed. 
Did you check inference image? 

ingbeeeded
2021.12.06 14:38

detect 할 때도 imgsz 128로 맞춰주는 것은 아닌가요?

찰진판다
2021.12.06 18:35

training에서 학습을 할때 imgsz를 128로 하셨다면 128로 해주는게 맞습니다. 
제가 detect.py코드에서는 내부 코드로 128로 고정을 해주었다보니 parser값 수정은 안넣습니다. 

포뇨
2022.02.11 11:29

안녕하세요 ! 좋은 글 공유 감사합니다.
train.py 에서 800*800 image로 학습하고, detect.py 에서 800*600 으로 나오게 하는 방법이 있을까요?
detect.py에서 --img 800 600 으로 하면, 
WARNING: --img-size [800, 600] must be multiple of max stride 32, updating to [800, 608]
이러한 문제로 800*608로 나오게 되더라구요.
detect.py 내부코드를 수정해서 나오게 하는 방법이 있을까요 ?! 
좋은 하루 보내세요. ㅎㅎ 

jingeun
2022.05.20 18:44

안녕하세요! 캡스톤디자인 과제를 하고있는 대학생입니다. 
저희 팀에서는 yolov5를 이용해서 자동 분리수거 로봇을 제작하고 있습니다.
캔, 플라스틱, 유리 이미지를 학습시키고 인식하는 단계까지는 성공했습니다.
또한 파이썬과 아두이노를 시리얼 통신을 이용해 아두이노에 연결된 모터를 제어하는 것 까지 했습니다.

하지만 욜로에서 실시간으로 나오는 데이터를 이용해 아두이노 모터를 제어하는 부분에서 어려움을 겪고 있습니다.
예를들어 can이라고 인식된 결과값을 시리얼 통신을 이용해 아두이노로 전송하려고 하는데 
yolo코드에서 어느부분을 수정해야하는지 도움을 주실 수 있는지 궁금합니다!

로그인이 필요합니다
0 / 1000