물체 감지
객체 감지는 이미지 또는 동영상 스트림에서 객체의 위치와 클래스를 식별하는 작업입니다.
객체 감지기의 출력은 이미지에서 객체를 둘러싸는 경계 상자 집합과 각 상자에 대한 클래스 레이블 및 신뢰도 점수로 구성됩니다. 객체 감지는 장면에서 관심 있는 객체를 식별해야 하지만 객체의 정확한 위치나 모양을 정확히 알 필요는 없는 경우에 적합한 선택입니다.
Watch: 사전 학습된 Ultralytics YOLO 모델을 사용한 객체 감지.
팁
YOLO11 감지 모델은 기본값인 YOLO11 모델입니다. yolo11n.pt
에 대해 사전 교육을 받았으며 COCO.
모델
YOLO11 사전 학습된 감지 모델이 여기에 표시됩니다. 감지, 세그먼트 및 포즈 모델은 COCO 데이터 세트에서 사전 학습된 모델이며, 분류 모델은 ImageNet 데이터 세트에서 사전 학습된 모델입니다.
모델은 처음 사용할 때 최신 Ultralytics 릴리스에서 자동으로 다운로드됩니다.
모델 | 크기 (픽셀) |
mAPval 50-95 |
속도 CPU ONNX (ms) |
속도 T4TensorRT10 (ms) |
매개변수 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLO11n | 640 | 39.5 | 56.1 ± 0.8 | 1.5 ± 0.0 | 2.6 | 6.5 |
YOLO11s | 640 | 47.0 | 90.0 ± 1.2 | 2.5 ± 0.0 | 9.4 | 21.5 |
YOLO11m | 640 | 51.5 | 183.2 ± 2.0 | 4.7 ± 0.1 | 20.1 | 68.0 |
YOLO11l | 640 | 53.4 | 238.6 ± 1.4 | 6.2 ± 0.1 | 25.3 | 86.9 |
YOLO11x | 640 | 54.7 | 462.8 ± 6.7 | 11.3 ± 0.2 | 56.9 | 194.9 |
- mAPval 값은 단일 모델 단일 스케일에 대한 것입니다. COCO val2017 데이터 세트.
복제 대상yolo val detect data=coco.yaml device=0
- 속도 를 사용하여 COCO 값 이미지에 대한 평균을 구합니다. Amazon EC2 P4d 인스턴스입니다.
복제 대상yolo val detect data=coco.yaml batch=1 device=0|cpu
기차
이미지 크기 640에서 100개의 에포크에 대해 COCO8 데이터 세트에서 YOLO11n을 훈련합니다. 사용 가능한 인수의 전체 목록은 구성 페이지를 참조하세요.
예
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.yaml") # build a new model from YAML
model = YOLO("yolo11n.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolo11n.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640
데이터 집합 형식
YOLO 탐지 데이터 세트 형식은 데이터 세트 가이드에서 자세히 확인할 수 있습니다. 기존 데이터셋을 다른 형식(예: COCO 등)에서 YOLO 형식으로 변환하려면 JSON2YOLO 도구( Ultralytics)를 사용하세요.
Val
학습된 YOLO11n 모델 검증하기 정확성 로 설정할 수 있습니다. 인수가 필요하지 않으므로 model
교육 유지 data
및 인수를 모델 속성으로 사용합니다.
예
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Validate the model
metrics = model.val() # no arguments needed, dataset and settings remembered
metrics.box.map # map50-95
metrics.box.map50 # map50
metrics.box.map75 # map75
metrics.box.maps # a list contains map50-95 of each category
예측
학습된 YOLO11n 모델을 사용하여 이미지에 대한 예측을 실행합니다.
예
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
# Access the results
for result in results:
xywh = result.boxes.xywh # center-x, center-y, width, height
xywhn = result.boxes.xywhn # normalized
xyxy = result.boxes.xyxy # top-left-x, top-left-y, bottom-right-x, bottom-right-y
xyxyn = result.boxes.xyxyn # normalized
names = [result.names[cls.item()] for cls in result.boxes.cls.int()] # class name of each box
confs = result.boxes.conf # confidence score of each box
전체 보기 predict
모드 세부 정보에서 예측 페이지로 이동합니다.
내보내기
ONNX, CoreML 등과 같은 다른 형식으로 YOLO11n 모델을 내보냅니다.
예
사용 가능한 YOLO11 내보내기 형식은 아래 표에 나와 있습니다. 내보내는 형식은 format
인수, 즉 format='onnx'
또는 format='engine'
. 내보낸 모델에서 직접 예측하거나 검증할 수 있습니다. yolo predict model=yolo11n.onnx
. 내보내기가 완료된 후 모델에 대한 사용 예가 표시됩니다.
형식 | format 인수 |
모델 | 메타데이터 | 인수 |
---|---|---|---|---|
PyTorch | - | yolo11n.pt |
✅ | - |
TorchScript | torchscript |
yolo11n.torchscript |
✅ | imgsz , optimize , nms , batch |
ONNX | onnx |
yolo11n.onnx |
✅ | imgsz , half , dynamic , simplify , opset , nms , batch |
OpenVINO | openvino |
yolo11n_openvino_model/ |
✅ | imgsz , half , dynamic , int8 , nms , batch , data |
TensorRT | engine |
yolo11n.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , nms , batch , data |
CoreML | coreml |
yolo11n.mlpackage |
✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolo11n_saved_model/ |
✅ | imgsz , keras , int8 , nms , batch |
TF GraphDef | pb |
yolo11n.pb |
❌ | imgsz , batch |
TF Lite | tflite |
yolo11n.tflite |
✅ | imgsz , half , int8 , nms , batch , data |
TF Edge TPU | edgetpu |
yolo11n_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolo11n_web_model/ |
✅ | imgsz , half , int8 , nms , batch |
PaddlePaddle | paddle |
yolo11n_paddle_model/ |
✅ | imgsz , batch |
MNN | mnn |
yolo11n.mnn |
✅ | imgsz , batch , int8 , half |
NCNN | ncnn |
yolo11n_ncnn_model/ |
✅ | imgsz , half , batch |
IMX500 | imx |
yolov8n_imx_model/ |
✅ | imgsz , int8 , data |
RKNN | rknn |
yolo11n_rknn_model/ |
✅ | imgsz , batch , name |
전체 보기 export
세부 정보에서 내보내기 페이지로 이동합니다.
자주 묻는 질문
사용자 지정 데이터 집합에서 YOLO11 모델을 학습하려면 어떻게 하나요?
사용자 지정 데이터 집합에서 YOLO11 모델을 학습하려면 몇 가지 단계가 필요합니다:
- 데이터 집합을 준비합니다: 데이터 세트가 YOLO 형식인지 확인합니다. 지침은 데이터 세트 가이드를 참조하세요.
- 모델을 로드합니다: Ultralytics YOLO 라이브러리를 사용하여 사전 학습된 모델을 로드하거나 YAML 파일에서 새 모델을 생성합니다.
- 모델 훈련: 실행
train
메서드 또는 Python 또는yolo detect train
명령으로 CLI.
예
자세한 구성 옵션은 구성 페이지를 참조하세요.
YOLO11 에서 어떤 사전 학습된 모델을 사용할 수 있나요?
Ultralytics YOLO11 는 물체 감지, 분할, 포즈 추정을 위한 다양한 사전 훈련된 모델을 제공합니다. 이러한 모델은 분류 작업을 위해 COCO 데이터 세트 또는 ImageNet에서 사전 학습됩니다. 다음은 사용 가능한 모델 중 일부입니다:
자세한 목록과 성능 지표는 모델 섹션을 참조하세요.
학습된 YOLO 모델의 정확도를 검증하려면 어떻게 해야 하나요?
학습된 YOLO11 모델의 정확성을 검증하려면 다음을 사용할 수 있습니다. .val()
메서드 또는 Python 또는 yolo detect val
CLI명령을 실행합니다. 그러면 mAP50-95, mAP50 등과 같은 메트릭이 제공됩니다.
예
자세한 인증 정보는 Val 페이지에서 확인하세요.
YOLO11 모델을 어떤 형식으로 내보낼 수 있나요?
Ultralytics YOLO11 다음과 같은 다양한 포맷으로 모델을 내보낼 수 있습니다. ONNX, TensorRT, CoreML등을 사용하여 다양한 플랫폼과 기기에서 호환성을 보장합니다.
예
내보내기 페이지에서 지원되는 형식의 전체 목록과 지침을 확인하세요.
물체 감지에 Ultralytics YOLO11 을 사용해야 하는 이유는 무엇인가요?
Ultralytics YOLO11 는 물체 감지, 세분화, 포즈 추정을 위한 최첨단 성능을 제공하도록 설계되었습니다. 몇 가지 주요 이점은 다음과 같습니다:
- 사전 학습된 모델: COCO 및 ImageNet과 같은 인기 있는 데이터 세트에서 사전 학습된 모델을 활용하여 더 빠르게 개발할 수 있습니다.
- 높은 정확도: 인상적인 맵 점수를 달성하여 신뢰할 수 있는 물체 감지를 보장합니다.
- 속도: 실시간 추론에 최적화되어 있어 신속한 처리가 필요한 애플리케이션에 이상적입니다.
- 유연성: 여러 플랫폼에 배포할 수 있도록 ONNX , TensorRT 등 다양한 형식으로 모델을 내보낼 수 있습니다.
블로그에서 사용 사례와 성공 사례( YOLO11 )를 살펴보세요.