Ultralytics YOLO27
YOLO27 모델은 최종 R&D 단계에 있으며, 올해 후반 출시가 예상됩니다. 모델은 아직 제공되지 않으며 출시일도 정해지지 않았습니다. 이 페이지는 출시 예정 모델을 미리 소개하며, 기능과 벤치마크는 출시 전에 변경될 수 있습니다. 아래 코드 예제는 모델과 패키지 지원이 출시된 후 사용할 수 있도록 작성되었으며, 현재 공개 패키지에서는 작동하지 않습니다. 모델 가중치, 구성 및 구현 코드는 현재 공개되지 않습니다. 출시 소식을 가장 먼저 받아보려면 YOLO27 대기자 명단에 등록하세요.
개요#
Ultralytics YOLO27은 실시간 비전 모델 제품군으로, 감지 모델에 두 가지 상호 보완적인 설계를 사용합니다. 소형 N 및 S 모델에는 간소화된 CNN 아키텍처를, 대형 M 및 L 모델에는 쿼리 기반의 NMS-free 아키텍처를 적용합니다. 두 설계 모두 동일한 인터페이스로 배포할 수 있습니다. N 및 S 감지 모델은 기본적으로 NMS를 사용하는 one-to-many 헤드를 사용하며, NMS-free 헤드를 선택하려면 nms=False을 사용하세요.
YOLO27은 Ultralytics YOLO 시리즈의 출시 예정 모델 제품군으로, YOLO26의 후속 모델입니다. N, S, M, L의 네 가지 크기로 제공되며 객체 탐지, 인스턴스 분할, 시맨틱 분할, 깊이 추정, 분류, 자세 추정 및 방향성 객체 탐지를 지원합니다. 탐지, 인스턴스 분할 및 자세 추정에는 두 가지 설계가 적용됩니다. 시맨틱 분할, 깊이 추정, 분류 및 방향성 객체 탐지에는 CNN 아키텍처가 사용됩니다.
YOLO27은 네 가지 탐지 규모에서 NVIDIA RTX PRO 6000에서 0.44~1.86ms의 지연 시간으로 COCO에서 42.6~60.5 mAP를 달성하며, 더 큰 800픽셀 입력에서는 YOLO27l이 최대 61.4 mAP를 기록합니다. YOLO27l은 COCO에서 60 mAP를 넘은 최초의 Ultralytics 모델이며, 소형 YOLO27n/s는 거의 동일한 속도를 유지하면서 YOLO26n/s보다 정확도가 향상되었습니다.
from ultralytics import YOLO
model = YOLO("yolo27n.pt") # 사전 학습된 YOLO27n 모델 불러오기
results = model("path/to/bus.jpg") # 추론 실행주요 기능#
-
이중 스케일 감지 표준 감지기는 미세, 중간 및 거친 세 가지 특징 맵에서 객체를 예측합니다. YOLO27 N 및 S는 중간 맵을 제외하고 미세 맵(작은 객체용)과 거친 맵(큰 객체용)에서만 예측하며, 융합된 특징에 고정 스케일링을 적용해 두 스케일의 균형을 유지합니다. 이렇게 하면 감지 헤드 계산량을 상당 부분 줄일 수 있어, 세 스케일 설계와 동일한 학습 안정성을 유지하면서 모델을 더 빠르게 실행할 수 있습니다.
-
향상된 소형 객체 감지 초기 고해상도 특징 단계의 폭을 넓혀 더욱 세밀한 정보를 포착할 수 있습니다. 살아남은 세밀한 예측 맵과 결합하면 소형 모델에서 가장 어려운 범주인 소형 객체의 위치 지정과 회귀 성능이 향상됩니다.
-
전경 정렬 감독 학습 중에는 경량 브랜치가 추가되어 각 위치에서 "객체"와 "배경"을 구분하는 방법을 학습합니다. 이 브랜치는 학습 중 사용되는 고밀도 일대다 감독과 최종 예측을 생성하는 일대일 헤드 간의 격차를 줄이도록 설계되었습니다. 이에 따라 정확도 격차가 YOLO26n/s의 0.9/0.8 mAP에서 0.4 mAP로 줄어들어, 배포된 일대일 헤드가 학습 시 정확도를 거의 그대로 유지합니다. 이 브랜치는 학습 중에만 사용되고 추론 및 내보내기 시 제거되므로 배포 비용은 발생하지 않습니다.
-
NMS가 필요 없는 쿼리 기반 탐지 대형 모델은 밀집 예측을 트랜스포머 디코더로 대체합니다. 이 디코더는 고정된 객체 쿼리 집합을 정제하고 최종 탐지 결과를 직접 출력하므로 비최대 억제 후처리가 필요하지 않습니다. YOLO27m과 YOLO27l은 가장 깊은 단계에서 셀프 어텐션을 사용해 전역 문맥을 포착하는 UltraViT 백본과 이 디코더를 결합하고, 그 뒤에 FPN/PAN 넥을 배치합니다.
-
단일 인터페이스 두 아키텍처 모두 동일한
YOLOPython 인터페이스를 통해 사용할 수 있습니다. 모델에 따라 적절한 학습, 검증, 예측 및 내보내기 파이프라인이 자동으로 선택되므로, 한 YOLO27 스케일용으로 작성한 코드를 다른 스케일에서도 수정 없이 사용할 수 있습니다.
어떤 YOLO27을 사용해야 할까요?#
다음 안내는 YOLO27 출시 후 모델을 선택할 때 참고할 내용입니다. 현재 진행 중인 프로젝트에는 YOLO26을 사용하세요.
- YOLO27n / YOLO27s — 엣지 디바이스, 드론, 실시간 비디오에 적합합니다. 듀얼 스케일 설계로 소형 객체 감지 성능을 개선했으며, 제품군에서 가장 빠른 모델입니다. 디바이스별 배포 방법은 NVIDIA Jetson 및 Raspberry Pi를 참조하세요.
- YOLO27m — GPU에서 정확도와 속도의 균형이 가장 적절한 모델입니다. 비슷한 지연 시간에서 YOLO26m보다 정확도가 높아 프로덕션 GPU 배포의 기본 선택지로 적합합니다.
- YOLO27l — 정확도가 중요한 애플리케이션에 적합합니다. COCO에서 60 mAP를 넘은 최초의 Ultralytics 모델로, 더 큰 입력 크기에서 61.4 mAP를 달성하면서 GPU에서 실시간 성능을 유지합니다.
다른 모델 제품군과 비교하려면 전체 Ultralytics 모델을 참조하세요. 자체 하드웨어에서 정확도와 속도의 균형을 측정하려면 벤치마크 모드를 참조하세요.
지원 작업 및 모드#
다음 표는 네 가지 YOLO27 모델 스케일에서 계획된 작업 및 모드 지원을 미리 보여줍니다. 체크 표시는 출시 시 지원할 예정임을 나타내며, 현재 공개적으로 제공된다는 뜻은 아닙니다. 나열된 모델 파일은 모두 아직 출시되지 않았습니다.
| 모델 | 파일 이름 | 작업 | 학습 | 검증 | 추론 | 내보내기 |
|---|---|---|---|---|---|---|
| YOLO27 | yolo27n.pt yolo27s.pt yolo27m.pt yolo27l.pt | 감지 | ✅ | ✅ | ✅ | ✅ |
| YOLO27-seg | yolo27n-seg.pt yolo27s-seg.pt yolo27m-seg.pt yolo27l-seg.pt | 인스턴스 분할 | ✅ | ✅ | ✅ | ✅ |
| YOLO27-sem | yolo27n-sem.pt yolo27s-sem.pt yolo27m-sem.pt yolo27l-sem.pt | 시맨틱 분할 | ✅ | ✅ | ✅ | ✅ |
| YOLO27-depth | yolo27n-depth.pt yolo27s-depth.pt yolo27m-depth.pt yolo27l-depth.pt | 깊이 추정 | ✅ | ✅ | ✅ | ✅ |
| YOLO27-cls | yolo27n-cls.pt yolo27s-cls.pt yolo27m-cls.pt yolo27l-cls.pt | 분류 | ✅ | ✅ | ✅ | ✅ |
| YOLO27-pose | yolo27n-pose.pt yolo27s-pose.pt yolo27m-pose.pt yolo27l-pose.pt | 포즈/키포인트 | ✅ | ✅ | ✅ | ✅ |
| YOLO27-obb | yolo27n-obb.pt yolo27s-obb.pt yolo27m-obb.pt yolo27l-obb.pt | 방향성 객체 감지 | ✅ | ✅ | ✅ | ✅ |
YOLO27 Detect, Segment, Pose 및 OBB 모델은 Track 모드에서도 사용할 수 있습니다. Track 모드는 predict를 기반으로 실행되어 비디오 프레임 전반에서 다중 객체를 추적합니다.
YOLO27의 탐지, 인스턴스 분할 및 자세 추정은 하나의 인터페이스에서 두 가지 설계를 사용합니다. N 및 S 스케일은 CNN 아키텍처를 사용하고, M 및 L 스케일은 쿼리 기반의 NMS가 필요 없는 아키텍처를 사용합니다. 시맨틱 분할, 깊이 추정, 분류 및 방향성 객체 탐지에는 CNN 아키텍처가 사용됩니다.
성능 지표#
탐지 정확도는 COCO 검증 세트에서 보고됩니다. mAP, 정밀도 및 재현율에 대한 설명은 YOLO 성능 지표를 참조하세요. COCO 외의 정확도는 의료 영상, 원격 감지, 산업, 소매업 등을 아우르는 37개의 실제 탐지 데이터셋에서 매크로 mAP50-95를 측정하는 Ultralytics 벤치마크를 참조하세요. 추론 속도는 GPU의 경우 NVIDIA RTX PRO 6000 (TensorRT 11, FP16), CPU의 경우 AMD EPYC 9655 (ONNX Runtime, FP32)에서 측정합니다. 출시 후에는 yolo val model=yolo27n.pt data=coco.yaml imgsz=640 nms=False save_json=True을 사용해 정확도 수치를 재현할 수 있습니다. 탐지, 인스턴스 분할 및 자세 추정 표는 NMS가 필요 없는 헤드와 COCO 평가를 사용합니다. N/S 자세 추정 검증에는 직사각형 배치(rect=True)를 사용합니다.
이 연구 결과는 최종 R&D 과정에서 변경될 수 있습니다. 공개 가중치 및 재현 지침은 출시와 함께 제공됩니다.
객체 탐지 문서에서 COCO로 학습된 이 모델들의 사용 예시를 확인할 수 있으며, 이 모델들은 사전 학습된 클래스 80개를 포함합니다. 표에서는 640픽셀 입력을 사용하며, 개요에는 YOLO27l의 800픽셀 입력도 제시되어 있습니다.
| 모델 | 크기 (픽셀) | mAPval50-95 | 속도 CPU ONNX (ms) | 속도 RTX PRO 6000 TensorRT11 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO27n | 640 | 42.6 | 16.1 ± 1.6 | 0.44 ± 0.00 | 3.0 | 7.2 |
| YOLO27s | 640 | 50.1 | 33.2 ± 0.1 | 0.64 ± 0.00 | 11.8 | 28.2 |
| YOLO27m | 640 | 56.4 | 74.8 ± 0.5 | 1.01 ± 0.00 | 24.6 | 64.6 |
| YOLO27l | 640 | 60.5 | 149.6 ± 1.4 | 1.86 ± 0.00 | 72.3 | 166.7 |
매개변수 및 FLOPs 값은 Conv/BatchNorm 폴딩 후 사용되지 않는 탐지 분기를 제거한 융합 모델 기준입니다. 탐지, 인스턴스 분할 및 자세 추정 측정에는 nms=False을 사용해 NMS가 필요 없는 헤드를 선택합니다. N/S 정확도는 선택한 헤드에 따라 달라집니다. FLOPs에는 디코더 어텐션 행렬 곱셈이 포함됩니다. 사전 학습된 체크포인트는 전체 학습 아키텍처를 유지하므로 더 높은 수치를 보일 수 있습니다.
사용 예시#
이 섹션에서는 YOLO27 학습 및 추론의 간단한 예제를 제공합니다. 커스텀 데이터셋은 최상의 학습 결과를 위한 팁과 하이퍼파라미터 튜닝 가이드를 참조하세요.
아래 예제는 YOLO27 Detect 모델을 사용한 객체 감지를 다룹니다.
PyTorch 사전 학습된 *.pt 모델과 구성 *.yaml 파일을 YOLO() 클래스에 전달하여 Python에서 모델 인스턴스를 생성할 수 있습니다:
from ultralytics import YOLO
# COCO 사전 학습 YOLO27n 모델 로드
model = YOLO("yolo27n.pt")
# 'bus.jpg' 이미지에서 YOLO27n 모델로 추론 실행
results = model("path/to/bus.jpg")
# COCO8 예제 데이터셋으로 100 에포크 동안 모델 학습
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)자주 묻는 질문#
- 듀얼 스케일 탐지(N/S): 중간 예측 맵을 제거하여 경쟁력 있는 정확도를 유지하면서 더 빠른 헤드를 구현합니다.
- 소형 객체 탐지 강화(N/S): 초기 feature 단계를 넓혀 소형 객체의 위치를 더 정확하게 예측합니다.
- 전경 정렬 감독(N/S): 일대다와 일대일 간 정확도 차이를 YOLO26n/s의 0.9/0.8 mAP에서 YOLO27n/s의 0.4 mAP로 줄이며, 추론 비용은 추가되지 않습니다.
- 쿼리 기반 NMS-free 탐지(M/L): Transformer 디코더가 최종 탐지 결과를 직접 출력합니다.
- 단일 인터페이스: 두 아키텍처 모두 동일한
YOLO클래스를 통해 실행됩니다.
아직은 아닙니다. YOLO27은 출시되지 않았습니다. 현재 프로젝트에는 YOLO26을 계속 사용하세요. 예비 결과에 따르면 모델 크기 전반에서 정확도가 향상되며, YOLO27l은 COCO에서 60 mAP를 넘습니다. 마이그레이션하기 전에 최종 출시 모델을 실제 워크로드에서 평가하세요.
출시 후 YOLO27은 YOLO26과 동일한
YOLO클래스 및 동일한 학습/검증/예측/내보내기 API를 사용하도록 설계되었습니다. 올바른 파이프라인(CNN 또는 쿼리 기반)은 모델에 따라 자동으로 선택됩니다. YOLO27 지원과 가중치가 제공되면yolo26n.pt을yolo27n.pt로 바꾸는 것이 의도된 모델 선택 변경 방식입니다.대부분의 탐지기는 서로 다른 해상도의 세 가지 feature map에서 예측합니다. YOLO27 N과 S는 소형 객체에 필요한 세밀한 맵과 대형 객체에 필요한 거친 맵을 유지하고, 중간 맵은 생략합니다. 이 방식은 탐지 헤드 연산량의 상당 부분을 줄이며, 앞서 설명한 학습 개선을 통해 정확도와 지연 시간 간의 균형을 경쟁력 있게 유지합니다.
YOLO27l은 COCO에서 60 mAP를 넘은 최초의 Ultralytics 모델로, 640픽셀 입력에서 60.5 mAP(NVIDIA RTX PRO 6000에서 1.9ms), 800픽셀 입력에서 61.4 mAP(2.4ms)를 달성합니다. UltraViT 백본, 다중 스케일 특징 융합, NMS 없이 최종 탐지를 직접 생성하는 쿼리 기반 검출기를 결합합니다.
YOLO27은 최종 R&D 단계에 있으며, 올해 후반 출시가 예상됩니다. 출시일은 아직 정해지지 않았습니다. 모델 가중치와 구현 코드는 아직 공개되지 않았습니다.
YOLO27이 출시되면 Quickstart를 참조하여
ultralytics패키지를 설치하거나 업데이트한 다음, 아래 예제와 같이 모델을 로드하세요. 이 예제는 출시 후 사용할 수 있습니다:from ultralytics import YOLO # 사전 학습된 YOLO27 nano 모델 로드 model = YOLO("yolo27n.pt") # 이미지에서 추론 실행 results = model("image.jpg")
댓글9
질문을 하거나 결과를 공유하거나 다른 사람을 도와주세요.
sergshadrap
Guys! You are doing incredible job , The thing I'd asked for is the total size for running model. When we speak about small devices embedded solutions that the -n model is intended to the size is very limited by the SoC properties and that is though to predict if it fits to the board or not. I think pointing the size is also important along the performance metrics for tiny models. Thanks again!
Paula DerrengerUltralyticsThanks from the Ultralytics team and YOLO community—good suggestion. The preview lists
YOLO27nat 3.0M parameters, but actual storage and runtime memory depend on the export format, precision, input size, and backend; exact measurements cannot be published until the models are released. We’ll consider adding artifact-size and memory benchmarks to the YOLO27 documentation, and please keep sharing embedded-device requirements here for team visibility.sergshadrap
Thanks for you! Definitely nobody will ask about exact sizes of the models. What I meant is that most of the camera's SoCs ( for instance) we can split for three major segments, where the middle one is about Arm 1Ggz , 16m flash, and 128m Ram, the high is everything that has more advanced scu with multicores ,spaced flash and Ram and definitely folds more expensive and the low that everything below that. Trying to fit yolo26 to the gk7205v300 that exactly the middle one was a challenge even quantitized to 8. So ... what about the v27? Does it belong to the high-end only or I can try it for the middle one?
Paula DerrengerUltralyticsYOLO27nis intended for edge devices, so it is not high-end-only; its preliminary 3.0M parameters suggest INT8 weights around 3 MB, but 128 MB RAM may still be the limiting factor because activations and backend buffers depend on input size and runtime. For the GK7205V300, consider it a plausible target—not a confirmed fit—until the released model can be exported, profiled at reducedimgsz, and benchmarked on-device;YOLO27m/lare unlikely choices for those constraints. Please keep sharing your embedded results in this discussion so the Ultralytics team can track them alongside the YOLO27 documentation.
Mohammed YasinUltralytics@sergshadrap How's the performance of YOLO26 on such SoCs? Because if it's too big to fit the SoC, then isn't it also too heavy to run? You can always reduce the size of the YOLO models by modifying the YAML file and removing some layers or reducing channels.
sergshadrap
Yeah , that is quite heavy stuff for 1 core 0.9 Ghz SoC , but I have it run . The most stable and sensible (for object recognition) configuration turns to be fp16 288x384 nano , that goes about 0.8 fps in continues run . That's pretty slow , but enough for my current cascade version, where IVE hardware detector is catching "something" and yolo refine the output. Would be glad to get a hint - how to reduce size and reduce layers/ channels. Now I'm on ncnn export tools , so it seems there is no fp8 variant for that tool? Forth to mention I'm on OpenIpc firmware and the majestic additionally quite a leaky guy , so with 128M of memory for all we're on the floor..
Mohammed YasinUltralytics(수정됨)You can create a copy of this YAML and reduce the float values. Lowering width (the second float value) brings the biggest drop in model file size. Of course, all of these also reduces accuracy. The modified YAML can be loaded and used with
model = YOLO("path/to/yaml")The ending suffix letter like
ndetermines which of the scale values are used from this YAML.sergshadrap
If only I change the model , do I need to re-train the model completely or I could move the weights from existing with some algorithm?
Mohammed YasinUltralyticsYou have to retrain since model structure changes when you do this