您的位置:主页 > 新闻中心 > 行业资讯 >

2D3D姿态识别

行业资讯 / 2023-02-01 05:59

本文摘要:前 言基于盘算机视觉的人机交互一般可分为四个部门:1. 有没有人;2. 人在哪;3. 这小我私家是谁;4. 这小我私家在做什么;人机交互历程中涉及的关键技术点如下:在四个部门的实现中,人脸识别可以完成1、2、3部门的实现(详细实现详见《2D与3D人脸识别详解》),可是第4部门的这小我私家在做什么,人脸识别就失效了。

亚搏手机版app官网下载苹果

前 言基于盘算机视觉的人机交互一般可分为四个部门:1. 有没有人;2. 人在哪;3. 这小我私家是谁;4. 这小我私家在做什么;人机交互历程中涉及的关键技术点如下:在四个部门的实现中,人脸识别可以完成1、2、3部门的实现(详细实现详见《2D与3D人脸识别详解》),可是第4部门的这小我私家在做什么,人脸识别就失效了。另有第3部门的这小我私家是谁,当图片的分辨率太小以至于人脸识别失效,或者图片中的人只有配景的时候,人脸识别就没法识别出这小我私家是谁了:如上图,人脸识此外方式能识别出这小我私家是谁不,NO!这时就得用到人脸识别之外的另一个识别方法:姿态识别。

姿态识别简介人体姿态是人体重要的生物特征之一,有许多的应用场景,如:步态分析、视频监控、增强现实、人机交互、金融、移动支付、娱乐和游戏、体育科学等。姿态识别能让盘算机知道人在做什么、识别出这小我私家是谁。特别是在监控领域、在摄像头获取到的人脸图像分辨率过小的情况下是一个很好的解决方案,另有在目的身份识别系统中可以作为一项重要的辅助验证手段,到达减小误识此外效果。

姿态识别一般流程如下: 人体支解 人体支解使用的方法可以大要分为人体骨骼关键点检测、语义支解等方式实现。这里主要分析与姿态相关的人体骨骼关键点检测。

人体骨骼关键点检测输出是人体的骨架信息,一般主要作为人体姿态识此外基础部门,主要用于支解、对齐等。一般实现流程为: 人体姿态识别 人体姿态识别包罗行动识别、身份识别两个方面,关键在人体特征提取,人体特征提取主要完成行动特征提取、身份特征提取。一般实现流程为:行动识别身份识别人体骨骼关键点检测经常用来作为姿态识此外基础部件,下面先先容人体骨骼关键点检测实现,然后再先容人体姿态识别(行动识别、身份识别)实现。

N0.1 人体骨骼关键点检测人体骨骼关键点检测也称为姿态预计(Pose Estimation),主要检测人体的关键点信息,如枢纽,五官等,通过关键点形貌人体骨骼信息,常用来作为姿态识别、行为分析等的基础部件,如下图所示:人体骨骼关键点检测现状人体骨骼关键点检测是一种多方面任务,包罗了目的检测、人体骨骼关键点检测、支解等。人体骨骼关键点检测可以分为二维(2D)和三维(3D)的人体骨骼关键点检测;根据检测的方法又能分为自底向上、自顶向下两个方式。人体骨骼关键点检测的效果如下:人体骨骼关键点检测的挑战:1. 每张图片中包罗人的数量是未知的,图像中人越多,盘算庞大度越大(盘算量与人的数量正相关),这使得处置惩罚时间变长,从而使real time变得难题。

2. 人与人之间会存在如接触、遮挡等关系,导致将差别人的关键节点区分出来的难度增加,有可能会将骨骼关键点误认为是另一小我私家的。3. 关键点区域的图像信息比力难区分,也就是说某个关键点检测时容易泛起检测位置禁绝或者置信度禁绝,甚至将配景的图像当成关键点图像的错误。4. 人体差别关键点检测的难易水平是纷歧样的,对于腰部、腿部这类没有比力显着特征关键点的检测要难于头部四周关键点的检测,需要对差别的关键点区别看待。凭据输出的关键点数据是2D还是3D的,分为2D人体骨骼关键点检测、3D人体骨骼关键点检测。

