일반 소개
YOLOE는 칭화대학교 소프트웨어대학의 멀티미디어 인텔리전스 그룹(THU-MIG)에서 개발한 오픈 소스 프로젝트로, 정식 명칭은 "You Only Look Once Eye"입니다. PyTorch 프레임워크를 기반으로 하며 다음에 속합니다. YOLO 실시간으로 모든 물체를 감지하고 분할하는 시리즈의 확장판입니다. GitHub에서 호스팅되는 이 프로젝트의 핵심 기능은 텍스트 큐잉, 시각적 큐잉, 프롬프트 없는 감지의 세 가지 모드를 지원한다는 것입니다. 사용자는 텍스트나 그림으로 대상을 지정하거나 모델이 1200개 이상의 사물을 자동으로 인식할 수 있습니다. 공식 데이터에 따르면 YOLOE는 LVIS 데이터 세트에서 YOLO-Worldv2보다 1.4배 빠르고 훈련 비용이 3배 저렴하면서도 높은 정확도를 유지하는 것으로 나타났습니다. 또한 이 모델은 추가 오버헤드 없이 YOLOv8 또는 YOLO11로 원활하게 변환할 수 있어 여러 디바이스에 배포하기에 적합합니다.

기능 목록
- 실시간 물체 감지를 지원하여 이미지나 동영상에서 대상을 빠르게 식별할 수 있습니다.
- 인스턴스 세분화 기능을 제공하여 객체의 윤곽을 정확하게 그릴 수 있습니다.
- 텍스트 프롬프트 감지를 지원하며, 사용자가 텍스트를 입력하여 감지 대상을 지정합니다.
- 사진을 참조하여 유사한 물체를 인식하는 시각적 단서 감지 기능을 제공합니다.
- 내장된 프롬프트 없음 모드는 1200개 이상의 일반적인 개체를 자동으로 감지합니다.
- YOLOv8/YOLO11로 모델 재파라미터화 가능 추론 오버헤드 없음.
- 다양한 성능 요구 사항을 지원하기 위해 사전 학습된 다양한 모델(S/M/L 스케일)을 제공합니다.
- 개발자가 수정하고 확장할 수 있는 오픈 소스 코드 및 문서입니다.
도움말 사용
YOLOE의 사용은 설치와 운영의 두 부분으로 나뉩니다. 다음은 사용자가 쉽게 시작할 수 있도록 자세한 단계입니다.
설치 프로세스
- 환경 준비하기
Python 3.10 및 PyTorch가 필요합니다. 가상 환경을 만들 때는 Conda를 사용하는 것이 좋습니다:
conda create -n yoloe python=3.10 -y
conda activate yoloe
- 코드 복제
GitHub에서 YOLOE 프로젝트를 다운로드하세요:
git clone https://github.com/THU-MIG/yoloe.git
cd yoloe
- 종속성 설치
CLIP 및 MobileCLIP을 포함한 필요한 라이브러리를 설치합니다:
pip install -r requirements.txt
pip install git+https://github.com/THU-MIG/yoloe.git#subdirectory=third_party/CLIP
pip install git+https://github.com/THU-MIG/yoloe.git#subdirectory=third_party/ml-mobileclip
pip install git+https://github.com/THU-MIG/yoloe.git#subdirectory=third_party/lvis-api
wget https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_blt.pt
- 사전 학습된 모델 다운로드
YOLOE는 다음과 같은 다양한 모델을 제공합니다.yoloe-v8l-seg.pt
. 다음 명령어로 다운로드하세요:
pip install huggingface-hub==0.26.3
huggingface-cli download jameslahm/yoloe yoloe-v8l-seg.pt --local-dir pretrain
또는 Python을 사용하여 자동으로 로드합니다:
from ultralytics import YOLOE
model = YOLOE.from_pretrained("jameslahm/yoloe-v8l-seg.pt")
- 설치 확인
테스트 명령을 실행하여 환경이 정상인지 확인합니다:python predict_text_prompt.py --source ultralytics/assets/bus.jpg --checkpoint pretrain/yoloe-v8l-seg.pt --names person dog cat --device cuda:0
주요 기능
1. 문자 알림 감지
- 기능 설명: 해당 개체를 감지할 텍스트를 입력합니다.
- 절차::
- 다음과 같은 이미지를 준비합니다.
bus.jpg
. - 명령을 실행하고 대상을 지정합니다(예: "사람, 개, 고양이"):
python predict_text_prompt.py --source ultralytics/assets/bus.jpg --checkpoint pretrain/yoloe-v8l-seg.pt --names person dog cat --device cuda:0
- 결과를 확인하면 이미지에 감지된 개체에 레이블이 지정됩니다.
- 다음과 같은 이미지를 준비합니다.
- 조정 방법신뢰도 임계값 : 탐지가 누락된 경우 신뢰도 임계값을 낮출 수 있습니다:
--conf 0.001
2. 시각적 단서 감지
- 기능 설명참조 사진으로 유사한 물체를 감지합니다.
- 절차::
- 참조 및 대상 사진을 준비합니다.
- 시각적 단서 모듈을 교육합니다:
python tools/convert_segm2det.py python train_vp.py python tools/get_vp_segm.py
- 테스트를 실행합니다:
python predict_visual_prompt.py --source test.jpg --ref reference.jpg --checkpoint pretrain/yoloe-v8l-seg.pt
- 출력을 확인하고 결과를 확인합니다.
- 주의참고 사진은 선명하고 뚜렷해야 합니다.
3. 프롬프트되지 않은 탐지
- 기능 설명프롬프트를 입력할 필요 없이 사진 속 사물을 자동으로 인식합니다.
- 절차::
- 모델에 사전 학습된 어휘가 로드되어 있는지 확인하세요(1200개 이상의 카테고리 지원).
- 실행 명령을 실행합니다:
python predict_prompt_free.py --source test.jpg --checkpoint pretrain/yoloe-v8l-seg.pt --device cuda:0
- 결과를 확인하면 모든 본문에 레이블이 지정됩니다.
- 조정 방법: 탐지가 불완전한 경우 최대 탐지 횟수가 증가할 수 있습니다:
--max_det 1000
4. 모델 변환 및 배포
- 기능 설명다른 기기에 배포할 수 있도록 YOLOE를 YOLOv8/YOLO11 형식으로 변환합니다.
- 절차::
- 내보내기 도구를 설치합니다:
pip install onnx coremltools onnxslim
- 내보내기 명령을 실행합니다:
python export.py --checkpoint pretrain/yoloe-v8l-seg.pt
- 출력 형식은 TensorRT(GPU) 또는 CoreML(iPhone)을 지원합니다.
- 내보내기 도구를 설치합니다:
- 성능 데이터로 설정합니다.
yoloe-v8l-seg.pt
FPS는 102.5점이었고, iPhone 12에서는 27.2점이었습니다.
5. 맞춤형 모델 교육
- 기능 설명자체 데이터셋으로 YOLOE를 훈련하세요.
- 절차::
- Objects365v1 또는 GQA와 같은 데이터 집합을 준비합니다.
- 세분화 어노테이션을 생성합니다:
python tools/generate_sam_masks.py --img-path ../datasets/Objects365v1/images/train --json-path ../datasets/Objects365v1/annotations/objects365_train.json
- 교육 캐시를 생성합니다:
python tools/generate_grounding_cache.py --img-path ../datasets/Objects365v1/images/train --json-path ../datasets/Objects365v1/annotations/objects365_train_segm.json
- 교육을 실행합니다:
python train_seg.py
- 효과를 확인합니다:
python val.py
기타 도구
- 웹 데모: Gradio로 인터페이스를 시작합니다:
pip install gradio==4.42.0 python app.py
인터뷰
http://127.0.0.1:7860
.
애플리케이션 시나리오
- 안전 모니터링
영상에서 사람이나 사물을 실시간으로 감지하여 보안 관리를 위한 윤곽선을 표시합니다. - 지능형 운송
도로에서 차량과 보행자를 식별하여 교통 분석 또는 자율 주행을 지원합니다. - 산업 품질 관리
시각적 단서를 통해 부품 결함을 감지하면 생산성이 향상됩니다. - 과학 연구
실험 이미지를 처리하고, 개체에 자동으로 레이블을 지정하고, 데이터 처리를 가속화합니다.
QA
- YOLOE와 YOLOv8의 차이점은 무엇인가요?
YOLOE는 개방형 장면 감지(텍스트, 시각, 프롬프트 없음)를 지원하는 반면, YOLOv8은 고정 카테고리로 제한되며, 추가 오버헤드 없이 YOLOE를 YOLOv8로 변환할 수도 있습니다. - GPU가 필요하신가요?
필요 없음.CPU는 실행할 수 있지만 GPU(예: CUDA)가 더 빠릅니다. - 테스트가 정확하지 않으면 어떻게 하나요?
신뢰도 임계값 낮추기(--conf 0.001
) 또는 테스트 횟수를 늘리거나(--max_det 1000
). - 어떤 디바이스가 지원되나요?
PC(TensorRT), iPhone(CoreML) 및 기타 여러 장치를 지원합니다.
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...