Bone 이미지 데이터 350장 중 Fracture 이미지 50장, Implant 이미지 50장, Bone 이미지 50장을 선별했다.
이렇게 균형을 맞춘 데이터를 train에 100장, val에 40장, test용 10장으로 나눴다.
train과 val은 라벨링을 해야한다. 어제 라벨링을 했었지만, Fracture는 좀 넓게 잡고, Implant는 최대한 여러개로 쪼개는 느낌으로 라벨링을 다시했다.
from google.colab import drive
drive.mount('/content/drive')
!pip install numpy
!pip install pandas
!pip install matplotlib
!pip install opencv-python
import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import cv2
!pip install ultralytics -q
import ultralytics
ultralytics.checks()
from ultralytics import YOLO, settings
코드는 교수님 코드 그대로 쓴다
20251204_01 train
| model | yolov8m.pt | |
| imgsz | 800 | 원래 640이었는데 어제 코파일럿이 크기 좀 키워보래서 키웠더니 결과가 좀 나아졌었다 크기를 키워야하는 이유는 Fraction 영역이 대체로 작기 때문에 이미지 크기가 커야 탐지하기 좋기 때문이다. |
| batch | 16 | 원래 5였는데 똑같이 코파일럿이 올리래서 올렸더니 결과가 좀 나아졌었다 batch는 한 번에 학습하는 데이터 양이다. |
| epochs | 60 | 어차피 best 쓰니까 100까지 키워도 될 것 같은데 첫 시도이니 60 |
| optimizer | auto |


20251204_01 predict
class 이름을 반대로 해뒀다...
| imgsz | 800 | 뭔가 train이랑 같아야할 것 같아서 같이 바꿨다 |
| conf | 0.3 | 원래 0.9였는데 어제 결과가 너무 안 나와서 0.5로 바꿨다가 다시 0.3으로 바꿨다 |






20251204_02 train2
| model | yolov8s.pt | 어제 코파일럿이 데이터 수가 적으니 이 모델이 더 나을 수 있다고 했다 |
| imgsz | 800 | |
| batch | 16 | |
| epochs | 60 | |
| optimizer | auto |




20251204_02 predict2






진짜 라벨링 문제였나보다
점심 먹으러 나가기 전에 epochs = 150으로 돌려놓고 나갔는데 런타임 연결이 끊어져서 결과가 없다
그래도 돌아간 기록을 코파일럿에 넣어주니 100 이상은 의미가 없다는 사실을 알려줬다.
그리고 predict 단계에서 IoU( Intersection over Union )를 낮추란다. 낮춰보자
IoU는 '교집합 영역 넓이 / 합집합 영역 넓이' 이다.
150을 해보는 건 너무 생각없는 행동이었나보다

계정을 바꿨다
20251204_03 train
| model | yolov8s.pt | |
| imgsz | 800 | |
| batch | 16 | |
| epochs | 100 | 100까지 의미가 있다고 하니, 100까지 올려보자 |
| optimizer | auto |






20251204_03 predict
아 또 계정 바꾸면서 class 반대로 되어있는 파일로 넣었다
| imgsz | 800 | |
| conf | 0.3 | |
| iou | 0.5 | 줄여보기 |







아니 아까보다 더 안 좋아졌다.
20251204_04 train2
| model | yolov8s.pt | |
| imgsz | 800 | |
| batch | 16 | |
| epochs | 60 | 다시 60으로 내려왔다. 60이 최선인 것 같다 |
| optimizer | auto |






20251204_04 predict2
class 반대로 되어있는 파일 수정 안 했다
| imgsz | 800 | |
| conf | 0.3 | |
| iou | 0.5 | 이것만 줄여보기 |





iou는 별로 효과가 없는 듯