การใช้งาน PyTorch อย่างเป็นทางการของ YOLOv10 ประสาทไอพีเอส 2024
การเปรียบเทียบกับผลิตภัณฑ์อื่นๆ ในแง่ของความแม่นยำในการตอบสนอง (ซ้าย) และความแม่นยำของขนาด (ขวา)
YOLOv10: การตรวจจับวัตถุจากต้นทางถึงปลายทางแบบเรียลไทม์
อ่าว หวาง, ฮุย เฉิน, หลิว หลิว, ไค เฉิน, ซีเจีย ลิน, จุงกง ฮัน และ กุ้ยกวง ติง
cv2
และ cv3
ที่ไม่จำเป็นใน v10Detect
จะถูกดำเนินการในระหว่างการอนุมานโคโค่
แบบอย่าง | ขนาดทดสอบ | #พารามส์ | ฟลอป | AP วาล | เวลาแฝง |
---|---|---|---|---|---|
โยโลฟ10-N | 640 | 2.3M | 6.7G | 38.5% | 1.84ms |
โยโลฟ10-ส | 640 | 7.2ล้าน | 21.6G | 46.3% | 2.49ms |
โยโลฟ10-เอ็ม | 640 | 15.4M | 59.1G | 51.1% | 4.74ms |
โยโลฟ10-บี | 640 | 19.1M | 92.0G | 52.5% | 5.74ms |
โยโลฟ10-แอล | 640 | 24.4M | 120.3G | 53.2% | 7.28ms |
YOLOv10-X | 640 | 29.5ม | 160.4G | 54.4% | 10.70ms |
แนะนำให้ใช้สภาพแวดล้อมเสมือน conda
conda create -n yolov10 python=3.9
conda activate yolov10
pip install -r requirements.txt
pip install -e .
python app.py
# Please visit http://127.0.0.1:7860
yolov10n
yolov10s
yolov10m
yolov10b
yolov10l
yolov10x
yolo val model=jameslahm/yolov10{n/s/m/b/l/x} data=coco.yaml batch=256
หรือ
from ultralytics import YOLOv10
model = YOLOv10 . from_pretrained ( 'jameslahm/yolov10{n/s/m/b/l/x}' )
# or
# wget https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10{n/s/m/b/l/x}.pt
model = YOLOv10 ( 'yolov10{n/s/m/b/l/x}.pt' )
model . val ( data = 'coco.yaml' , batch = 256 )
yolo detect train data=coco.yaml model=yolov10n/s/m/b/l/x.yaml epochs=500 batch=256 imgsz=640 device=0,1,2,3,4,5,6,7
หรือ
from ultralytics import YOLOv10
model = YOLOv10 ()
# If you want to finetune the model with pretrained weights, you could load the
# pretrained weights like below
# model = YOLOv10.from_pretrained('jameslahm/yolov10{n/s/m/b/l/x}')
# or
# wget https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10{n/s/m/b/l/x}.pt
# model = YOLOv10('yolov10{n/s/m/b/l/x}.pt')
model . train ( data = 'coco.yaml' , epochs = 500 , batch = 256 , imgsz = 640 )
คุณสามารถเลือกส่งโมเดลที่ได้รับการปรับแต่งของคุณไปยังฮับ Hugging Face เป็นโมเดลสาธารณะหรือส่วนตัวได้:
# let's say you have fine-tuned a model for crop detection
model . push_to_hub ( " )
# you can also pass `private=True` if you don't want everyone to see your model
model . push_to_hub ( " , private = True )
โปรดทราบว่าคุณสามารถตั้งค่าเกณฑ์ความเชื่อมั่นที่น้อยลงเพื่อตรวจจับวัตถุขนาดเล็กหรือวัตถุในระยะไกลได้ โปรดดูที่นี่สำหรับรายละเอียด
yolo predict model=jameslahm/yolov10{n/s/m/b/l/x}
หรือ
from ultralytics import YOLOv10
model = YOLOv10 . from_pretrained ( 'jameslahm/yolov10{n/s/m/b/l/x}' )
# or
# wget https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10{n/s/m/b/l/x}.pt
model = YOLOv10 ( 'yolov10{n/s/m/b/l/x}.pt' )
model . predict ()
# End-to-End ONNX
yolo export model=jameslahm/yolov10{n/s/m/b/l/x} format=onnx opset=13 simplify
# Predict with ONNX
yolo predict model=yolov10n/s/m/b/l/x.onnx
# End-to-End TensorRT
yolo export model=jameslahm/yolov10{n/s/m/b/l/x} format=engine half=True simplify opset=13 workspace=16
# or
trtexec --onnx=yolov10n/s/m/b/l/x.onnx --saveEngine=yolov10n/s/m/b/l/x.engine --fp16
# Predict with TensorRT
yolo predict model=yolov10n/s/m/b/l/x.engine
หรือ
from ultralytics import YOLOv10
model = YOLOv10 . from_pretrained ( 'jameslahm/yolov10{n/s/m/b/l/x}' )
# or
# wget https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10{n/s/m/b/l/x}.pt
model = YOLOv10 ( 'yolov10{n/s/m/b/l/x}.pt' )
model . export (...)
ฐานโค้ดถูกสร้างขึ้นด้วยอัลตราไลติกส์และ RT-DETR
ขอบคุณสำหรับการใช้งานที่ยอดเยี่ยม!
หากโค้ดหรือโมเดลของเราช่วยคุณได้ โปรดอ้างอิงเอกสารของเรา:
@article { wang2024yolov10 ,
title = { YOLOv10: Real-Time End-to-End Object Detection } ,
author = { Wang, Ao and Chen, Hui and Liu, Lihao and Chen, Kai and Lin, Zijia and Han, Jungong and Ding, Guiguang } ,
journal = { arXiv preprint arXiv:2405.14458 } ,
year = { 2024 }
}