CN112861777A - 人体姿态估计方法、电子设备及存储介质 - Google Patents
人体姿态估计方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112861777A CN112861777A CN202110245132.0A CN202110245132A CN112861777A CN 112861777 A CN112861777 A CN 112861777A CN 202110245132 A CN202110245132 A CN 202110245132A CN 112861777 A CN112861777 A CN 112861777A
- Authority
- CN
- China
- Prior art keywords
- pedestrian
- human body
- network model
- submodule
- center
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000036544 posture Effects 0.000 claims abstract description 62
- 238000012549 training Methods 0.000 claims abstract description 38
- 230000004927 fusion Effects 0.000 claims abstract description 18
- 238000001514 detection method Methods 0.000 claims abstract description 10
- 238000007781 pre-processing Methods 0.000 claims abstract description 6
- 238000005070 sampling Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 21
- 238000010586 diagram Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 238000011176 pooling Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 6
- 230000017105 transposition Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 abstract description 11
- 230000003993 interaction Effects 0.000 abstract description 3
- 239000010410 layer Substances 0.000 description 31
- 230000003287 optical effect Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000003930 cognitive ability Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本申请是关于一种人体姿态估计方法、电子设备及存储介质,通过采集行人姿态的图像,并对行人姿态的图像进行预处理,形成训练集;构建行人姿态估计网络模型,行人姿态估计网络模型包括基于DLA_Shufflenet的骨干网络、特征融合模块以及检测头模块;采用训练集的图像对行人姿态估计网络模型进行训练,优化行人姿态估计网络模型的网络参数;采集实时行人姿态图像,并基于训练完成的行人姿态估计网络模型对实时行人姿态图像中的人体中心点位置、中心点的偏移量和人体关键点偏移量进行检测,以此使得行人姿态估计网络模型实现轻量化,大大减少人体姿态估计算法的运算耗时,提升服务机器人与服务对象之间的行为交互能力。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种人体姿态估计方法、电子设备及存储介质。
背景技术
人体姿态估计是一种检测目标图片中人体关键点的方法,根据检测到的关节点连接成人体骨架,可以进一步理解到目标人的行为状态。在服务机器人领域,机器人不仅要有周围人群的感知能力,还要对服务人群的行为认知能力,如挥手,站立,行走等。这些肢体语言的认知能力,离不开人体姿态估计算法对人体的精确建模,将人体的关键点准确识别是提升机器人服务质量的关键。通常,人体体态估计算法依赖于上游的行人识别模块,待行人识别模块定位到行人后,人体姿态估计算法再进一步的估计人体关键点。现有的算法是一种二阶段的冗余结构,在资源有限的机器人设备上很难落地。
发明内容
为克服相关技术中存在的问题,本申请提供一种人体姿态估计方法、电子设备及存储介质,旨在提供一种轻量化的人体姿态估计网络,大大减少人体姿态估计算法的运算耗时,提升服务机器人与服务对象之间的行为交互能力。
本申请解决上述技术问题的技术方案如下:一种人体姿态估计方法,应用于服务机器人,其包括以下步骤:步骤1,采集行人姿态的图像,并对所述行人姿态的图像进行预处理,形成训练集;步骤2,构建行人姿态估计网络模型,所述行人姿态估计网络模型包括基于DLA_Shufflenet的骨干网络、特征融合模块以及检测头模块;步骤3,采用所述训练集的图像对所述行人姿态估计网络模型进行训练,优化所述行人姿态估计网络模型的网络参数;步骤4,采集实时行人姿态图像,并基于训练完成的行人姿态估计网络模型对所述实时行人姿态图像中的人体中心点位置、中心点的偏移量和人体关键点偏移量进行检测。
优选的,所述骨干网络包括ShuffleUnit子模块,所述ShuffleUnit子模块的结构按计算单元处理顺序为:通道分离器,用于将输入的特征图按照通道维度平均分为两个子分支;第一卷积层采用标准卷积,卷积核大小为1*1;第二卷积层采用深度可分离卷积,卷积核大小为3*3;第三卷积层为标准卷积,卷积核大小为1*1;串接器,用于将所述特征图的两个子分支重新串接在一起;通道重组器,用于将所述串接器串接的特征图的两个子分支按照通道维度重新排列。
优选的,所述骨干网络的结构按计算单元处理顺序为:第一卷积单元,所述第一卷积单元采用标准卷积,卷积核大小为3*3;最大池化单元,用于对所述第一卷积单元的输出进行特征降维;第一ShuffleUnit子模块,用于对所述最大池化单元的输出进行特征提取;第二ShuffleUnit子模块,用于对所述第一ShuffleUnit子模块的输出进行特征提取;第三ShuffleUnit子模块,用于对所述第二ShuffleUnit子模块的输出进行特征提取;第四ShuffleUnit子模块,用于对所述第三ShuffleUnit子模块的输出进行特征提取;第五ShuffleUnit子模块,用于对所述第四ShuffleUnit子模块的输出进行特征提取;第六ShuffleUnit子模块,用于对所述第五ShuffleUnit子模块的输出进行特征提取;第七ShuffleUnit子模块,用于对所述第六ShuffleUnit子模块的输出进行特征提取。
优选的,所述特征融合模块的结构按计算单元处理顺序为:双线性上采样单元,用于对32倍下采样层的输出进行特征获取;标准的卷积单元,卷积核大小为3*3,所述标准的卷积单元用于对所述双线性上采样单元的输出进行卷积;串接单元,用于融合16倍下采样层的输出和32倍下采样层的输出;转置卷积单元,用于输出最终融合特征。
优选的,所述第七ShuffleUnit子模块的输出与32倍下采样层的输入连接。
优选的,所述第三ShuffleUnit子模块的输出与16倍下采样层的输入连接。
优选的,所述采用训练集的图像对行人姿态估计网络模型进行训练,优化行人姿态估计网络模型的网络参数,具体包括以下步骤:步骤301,对所述行人姿态估计网络模型进行初始化,生成初始权重和初始偏置;步骤302,将所述训练集的图像作为样本数据输入到初始化后的行人姿态估计网络模型中,通过所述骨干网络提取输入图像的行人特征图,并通过所述检测头模块生成行人特征图中的行人中心点位置预测值,中心点偏移量预测值和人体关键点偏移量预测值;步骤303,采用预设损失函数计算损失值,降低所述损失值并进行反向传播,通过反复循环前向传播和反向传播对所述行人姿态估计网络模型的权重和偏置进行更新,直至达到预设迭代停止条件,生成训练完成的行人姿态估计网络模型。
优选的,所述预设损失函数为:
Loss=LossCenter+LossCenteroffset+Losskeypo int s;
LossCenter=CenterXYtlog(CenterXY)+(1-CenterXYt)log(1-CenterXY);
Losskeypo int s=(keypo int s-keypo int st)2;
其中,LossCenter为行人中心点位置的损失函数,LossCenteroffset为中心心点偏移量的损失函数,Losskeypo int s为人体关键点偏移量的损失函数;(CenterXY)为行人中心点位置预测值,Centeroffset为中心点偏移量预测值,keypo int s为人体关键点偏移量预测值,CenterXYt为训练集中的图像的行人中心点位置真实值,为训练集中的图像的中心点偏移量真实值,keypo int st为训练集中的图像的人体关键点偏移量真实值。
本申请实施例的第二方面提供了一种电子设备,包括:
处理器;以及一个或多个处理器;一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行如上所述的方法的指令。
本申请第三方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
本申请提供一种人体姿态估计方法、电子设备及存储介质,通过采集行人姿态的图像,并对所述行人姿态的图像进行预处理,形成训练集;构建行人姿态估计网络模型,所述行人姿态估计网络模型包括基于DLA_Shufflenet的骨干网络、特征融合模块以及检测头模块;采用所述训练集的图像对所述行人姿态估计网络模型进行训练,优化所述行人姿态估计网络模型的网络参数;采集实时行人姿态图像,并基于训练完成的行人姿态估计网络模型对所述实时行人姿态图像中的人体中心点位置、中心点的偏移量和人体关键点偏移量进行检测,以此本申请采用基于DLA_shufflenet骨干网络的单步人体姿态估计算法,简化了行人姿态估计网络的结构,大幅减少计算量,使得人体姿态估计方法在服务机器人等边缘端设备上的容易部署。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本申请实施例示出的人体姿态估计方法的流程示意图;
图2是本申请实施例示出的行人姿态估计网络模型的结构示意图;
图3是本申请实施例示出的ShuffleUnit子模块的结构示意图;
图4是本申请实施例示出的骨干网络的结构示意图;
图5是本申请实施例示出的特征融合模块的结构示意图;
图6是本申请实施例示出的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的优选实施方式。虽然附图中显示了本申请的优选实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
本发明实施例的机器人可以被构造成任何合适形状,以便实现特定业务功能操作,例如,本发明实施例机器人可以为递送机器人、搬运机器人、看护机器人等等。所述机器人一般包括壳体、传感器单元、驱动轮部件、存储部件及控制器。壳体的外形大体上呈圆形,在一些实施例中,壳体的外形可以大体上呈椭圆形、三角形、D形、柱形或其他形状。传感器单元用于采集机器人的一些运动参数及环境空间各类数据。在一些实施例中,传感器单元包括激光雷达,激光雷达安装于壳体上方,其安装高度高于所述壳体的顶部面壳高度,激光雷达用于检测机器人障碍物之间的障碍物距离。在一些实施例中,传感器单元还可以包括惯性测量单元(Inertial measurement unit,IMU)、陀螺仪、磁场计、加速度计或速度计、光学摄像头等等。驱动轮部件安装于壳体并驱动机器人在各种空间上移动,在一些实施例中,驱动轮部件包括左驱动轮、右驱动轮及全向轮,左驱动轮和右驱动轮分别安装于壳体的相对两侧。左驱动轮和右驱动轮被配置为至少部分可伸出及缩回壳体的底部。全向轮安装于壳体的底部的靠前位置,全向轮为活动脚轮,可以水平360度旋转,以使得机器人可以灵活转向。左驱动轮、右驱动轮及全向轮的安装构成三角形,以提高机器人行走的平稳性。当然,在一些实施例中,驱动轮部件还可以采用其他结构,比如全向轮可被省略,只留左驱动轮与右驱动轮亦可以驱动机器人正常行走。在一些实施例中,机器人还配置有存储部件,存储部件安装于收容槽内,从而完成递送任务等等。控制器分别与左驱动轮、右驱动轮、全向轮及激光雷达电连接。控制器作为机器人的控制核心,用于控制机器人行走、后退以及一些业务逻辑处理。
在一些实施例中,控制器可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、AR(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,控制器还可以是任何传统处理器、控制器、微控制器或状态机。控制器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。在一些实施例中,上述机器人在活动的过程中,控制器采用SLAM(simultaneous localization and mapping,即时定位与建图技术)技术,根据环境数据构建地图和定位,从而移动到目标位置完成递送任务、清洁任务等。控制器基于被建立好的地图以及机器人的位置,通过全覆盖路径规划算法指示机器人完全遍历一个环境空间。例如,在机器人遍历时,传感器单元获取遍历区域的图像,其中,该遍历区域的图像可以为整片遍历区域的图像,亦可以为整片遍历区域中局部遍历区域的图像。控制器根据遍历区域的图像生成地图,该地图已指示机器人需要遍历的区域以及位于遍历区域中的障碍物所在的坐标位置。当机器人每遍历完一个位置或区域后,机器人基于该地图,标记该位置或区域已被遍历。并且,由于障碍物在地图中是以坐标方式被标记,机器人遍历时,可以根据当前位置对应的坐标点与障碍物涉及的坐标点,判断与障碍物之间的距离,从而实现环绕障碍物作遍历工作。同理,位置或区域已遍历而被标记后,当机器人下一个位置将会移动至该位置或该区域时,机器人基于该地图以及该位置或该区域的标记,作出转弯调头或者停止遍历的策略。可以理解的是,控制器还可以根据多种方式识别已遍历位置或区域,或者,识别障碍物,从而作出满足产品需求的控制策略。
以下结合附图详细描述本申请实施例的技术方案。
请参阅图1以及图2,图1为本申请第一实施例示出的人体姿态估计方法的流程示意图,图2为为本申请第一实施例示出的行人姿态估计网络模型的结构示意图。
如图1以及图2所示,方法包括以下步骤:
步骤S1,采集行人姿态的图像,并对所述行人姿态的图像进行预处理,形成训练集;
具体的,在本实例中通过一服务机器人上的摄像装置采集行人姿态的图像。所述摄像机构可以为摄像头,相机等可以采集物体图像的装置。
优选实施例中,通过室内移动机器人的摄像头在各个室内场景随机采集行人姿态的图像。每隔10秒保存一帧画面,每个室内场景收集10000张数据图片,总计10W~20W数据规模。
步骤2,构建行人姿态估计网络模型,所述行人姿态估计网络模型包括基于DLA_Shufflenet的骨干网络、特征融合模块以及检测头模块;
请参考图3,图3为本申请第一实施例示出的ShuffleUnit子模块的结构示意图。
如图3所示,Shufflenet是一种轻量级卷积神经网络设计结构,在机器人等移动端设备因算力有限需要又快又准确的小模型,Shufflenet网络同时兼顾了速度和准确率性能。DLA(Deep layer Aggregation)是一种将不同stage和block之间信息融合的迭代式层聚合网络,在人体姿态估计领域,DLA网络可以充分挖掘语义信息,回归更为准确的人体关键点。
所述骨干网络包括ShuffleUnit子模块,所述ShuffleUnit子模块包括:通道分离器(Channel Split)、第一卷积层、第二卷积层、第三卷积层、串接器以及通道重组器。所述ShuffleUnit子模块的结构按计算单元处理顺序为:
所述通道分离器用于将输入的特征图按照通道维度平均分为两个子分支;其中一个子分支包括所述第一卷积层、所述第二卷积层以及所述第三卷积层。所述第一卷积层采用标准卷积,卷积核大小为1*1;所述第二卷积层采用深度可分离卷积,卷积核大小为3*3;所述第三卷积层为标准卷积,卷积核大小为1*1。所述串接器用于将所述特征图的两个子分支重新串接在一起。所述通道重组器用于将所述串接器串接的特征图的两个子分支按照通道维度重新排列。
其中Input为上层子模块的输出结果,OtherInput是来自跨层输出结果。通道分离器(Channel Split)是将输入特征图按照通道维度平均分为两个子分支。串接器(Concat)指输入按照通道维度合并。通道重组器(Shuffle)指特征图按照通道维度重新排列,具体算法定义如下:
X=X.reshape(B,H,W,C/g,g)
X=X.transpose([0,1,2,4,3])
X=X.reshape(B,H,W,C)。
其中reshape是将特征图的特征计算矩阵的尺寸从[B,H,W,C]变换成[B,H,W,C/g,g];
B=batch,指的是批次数目,当n涨图片同时参与计算时,此时B=n;
H:特征图的高度height;
W:特征图的得分宽度width;
C:特征图的通道数channels;
g:计算分组数量group;
其中Transpose:表示对矩阵X实现转置操作;
[0,1,2,4,3]是转置操作的参数,具体指的是矩阵维度4,3位置的数据转置交换,即[B,H,W,C/g,g]->[B,H,W,g,C/g]
最后通过reshape到原来尺寸[B,H,W,C]这一过程就可以达到将不同通道组别的数据混洗的目的。
请参考图4,图4为本申请第一实施例示出的骨干网络的结构示意图。
如图4所示,所述骨干网络由多个ShuffleUnit子模块堆叠而成,所述骨干网络的结构按计算单元处理顺序为:
第一卷积单元,所述第一卷积单元采用标准卷积,卷积核大小为3*3;
最大池化单元max pooling,用于对所述第一卷积单元的输出进行特征降维;
第一ShuffleUnit子模块,用于对所述最大池化单元的输出进行特征提取;
第二ShuffleUnit子模块,用于对所述第一ShuffleUnit子模块的输出进行特征提取;
第三ShuffleUnit子模块,用于对所述第二ShuffleUnit子模块的输出进行特征提取;
第四ShuffleUnit子模块,用于对所述第三ShuffleUnit子模块的输出进行特征提取;
第五ShuffleUnit子模块,用于对所述第四ShuffleUnit子模块的输出进行特征提取;
第六ShuffleUnit子模块,用于对所述第五ShuffleUnit子模块的输出进行特征提取;
第七ShuffleUnit子模块,用于对所述第六ShuffleUnit子模块的输出进行特征提取。
所述骨干网络采用Shufflenet作为特征提取器,用于提取行人图像中的高维特征,并过滤掉无效的背景信息干扰,生成高维特征图。
请参考图5,图5为本申请第一实施例示出的特征融合模块的结构示意图。
如图5所示,所述特征融合模块的结构按计算单元处理顺序为:
双线性上采样单元,用于对32倍下采样层的输出进行特征获取;
标准的卷积单元,卷积核大小为3*3,所述标准的卷积单元用于对所述双线性上采样单元的输出进行卷积;
串接单元Concat,用于融合16倍下采样层的输出和32倍下采样层的输出;
转置卷积单元,用于输出最终融合特征。
所述特征融合模块的主要目的是整合浅层和深层的网络输出信息,将不同尺寸的行人特征图像融合到统一的尺寸下一并处理。在基于Centernet网络的人体姿态估计网络中,采用转置卷积模块,可以理解成一种参数可学习的上采样模块,但此模块同时也会带来一定的计算量。本实施例中,采用双线性上采样单元和转置卷积单元结合的方式,在保留网络一定可学习参数的前提下,简化网络复杂度,减少计算量。
所述特征融合模块融合了来自16倍下采样和32倍下采样层的输出结果,32倍下采样层采用双线性上采样直接获取结果,与16倍下采样层结果组合后,由可学习的上采样转置卷积层输出最终融合特征。
在其中一个实施例中,所述第七ShuffleUnit子模块的输出与32倍下采样层的输入连接。
在其中一个实施例中,所述第三ShuffleUnit子模块的输出与16倍下采样层的输入连接。
在其中一个实施例中,所述检测头模块主要功能是预测图像中的人体中心点位置Center_xy以及中心点偏移量Center_offset和人体关键点偏移量Keypoints_offset。在本实施例中,网络的输入图片大小为320*320,经过所述特征融合模块后,会得到大小为40*40的特征层,预测人体中心点位置Center_xy表示预测行人目标中心落在40*40具体哪个方格中,Center_offset表示中心点在方格中的位置,Keypoints_offset表示人体关键点相对于中心点的位置。
步骤3,采用所述训练集的图像对所述行人姿态估计网络模型进行训练,优化所述行人姿态估计网络模型的网络参数;
具体的,所述采用训练集的图像对行人姿态估计网络模型进行训练,优化行人姿态估计网络模型的网络参数,具体包括以下步骤:
步骤S301,对所述行人姿态估计网络模型进行初始化,生成初始权重和初始偏置;
步骤S302,将所述训练集的图像作为样本数据输入到初始化后的行人姿态估计网络模型中,通过所述骨干网络提取输入图像的行人特征图,并通过所述检测头模块生成行人特征图中的行人中心点位置预测值,中心点偏移量预测值和人体关键点偏移量预测值;
步骤S303,采用预设损失函数计算损失值,降低所述损失值并进行反向传播,通过反复循环前向传播和反向传播对所述行人姿态估计网络模型的权重和偏置进行更新,直至达到预设迭代停止条件,生成训练完成的行人姿态估计网络模型。
在其中一个实施例中,所述预设损失函数为:
Loss=LossCenter+LossCenteroffset+Losskeypo int s;
LossCenter=CenterXYtlog(CenterXY)+(1-CenterXYt)log(1-CenterXY);
Losskeypo int s=(keypo int s-keypo int st)2;
其中,LossCenter为行人中心点位置的损失函数,LossCenteroffset为中心心点偏移量的损失函数,Losskeypo int s为人体关键点偏移量的损失函数;(CenterXY)为行人中心点位置预测值,Centeroffset为中心点偏移量预测值,keypo int s为人体关键点偏移量预测值,CenterXYt为训练集中的图像的行人中心点位置真实值,为训练集中的图像的中心点偏移量真实值,keypo int st为训练集中的图像的人体关键点偏移量真实值。
优选实施例中,采用动量参数为0.9、权重衰减为0.001且学习率多项式缓慢下降的带动量随机梯度下降法对所述预设损失函数进行最小化计算,且训练100次后终止训练,保存所述行人姿态估计网络模型的网络参数,生成训练完成的行人姿态估计网络模型。
步骤4,采集实时行人姿态图像,并基于训练完成的行人姿态估计网络模型对所述实时行人姿态图像中的人体中心点位置、中心点的偏移量和人体关键点偏移量进行检测,以此得到人体中心点位置预测值Center_XY、中心点的偏移量预测值Center_offset和人体关键点偏移量预测值Keypoints_offset,最终得到人体中心点(Center)和关键点(keypoints)在图片中的位置定义如下:
Center=8*(CenterXY+Centerofset);
Keypo int s=Center+8*keypo int soffset;
在本实施例中,通过采集行人姿态的图像,并对所述行人姿态的图像进行预处理,形成训练集;构建行人姿态估计网络模型,所述行人姿态估计网络模型包括基于DLA_Shufflenet的骨干网络、特征融合模块以及检测头模块;采用所述训练集的图像对所述行人姿态估计网络模型进行训练,优化所述行人姿态估计网络模型的网络参数;采集实时行人姿态图像,并基于训练完成的行人姿态估计网络模型对所述实时行人姿态图像中的人体中心点位置、中心点的偏移量和人体关键点偏移量进行检测,以此使得行人姿态估计网络模型实现轻量化,大大减少人体姿态估计算法的运算耗时,提升服务机器人与服务对象之间的行为交互能力;同时本申请采用基于DLA_shufflenet骨干网络的单步人体姿态估计算法,简化了行人姿态估计网络的结构,大幅减少计算量,使得人体姿态估计方法在服务机器人等边缘端设备上的容易部署。
图6是本申请实施例示出的电子设备的结构示意图。
参见图6,电子设备400包括存储器410和处理器420。
处理器420可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器410可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器1020或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器410可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器410可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器410上存储有可执行代码,当可执行代码被处理器420处理时,可以使处理器420执行上文述及的方法中的部分或全部。
上文中已经参考附图详细描述了本申请的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本申请所必须的。另外,可以理解,本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的处理器执行时,使所述处理器执行根据本申请的上述方法的各个步骤的部分或全部。
本领域技术人员还将明白的是,结合这里的申请所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本申请的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种人体姿态估计方法,应用于服务机器人,其特征在于,包括以下步骤:
步骤1,采集行人姿态的图像,并对所述行人姿态的图像进行预处理,形成训练集;
步骤2,构建行人姿态估计网络模型,所述行人姿态估计网络模型包括基于DLA_Shufflenet的骨干网络、特征融合模块以及检测头模块;
步骤3,采用所述训练集的图像对所述行人姿态估计网络模型进行训练,优化所述行人姿态估计网络模型的网络参数;
步骤4,采集实时行人姿态图像,并基于训练完成的行人姿态估计网络模型对所述实时行人姿态图像中的人体中心点位置、中心点的偏移量和人体关键点偏移量进行检测。
2.根据权利要求1所述的人体姿态估计方法,其特征在于,所述骨干网络包括ShuffleUnit子模块,所述ShuffleUnit子模块的结构按计算单元处理顺序为:
通道分离器,用于将输入的特征图按照通道维度平均分为两个子分支;
第一卷积层采用标准卷积,卷积核大小为1*1;
第二卷积层采用深度可分离卷积,卷积核大小为3*3;
第三卷积层为标准卷积,卷积核大小为1*1;
串接器,用于将所述特征图的两个子分支重新串接在一起;
通道重组器,用于将所述串接器串接的特征图的两个子分支按照通道维度重新排列。
3.根据权利要求2所述的人体姿态估计方法,其特征在于,所述骨干网络的结构按计算单元处理顺序为:
第一卷积单元,所述第一卷积单元采用标准卷积,卷积核大小为3*3;
最大池化单元,用于对所述第一卷积单元的输出进行特征降维;
第一ShuffleUnit子模块,用于对所述最大池化单元的输出进行特征提取;
第二ShuffleUnit子模块,用于对所述第一ShuffleUnit子模块的输出进行特征提取;
第三ShuffleUnit子模块,用于对所述第二ShuffleUnit子模块的输出进行特征提取;
第四ShuffleUnit子模块,用于对所述第三ShuffleUnit子模块的输出进行特征提取;
第五ShuffleUnit子模块,用于对所述第四ShuffleUnit子模块的输出进行特征提取;
第六ShuffleUnit子模块,用于对所述第五ShuffleUnit子模块的输出进行特征提取;
第七ShuffleUnit子模块,用于对所述第六ShuffleUnit子模块的输出进行特征提取。
4.根据权利要求3所述的人体姿态估计方法,其特征在于,所述特征融合模块的结构按计算单元处理顺序为:
双线性上采样单元,用于对32倍下采样层的输出进行特征获取;
标准的卷积单元,卷积核大小为3*3,所述标准的卷积单元用于对所述双线性上采样单元的输出进行卷积;
串接单元,用于融合16倍下采样层的输出和32倍下采样层的输出;
转置卷积单元,用于输出最终融合特征。
5.根据权利要求4所述的人体姿态估计方法,其特征在于,所述第七ShuffleUnit子模块的输出与32倍下采样层的输入连接。
6.根据权利要求5所述的人体姿态估计方法,其特征在于,所述第三ShuffleUnit子模块的输出与16倍下采样层的输入连接。
7.根据权利要求6所述的人体姿态估计方法,其特征在于,所述采用训练集的图像对行人姿态估计网络模型进行训练,优化行人姿态估计网络模型的网络参数,具体包括以下步骤:
步骤301,对所述行人姿态估计网络模型进行初始化,生成初始权重和初始偏置;
步骤302,将所述训练集的图像作为样本数据输入到初始化后的行人姿态估计网络模型中,通过所述骨干网络提取输入图像的行人特征图,并通过所述检测头模块生成行人特征图中的行人中心点位置预测值,中心点偏移量预测值和人体关键点偏移量预测值;
步骤303,采用预设损失函数计算损失值,降低所述损失值并进行反向传播,通过反复循环前向传播和反向传播对所述行人姿态估计网络模型的权重和偏置进行更新,直至达到预设迭代停止条件,生成训练完成的行人姿态估计网络模型。
8.根据权利要求7所述的人体姿态估计方法,其特征在于,所述预设损失函数为:
Loss=LossCenter+LossCenteroffset+Losskeypoints;
LossCenter=CenterXYtlog(CenterXY)+(1-CenterXYt)log(1-CenterXY);
Losskeypoints=(keypoints-keypointst)2;
9.一种电子设备,包括:存储器;一个或多个处理器;一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1-8所述方法中的任一方法的指令。
10.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1-8任一项所述的人体姿态估计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110245132.0A CN112861777A (zh) | 2021-03-05 | 2021-03-05 | 人体姿态估计方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110245132.0A CN112861777A (zh) | 2021-03-05 | 2021-03-05 | 人体姿态估计方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112861777A true CN112861777A (zh) | 2021-05-28 |
Family
ID=75993354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110245132.0A Pending CN112861777A (zh) | 2021-03-05 | 2021-03-05 | 人体姿态估计方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112861777A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113297995A (zh) * | 2021-05-31 | 2021-08-24 | 深圳市优必选科技股份有限公司 | 一种人体姿态估计方法及终端设备 |
CN114186632A (zh) * | 2021-12-10 | 2022-03-15 | 北京百度网讯科技有限公司 | 关键点检测模型的训练方法、装置、设备、存储介质 |
CN115761885A (zh) * | 2022-11-16 | 2023-03-07 | 之江实验室 | 一种共时与跨域异步融合驱动的行为识别方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558832A (zh) * | 2018-11-27 | 2019-04-02 | 广州市百果园信息技术有限公司 | 一种人体姿态检测方法、装置、设备及存储介质 |
WO2020216116A1 (zh) * | 2019-04-26 | 2020-10-29 | 腾讯科技(深圳)有限公司 | 动作识别方法和装置、人机交互方法和装置 |
-
2021
- 2021-03-05 CN CN202110245132.0A patent/CN112861777A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558832A (zh) * | 2018-11-27 | 2019-04-02 | 广州市百果园信息技术有限公司 | 一种人体姿态检测方法、装置、设备及存储介质 |
WO2020216116A1 (zh) * | 2019-04-26 | 2020-10-29 | 腾讯科技(深圳)有限公司 | 动作识别方法和装置、人机交互方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113297995A (zh) * | 2021-05-31 | 2021-08-24 | 深圳市优必选科技股份有限公司 | 一种人体姿态估计方法及终端设备 |
CN113297995B (zh) * | 2021-05-31 | 2024-01-16 | 深圳市优必选科技股份有限公司 | 一种人体姿态估计方法及终端设备 |
CN114186632A (zh) * | 2021-12-10 | 2022-03-15 | 北京百度网讯科技有限公司 | 关键点检测模型的训练方法、装置、设备、存储介质 |
CN115761885A (zh) * | 2022-11-16 | 2023-03-07 | 之江实验室 | 一种共时与跨域异步融合驱动的行为识别方法 |
CN115761885B (zh) * | 2022-11-16 | 2023-08-29 | 之江实验室 | 一种共时与跨域异步融合驱动的行为识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112861777A (zh) | 人体姿态估计方法、电子设备及存储介质 | |
Grigorescu et al. | A survey of deep learning techniques for autonomous driving | |
Hu et al. | Object traversing by monocular UAV in outdoor environment | |
Chen et al. | Real-time object tracking on a drone with multi-inertial sensing data | |
Yang et al. | Fast depth prediction and obstacle avoidance on a monocular drone using probabilistic convolutional neural network | |
JP2022538927A (ja) | 3次元目標検出及びインテリジェント運転 | |
WO2018177159A1 (zh) | 运动物体的位置确定方法及系统 | |
CN110378483A (zh) | 部署在模拟平台上的用于训练机器学习模型的系统和方法 | |
CN112015847B (zh) | 一种障碍物的轨迹预测方法、装置、存储介质及电子设备 | |
EP3899786A1 (en) | Detecting objects in crowds using geometric context | |
CN107679489B (zh) | 基于场景分割的自动驾驶处理方法、装置及计算设备 | |
CN102607532B (zh) | 一种利用飞控数据的低空影像快速匹配方法 | |
CN110390240A (zh) | 自动驾驶车辆中的车道后处理 | |
CN111928857B (zh) | 一种动态环境中实现slam定位的方法及相关装置 | |
Xing et al. | DE‐SLAM: SLAM for highly dynamic environment | |
US11308324B2 (en) | Object detecting system for detecting object by using hierarchical pyramid and object detecting method thereof | |
CN114972492A (zh) | 一种基于鸟瞰图的位姿确定方法、设备和计算机存储介质 | |
Barisic et al. | Brain over Brawn: Using a Stereo Camera to Detect, Track, and Intercept a Faster UAV by Reconstructing the Intruder's Trajectory | |
Rao et al. | Real time vision-based autonomous precision landing system for UAV airborne processor | |
WO2023129856A1 (en) | Boundary estimation apparatus and method | |
Thanh Dat et al. | A deep learning based implementation for self-driving car | |
Konomura et al. | Visual 3D self localization with 8 gram circuit board for very compact and fully autonomous unmanned aerial vehicles | |
Asante et al. | Segmentation-Based Angular Position Estimation Algorithm for Dynamic Path Planning by a Person-Following Robot | |
Botterill | Visual navigation for mobile robots using the bag-of-words algorithm | |
Liang et al. | Real-time moving target tracking algorithm of UAV/UGV heterogeneous collaborative system in complex background |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |