心肺复苏模型

新闻分类

YOLOv7与MediaPipe在人体姿态估计上的对比

YOLOv7与MediaPipe在人体姿态估计上的对比

发布日期:2023-02-21 作者:康为 点击:

初期文章的分享,咱们简介了YOLOv7人体姿势预计的文章并且MediaPipe人体姿势预计方面的文章。因为YOLOv7与MediaPipe都阔以进行人体姿势预计,咱们本期就对照一下2个算法的不同点。

借用机械学习,进行人体33个2D姿势探测与评价

人工自动行业也卷了吗——YOLO系列又被更新了,YOLOv7横空出生


1.jpg


基于深度学习的人体姿势预计

自2014年Google初次公布DeepPose此后,基于深度学习的姿势预计算法已然获得了较大的进步。这类算法往往分2个阶段工作。

职员探测

主要点定位

依据设施[CPU/GPU/TPU]的不同,不同框架的功能有所不同。有不少两阶段姿势预计模型在基准测验中体现优良,比如:Alpha Pose、OpenPose、Deep Pose等等。但是,因为两阶模型相对高难,获取的实时功能十分昂贵。这类模型在GPU上运作得很快,而在CPU上运作的较慢。就效益和确切性而言,MediaPipe是1个较好的姿势预计框架。它在CPU上形成实时探测,且速率很快。


2.jpg


YOLOv7

与传统的姿势预计算法不同,YOLOv7姿势是1个单级多人主要点探测器。它拥有自顶向下和自底向上两类方式中的好处。YOLOv7姿势是在COCO信息集上训练的,初期的文章咱们也分享过YOLOv7人体姿势探测的代码。


3.jpg


YOLOv7 是 YOLO 系列中最超前的新式物体探测器。依据论文,它是迄今为止最快、最确切的实时物体探测算法。依据 YOLOv7 论文,最佳的模型获取了 56.8% 的平均精度(AP),这是一切已知目标探测算法中最高的。各类模型的速率范畴为 5-160 FPS。与根基模型相比,YOLOv7 将参数数目减小到40%,计算量减小 50%。

MediaPipe人体姿势探测

MediaPipe 是一款由 Google Research 开发并开源的多媒体机械学习模型运用框架。在谷歌,一系列首要成品,如 、Google Lens、ARCore、Google Home 并且 ,都已深度整合了 MediaPipe。


4.jpg


MediaPipe 的中心框架由 C++ 实行,并供应 Java 并且 Objective C 等话语的撑持。MediaPipe 的首要概念含盖信息包(Packet)、信息流(Stream)、计算单元(Calculator)、图(Graph)并且子图(Subgraph)。


5.jpg


MediaPipe Pose是用来高保真人体姿态追踪的ML解决计划,借用BlazePose研发成果,还从ML Kit Pose Detection API中获取了RGB视频帧的全部33个2D标注(或25个上身标注)。当下最超前的方式首要依附壮大的桌面环境进行推断,而MediaPipe Pose的方式可在大多数当代手机,乃至是Web上实行实时功能。

MediaPipe中有3个模型用来姿态预计。


6.jpg


YOLOv7 vs MediaPipe特点对照


7.jpg


YOLOv7 

17 Keypoints COCO

33 Keypoints COCO + Blaze Palm + Blaze Face

YOLOv7是1个多人探测框架。MediaPipe是1个单人探测框架(首要原因是只用来CPU,速率较快),因而在咱们实行人体姿势探测时,须要存眷能否只探测多人,或者单人,固然对自行的设备配置也有很高的需要。

MediaPipe 代码实行人体姿势探测

cap = cv2.VideoCapture(0)

time.sleep(2)

               print("Ignoring empty camera frame.")

       image = cv2.cvtColor(cv2.flip(image, 1), cv2.COLOR_BGR2RGB)

       image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)

       cv2.imshow('MediaPipe Pose', image)

       if cv2.waitKey(5) & 0xFF == ord('q'):


8.jpg


因为MediaPipe是1个单人探测框架,因而在视频中,MediaPipe只探测单个体的姿势,其余人体姿势则会忽视,固然,软件会探测哪个体体姿势,理论上是最前面的人体姿势,可是通过试验后,实则并非完都是如此。从上图阔以看出,固然MediaPipe仅撑持应用在CPU上,可是探测速率与精度相当快,毛病是自动进行单人体姿势探测。

YOLOv7 代码实行人体姿势探测

从 YOLOv7-Tiny 模型开启,参数刚刚超越 600 万。它的验证 AP 为 35.2%,打败了拥有类似参数的 YOLOv4-Tiny 模型。拥有近 3700 万个参数的 YOLOv7 模型供应了 51.2% 的 AP,再次打败了拥有更多参数的 YOLOv4 和 YOLOR 的变体。


9.jpg


YOLO7 系列中较大的模型,YOLOv7-X、YOLOv7-E6、YOLOv7-D6 和 YOLOv7-E6E。一切这类都打败了 YOLOR 模型,它们的参数数目类似,AP 分别为 52.9%、55.9%、56.3% 和 56.8%。

       img = letterbox(frame, input_size, stride=64, auto=True)[0]

               t1 = time.time()

               t2 = time.time()

               fps = 1/(t2 - t1)

                                                                                 0.25,       # Conf. Threshold.

                                                                                 0.65,       # IoU Threshold.

                                                                                 nc=1,     # Number of classes.

                                                                                 nkpt=17, # Number of keypoints.

       nimg = img[0].permute(1, 2, 0) * 255

       nimg = nimg.cpu().numpy().astype(np.uint8)

       nimg = cv2.cvtColor(nimg, cv2.COLOR_RGB2BGR)

       for idx in range(output.shape[0]):

               plot_skeleton_kpts(nimg, output[idx, 7:].T, 3)     

因为YOLOv7是1个多人探测框架,因而在单个视频帧中,YOLOv7框架会实时探测多人体姿势。从上图阔以看出,探测速率也是很快的,这是由于此例子应用的是GPU模型运作,若YOLOv7运用在CPU上面,则探测速率很慢。


10.jpg


MediaPipe与YOLOv7对照探测

从以上的简介,咱们知晓,mediapipe是1个单人探测框架,因而探测速率特别快,一样的的一段探测目标,一样的应用CPU进行人体姿势探测,则mediapipe完全占一定优势。


11.jpg


CPU人体姿势探测

可是一经上GPU,yolov7的优势就会大大的提升,阔以看见,一经用上了GPU,yolov7的探测速率就到达了84FPS,而因为mediapipe只是用来CPU,就算加上GPU,也施展不到GPU的优势。


12.jpg


其余文章考虑

Transformer模型注重力体制的概念

借用机械学习,进行人体33个2D姿势探测与评价

借用机械学习,进行人手的21个3D手关节坐标探测

借用机械学习进行人脸468点的3D坐标探测,并形成3D模型

MediaPipe 集成人脸辨认,人体姿势评价,人手探测模型

推翻2D目标探测模型,MediaPipe 3D目标探测复原真正的目标特点

MediaPipe Face Detection可运作在移动设施上的亚毫秒级人脸探测

高大上的YOLOV3目标探测算法,应用python也可轻盈实行

应用python轻盈实行高大上的YOLOV4目标探测算法

基于python的YOLOV5目标探测模型实行



本文网址:http://www.xizd.com/news/2096.html

相关标签:根基模型,学习模型运用,3个模型,GPU模型运作,Transformer模型,3D模型,探测模型

最近浏览:

在线客服
分享