2D人体骨骼关键点检测:输入的图像数据:RGB3D人体骨骼关键点检测:凭据输入图像数据是RGB还是RGBD可分为2D+人体骨骼关键点检测、3D人体骨骼关键点检测。输入的图像数据:RGB(2D+)输入的图像数据:RGBD(3D)2D人体骨骼关键点检测实现2D人体骨骼关键点检测的算法模型基本上都遵循自顶向下(TopDown)、自底向上(BottomUp)两种思路来实现: 自顶向下 自顶向下(Topdown)的人体骨骼关键点检测算法包罗两个部门:目的检测和单人人体骨骼关键点检测,目的检测算法完成人体bounding box的输出,现在目的检测方法的精度跟速度已经很高,算法模型有YOLO系列、SSD系列、RCNN系列、RFCN系列等,本文重点研究关键点检测的算法。RMPE该模型主要解决了自顶向下人体骨骼关键点检测中的目的检测bounding box可能会泛起定位误差、对同一个物体重复检测等问题。

bounding box定位误差,会导致关键点检测的区域堕落,关键点检测区域堕落会造成对同一小我私家会生成差别的关键点。该模型提出了一种方法来解决目的检测发生bounding box所存在的问题,即通过空间变换网络将同一小我私家体的发生的差别裁剪区域(Proposals)都变换到一个较好的区域,这样就不会因为一小我私家体发生差别的裁剪区域从而泛起差别关键点检测效果。详细流程如下图所示。图片来自 https://arxiv.org/pdf/1612.00137.pdf上图中的STN SPPE SDTN 结构如下图片来自 https://arxiv.org/pdf/1612.00137.pdf STN从一个禁绝确的边框中提取一个高质量的单人候选框,SPPE发生种种姿态,SDTN发生候选姿态, 同时引入一个并行的Parallel SPPE分支举行优化。

自顶向下的人体骨骼关键点算法另有:CPN(Cascaded Pyramid Network)、RMPE、G-RMI等。自底向上 自底向上(BottomUp)的人体骨骼关键点检测算法主要包罗两个部门:关键点检测和关键点聚类毗连,关键点检测目的是将图片中所有人的所有关键点全部检测出来。关键点检测完毕之后需要对这些关键点举行聚类处置惩罚,将每一小我私家的差别关键点毗连在一块,从而毗连发生差别的个体。

Part Affinity Fields该方法通过对人体的差别肢体结构举行建模,使用向量场来模拟差别肢体结构,解决了单纯使用中间点是否在肢干上造成的错连问题。图片来自 https://arxiv.org/pdf/1611.08050.pdf如上图所示,如果只使用中间点对肢干举行建模,如果中间点都在对应的肢干上,则判断两个关键点处在该肢干的两头,这样就会泛起如上图所示的错连情况。而PAFs则不仅使用中间点来建模肢干,而且在中间的位置之外还给每其中间点加上了偏向的信息,这样就能解决泛起的错连问题。

详细如下图所示。图片来自 https://arxiv.org/pdf/1611.08050.pdf使用PAFs的模型为openpose,openpose是现在速度、精度都比力高的人体骨骼关键点检测模型。openpose的整体思路如下:先识别出关键点和枢纽点热图(也就是枢纽的区域、偏向),然后通过PAFs算法组合成个体的姿势图。

图片来自 https://arxiv.org/pdf/1611.08050.pdf如上图所示,openpose的检测流程为:1)盘算出所有关键点(头部,肩膀,手肘,手腕...)如上图(b)所示;2)盘算出所有关联区域,如上图(c)所示;3)凭据关键点和关联区域举行矢量毗连,由前两步获得的关键点和关联区域,尔后需要依据关联区域将关键点毗连以组成人体真正的骨骼结构。作者提出了以一个最小限度的边数量来获得个体姿势的生成树图(用了二分图+匈牙利算法等),在保证不错的准确度的同时,大大淘汰了庞大度,提高了实时性,解决了对关键点聚类配对时需要每对点都试验一遍然后找到最优的划分和组合结构的难题。自底向上的人体骨骼关键点检测算法有:Part Segmentation、Part Affinity Fields、Associative Embedding、Mid-Range Offsets、CPM(Convolutional Pose Machines)等。当需要3D的人体姿态信息时,2D人体骨骼关键点检测并不能满足要求,这时需要3D人体骨骼关键点检测。

