객체 감지
객체 감지는 이미지 또는 비디오 스트림에서 객체의 위치와 클래스를 식별하는 작업입니다.
객체 감지기의 출력은 이미지 내 객체를 둘러싸는 경계 상자 집합과 각 상자에 대한 클래스 레이블 및 신뢰도 점수입니다. 객체가 어디에 있는지 또는 정확한 모양을 알 필요 없이 장면에서 관심 있는 객체를 식별해야 하는 경우 객체 감지가 좋은 선택입니다.
참고: 사전 훈련된 Ultralytics YOLO 모델을 사용한 객체 감지.
팁
YOLO11 Detect 모델은 기본 YOLO11 모델입니다. yolo11n.pt
에 대해 사전 훈련되었습니다. COCO.
모델
YOLO11 사전 훈련된 Detect 모델이 여기에 표시되어 있습니다. Detect, Segment 및 Pose 모델은 COCO 데이터 세트에 대해 사전 훈련되었으며, Classify 모델은 ImageNet 데이터 세트에 대해 사전 훈련되었습니다.
모델은 처음 사용할 때 최신 Ultralytics 릴리스에서 자동으로 다운로드됩니다.
모델 | 크기 (픽셀) |
mAPval 50-95 |
속도 CPU ONNX (ms) |
속도 T4 TensorRT10 (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
- 속도 Amazon EC2 P4d 인스턴스를 사용하여 COCO val 이미지에서 평균을 냈습니다. 인스턴스.
다음으로 재현합니다.yolo val detect data=coco.yaml batch=1 device=0|cpu
Train
이미지 크기 640에서 COCO8 데이터 세트에 대해 100 epoch 동안 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 형식으로 변환하려면 Ultralytics의 JSON2YOLO 도구를 사용하십시오.
Val
훈련된 YOLO11n 모델 검증 정확도 COCO8 데이터 세트에서. 가중치가 훈련을 유지하므로 인수가 필요하지 않습니다. 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
yolo detect val model=yolo11n.pt # val official model
yolo detect val model=path/to/best.pt # val custom model
예측
훈련된 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
yolo detect predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg' # predict with official model
yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom model
전체 predict
모드에 대한 자세한 내용은 예측 페이지를 참조하세요.
내보내기
YOLO11n 모델을 ONNX, CoreML 등과 같은 다른 형식으로 내보냅니다.
예시
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom trained model
# Export the model
model.export(format="onnx")
yolo export model=yolo11n.pt format=onnx # export official model
yolo export model=path/to/best.pt format=onnx # export custom trained model
사용 가능한 YOLO11 내보내기 형식은 아래 표에 있습니다. 다음을 사용하여 모든 형식으로 내보낼 수 있습니다. format
인수, 즉 format='onnx'
또는 format='engine'
입니다. 내보낸 모델에서 직접 예측하거나 유효성을 검사할 수 있습니다(예: yolo predict model=yolo11n.onnx
). 사용 예시는 내보내기가 완료된 후 모델에 대해 표시됩니다.
형식 | format 인수 |
모델 | 메타데이터 | 인수 |
---|---|---|---|---|
PyTorch | - | yolo11n.pt |
✅ | - |
TorchScript | torchscript |
yolo11n.torchscript |
✅ | imgsz , half , dynamic , optimize , nms , batch , device |
ONNX | onnx |
yolo11n.onnx |
✅ | imgsz , half , dynamic , simplify , opset , nms , batch , device |
OpenVINO | openvino |
yolo11n_openvino_model/ |
✅ | imgsz , half , dynamic , int8 , nms , batch , data , fraction , device |
TensorRT | engine |
yolo11n.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , nms , batch , data , fraction , device |
CoreML | coreml |
yolo11n.mlpackage |
✅ | imgsz , half , int8 , nms , batch , device |
TF SavedModel | saved_model |
yolo11n_saved_model/ |
✅ | imgsz , keras , int8 , nms , batch , device |
TF GraphDef | pb |
yolo11n.pb |
❌ | imgsz , batch , device |
TF Lite | tflite |
yolo11n.tflite |
✅ | imgsz , half , int8 , nms , batch , data , fraction , device |
TF Edge TPU | edgetpu |
yolo11n_edgetpu.tflite |
✅ | imgsz , device |
TF.js | tfjs |
yolo11n_web_model/ |
✅ | imgsz , half , int8 , nms , batch , device |
PaddlePaddle | paddle |
yolo11n_paddle_model/ |
✅ | imgsz , batch , device |
MNN | mnn |
yolo11n.mnn |
✅ | imgsz , batch , int8 , half , device |
NCNN | ncnn |
yolo11n_ncnn_model/ |
✅ | imgsz , half , batch , device |
IMX500 | imx |
yolo11n_imx_model/ |
✅ | imgsz , int8 , data , fraction , device |
RKNN | rknn |
yolo11n_rknn_model/ |
✅ | imgsz , batch , name , device |
전체 export
세부 정보는 내보내기 페이지를 참조하세요.
FAQ
사용자 정의 데이터 세트에서 YOLO11 모델을 훈련하려면 어떻게 해야 합니까?
사용자 정의 데이터 세트에서 YOLO11 모델을 훈련하려면 몇 가지 단계가 필요합니다.
- 데이터 세트 준비: 데이터 세트가 YOLO 형식인지 확인합니다. 자세한 내용은 데이터 세트 가이드를 참조하십시오.
- 모델 로드: Ultralytics YOLO 라이브러리를 사용하여 사전 훈련된 모델을 로드하거나 YAML 파일에서 새 모델을 만듭니다.
- 모델 훈련: python에서
train
메서드 또는yolo detect train
CLI에서 명령을 실행합니다.
예시
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo11n.pt")
# Train the model on your custom dataset
model.train(data="my_custom_dataset.yaml", epochs=100, imgsz=640)
yolo detect train data=my_custom_dataset.yaml model=yolo11n.pt epochs=100 imgsz=640
자세한 구성 옵션은 구성 페이지를 방문하십시오.
YOLO11에서 사용할 수 있는 사전 훈련된 모델은 무엇입니까?
Ultralytics YOLO11은 객체 감지, 분할 및 자세 추정을 위한 다양한 사전 훈련된 모델을 제공합니다. 이러한 모델은 COCO 데이터 세트 또는 ImageNet에서 분류 작업을 위해 사전 훈련되었습니다. 사용 가능한 모델은 다음과 같습니다.
자세한 목록 및 성능 지표는 모델 섹션을 참조하십시오.
훈련된 YOLO 모델의 정확성을 어떻게 검증할 수 있습니까?
훈련된 YOLO11 모델의 정확성을 검증하기 위해 다음을 사용할 수 있습니다. .val()
메서드 또는 yolo detect val
CLI에서 다음 명령을 실행합니다. mAP50-95, mAP50 등과 같은 지표를 제공합니다.
예시
from ultralytics import YOLO
# Load the model
model = YOLO("path/to/best.pt")
# Validate the model
metrics = model.val()
print(metrics.box.map) # mAP50-95
yolo detect val model=path/to/best.pt
자세한 유효성 검사 내용은 Val 페이지를 참조하세요.
YOLO11 모델을 어떤 형식으로 내보낼 수 있습니까?
Ultralytics YOLO11을 사용하면 ONNX, TensorRT, CoreML 등과 같은 다양한 형식으로 모델을 내보내어 다양한 플랫폼 및 장치 간의 호환성을 보장할 수 있습니다.
예시
from ultralytics import YOLO
# Load the model
model = YOLO("yolo11n.pt")
# Export the model to ONNX format
model.export(format="onnx")
yolo export model=yolo11n.pt format=onnx
지원되는 전체 형식 목록 및 지침은 Export 페이지에서 확인하세요.
객체 감지에 Ultralytics YOLO11을 사용해야 하는 이유는 무엇입니까?
Ultralytics YOLO11은 객체 감지, 분할 및 자세 추정에 대해 최첨단 성능을 제공하도록 설계되었습니다. 주요 장점은 다음과 같습니다.
- 사전 훈련된 모델: 더 빠른 개발을 위해 COCO 및 ImageNet과 같은 인기 있는 데이터 세트에서 사전 훈련된 모델을 활용하십시오.
- 높은 정확도: 인상적인 mAP 점수를 달성하여 안정적인 객체 감지를 보장합니다.
- 속도: 실시간 추론에 최적화되어 빠른 처리가 필요한 애플리케이션에 이상적입니다.
- 유연성: 여러 플랫폼에서 배포할 수 있도록 ONNX 및 TensorRT와 같은 다양한 형식으로 모델을 내보냅니다.
YOLO11의 실제 사용 사례와 성공 사례는 블로그에서 확인하세요.