본문 바로가기
프로젝트 기록/딥러닝 모델 개발_공학설계캡스톤디자인(스마트카ICT)

[YOLOv5] 커스텀 데이터셋의 필요성

by 소요이 2023. 5. 14.
728x90

1. 데이터셋 만들기 (동영상 -> 이미지)

 

프로젝트를 위해 직접 동영상 촬영을 하고, openCV를 이용해 동영상에서 프레임 별 이미지를 추출했다.

 

openCV 이미지 추출 코드

 

프레임별로 추출된 이미지

 

 

2. 학습 없이 YOLO 객체 인식

"""230514_test 객체탐지"""

import torch
from PIL import Image

# YOLOv5 모델 로드
model = torch.hub.load('ultralytics/yolov5', 'yolov5s')

# 이미지 파일 경로 리스트
image_paths = [
    "C:/Users/songs/PycharmProjects/mediapipe/frame_4.jpg",
    "C:/Users/songs/PycharmProjects/mediapipe/frame_8.jpg",
    "C:/Users/songs/PycharmProjects/mediapipe/frame_12.jpg"
]

# 객체 탐지 수행
for image_path in image_paths:
    # 이미지 로드
    image = Image.open(image_path)

    # 객체 탐지
    results = model(image)

    # 탐지 결과 출력
    results.print()

    # 탐지 결과 시각화
    results.show()

객체탐지 결과

결과: bounding box가 사람만 인식함.

즉, 창문은 인식하지 않는 yolov5의 기본 상태

 

 

따라서 우리는 YOLOv5를 학습시켜 우리가 원하는 창문을 탐지하도록 해야 한다.