2D+人体骨骼关键点检测实现2D+人体骨骼关键点检测多使用3D重建的方法,一般输入都是RGB的2D图像数据,首先使用2D人体骨骼关键点检测的方法检测出2D的人体骨骼关键点后,再使用3D重建的方式,将2D的关键点信息转到3D的空间中,输出的就是3维人体骨骼关键点信息。这种方法使用的图像数据不是真的3D数据,输出的3维的信息主要是通过2D到3D重建的方式实现的,固然这种方法也能解决一定的问题,在行动识别、身份识别等领域都有一定的作用。2D+人体骨骼关键点检测输出的人体骨骼关键点信息是3D数据,即每个枢纽都是一个3D坐标(x,y,z),如下图所示:图片来自 http://www.sysu-hcp.net/3d_pose_ssl/2D+人体骨骼关键点检测的模型速度比力快的是DensePose,能在GPU上到达每秒多帧的运行速度,基本能在实际情况中使用。DensePose主要在目的检测平台(Detectron)搭建起来的模型,称为DensePose-RCNN,模型的结构如下图所示:图片来自 https://arxiv.org/pdf/1802.00434.pdfDensePose-RCNN接纳的是金字塔网络(FPN)特征的RCNN结构,区域特征聚集方式ROI align pooling以获得每个选定区域内的麋集部门标签和坐标。

将2D图像中人的外貌图像数据投影到3D人体外貌上,将人体的3D外貌模型切分为24个部门,然后为每一部门构建一个UV坐标系,将2D图像上的人体部门的每一个点映射到相应的3D外貌部门。也可以在预计出图像中人体的UV之后,将3Dmodel通过变换,将空间坐标转换为UV坐标之后,贴到图像上。DensePose借鉴了Mask-RCNN的结构,同时带有Feature Pyramid Network(FPN)的特征,以及ROI-Align池化。

整体流程为:首先使用Faster-RCNN获得人物区域bounding box,然后使用CNN网络模块分块,分块后用CNN网络模型处置惩罚每一个分块,最后获得目的的热力争IVU。3D人体骨骼关键点检测实现前面分析的2D+人体骨骼关键点检测,模式上基本能总结为2D的人体骨骼关键点检测+3D重建的历程。这里分析使用RGBD图像数据的3D人体骨骼关键点检测实现。

图像数据是RGBD的一种方式就是使用深度图像来获取人体骨骼关键点数据,虽然使用的只是RGBD中的深度数据D(Depth Image),可是Depth Image实际上也是一幅真实的3D图像数据,Depth Image包罗了深度信息、图像的高宽信息。许多硬件设备的SDK都带有该功效,如微软的Kinect、英特尔实感3D摄像头、Mo-Cap解决方案等。自从2011年Shotton, J等人在[Real-time human pose recognition in parts from single depth images. In: CVPR (2011)]中提出随机森林算法后,使用深度信息获取人体骨骼关键点数据的算法逐渐泛起,如微软的Kinect深度相机自带SDK的骨骼提取算法用的就是随机森林算法,而且获得市场的认可。然尔后面CNN的崛起,并在CV、NLP等各个领域取得显著的结果,下面分析基于CNN+RNN结构的人体骨骼关键点获取模型,模型的网络结构如下:图片来自http://vision.stanford.edu/pdf/haque2016eccv.pdf该模型的结构如上图所示,输入一张深度图,对深度图片举行多次迭代处置惩罚,每一个迭代包罗两个输入,即原图处置惩罚生成的一个patch(称为Glimpses)和之前生成的人体骨骼关键点信息。

该模型的输入深度图片并不直接输送到网络中去,而是先通过提取图片中的差别的patch,其中每个patch都以每个预测的身体部位为中心,而且将其转化成为Glimpses。Glimpse是一种对原始输入的特殊编码形式,它的中心分辨率高,周围分辨率逐渐降低,这就使得中心的特征获得重点的学习,同时又保留了部门空间信息。上图的Depth Image到Embedding的历程输出的是具有视角稳定特性的特征空间,获取到了尺度稳定的Glimpses之后,将Glimpses作为输入,经由运算转换成3维的姿态数据输出,转换模型如下:图片来自http://vision.stanford.edu/pdf/haque2016eccv.pdf对于一个输入的Glimpse,联合原来的深度数据经由函数f(x)转换成体素(3维),最后将3D特征V并映射回到二维空间,最后得出3维的人体姿态信息。2D的人体骨骼关键点检测跟3D的人体骨骼关键点检测对好比下:人体姿态关键点是盘算机视觉的一个主要的组成部门,是盘算机明白人体语言、肢体语言的一个主要方式。

解决了人体支解、人体定位、人体查找等问题,通过人体骨骼关键点检测可以完成行动识别分析、身份识别等内容,固然在行动识别、身份识此外历程中可以将人体骨骼关键点检测的技术融合,并没有输出人体骨骼关键点信息。下面先容人机交互历程中第4部门的实现,人体姿态识别。

N0.2 人体姿态识别人机交互的识别历程中挑战性比力大之一就是人体姿态识别,主要解决:1)身份识别问题:图片分辨率太低导致人脸识别失效的情况;2)辅助验证问手段:配合人脸识别等识别方法提高识别准确率;3)图像检索等;4)其他。人体姿态识别现状姿态识别主要完成识别出这小我私家这一段时间在做什么,或者凭据其姿态信息、运动规则来完成身份验证功效。

姿态识别需要单帧或者多帧一连的姿态数据,通过算法模型盘算得出人在做什么或者是谁。下面从行动识别分析、身份识别两个方面举行分析。行动识别 视频逐帧分析,接纳一连的行动识别出人物行动,如走路、跑步、蹲下等。在盘算机视觉中人机交互中有很大的应用,主要处置惩罚模型或许分为两个大类:卷积神经网络(3D-CNN)、基于循环神经网络与其扩展模型(CNN + LSTM)。

行动识别分析的应用场景有:3D 小我私家健身教练、3D试衣、游戏人物行动设计、古画分析、人体绘画教学、游戏的交互、照相馆照相姿势指南等等。行动分析效果如: 身份识别 行人重识别、步态识别是身份识此外实现方法。

行人重识别(Person re-identification,简称ReID)也称行人再识别,是使用盘算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。广泛被认为是一个图像检索的子问题。旨在弥补牢固的摄像头的视觉局限,并可与行人检测/行人跟踪技术相联合,可广泛应用于智能视频监控、智能安保等领域,行人重识别是生物识此外一个重要部门,可以作为人脸识此外一个增补。步态识别,首先对视频预处置惩罚将行人与配景分散,形成黑白轮廓图silhouette。

然后再在一连多帧的silhouette图中获取特征,最终到达身份识此外目的,依据是每小我私家都市有自己的走路方式,这是一种比力庞大的行为特征。silhouette图如下(来自CASIA-B):在监控视频中,由于相机分辨率和拍摄角度的缘故,通常无法获得质量很是高的人脸图片。当人脸识别失效的情况下,ReID、步态识别就成为了一个很是重要的替代技术。

ReID有一个很是重要的特性就是跨摄像头,所以学术论文里评价性能的时候,是要检索出差别摄像头下的相同行人图片。ReID、步态识别已经在学术界研究多年,但直到最近几年随着深度学习的生长,才取得了庞大的突破。人体姿态识别是人脸识别之外另一个重要的研究领域,这里将姿态识别分为两个大类举行先容,划分为:行动识别、身份识别。

行动识别实现 要识别出人物的行动通常需要一连的视频数据举行分析处置惩罚,需要收罗的特征通常有单帧图像数据的特征和多帧图像数据之间时间上的特征,简朴来说就是静态帧数据+帧间数据。a、静态帧数据,表现单帧图像空间信息b、帧间数据,表现时间信息(光流数据)常用的数据集有:KTH、Weizmaan、HOHA、Keck Gesture、MSR action、YouTube Action、UT-Interaction等等。从目的分析的角度上看,行动识别也能看作是分类的问题,每个行动就是一类,如果有二十个行动就是二十类。

那么行动的识别最终就能转酿成特征提取、分类两个主要历程。特征提取包罗静态帧的特征,动态帧间的特征。算法在不停的迭代生长,发生了许多经典的处置惩罚模型、算法。

一般的识别流程为:从上图可以看到,行动识此外关键步骤是人体支解、特征提取以及特征编码。人体支解是将图像中人体所在区域与图像的其他部门支解出来,使用人体关键点检测来支解的方法前文已经有所先容;特征编码的作用主要是将提取到的特征尺度化到统一的空间,而通常特征提取和特征编码一般是配套使用的,行动识此外CNN模型中已经包罗了特征提取和特征编码。上文提到,行动识别需要提取静态帧特征与帧间特征,比力经典的网络模型是Two-StreamConvolutionalNetworks、TSN、TRN等,下面划分先容。

Two-StreamConvolutionalNetworkstwo-stream结构是受到神经科学的启发,人类视觉皮层包罗两条路径:腹侧流(执行物体识别)和背侧流(识别运动)。图片来自 https://arxiv.org/pdf/1406.2199.pdfspatial stream convnet输入单帧RGB图片,可以在Image-net上举行预训练,再在视频数据集上举行fine-tuning,训练图片是从所有视频帧中随机选一帧,并举行相应的数据增强,如翻转等其他处置惩罚,再随机剪切成224*224。用于提取单帧数据并分类。

temporal stream convnet处置惩罚的是一连帧的光流信息,由于光流是矢量,为了利便输入网络训练,故将此向量剖析为水平和垂直偏向的两个分量,因此一帧m*n*3的彩色图片,对应的光流特征图就是m*n*2,总共是L个一连的帧,经由随机剪裁,输入矩阵为224*224*2L。由于光流盘算比力耗时,所以每个视频的光流图可通过OpenCV预先提取,并量化到0-255,用于提取帧间数据特征并分类。TSN两个CNN方式的行动识别,提出了一个很好的思路,在行动识别领域除了使用3DCNN等思路之外又提出的一个有效的思路,而且能解决一定的问题。

可是Two-StreamConvolutionalNetworks的方式有个显着的缺点,就是对输入的图像帧并没有处置惩罚,这样的帧收罗方式为麋集采样方式,如果一连多帧图像人的行动都保持稳定,那么行动识别将失效,同时浪费了处置惩罚的时间。为相识决上面的问题,于是TSN泛起了,结构如下:图片来自 https://arxiv.org/pdf/1608.00859.pdfTSN将输入的视频流分成k片段,然后再在每个片段随机选择一小片段划分送入CNN(two-CNN的方式),然后再举行特征融合,最后分类。TRNTSN主要是提出了稀疏时间的采样计谋,提高了识别精度。

不外在对帧间时间序列的处置惩罚上似乎并没有太多的优化,于是TRN在TSN的基础上对Temporal部门举行了优化,提出了video-level的实时时间关系推理框架,架构如下:图片来自 https://arxiv.org/pdf/1711.08496.pdftwo-CNN方式的优化不仅有前面先容的TSN、TRN,另有对spatial举行加权优化的方式DOVF,另有对spatial、temporal的部门同时举行优化处置惩罚的ECO,等。TSN、TRN、DOVF、ECO解决了一系列一连多帧收罗的问题,使麋集采样转到稀疏采样成为现实,大大提高了处置惩罚的速度跟精度。静态帧数据 + 帧间数据处置惩罚方式除了可以直接使用two-CNN的方式处置惩罚,另有CNN+LSTM、GCN(GR-GCN)网络、3DCNN等结构,常见模型除了前面先容的另有LRCN、ST-GCN、DPRL+GCNN、GEGCN、SGR-GCN、2s-NLGCN等等,技术的生长总是在你追我赶中不停前进。

行动分析的模型一直在进化、在向着精度更高、速度更快的偏向进化,不管是two-CNN的、3DCNN的、CNN+LSTM的等等,都需要解决下面的问题:1.行动识别一般都需要一系列一连的frame,如何从video里采样到更好更合适不重复的frame;2.一系列一连的frame往往需要消耗很大的盘算力,使real time比力难;3.动态行动幅度有巨细,有快有慢,静态行动又是静止的图像,需要准确区分识别;4.训练集的行动跟实际情况的行动会有较大差异,如何保证实际情况中的准确率是个大问题。N0.3 身份识别实现基于人体姿态的身份识别,跟人脸识此外目的一样,主要是用来区分差别的人,其中人体的属性如高、矮、胖、瘦、长头发、短头发、衣服颜色、鞋子等基本都能识别分辨出来。一般的识别步骤为:识别模型有:基于传统特征的方法如衣服颜色、身高等;基于深度学方法的PCB、MGN、EANet、doop-person-reid、BFENet、stand Baseline、PTSN、GaitSet、GEINet、GaitGAN等等。

身份识此外技术难点 1. 模型泛化能力弱在训练集上测试的效果很好,可是将该模型迁移到实际情况(真实情况)、或者换一个测试集上举行验证,性能下降显着。2.人体的特征属性变化比力大人的胖瘦、高矮、长头发短头发是会变化的,而且会变化的比力快,如换一个发型,早上长发、下午短发等,就会导致识别模型识别失效。3.盘算量比力大基于人体姿态的身份识别往往需要多帧的图片数据集联合盘算,需要提取每帧图像数据的特征同时也需要提取多帧图像数据之间的运动信息。

4.数据资源少现在基于人体姿态的身份识别相关的数据集太少,最多的数据集的ID也只有几千人,数据集的数量也很少。5、行人特征不稳定因素比力多多个摄像头下拍摄行人的角度差别,要正确判断的话,就要找到行人上的局部稳定的part(好比:衣服颜色,衣服纹理,手提包,背包等等)。在盘算机视觉中,常用的特征就有颜色直方图等等。针对身份识此外原理、联合CNN的特征提取方式、综合身份识此外技术难点,将基于姿态的身份识别分为如下两个方式。

