YOLO(You Only Look Once)는 실시간 객체 탐지(Object Detection)를 위한 최첨단 딥러닝 모델입니다. YOLOv5는 Ultralytics에서 개발한 YOLO 시리즈의 5번째 버전으로, 이전 버전들의 장점을 계승하면서 성능과 사용성을 크게 개선했습니다.
빠른 처리 속도
높은 정확도
사용 편의성
다양한 모델 크기
import torch
# YOLOv5 모델 로드
model = torch.hub.load('ultralytics/yolov5', 'yolov5s')
# 이미지에서 객체 탐지
results = model('image.jpg')
# 결과 추출
detections = results.pandas().xyxy[0] # 바운딩 박스 좌표탐지된 객체 정보를 JSON 형식으로 변환하는 예시:
import json
def create_detection_json(detections):
json_data = {
"objects": []
}
for _, detection in detections.iterrows():
object_info = {
"class": detection["name"],
"confidence": float(detection["confidence"]),
"bbox": {
"xmin": float(detection["xmin"]),
"ymin": float(detection["ymin"]),
"xmax": float(detection["xmax"]),
"ymax": float(detection["ymax"])
}
}
json_data["objects"].append(object_info)
return json_dataJSON 데이터를 XML 형식으로 변환하는 예시:
import dicttoxml
from xml.dom.minidom import parseString
def json_to_xml(json_data):
xml = dicttoxml.dicttoxml(json_data)
dom = parseString(xml)
return dom.toprettyxml()이미지 객체 탐지
데이터 구조화
데이터 형식 변환
결과 활용
자동화된 객체 탐지
데이터 호환성
확장성
