객체 감지

객체 감지는 이미지 또는 비디오 스트림에서 객체의 위치와 클래스를 식별하는 작업입니다.
객체 감지기의 출력은 이미지 내 객체를 둘러싸는 경계 상자 집합과 각 상자에 대한 클래스 레이블 및 신뢰도 점수입니다. 객체가 어디에 있는지 또는 정확한 모양을 알 필요 없이 장면에서 관심 있는 객체를 식별해야 하는 경우 객체 감지가 좋은 선택입니다.
참고: 사전 훈련된 Ultralytics YOLO 모델을 사용한 객체 detect.
팁
YOLO26 Detect 모델은 기본 YOLO26 모델입니다. 즉, yolo26n.pt, 그리고 다음에서 사전 훈련되었습니다. COCO.
모델
YOLO26 사전 학습된 Detect 모델은 여기에 표시됩니다. Detect, Segment 및 Pose 모델은 COCO 데이터셋에서 사전 학습되었으며, Classify 모델은 ImageNet 데이터셋에서 사전 학습되었습니다.
모델은 최초 사용 시 최신 Ultralytics 릴리스에서 자동으로 다운로드됩니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | mAPval 50-95(e2e) | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n | 640 | 40.9 | 40.1 | 38.9 ± 0.7 | 1.7 ± 0.0 | 2.4 | 5.4 |
| YOLO26s | 640 | 48.6 | 47.8 | 87.2 ± 0.9 | 2.5 ± 0.0 | 9.5 | 20.7 |
| YOLO26m | 640 | 53.1 | 52.5 | 220.0 ± 1.4 | 4.7 ± 0.1 | 20.4 | 68.2 |
| YOLO26l | 640 | 55.0 | 54.4 | 286.2 ± 2.0 | 6.2 ± 0.2 | 24.8 | 86.4 |
| YOLO26x | 640 | 57.5 | 56.9 | 525.8 ± 4.0 | 11.8 ± 0.2 | 55.7 | 193.9 |
- mAPval 값은 다음 환경에서 단일 모델, 단일 스케일에 대한 것입니다. COCO val2017 데이터 세트입니다.
다음으로 재현합니다.yolo val detect data=coco.yaml device=0 - 속도 COCO val 이미지에서 다음을 사용하여 평균화됨 인스턴스를 사용하여 COCO val 이미지에서 평균을 냈습니다. 인스턴스.
다음으로 재현합니다.yolo val detect data=coco.yaml batch=1 device=0|cpu
Train
COCO8 데이터셋에서 이미지 크기 640으로 100 epochs 동안 YOLO26n을 학습시키십시오. 사용 가능한 전체 인자 목록은 구성 페이지를 참조하십시오.
예시
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.yaml") # build a new model from YAML
model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo26n.yaml").load("yolo26n.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=yolo26n.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo26n.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=yolo26n.yaml pretrained=yolo26n.pt epochs=100 imgsz=640
데이터 세트 형식
YOLO detect 데이터셋 형식은 데이터셋 가이드에서 자세히 확인할 수 있습니다. 기존 데이터셋을 다른 형식(예: COCO 등)에서 YOLO 형식으로 변환하려면 Ultralytics의 JSON2YOLO 도구를 사용하십시오.
Val
학습된 YOLO26n 모델 검증 정확도 COCO8 데이터셋에서. 인수는 필요하지 않습니다. model 훈련을 유지 data 하고 인수를 모델 속성으로 사용합니다.
예시
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.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=yolo26n.pt # val official model
yolo detect val model=path/to/best.pt # val custom model
예측
학습된 YOLO26n 모델을 사용하여 이미지에 대한 예측을 실행하십시오.
예시
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.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=yolo26n.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 모드에 대한 자세한 내용은 예측 페이지를 참조하세요.
내보내기
YOLO26n 모델을 ONNX, CoreML 등 다른 형식으로 내보냅니다.
예시
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.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=yolo26n.pt format=onnx # export official model
yolo export model=path/to/best.pt format=onnx # export custom-trained model
사용 가능한 YOLO26 내보내기 형식은 아래 표에 있습니다. 다음을 사용하여 어떤 형식으로든 내보낼 수 있습니다. format 인수, 즉, format='onnx' 또는 format='engine'. 즉, 내보낸 모델에서 직접 예측하거나 검증할 수 있습니다. yolo predict model=yolo26n.onnx). 사용 예시는 내보내기가 완료된 후 모델에 대해 표시됩니다.
| 형식 | format 인수 | 모델 | 메타데이터 | 인수 |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, dynamic, simplify, opset, nms, batch, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, int8, data, fraction, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, int8, data, fraction, device |
전체 export 세부 정보는 내보내기 페이지를 참조하세요.
FAQ
사용자 지정 데이터셋으로 YOLO26 모델을 어떻게 학습시키나요?
사용자 지정 데이터셋으로 YOLO26 모델을 훈련하는 과정은 몇 가지 단계로 이루어집니다.
- 데이터 세트 준비: 데이터 세트가 YOLO 형식인지 확인합니다. 자세한 내용은 데이터 세트 가이드를 참조하십시오.
- 모델 로드: Ultralytics YOLO 라이브러리를 사용하여 사전 훈련된 모델을 로드하거나 yaml 파일에서 새 모델을 생성합니다.
- 모델 훈련: python에서
train메서드 또는yolo detect trainCLI에서 명령을 실행합니다.
예시
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n.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=yolo26n.pt epochs=100 imgsz=640
자세한 구성 옵션은 구성 페이지를 방문하십시오.
YOLO26에서 어떤 사전 학습된 모델을 사용할 수 있나요?
Ultralytics YOLO26은 객체 detect, segment 및 자세 추정을 위한 다양한 사전 훈련된 모델을 제공합니다. 이 모델들은 분류 작업을 위해 COCO 데이터셋 또는 ImageNet에서 사전 훈련되었습니다. 사용 가능한 모델 중 일부는 다음과 같습니다.
자세한 목록 및 성능 지표는 모델 섹션을 참조하십시오.
훈련된 YOLO 모델의 정확성을 어떻게 검증할 수 있습니까?
훈련된 YOLO26 모델의 정확도를 검증하려면 다음을 사용할 수 있습니다. .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 페이지를 참조하세요.
YOLO26 모델을 어떤 형식으로 내보낼 수 있나요?
Ultralytics YOLO26은 다양한 플랫폼 및 장치 간의 호환성을 보장하기 위해 ONNX, TensorRT, CoreML 등 다양한 형식으로 모델을 내보낼 수 있도록 지원합니다.
예시
from ultralytics import YOLO
# Load the model
model = YOLO("yolo26n.pt")
# Export the model to ONNX format
model.export(format="onnx")
yolo export model=yolo26n.pt format=onnx
지원되는 전체 형식 목록 및 지침은 Export 페이지에서 확인하세요.
객체 detect를 위해 Ultralytics YOLO26을 사용해야 하는 이유는 무엇인가요?
Ultralytics YOLO26은 객체 detect, segment 및 자세 추정을 위한 최첨단 성능을 제공하도록 설계되었습니다. 주요 장점은 다음과 같습니다.
- 사전 학습 모델: COCO 및 ImageNet과 같은 인기 데이터셋으로 사전 학습된 모델을 활용하여 더 빠른 개발을 위해 사용하십시오.
- 높은 정확도: 인상적인 mAP 점수를 달성하여 신뢰할 수 있는 객체 detect를 보장합니다.
- 속도: 실시간 추론에 최적화되어 빠른 처리가 필요한 애플리케이션에 이상적입니다.
- 유연성: 여러 플랫폼에서 배포할 수 있도록 ONNX 및 TensorRT와 같은 다양한 형식으로 모델을 내보냅니다.
YOLO26의 실제 적용 사례와 성공 스토리를 보여주는 블로그를 살펴보세요.