基于单帧图像的身份识别(2D) 使用单帧图像数据就完成基于人体姿态的身份识别,基本上的方法是使用CNN的特征提取的方法,设计一个CNN网络模型,设计一个损失函数,让这个CNN网络模型在数据集上学习到能区分差别身份的参数。CNN可以从原始的图像数据中凭据任务需求自动提取出表征特征,可以把行人重识别问题看做分类问题或者验证问题:(1)分类问题是指使用行人的ID或者属性等作为训练标签来训练模型,基于表征特征的方法;(2)验证问题是指输入一对(两张)行人图片,让网络来学习这两张图片是否属于同一个行人,基于怀抱学习的方法。大要流程如下:基于表征特征的方法基于怀抱学习的方法 基于表征特征的方法 基于表征特征的方法,跟人脸识此外方式类似,首先检测出人体在图像中的详细位置,然后将人体的信息用图像中抠出,再对抠出的人体数据的分辨率举行尺度化、偏向矫正等对齐操作,最后使用CNN网络将对齐后的图片数据转换成特征数据,然后盘算数据的相似度。

对齐主要使用前面先容的人体骨骼关键点检测作为参照点。基于表征特征的学习方法,处置惩罚的方式有整张图片输入到CNN网络模型举行特征提取,也有将整张图片分块处置惩罚后送进CNN的网络模型再全局处置惩罚每个模块的特征,下面分两部门先容。

基于全局特征一般基于全局的特征提取模型还会加入人体的属性的识别,因为人体特征存在着诸多的不稳定性,如换一个发型,早上长发、下午短发等,为了提高泛化能力,增加了人体属性特征,例如性别、衣着等。通过引入人体属性标签,模型不光要准确地预测出行人ID,还要预测出各项正确的行人属性,这大大增加了模型的泛化能力。

典型模型如下图:图片来自 https://arxiv.org/pdf/1703.07220.pdf上图的模型不仅使用CNN提取了目的的特征(这个特征是什么,CNN清楚,能区分两个差别的人就行),还提取了人体的属性,如性别、头发、衣服等等,最后两种联合判断给出得出目的的ID。基于局部特征再组合基于人体姿态的身份识别除了使用上面先容的人体全局特征,另有增加使用基于局部特征的识别方法,常用的提取局部特征的思路主要有图像切块、使用人体骨架关键点定位以及姿态矫正等,最后再将局部的特征通过LSTM的方式合并成整体特征,本质上还是全局特征的处置惩罚方式,只是全局特征提取之前添加了局部特征的细节特征提取。如下图,图片被分为若干份,提取局部特征。被支解好的若干块图像块根据顺序送到一个是非时影象网络(Long short term memory network, LSTM),最后的特征融合了所有图像块的局部特征。

可是这种缺点在于对图像对齐的要求比力高,如果两幅图像没有上下对齐,那么很可能泛起头和上身对比的现象,反而使得模型判断错误。图片来自 https://arxiv.org/pdf/1607.08381.pdf为相识决上面因为两幅图像没有对齐泛起的划分失败的问题,接纳人体骨骼关键点检测的数据作为基础,解决两幅图像没有对齐的问题。首先使用骨骼关键点检测模型检测出人体的关键点,然后凭据关键点举行仿射变换,也就是将关键点的位置映射到图像的牢固位置,使两幅图片对齐,这个对齐历程使用的模型为PoseBox,对齐效果如下:图片来自 https://arxiv.org/pdf/1701.07732.pdf使用了PoseBox的对齐模型结构如下:图片来自 https://arxiv.org/pdf/1701.07732.pdf使用单帧图像直接获取全局或者局部特征的模型另有:AlignedREID,GLAD、Spindle Net等。

基于怀抱学习的方法 怀抱学习目的是通过网络学习出两张图片的相似度。同一人的差别图片相似度大于差别人的差别图片。最后网络的损失函数使得相同人图片(正样本对)的距离尽可能小,差别人图片(负样本对)的距离尽可能大。基于怀抱学习方法的身份识此外一个典型模型如下:来自 https://arxiv.org/pdf/1611.05244.pdf如上图网络输入为若干对行人图片,包罗分类子网络(Classification Subnet)和验证子网络(Verification Subnet)。

