객체 감지

객체 감지는 이미지 또는 비디오 스트림에서 객체의 위치와 클래스를 식별하는 작업입니다.
객체 감지기의 출력은 이미지 내 객체를 둘러싸는 경계 상자 집합과 각 상자에 대한 클래스 레이블 및 신뢰도 점수입니다. 객체가 어디에 있는지 또는 정확한 모양을 알 필요 없이 장면에서 관심 있는 객체를 식별해야 하는 경우 객체 감지가 좋은 선택입니다.
참고: 사전 훈련된 Ultralytics YOLO 모델을 사용한 객체 감지.
팁
YOLO11 Detect 모델은 기본 YOLO11 모델입니다. yolo11n.pt 에 대해 사전 훈련되었습니다. COCO.
모델
사전 학습된 YOLO11 감지 모델이 여기에 나와 있습니다. 감지, 세그먼트 및 포즈 모델은 사전 학습된 COCO 데이터 세트에 대해 사전 학습된 반면, 분류 모델은 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 - 속도 를 사용하여 COCO 값 이미지에 대한 평균을 구합니다. 인스턴스를 사용하여 COCO val 이미지에서 평균을 냈습니다. 인스턴스.
다음으로 재현합니다.yolo val detect data=coco.yaml batch=1 device=0|cpu
Train
이미지 크기 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 형식으로 변환하려면, 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 containing mAP50-95 for 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, dynamic, 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 |
| ExecuTorch | executorch | yolo11n_executorch_model/ | ✅ | imgsz, device |
| 악셀레라 | axelera | yolo11n_axelera_model/ | ✅ | imgsz, int8, data, fraction, device |
전체 export 세부 정보는 내보내기 페이지를 참조하세요.
FAQ
사용자 정의 데이터 세트에서 YOLO11 모델을 훈련하려면 어떻게 해야 합니까?
사용자 정의 데이터 세트에서 YOLO11 모델을 훈련하려면 몇 가지 단계가 필요합니다.
- 데이터 세트 준비: 데이터 세트가 YOLO 형식인지 확인합니다. 자세한 내용은 데이터 세트 가이드를 참조하십시오.
- 모델 로드: Ultralytics YOLO 라이브러리를 사용하여 사전 훈련된 모델을 로드하거나 YAML 파일에서 새 모델을 만듭니다.
- 모델 훈련: python에서
train메서드 또는yolo detect trainCLI에서 명령을 실행합니다.
예시
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 명령을 실행합니다. 이렇게 하면 mAP50, 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의 실제 사용 사례와 성공 사례는 블로그에서 확인하세요.