首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于手势识别的机器人控制系统(一))

基于手势识别的机器人控制系统(一))

文章研究了一种基于人体手势识别的机器人控制系统,首先,利用图像识别技术,通过YCrCb皮肤颜色模型提取手掌并分析指尖和手心的相关信息;其次,利用帧差法对手掌运动趋势和简单的手势信息进行识别;最后,通过无线蓝牙串口将识别出来的手势信号发送给机器人,以达到手势控制机器人的目的。

随着科学技术的发展,人们一直在探寻着一种全新的人机交互方式来突破鼠标、键盘、遥控器的约束,手势识别技术由于其具有自然、方便的人际交流特性而被人们所广泛研究,早在1993年B.Thomas等人就提出了借助数据手套或在人手粘贴特殊颜色的辅助标记来进行手势动作的识别,由此开启了人们对手势识别领域的探索,通过十多年的发展,尤其是计算机视觉的快速发展,人们从粘贴特殊颜色的辅助标记逐步向裸手识别技术迈进。
    微软公司就在2010年推出了一款名为Kinect的设备,用户只需要完成一些预定的手势动作就可以实现控制电脑玩体感游戏的目的,目前,互联网巨头谷歌及汽车厂商福特均在研发支持手势控制功能的智能汽车,此类汽车通过车载摄像头识别特定手势,以此来替代汽车仪表盘上的各种旋钮和按钮,或许很快,司机师傅们只需要挥一挥手,就可以随意打开窗户或者空调,本文研究的就是这种手势识别控制技术。
    文章建立了一个动态手势识别的模型,通过手势分割、手势识别和系统交互来实现手势控制机器人系统的设计,利用YCrCb颜色空间提取手掌区域并识别出手心和手指指尖的坐标,对手势区域进行实时跟踪和分析,得出相应的手势信息,将分析出来的手势信息通过无线蓝牙串口发送给机器人,进而控制机器人的运动。
1 肤色提取及手势分割
    1.1 基于YCrCb的肤色提取
    YCrCb颜色空间具有将色度和亮度分离的特点,对肤色的聚类特性比较好,受亮度变化的影响小,可以很好的区分肤色区域,根据文献中的数据可以知道,人体皮肤颜色在YCrCb色度空间的分布范围大致为:77≤Cb≤127,133≤Cr≤173选取这个范围作为肤色分割的阈值。
    以下是RGB颜色空间与YCrCb颜色空间的转换关系:




  1.2 复杂背景下的手势分割
   据羿戓设计所了解, 考虑到实际图像采集过程中背景噪声可能会对手部提取产生干扰,系统设计时首先需要排除类似于皮肤颜色背景噪声的影响,实验选择了和皮肤颜色相近似的相框和衣服作为背景如图1-1,通过以上的皮肤肤色模型对图像进行分割得到图1-2所示的二值化图片。
    OpenCV提供了查找连通区域的函数,可以返回各个连通区域的标号和像素点的面积,由于手部区域在图像中占主导地位,取像素点面积最大的连通区域为候选区域,用矩形标记出该连通区域和中心点的坐标,对其他不符合条件的区域进行填充即可得到如图1-3所示的手势分割区域。




图1 手势分割对比图


    设计时还需考虑如果手不在图像捕捉范围时,不能误将和肤色类似的背景区域理解为手势区域,为了防止这样情况的发生,规定当最大连通区域小于5000像素点时,不予标记,系统选择了许多较为苛刻的环境进行测试,实验效果良好,可以正确分割出手势区域。
2 手势信息分析及识别
    2.1 指尖提取和手指个数识别
    为了确定指尖的位置,还需引入凸包这一概念,提取出的手掌区域的二值化图片在计算机中是以二维平面的点集构成的,凸包就是将最外层的点连接起来构成的凸多边型,它能包含点集中所有的点,OpenCV提供了convexHull函数来寻找凸多边形的各个顶点,图2就是对手势图片的凸包顶点进行标记后的结果。




图2 凸包顶点标记


    从图2中可以发现,有些指尖被重复标记而且一些无关区域也被标记出来,这就给精确识别指尖个数带来了麻烦,需要去除这些不符合要求的点,规定当凸包顶点间距离小于500像素点时,只标记其中一个;低于手心坐标的区域不予标记,其中手心坐标提取公式如下:




  公式中,Pm(x,y)为手势区域中第m个像素点的坐标值,N为手势区域中像素点的总个数,得到的C(x,y)为手心的坐标,通过以上步骤就可以比较准确的识别出手心和指尖的位置,统计蓝色圆圈的数目就可以得到手指个数,如图3。




图3 指尖、手心标记




羿戓LOGO.webp.jpg


上海.羿歌,主要立足于物联网之感知层的解决方案和组件设计制造。  18918134319
返回列表