分类子网络对图片举行ID预测,凭据预测的ID来盘算分类误差损失。验证子网络融合两张图片的特征,判断这两张图片是否属于同一个行人,该子网络实质上即是一个二分类网络。经由足够数据的训练,再次输入一张测试图片,网络将自动提取出一个特征,这个特征用于行人重识别种别判断依据。

基于怀抱学习的方法有三个关键要素:CNN特征提取模型、loss损失函数、数据集。CNN特征提取模型可以参考前面的基于表征特征学习的方法,数据集只要是基于姿态的身份识此外数据集都可以。怀抱学习的方法常用的对比损失函数有:对比损失(Contrastive loss)、三元组损失(Triplet loss)、 四元组损失(Quadruplet loss)、样本采样三元组损失(Triplet hard loss with batch hard mining, TriHard loss)、界限挖掘损失(Margin sample mining loss, MSML)等。这五种损失函数,论文《MarginSampleMiningLoss: ADeepLearningBasedMethodforPerson Re-identification》划分在resnet50、inceptionv2、resnet50-x三个CNN架构上做个测试,精度如下表所示:数据泉源 https://arxiv.org/pdf/1710.00478.pdf基于单帧图像的身份识别方式实际是一个2D的实现历程,因为只使用了一帧的图像数据,而且这一帧图像数据是2D的,只有RGB信息。

优点是处置惩罚的运算量相对于多帧的图像要少,所以处置惩罚速度快。可是缺点也显着,就是处置惩罚的信息有限,会影响识此外精度。而基于多帧图像的身份识别不仅提取了每帧图像数据的特征,还提取了帧与帧之间的运动特征,这使得图像数据更富厚,识别精度更高。下面开始分析基于多帧图像数据的身份识别,也就是3D的实现方式。

基于多帧图像的身份识别(3D) 获取多帧图像数据有两种情况:同一时刻多摄像头同时获取同一小我私家的差别视角图像,差别时刻单摄像头或者多摄像头获取同一小我私家的多帧图像。同一时刻的多帧图像这种多帧图像的同一小我私家是同一时刻接纳差别位置的摄像头获取,如market1501使用了6个差别位置的摄像头、dukemtmc-reid使用了8个差别位置的摄像头、MSTM17使用了15个差别位置的摄像头等等。所以这些数据就是3D的图像数据。

这种多帧图像数据(真3D图像数据)获取不容易,需要各个角度的摄像头同时监控到同一个地刚刚能获取。如下图:这些照片就是3D数据的多视图表现方法(3D数据的表现方法见《2D与3D人脸识别详解》)。这时处置惩罚的方法就是3D的处置惩罚方式。

差别时刻的多帧图像这种多帧图像的同一小我私家不是同一个时刻获取到的,可以是多个摄像头多个角度获取,但不是同一时刻获取。这种数据我们暂且称为假3D数据。

现在绝大部门的数据集都是接纳这种方式获取,主要是因为这种数据获取方式相对于多帧同一时刻的获取方式对硬件设备没有那么高的要求。如下图:对同一小我私家同一时刻差别角度获取的图像数据理论上处置惩罚效果可能会更好,可是数据获取比力贫苦,对硬件设备要求更严格,这是个需要思量的问题。

现在基于多帧图像数据的处置惩罚方式基本都是同一小我私家差别角度的多帧图像(不管是不是同一时刻)都统一送入CNN,让CNN自己提取需要的特征,这种处置惩罚方式可以认为是3D的处置惩罚方式。基于多帧图像的身份识别这里分为两个部门先容:行人重识别跟步态识此外主要差异是处置惩罚的图像数据差别,行人重识别处置惩罚的是一帧或多帧彩色的图像数据,而步态识别处置惩罚的是多帧黑白轮廓图silhouette。行人重识别 行人重识别处置惩罚多帧图像数据的一个主要方式是CNN+RNN,固然也可以使用点云的数据处置惩罚方式,可是因为点云数据的生成对硬件设备要求比力高,同时点云的处置惩罚比力庞大、盘算量也大,所以这里主要分析使用CNN + RNN的方式。

CNN+RNN主要思想是使用CNN来提取图像表征特征信息,使用基于RNN的方式提取帧与帧之间的运动信息。每张图像都经由一个共享的CNN提取出图像空间内容特征,之后这些特征向量被输入到一个RNN网络去提取最终的特征。

