[오늘의 일지]
프로젝트 - 이미지 데이터 확인
[상세 내용]
이미지 데이터 확인
- 이번 프로젝트를 위한 데이터는 이미지마다 하나의 클래스 라벨이 존재하고 그 라벨의 bbox가 존재하고 있습니다. 학습을 시키기 전에 이미지 안에 어떻게 bbox가 생성되어 있는지를 확인하기 위해서 이미지 위에 bbox와 클래스 라벨을 출력시켜 보면서 확인해 보는 과정을 진행해 보았습니다.
실행 코드
- 처음에는 cv2.imread를 사용해서 이미지를 읽으려고 했는데 오류가 나서 image 모듈로 대체해서 읽어왔습니다.
def draw_boxes_on_image(image_path, filename):
# 이미지 불러오기
image = Image.open(image_path)
image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)
# bbox_values, vienna_code 만들기
bbox_values = eval(train[train['fileName'] == filename]['bbox'].values[0])
vienna_code = train[train['fileName'] == filename]['Vienna Code'].values[0]
x, y, width, height = bbox_values
# Calculate the coordinates of the bounding box
x_min, y_min = int(x), int(y)
x_max, y_max = int(x + width), int(y + height)
# 이미지에 바운딩 박스 그리기
cv2.rectangle(image, (x_min, y_min), (x_max, y_max), (255, 0, 0), 2)
cv2.putText(image, str(vienna_code), (x_min, y_min - 5), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 0, 0), 2)
# 이미지와 바운딩 박스 출력
plt.figure(figsize=(5, 5))
plt.imshow(image)
plt.show()
이미지 확인 예시
[마무리]
오늘은 정형 데이터로 주어진 bbox 좌표와 라벨을 이미지 데이터에 출력시켜 보면서 좌표가 잘 설정되어 있는지 확인해 보는 과정을 정리해 보았습니다. 내일부터는 YOLO 모델을 위한 데이터로드를 만들고 간단한 학습까지 진행해 보면 좋을 거 같습니다.
반응형
'AI > AI 부트캠프' 카테고리의 다른 글
[AI 부트캠프] DAY 121 - 파이널 프로젝트 12 (0) | 2024.01.12 |
---|---|
[AI 부트캠프] DAY 120 - 파이널 프로젝트 11 (1) | 2024.01.11 |
[AI 부트캠프] DAY 118 - 파이널 프로젝트 9 (1) | 2024.01.09 |
[AI 부트캠프] DAY 117 - 파이널 프로젝트 8 (0) | 2024.01.06 |
[AI 부트캠프] DAY 116 - 파이널 프로젝트 7 (2) | 2024.01.05 |
댓글