728x90
반응형
SMALL
YOLOv5
YOLO는 'You only look once'의 약자로 이미지를 그리드 시스템으로 분할하는 객체 감지 알고리즘이다. 그리드의 각 셀은 자체 내에서 개체를 감지하는 역할을 한다. YOLO는 속도와 정확성으로 인해 가장 유명한 객체 감지 알고리즘 중 하나이다.
YOLOv5🚀COCO 데이터 세트에서 사전 훈련된 객체 감지 아키텍처 및 모델이며, 수천 시간의 연구 및 개발을 통해 학습한 교훈과 모범 사례를 통합하여 미래 비전 AI 방법에 대한 Ultralytics 오픈 소스 연구가 있다.
YOLOv4 출시 직후 Glenn Jocher는 Pytorch 프레임워크를 사용하여 YOLOv5를 도입했다. 오픈 소스 코드는 GitHub 에서 사용할 수 있다.
YOLOv5 설치
구글 코랩에서 진행한다.
%cd /content
!git clone https://github.com/ultralytics/yolov5.git
# 필수 라이브러리 설치
!pip install -r /content/yolov5/requirements.txt
!wget -P /content/yolov5/ https://github.com/ultralytics/yolov5/releases/download/v6.0/yolov5s.pt
# yaml 파일 확인 및 설정
%cat /content/yolov5/data/coco128.yaml
테스트 데이터
import zipfile
with zipfile.ZipFile('/content/testdata.zip', 'r') as target_file:
target_file.extractall('/content/yolov5/testdata/')
# 테스트 이미지
import glob
test_image_list = glob.glob('/content/yolov5/testdata/*.jpg')
print(len(test_image_list))
test_image_list.sort()
for i in range(len(test_image_list)):
print('i = ', i, test_image_list[i])
detect
# detect 실행
!python3 /content/yolov5/detect.py --weights /content/yolov5/yolov5s.pt --source /content/yolov5/YOLOv5_Native_TestData/
detected_image_list = glob.glob(('/content/yolov5/runs/detect/exp/*.jpg'))
detected_image_nums = len(detected_image_list)
print(detected_image_nums)
print(detected_image_list)
import cv2
import matplotlib.pyplot as plt
test_img_list = []
test_img_name_list = glob.glob('/content/yolov5/runs/detect/exp/*')
for i in range(len(test_img_name_list)):
src_img = cv2.imread(test_img_name_list[i])
dst_img = cv2.cvtColor(src_img, cv2.COLOR_BGR2RGB)
test_img_list.append(dst_img)
plt.figure(figsize=(20, 20))
for i in range(len(test_img_list)):
plt.subplot(2, 3, i+1)
plt.axis('off')
plt.imshow(test_img_list[i])
plt.show()
inference image 압축
import os
if not os.path.exists('/content/detected_result/'):
os.mkdir('/content/detected_result')
print('detected_result dir is created.')
with zipfile.ZipFile('/content/detected_result/detected_images.zip', 'w') as detected_images:
for idx in range(detected_image_nums):
detected_images.write(detected_image_list[idx])
압축 파일 다운
from google.colab import files
files.download('/content/detected_result/detected_images.zip')
728x90
반응형
LIST
'Visual Intelligence > Object Detection' 카테고리의 다른 글
[Object Detection] YOLOv8 (0) | 2023.06.04 |
---|---|
[Object Detection] CVAT (COMPUTER VISION ANNOTATION TOOL) (0) | 2023.06.04 |
[Object Detection] YOLO Inference (0) | 2022.09.03 |
[Object Detection] labelimg (0) | 2022.09.03 |
[Object Detection] YOLO (You Only Look Once) (0) | 2022.09.03 |