YOLO Vision 2026:

Ultralytics YOLO을 활용한 객체 감지#

Ultralytics YOLO object detection with bounding boxes

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

객체 탐지기의 출력은 이미지 내 객체를 감싸는 경계 상자(bounding box)와 함께 각 상자에 대한 클래스 레이블 및 신뢰도 점수입니다. 객체 탐지 기법은 장면에서 관심 객체를 식별해야 하지만, 객체의 정확한 위치나 정밀한 형태를 파악할 필요는 없을 때 적합한 선택입니다.



Watch: Object Detection with Pretrained Ultralytics YOLO Model.

YOLO26 Detect 모델은 기본 YOLO26 모델(즉, yolo26n.pt)이며 COCO로 사전 학습되어 있습니다.

Models#

YOLO26 사전 학습된 Detect 모델이 여기에 표시됩니다. Detect, Segment 및 Pose 모델은 COCO 데이터셋으로 사전 학습되었고, Semantic 모델은 Cityscapes로 사전 학습되었으며, Classify 모델은 ImageNet 데이터셋으로 사전 학습되었습니다.

Models은 최초 사용 시 최신 Ultralytics release에서 자동으로 다운로드됩니다.

모델크기
(픽셀)
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.4
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.7
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.2
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.4
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7193.9
  • mAPval 값은 COCO val2017 데이터셋에서 단일 모델, 단일 스케일로 측정된 값입니다.
    yolo val detect data=coco.yaml device=0을 통해 재현할 수 있습니다.
  • SpeedAmazon EC2 P4d 인스턴스를 사용하여 COCO val 이미지에서 평균을 낸 것입니다.
    재현하려면 yolo val detect data=coco.yaml batch=1 device=0|cpu을 사용하세요.
  • ParamsFLOPs 값은 Conv 및 BatchNorm 레이어를 병합하고 end2end 모델의 경우 보조 one-to-many 탐지 헤드를 제거하는 model.fuse() 이후의 융합 모델 기준입니다. 사전 학습된 체크포인트는 전체 학습 아키텍처를 유지하므로 더 높은 수치를 보일 수 있습니다.

학습(Train)#

이미지 크기 640으로 COCO8 데이터셋에서 100 epochs 동안 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 cloud training을 사용하여 감지 모델을 학습할 수도 있습니다.

데이터셋 형식#

YOLO 감지 데이터셋 형식에 대한 자세한 내용은 Dataset Guide에서 확인할 수 있습니다. 기존 데이터셋을 다른 형식(예: COCO 등)에서 YOLO 형식으로 변환하려면 Ultralytics의 JSON2YOLO 도구를 사용하세요. 또한 Ultralytics Platform's AI-assisted annotation tools을 사용하여 감지 데이터셋에 주석을 달고 관리할 수 있습니다.

검증(Val)#

COCO8 데이터셋에서 학습된 YOLO26n 모델 accuracy를 검증합니다. 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

추론(Predict)#

학습된 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 모드 세부 정보는 Predict 페이지에서 확인하세요.

결과 출력#

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

속성유형형태설명
result.boxesBoxes(N)탐지 박스입니다.
result.boxes.datatorch.float32(N,6/7)원시 [x1,y1,x2,y2,conf,cls] 및 선택적 트랙 ID.
result.boxes.xyxytorch.float32(N,4)xyxy 픽셀 박스.
result.boxes.conftorch.float32(N,)신뢰도 점수입니다.
result.boxes.clstorch.float32(N,)클래스 ID; 이름을 위해 int으로 캐스팅됩니다.

모든 작업에 걸친 작업별 Results 필드는 Predict Results by Task 섹션을 참조하십시오.

내보내기(Export)#

YOLO26n 모델을 ONNX, CoreML 등과 같은 다른 형식으로 내보내기(Export)하십시오.

예시
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 인수모델메타데이터인수
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

전체 export 세부 정보는 Export 페이지에서 확인하세요.

FAQ#

  • 예. Ultralytics Platform quickstart는 데이터셋 주석 달기, 클라우드 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은 object detection, instance segmentation, semantic segmentationpose estimation을 위한 다양한 사전 학습된 모델을 제공합니다. 이 모델들은 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은 object detection, instance segmentation, semantic segmentationpose estimation에서 최고 수준의 성능을 제공하도록 설계되었습니다. 주요 장점은 다음과 같습니다.

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

    실제 작동하는 YOLO26을 보여주는 사용 사례와 성공 사례는 Blog에서 살펴보세요.

댓글