当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于人脸检测和关键点定位的人体组件划分方法技术

技术编号:12034263 阅读:132 留言:0更新日期:2015-09-10 23:14
本发明专利技术提供了一种基于人脸检测和关键点定位的人体组件划分方法。该方法主要针对无肢体重叠的图像进行人体组件的划分,包括输入人体图像,利用人脸检测技术定位人体的大致范围,通过边缘检测获取准确的人体轮廓,再使用十字链表存储和检索方法,从而完成基于关键点查找的人体组件的自动划分。本方法借用比较成熟的人脸检测算法来完成人脸识别,再根据人脸信息大致定位人体位置并提取出准确的人体轮廓,然后根据人体的比例约束,在人体的外轮廓上搜索和定位关键点,最后根据这些关键点快速分离出各个身体组件的轮廓。该方法具有较好的实时性和较高的准确率,可以用于人体的三维重建、人体的测量以及行为识别等诸多领域。

【技术实现步骤摘要】

本专利技术属于计算机图像处理
,具体涉及一种基于人脸检测和关键点定位 的人体组件划分方法。
技术介绍
视频或图片中人体的组件划分可以服务于人体精确三维重建、人体组件测量和 行为识别等诸多相关领域的研宄和实际应用。在过去的十几年中,这一问题的研宄吸引 了诸多研宄这的关注。文献l:Haritaoglu,D.Harwood,andL.S.Davis, "W4:Real_time surveillanceofpeopleandtheiractivities, "IEEETrans.PatternAnal.Mach. Intell.,vol. 22,no. 8,pp. 809 - 830,Aug. 2000.提出了一种递归凸壳算法来构造基于轮廓 模型寻找可能的身体部位。文献 2:S.S.Micilotta,E.J.Ong,andR.Bowden,"Detecting andtrackingofhumansbyprobabilisticbodypartassembly, "inProc. BritishMachineVisionConf.,Sep. 2005,vol.l,pp. 429 - 438?使用几种提前用 Adaboost算法训练过的身体部分探测器检测到了不同的身体部位。文献3:S.Weik andC.E.Liedtke,"Hierarchical3Dposeestimationforarticu-latedhuman bodymodelsfromasequenceofvolumedata, "inProc.Int.WorkshopRobot Vis. ,Auckland,NewZealand,Feb. 2001,pp. 27 - 34?跟踪沿着身体的轮廓负的最小曲 率,然后使用修正迭代最近点算法分析每个身体部位。文献4 :Y.Song,L.Goncalves,and P.Perona,"Unsupervisedlearningofhumanmotion, "IEEETrans.PatternAnal. Mach.Intell. ,vol. 25,no. 7,pp. 814 - 827,Jul. 2003.提出了一种基于角的方法研宄人类 的姿势,并从视频序列中确定身体部分。文献5:Jun-WeiHsieh,Chi-HungChuang,and Sin-YuChenetal,"SegmentationofHumanBodyPartsUsingDeformable Triangulation,IEEETrans.Systems,Man,AndCybernetics,vol. 40,no. 3,May2010 提 出一种新颖的三角分割算法来做躯干定位的基础算法。但总体来说仍然具有一些较为明显 的不足,主要包括(1)没有考虑快速剔除"类似人体形状"的预处理,(2)可能需要大量的训 练图片。
技术实现思路
专利技术目的:本专利技术的目的是针对以上人体组件划分方法的缺陷和不足,提出一种 解决人体组件划分问题的新思路、新方法。 为实现所述目的,本专利技术使用比较成熟人脸检测算法进行人脸定位,再根据人脸 位置和轮廓上的关键点信息进行组件划分。其特征是在输入图像后,包括以下处理步骤: 步骤1,输入无肢体重叠的人体图像,在图像中使用Adaboost学习算法,即基于 Haar-like级联分类器的人脸检测方法进行人脸检测,根据检测得到的人脸的位置信息确 定人脸的中心和人脸的的半径; 步骤2,根据人脸的位置信息检测得到对应的人体外轮廓; 步骤3,基于十字链表结构在检测得到的人体轮廓上进行关键点定位; 步骤4,利用关键点将人体轮廓划分成各人体组件的轮廓。 其中,步骤2包括:使用Canny算子进行边缘检测,找出人体图像中所有物体的外 轮廓集合私},1£{1,2,一,111},且(;=妒」(父」,¥」)},_]_£{1,2,.",11},111、11为大于1的 自然数,Pj(Xj,Yj)表示外轮廓上的像素点,Y」分别表示外轮廓上的像素点的横坐标和 纵坐标,I和分别表示检测得到的人脸中心横坐标、人脸中心纵坐标和人脸半径,满 足如下公式: 其中外轮廓集合{CJ中元素最多的轮廓为人体轮廓。 步骤3包括如下步骤: 步骤3-1,采用十字链表的存储结构对人体外轮廓上的像素点的简单链式结构进 行重组,并进行关键点的查找和定位,关键点包括:人脸中心点1个、人体颈部左右边缘关 键点共2个、人体左臂和右臂的上界点以及人体左臂和右臂的下界点共4个、人体腰部左右 边缘关键点共2个、人体裤裆中点1个; 步骤3-2,建立十字链表:对人体外轮廓上的像素点列进行一次逐点链式扫描,在 扫描过程中,扫描第一个点时,分别建立一个行头指针和一个列头指针,都指向扫描的这个 点,再新建一个总指针,向右指向行头指针,向下指向列头指针,然后按人体外轮廓的链式 结构逐个扫描其它点时,如属于已创建行或列,便按行或列坐标顺序加入十字链表中,如不 属于已创建行或列,便新建一个行或列头指针,先将此指针加入行或列头指针链中,再把指 针指向该扫描点,统计每行和每列的点个数total,并用index标识每个点在被读取出来的 序号即在被读取出来时是第几个; 步骤3-3,确定人体颈部左、右边缘关键点,算法步骤如下:步骤3-3-1,获取十字链表行链坐标Y= 的行指针; 步骤3-3-2,遍历十字链表中所有点Pj,若存在点Pj的横坐标Xj满足XQ-RQ〈Xj〈XQ^lJ Pj为人体颈部左边缘关键点,若Pj为十字链表中最后一个点且XyXjO^+l,则Pj为人体颈 部右边缘关键点,若人体颈部左右边缘关键点全找到,则算法终止,否则执行步骤3-3-3 ; 步骤3-3-3,行指针上移一行,若行链坐标Y=Y〇-R〇,算法终止; 步骤3-3-4,重复步骤3-3-2~步骤3-3-3。 步骤3-4,确定人体裤裆中点关键点,算法步骤如下: 步骤3-4-1,获取十字链表行链坐标Y= (2RQX5. 5/4)X(1-0. 467)/ (l-〇.844)-(YQ-RQ)的行指针;步骤3-4-2,遍历十字链表中所有点Pj,若存在点Pj的横坐标X」满足XA〈Xj〈XB,则 执行步骤3-4-3,PJPPB分别表示人体颈部左、右边缘关键点,XJPXB分别为人体颈部左、 右边缘关键点的横坐标,若不存在且行指针未移动过,执行步骤3-4-4,若不存在且行指针 移动过,执行步骤3_4_5 ; 步骤3-4-3,定义当前行链坐标为Yk,逐行向上遍历十字链表中行链坐 标满足Yk〈Y〈 =Yk-h〇G的行,其中h〇G为肚脐到臀部下边缘的竖直高度,h〇G= (2R0X5. 5/4)X(0? 600-0. 467)八1-0. 844),若十字链表中存在点P」的横坐标X」满足 XA〈X^XB的行链,将行指针上移到此行,继续执行步骤3-4-2,否则执行步骤3-4-5 ;步骤3-4-4,逐行向下遍历十字链表中所有点Pj,找到第一个存在点横坐标X」 满足XA〈Xj〈XB的行;步骤3-4-5,遍历步骤3-4-4找到的行中所有的点,|X」-(XA+XB) /2 |最小的点即为 人体裤裆中点关键点; 步骤3-5,确定人体腰部左右边缘关键点,算法步骤如下:本文档来自技高网
...

【技术保护点】
一种基于人脸检测和关键点定位的人体组件划分方法,其特征在于,包括以下步骤:步骤1,输入无肢体重叠的人体图像,在图像中使用Adaboost学习算法,即基于Haar‑like级联分类器的人脸检测方法进行人脸检测,根据检测得到的人脸的位置信息确定人脸的中心和人脸的半径;步骤2,根据人脸的位置信息检测得到对应的人体外轮廓;步骤3,基于十字链表结构在检测得到的人体轮廓上进行关键点定位;步骤4,利用关键点将人体轮廓划分成各人体组件的轮廓。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨若瑜马旋
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1