YOLOY v10을 이용한 이미지 학습 (Diablo2)
YOLOY v10을 이용한 이미지 학습 (Diablo2)
0. 이전 포스트
Darknet + YOLO v4 tiny 를 이용한 이미지 학습-1
Darknet + YOLO v4 tiny 를 이용한 이미지 학습-2
1. 작업 내용
- 이전 포스트에서 사용한 학습 데이터를 사용
- YOLO v10 을 이용하여 학습
- Pre-tratined weight
yolov10n.pt를 사용 - supervision을 사용하여 시각화
2. 코드 및 데이터
- Train images https://github.com/ohsungkim56/diablo2_object_dection_yolo_v10/tree/main/data/images
- Train labels https://github.com/ohsungkim56/diablo2_object_dection_yolo_v10/tree/main/data/labels
Train, validation codes (notebook) https://github.com/ohsungkim56/diablo2_object_dection_yolo_v10/blob/main/diablo2_object_detection.ipynb
3. 학습 로그
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size
1000/1000 6.41G 1.233 0.7209 1.542 543 640: 100%|██████████| 3/3 [00:00<00:00, 3.05it/s]
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 5.68it/s]
all 8 564 0.98 0.96 0.985 0.906
1000 epochs completed in 1.954 hours.
Optimizer stripped from runs/detect/train16/weights/last.pt, 5.9MB
Optimizer stripped from runs/detect/train16/weights/best.pt, 5.9MB
Validating runs/detect/train16/weights/best.pt...
Ultralytics 8.3.63 🚀 Python-3.10.6 torch-2.5.1+cu124 CUDA:0 (NVIDIA GeForce RTX 3060 Ti, 8191MiB)
YOLOv10n summary (fused): 285 layers, 2,699,876 parameters, 0 gradients, 8.3 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 3.42it/s]
all 8 564 0.983 0.955 0.986 0.916
_flawless_amethyst 8 31 1 0.998 0.995 0.937
_flawless_diamond 7 34 0.969 0.926 0.986 0.847
_flawless_emerald 8 45 0.953 1 0.995 0.958
_flawless_ruby 8 54 0.995 0.963 0.989 0.896
_flawless_saphire 6 33 0.979 0.97 0.992 0.95
_flawless_skull 7 43 1 0.948 0.977 0.892
_flawless_topaz 7 41 1 0.987 0.995 0.946
_perfect_amethyst 8 48 0.979 0.978 0.994 0.954
_perfect_diamond 7 50 0.977 0.856 0.978 0.871
_perfect_emerald 8 37 0.97 0.885 0.951 0.869
_perfect_ruby 6 24 1 0.933 0.987 0.9
_perfect_saphire 6 33 1 0.995 0.995 0.945
_perfect_skull 8 50 0.941 0.958 0.974 0.897
_perfect_topaz 7 41 1 0.973 0.993 0.956
Speed: 0.4ms preprocess, 2.7ms inference, 0.0ms loss, 0.2ms postprocess per image
Results saved to runs/detect/train16
💡 Learn more at https://docs.ultralytics.com/modes/train
4. 학습 결과
5. 검증 데이터 결과
6. 평가
- 반지에 있는 보석이 상급 사파이어로 검출
- 주얼이 최상급 또는 상급 보석으로 검출 (이미지가 유사)
- 비슷한 위치에 있던 흰색 주얼 중 한개는 검출되었으나, 한개는 검출되지 않음
- 중/하급 스컬이 상급 스컬로 검출 (중/하급 스컬은 상급 스컬에 크랙이 있는 유사한 이미지이고, 최상급 스컬은 스컬 가운데에 보석이 박혀있어 구분되는 이미지)
- 최하/하/중급 보석과, 검출하고자 했던 상/최상급 보석을 섞은 이미지인데, 최하/하/중급 보석은 검출되지 않았지만 상/최상급 보석 일부가 검출되지 않았음
- 최상급 자수정, 최상급 스컬을 모아둔 이미지였는데, 사이에 있던 일부 최상급 자수정이 검출되지 않았음.
- 마찬가지로 최상급 루비를 모아둔 이미지였는데, 사이에 있던 일부 최상급 루비가 검출되지 않았음음
7. reference
How to Train a YOLOv10 Model on a Custom Dataset
[Colab] train-yolov10-object-detection-on-custom-dataset.ipynb
This post is licensed under CC BY 4.0 by the author.









