Ultralytics YOLO27:

Ultralytics YOLO를 사용한 객체 탐지#

Ultralytics YOLO object detection with bounding boxes

객체 탐지는 이미지 또는 비디오 스트림에서 객체의 위치와 클래스를 식별하는 작업입니다.

객체 탐지기의 출력은 이미지 내 객체를 둘러싸는 바운딩 박스 집합과 각 박스에 대한 클래스 레이블 및 신뢰도 점수입니다. 장면에서 관심 있는 객체를 식별해야 하지만 객체의 정확한 위치나 형태까지 알 필요는 없는 경우 객체 탐지가 적합합니다.



Watch: Object Detection with Pretrained Ultralytics YOLO Model.

YOLO26 Detect 모델은 기본 YOLO26 모델, 즉 yolo26n.pt이며 COCO로 사전 학습됩니다.

모델#

여기에는 YOLO26 사전 학습 Detect 모델이 나와 있습니다. Detect, Segment 및 Pose 모델은 COCO 데이터셋으로 사전 학습되며, Semantic 모델은 Cityscapes로, Classify 모델은 ImageNet 데이터셋으로 사전 학습됩니다.

모델은 처음 사용할 때 최신 Ultralytics 릴리스에서 자동으로 다운로드됩니다.

모델크기
(픽셀)
mAPval
50-95
mAPval
50-95(e2e)
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.5
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.9
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.4
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.8
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7194.4
  • mAPval 값은 COCO val2017 데이터셋에서의 단일 모델, 단일 스케일 기준입니다.
    재현하려면 yolo val detect data=coco.yaml device=0을 사용하십시오. e2e 열을 재현하려면 nms=False를 추가하십시오.
  • SpeedAmazon EC2 P4d 인스턴스를 사용하여 COCO val 이미지에 대해 평균을 낸 값입니다.
    yolo val detect data=coco.yaml batch=1 device=0|cpu nms=False로 재현할 수 있습니다.
  • ParamsFLOPs 값은 Conv/BatchNorm 융합 및 사용되지 않는 탐지 브랜치 제거 이후의 융합된 모델 기준입니다. 사전 학습된 체크포인트는 전체 학습 아키텍처를 유지하므로 더 높은 수치를 나타낼 수 있습니다.

초기 COCO 탐지 결과에 대해서는 미출시 YOLO27 미리보기를 참조하십시오.

학습#

이미지 크기 640으로 COCO8 데이터셋에서 100 epoch 동안 YOLO26n을 학습합니다. 사용 가능한 인수의 전체 목록은 Configuration 페이지를 참조하십시오.

예시
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)

Train 페이지에서 전체 train 모드 세부 정보를 확인하십시오. 탐지 모델은 Ultralytics Platform 클라우드 학습으로도 학습할 수 있습니다.

데이터셋 형식#

YOLO 감지 데이터셋 형식에 대한 자세한 내용은 데이터셋 가이드에서 확인할 수 있습니다. 기존 COCO JSON 데이터셋을 YOLO 형식으로 변환하려면 COCO에서 YOLO로 가이드에 설명된 기본 제공 convert_coco 함수를 사용하십시오. 또한 Ultralytics 플랫폼의 AI 지원 어노테이션 도구를 사용하여 감지 데이터셋을 어노테이션하고 관리할 수 있습니다.

검증#

COCO8 데이터셋에서 학습된 YOLO26n 모델의 정확도를 검증합니다. 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
metrics.box.image_metrics  # per-image metrics dictionary with precision, recall, F1, TP, FP, and FN

Prediction#

학습된 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

전체 predict mode 세부 정보는 Predict 페이지를 참조하십시오.

결과 출력#

객체 탐지는 이미지당 하나의 Results 객체를 반환합니다. 기본 예측 필드는 result.boxes이며, 여기에는 탐지된 각 객체의 박스 좌표, 클래스 ID 및 신뢰도 점수가 포함됩니다.

Attribute유형Shape설명
result.boxesBoxes(N)Detection box입니다.
result.boxes.datatorch.float32(N,6/7)Raw [x1,y1,x2,y2,conf,cls]이며, 선택적으로 track ID를 포함합니다.
result.boxes.xyxytorch.float32(N,4)xyxy pixel box입니다.
result.boxes.conftorch.float32(N,)Confidence score입니다.
result.boxes.clstorch.float32(N,)Class ID이며, name을 가져오려면 int으로 cast합니다.

모든 task에서 task-specific Results field를 확인하려면 Predict Results by Task 섹션을 참조하십시오.

내보내기#

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")

사용 가능한 YOLO26 내보내기 형식은 아래 표에 나와 있습니다. format 인수, 즉 format='onnx' 또는 format='engine'를 사용하여 모든 형식으로 내보낼 수 있습니다. 내보낸 모델에서 직접 예측하거나 검증할 수 있으며, 즉 yolo predict model=yolo26n.onnx을 사용할 수 있습니다. 내보내기가 완료되면 해당 모델에 대한 사용 예제가 표시됩니다.

