Ultralytics YOLOv5 v7.0의 인스턴스 분할 소개
학습, 검증, 예측, 내보내기 예제와 함께 YOLOv5 인스턴스 세그멘테이션 모델을 처음 도입한 YOLOv5 v7.0을 알아보세요.
Nuvola Ladi3 분 읽기
AI 아키텍처의 최신 버전인 YOLOv5 v7.0이 출시되었습니다. 새로운 인스턴스 분할 모델도 함께 소개하게 되어 기쁩니다! (오늘 새 프로젝트를 시작한다면 인스턴스 분할도 지원하는 Ultralytics YOLO26을 확인해 보세요.)

이번 최신 버전을 개발하면서 두 가지 목표에 집중했습니다. 첫 번째는 AI를 쉽게 이용할 수 있도록 하려는 사명이었고, 두 번째는 진정한 “최첨단”의 의미를 새롭게 정의하려는 목표였습니다.
따라서 주요 개선 사항과 수정 사항, 업그레이드를 통해 이를 실현했습니다. 기존 Ultralytics YOLOv5 객체 감지 모델과 동일한 간단한 워크플로를 유지하면서 YOLOv5 v7.0으로 모델을 학습하고 검증하고 배포하는 일이 그 어느 때보다 쉬워졌습니다. 또한 모든 SOTA 벤치마크를 뛰어넘어 출시 당시 YOLOv5-seg를 가장 빠르고 정확한 실시간 인스턴스 분할 모델로 만들었습니다.
세그멘테이션 모델을 처음 출시하게 되어 이 이정표가 매우 자랑스럽습니다. 이번 출시가 가능하도록 도와주신 헌신적인 커뮤니티와 기여자 여러분께 깊이 감사드립니다.

그럼 YOLOv5 v7.0 릴리스 노트를 살펴보겠습니다!
Ultralytics YOLOv5 주요 업데이트#
2022년 8월 YOLOv5 v6.2 출시 이후 YOLOv5에 적용된 업데이트는 다음과 같습니다.
- 세그멘테이션 모델 ⭐ 신규: SOTA YOLOv5-seg COCO 사전 학습 세그멘테이션 모델을 처음으로 사용할 수 있습니다(#9052, @glenn-jocher, @AyushExel, @Laughing-q 작성).
- PaddlePaddle 내보내기:
python export.py --include paddle을 사용해 모든 YOLOv5 모델(cls, seg, det)을 Paddle 형식으로 내보냅니다. (#9459, @glenn-jocher 작성) - YOLOv5 AutoCache: 이제
python train.py --cache ram이 사용 가능한 메모리를 스캔하고 예측된 데이터셋 RAM 사용량과 비교합니다. 이를 통해 캐싱 위험을 줄이고 데이터셋 캐싱 기능의 채택을 늘릴 수 있습니다. 데이터셋 캐싱 기능은 학습 속도를 크게 높일 수 있습니다. (#10027, @glenn-jocher 작성) - Comet 로깅 및 시각화 통합: 무료로 영구 제공되는 Comet을 사용하면 YOLOv5 모델을 저장하고 학습을 재개하며 예측 결과를 대화형으로 시각화하고 디버깅할 수 있습니다. (#9232, @DN6 작성).
새로운 세그멘테이션 체크포인트#
Ultralytics YOLOv5 분할 모델을 A100 GPU에서 이미지 크기 640으로 COCO 데이터셋에 대해 300 에포크 학습했습니다. CPU 속도 테스트를 위해 모든 모델을 ONNX FP32로 내보내고 GPU 속도 테스트를 위해 TensorRT FP16으로 내보냈습니다. 쉽게 재현할 수 있도록 Google Colab Pro 노트북에서 모든 속도 테스트를 실행했습니다.
- 모든 체크포인트는 이미지 크기 640과 기본 설정을 사용해 SGD 옵티마이저, lr0=0.01, weight_decay=5e-5로 300 에포크 학습했습니다. 모든 실행 기록은 Weights & Biases 학습 로그에 저장되어 있습니다.
- 정확도 값은 COCO 데이터셋에서 단일 모델, 단일 스케일을 사용한 결과입니다.
python segment/val.py --data coco.yaml --weights yolov5s-seg.pt으로 재현할 수 있습니다. - 속도는 Colab Pro A100 High-RAM 인스턴스에서 100개 추론 이미지의 평균값입니다. 값은 추론 속도만 나타냅니다(NMS는 이미지당 약 1ms를 추가합니다).
python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1으로 재현할 수 있습니다. - export.py를 사용해 ONNX FP32 및 TensorRT FP16으로 내보냈습니다.
python export.py --weights yolov5s-seg.pt --include engine --device 0 --half으로 재현할 수 있습니다.
새로운 세그멘테이션 사용 예시#
학습#
Ultralytics YOLOv5 분할 학습은 --data coco128-seg.yaml 인수로 COCO128-seg 분할 데이터셋을 자동 다운로드할 수 있으며, bash data/scripts/get_coco.sh --train --val --segments를 사용해 COCO-segments 데이터셋을 수동으로 다운로드한 다음 python segment/train.py --data coco.yaml을 실행할 수도 있습니다.
단일 GPU#
python segment/train.py --weights yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640다중 GPU DDP#
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --weights yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3검증#
COCO 데이터셋에서 YOLOv5s-seg 정확도 검증:
bash data/scripts/get_coco.sh --val --segments # download COCO val segments split (780MB, 5000 images)
python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # validate예측#
사전 학습된 YOLOv5m-seg를 사용해 bus.jpg를 예측합니다:
python segment/predict.py --weights yolov5m-seg.pt --source data/images/bus.jpgmodel = torch.hub.load("ultralytics/yolov5", "custom", "yolov5m-seg.pt") # PyTorch Hub에서 불러오기(경고: 추론은 아직 지원되지 않음)
내보내기#
YOLOv5s-seg 모델을 ONNX 및 TensorRT로 내보내기:
python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0
질문이 있으신가요? Ultralytics 포럼에 질문하거나, 저장소에서 이슈를 등록하거나, PR을 제출해 주세요. 빠른 시작 튜토리얼은 YOLOv5 세그멘테이션 Colab 노트북에서 확인할 수 있습니다.
작성자
댓글
질문하거나 결과를 공유하거나 다른 사람을 도와주세요.