最终的特征融合了单帧图像的内容特征和帧与帧之间的运动特征。网络结构如下图所示:图片来自 https://arxiv.org/pdf/1701.00193.pdf可是在实际的情况中还会存在遮挡的情况,如下图所示:图片来自 https://arxiv.org/pdf/1711.08766.pdf针对这种遮挡的问题,可以先对输入网络前图像的质量举行判断,着重思量完整的帧,让网络对质量比力高的帧打上比力高的权重,整体网络结构如下:图片来自 https://arxiv.org/pdf/1711.08766.pdf N0.4 步态识别跟前面先容的方法差别,前面基于特征学习的方法、基于怀抱学习的方法、CNN+RNN的方法等输入图像都是彩色的图像数据,而这里步态识别处置惩罚的数据不是彩色数据,而是经由处置惩罚的黑白轮廓图silhouette,silhouette图获取方式一般可以通过语义支解等方式获得。如下图:(来自CASIA-B数据集)一般步态识别主要有两大类方法: 将步态看作图像 将多帧的步态轮廓图压缩成一幅图像,将步态识别看成一个图像匹配问题。优点是盘算简朴,缺点也同样显着,就是忽略了步态中的时序信息,也无法建模精致的空间信息,从而准确率不会高。

典型算法有:GEI、CGI、VTM、ViDP等。将步态看作视频序列 思量直接从silhouette提取特征,分为空间(每个轮廓图像的特征)、时间(多个轮廓图像之间的信息)两个部门提取特征,优点是可以很好的建模步态中的时、空域信息,缺点是盘算量大、不易训练。典型的算法有:基于LSTM的方法、基于3D-CNN的方法等。

GaitSet这里主要分析AAAI2019收录的复旦大学提出的GaitSet的模型, 网络模型结构如下:图片来自 https://arxiv.org/pdf/1811.06186v2.pdf人类对步态的视觉感知上,步态轮廓图从视觉上看前后关系很容易辨认,凭据这个思想作者不再刻意建模处置惩罚silhouette的时序关系,而将silhouette看成没有时序关系的图像集,让深度神经网络自身优化去提取并使用这种关系。根据上图的网络结构使用三个步骤提取步态特征,公式如下: 其中输入xi是输入图像;F是CNN从每个步态轮廓中提取特征;G是一个置换稳定函数,用于将一组帧级特征映射到荟萃特征,这里是将F的多个特征聚合成一个特征;H 是思量提取多尺度特征,并通过全毗连网络提高特征的判别性。G函数主要在上图中的SP实现,使用的方法是荟萃了多种池化方法,可集成到网络中实现端到端训练,算法流程如下:图片来自 https://arxiv.org/pdf/1811.06186v2.pdf人体姿态识别数据集有:Market1501、Market1501-attribute、DukeMTMC-reID、DukeMTMC-attribute、CUHK01、CUHK02、CUHK03、3DPES、QMUL-iLIDS、PRID、MARS、iLIDS-VID、PRID2011、GRID、CUHK-PEDES等等。

总 结得益于神经网络的生长,在盘算机视觉领域,识此外速度、准确度都有了很大的提高。不管是分类、检测、识别现在基本上都以CNN为基础结构,完成对图像数据的直接处置惩罚,得出数据,然后再使用特定的算法盘算,即可实现如分类、检测、识别等功效。

人脸检测、识别、人体骨骼关键点检测、行动识别、行人重识别、步态识别等,基本上都按这个架构来实现。本文分析了人机交互历程姿态识别相关的部门,现在精度比力好的模型基本都使用CNN作为基本特征提取结构。人体骨骼关键点检测可以说是人体姿态识此外基础之一,如在单帧图像数据基于特征学习的方法中会用到。

不使用人体骨骼关键点检测的方法完成身份的识别有基于多帧图像数据的CNN+RNN方法、步态识此外方法,但都需要精准找出人体的位置。通过人体姿态的识别盘算机就能明确我们的行动、在做什么、是谁等。目的检测、人脸识别、人体骨骼关键点检测、基于人体姿态的行动识别、基于人体姿态的身份识别等技术还在不停的生长完善中,各个领域的技术相辅相成、相互借鉴、相互提高。

前面先容的模型、思想是行业内实现的主要方式,另有一些差别的方法、差别的模型也在不停的研究中,如矢量卷积,神经网格等,限于篇幅不在此先容了。


本文关键词:2D3D,姿态,识别,前,言,基于,盘算机,亚搏手机版app官网下载苹果,视觉,的

本文来源:亚搏手机版app官网下载苹果-www.esymtx.com