형식format Argument모델MetadataArguments
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, quantize, dynamic, nms, batch, device
ONNXonnxyolo26n.onnximgsz, quantize, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, quantize, dynamic, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, quantize, dynamic, simplify, opset, workspace, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, quantize, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, quantize, opset, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pbimgsz, opset, batch, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, quantize, opset, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, dynamic, quantize, simplify, opset, nms, device
NCNNncnnyolo26n_ncnn_model/imgsz, quantize, batch, device
IMX500imxyolo26n_imx_model/imgsz, quantize, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, quantize, simplify, opset, data, fraction, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, quantize, data, fraction, device
DEEPXdeepxyolo26n_deepx_model/imgsz, quantize, simplify, opset, data, optimize, device
Qualcomm QNNqnnyolo26n_qnn.onnximgsz, batch, name, quantize, simplify, opset, data, fraction, device
LiteRTlitertyolo26n.tfliteimgsz, quantize, batch, data, fraction, device
Hailohailoyolo26n_hailo_model/imgsz, name, quantize, data, fraction, simplify, conf, iou
Huawei Ascendascendyolo26n_ascend_model/imgsz, batch, name, quantize, opset, simplify, nms
Apple Core AIcoreaiyolo26n.aimodelimgsz, batch, quantize

nms=None은(는) 외부 NMS에 대해 기본적으로 원시 출력을 사용합니다. 사용 가능한 NMS 프리 헤드를 선택하려면 nms=False을(를) 설정하세요. 지원되지 않는 형식은 기본 출력 경로로 대체됩니다. 위의 nms 항목은 nms=True(으)로 NMS를 임베드할 수 있는 형식을 식별합니다.

전체 export 세부 정보는 Export 페이지를 참조하십시오.

FAQ#

  • 예. Ultralytics Platform 빠른 시작에서는 데이터셋에 어노테이션을 지정하고, 클라우드 GPU에서 탐지 모델을 학습하며, 추론 엔드포인트에 배포하는 브라우저 기반 워크플로를 다룹니다.

  • 사용자 지정 데이터셋에서 YOLO26 모델을 학습하는 과정은 몇 가지 단계로 구성됩니다.

    1. 데이터셋 준비: 데이터셋이 YOLO 형식인지 확인합니다. 자세한 지침은 Dataset Guide를 참조하십시오.
    2. 모델 로드: Ultralytics YOLO 라이브러리를 사용하여 사전 학습된 모델을 로드하거나 YAML 파일에서 새 모델을 생성합니다.
    3. 모델 학습: Python에서 train 메서드를 실행하거나 CLI에서 yolo detect train 명령을 실행합니다.
    예시
    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)

    자세한 구성 옵션은 Configuration 페이지를 참조하십시오.

  • Ultralytics YOLO26은 객체 탐지, 인스턴스 세그멘테이션, 시맨틱 세그멘테이션포즈 추정을 위한 다양한 사전 학습 모델을 제공합니다. 이러한 모델은 COCO 데이터셋, 시맨틱 세그멘테이션의 경우 Cityscapes, 분류 작업의 경우 ImageNet으로 사전 학습됩니다. 사용 가능한 모델 중 일부는 다음과 같습니다.

    자세한 목록과 성능 지표는 Models 섹션을 참조하십시오.

  • 학습된 YOLO26 모델의 정확도를 검증하려면 Python에서 .val() 메서드를 사용하거나 CLI에서 yolo detect val 명령을 사용할 수 있습니다. 이를 통해 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

    검증에 대한 자세한 내용은 Val 페이지를 참조하십시오.

  • 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")

    지원되는 형식과 지침의 전체 목록은 Export 페이지에서 확인하십시오.

  • Ultralytics YOLO26은 객체 탐지, 인스턴스 세그멘테이션, 시맨틱 세그멘테이션포즈 추정에서 최첨단 성능을 제공하도록 설계되었습니다. 주요 장점은 다음과 같습니다.

    1. 사전 학습 모델: COCOImageNet과 같은 인기 데이터셋으로 사전 학습된 모델을 활용하여 개발 속도를 높일 수 있습니다.
    2. 높은 정확도: 인상적인 mAP 점수를 달성하여 안정적인 객체 탐지를 보장합니다.
    3. 속도: 실시간 추론에 맞게 최적화되어 신속한 처리가 필요한 애플리케이션에 적합합니다.
    4. 유연성: ONNX 및 TensorRT와 같은 다양한 형식으로 모델을 내보내 여러 플랫폼에 배포할 수 있습니다.

    YOLO26의 실제 활용 사례와 성공 사례를 소개하는 Blog를 살펴보십시오.

댓글