不知不觉间,YOLOv8已经发布三个月了,等待中的YOLOv8论文没来,昨天官方默默又加了新模型:姿态估计。
说好的"目标检测"工业界标杆,正向着“CV全家桶”阔步向前。
现在你可以用YOLOv8做目标检测、实例分割、图像分类、目标跟踪、姿态估计了,也许还有更多惊喜在后面。
要想使用最新的姿态估计功能,你需要更新到最新版的YOLOv8:
pip install --upgrade ultralytics
官方的模型可以在这里下载:
https://github.com/ultralytics/assets/releases
其实你也可以不用下载,如果你仅调用官方模型,程序运行时没找到模型的话,它会自己下载的,就是这么贴心!(不过要保证你的网络良好,亲测国内略慢)
模型是在COCO数据集训练的,目前支持的是人体的检测和姿态估计。
CV君用一张网络图片测试一下:
yolo pose predict model=yolov8n-pose.pt source='http://neweuropeans.org/wp-content/uploads/2016/01/2015_Chisinau_Crossing_Europe_Poike-Stomps_MG_1047.jpg' show=True save=True
其中pose指定任务类型,predict代表我们是要做推断,模型这里我选择的是最轻量级的YOLOv8n-pose,”show=True save=True“代表显示并保存。
运行结果:
Ultralytics YOLOv8.0.68 Python-3.9.13 torch-1.13.1+cu117 CUDA:0 (NVIDIA GeForce GTX 1080 Ti, 11264MiB)
YOLOv8n-pose summary (fused): 187 layers, 3289964 parameters, 0 gradients, 9.2 GFLOPs
Downloading http:\neweuropeans.org\wp-content\uploads\2016\01\2015_Chisinau_Crossing_Europe_Poike-Stomps_MG_1047.jpg to 2015_Chisinau_Crossing_Europe_Poike-Stomps_MG_1047.jpg...
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 564k/564k [00:00<00:00, 1.29MB/s]
image 1/1 E:\download\2015_Chisinau_Crossing_Europe_Poike-Stomps_MG_1047.jpg: 448x640 17 persons, 24.6ms
Speed: 0.0ms preprocess, 24.6ms inference, 7.0ms postprocess per image at shape (1, 3, 640, 640)
Results saved to runs\pose\predict
我的GPU是1080Ti,这张1500x977大小的图片推断时间24.6ms。
如果要用YOLOv8调用摄像头的话,也非常简单:
yolo pose predict model=yolov8n-pose.pt source=0 show=True save=True
官方在COCO数据集上做了更多测试:
总计发布了YOLOv8n-pose、YOLOv8s-pose...YOLOv8x-pose-p6等6个模型,在A100上的推断速度从1.18ms到10.04ms,模型参数3.3M到99.1M。
方便在不同硬件和算力的平台上使用。
当然从CPU上的测试结果看,还不是一个CPU实时的算法。
不过更有价值的可能是,要训练我们自己的模型,是非常方便的。
按照coco128-pose.yaml的"样例"组织好数据并修改coco128-pose.yaml后,你只需要一句命令:
yolo pose train data=coco128-pose.yaml model=yolov8n-pose.pt epochs=100 imgsz=640
相关文档:https://docs.ultralytics.com/tasks/pose/
写在最后:YOLOv8的功能越来越多,而且相比于其他开源库,对于工业界来说更友好,涵盖训练、评估、推断、部署全流程,是快速进行项目开发的首选。
下一个进入YOLOv8 "CV全家桶"会是谁呢?Face?