湖南工业大年夜学研究者设计出一种可重构手势的交互传授教化机械人_手势_模块
该机器人以Xilinx的Spartan6为掌握器,通过OV5640摄像头对手势图像信息进行识别传输,利用I2C总线与FPGA掌握芯片进行通信,利用WiFi模块进行数据传输,从而对机器人进行相应的手势指令掌握,实现人机手势交互、机器臂抓物、自动循迹、超声避障、运动除障、语音播报等多种功能。同时,该手势掌握机器人对测试者的数字手势和动作手势识别精确率达95.1%,实时识别相应韶光小于0.5s。
本文设计的基于FPGA的可重构动静态手势交互传授教化机器人可运用于FPGA系统设计等研究类课程传授教化中,具有推广代价。
随着机器人传授教化办法逐渐多样化,基于图像处理的手势识别掌握机器人在课程示教和人机交互中变得越来越主要,提高传授教化过程中人机交互的多样性至关主要。
近期关于人机交互掌握技能的研究变得非常生动,紧张研究内容包括手势识别、语音识别等,与传统交互办法在灵巧性和掌握间隔上有所不同,基于视觉的手势人机交互办法具有适应性强、直不雅观方便等特点。手势识别系统须要实时性强、分辨率高和功耗低的图像处理能力,中心处理器(CPU)的架构性能无法知足实时图像处理哀求,而传统图形处理器(GPU)的功耗较高,不利于移动式掌握系统,以是本文采取现场可编程门阵列(FPGA)作为图像处理掌握系统,不仅可以降落功耗,而且可显著提高实时处理速率。
基于手势识别的课程示教办法紧张是通过一系列的图像处理将手势措辞转换为其他指令措辞。在手势信息中,最关键的特色是肤色和边缘信息,然而人的肤色各不相同、手势的详细含义多种多样,而且周围环境繁芜、各种视觉摄像机硬件之间存在差异,因此基于手势识别掌握的机器人在高校课程示教方面的运用有很大的研究空间。
干系学者对可重构传授教化机器人系统展开了干系研究。有文献针对语音识别和体育传授教化,研究了一种稠浊体育示教机器人,扩展了人工智能传授教化办法的多样性。有文献为了提高机器人示教动作的准确稳定性和直不雅观性,利用基于视觉勾引的图像处理来进行机器臂抓取实验,研究并实现了一种基于双目视觉的双臂协作传授教化机器人。有文献为了让学生更加直不雅观深入地学习机器人的架构和事理,设计了一款易于拆卸和组装的可重构模块化传授教化机器人,以提高示教效率。有文献结合上位机软件和下位机硬件掌握,分模块设计示教机器人的机器构造,研究并实现了一种基于上位机掌握的拖动示教机器人系统。
在手势识别掌握的干系研究中,何之源在ARM7开拓板上利用嵌入式打算平台,利用模版匹配法设计实现了静态手势识别,但该手势识别掌握系统对模板准确度的哀求较高,且该手势识别系统稳定性较低。PATHAN A N等设计的机器人掌握系统利用手指计数的办法达到静态手势识别,进而天生特定旗子暗记值来掌握机器人实行命令,但该识别办法比较单一,未能将动静态手势结合来掌握机器人。朱越等提出一种手势轮廓像素变革的静态手势识别方法,对手势进行实时检测并显示,虽然提高了掌握系统的鲁棒性,但该方法只进行了Matlab仿真,未经实物验证,缺少说服力。
本文针对FPGA系统综合演习类课程,设计开拓一种基于FPGA的可重构动静态手势交互传授教化机器人,该机器人系统涉及多种传感器、手势交互图像处理、无线通信、机器人运动掌握与循迹、机器臂操作掌握等综合运用,具有人机手势交互、机器臂抓物、自动循迹、超声避障、运动除障、语音播报等多种功能,以期能有效引发学生的学习与创造兴趣,提高学生的FPGA运用能力。
1 动静态手势识别流程与干系算法
1.1 图像预处理
在摄像头实时采集手势图像的过程中,外界环境会导致各种图像噪声,以是须要利用手势处理算法对其进行图像预处理,担保信息可靠性。
手势图像处理流程如图1所示。首先对原始手势图像进行RGB转YCbCr操作,然后进行二值化处理,为了获取更清晰明确的图像边缘信息,利用形态学滤波操作中的堕落和膨胀对图像边缘信息做连通域处理,再进行Sobel边缘检测,经由特色值提取后,就可得到手势分割后的手势图像信息。
图1 手势图像处理流程
1.2 手势分割
手势分割至关主要,其处理结果直接影响手势信息的识别。手势分割的目标是将手势与背景分离,提取出手势中的关键像素,并去除滋扰项,以得到更准确有效的手势图像,提高手势识别准确率。本文采取经多次实验改进后的肤色模型法,基本色彩空间有RGB、HSV和YCbCr。本文采取RGB转YCbCr,在RGB色彩空间中,人体肤色所在区间为
式(1)—式(3)
1.3 静态手势识别
手势识别的关键是提取和辨认手势特色值,它决定了系统的识别率。手势特色可用于描述不同手势之间的差异,通过归纳各种手势信息的特性,就可总结手势的信息特色。手势信息特色应具有代表性和鲁棒性,以确保手势识别结果的准确性。
式(4)—式(6)
手势在图像中的面积发生改变会造成几何矩变革,从而失落去缩放不变性。为理解决这一问题,须要进行归一化处理,归一化打算公式为
式(7)—式(8)
1.4 动态手势检测
动态手势识别检测紧张对图像质心的移动轨迹进行判断,动态手势识别检测判断如图2所示。首先将经式(6)打算得到的图像质心保存并定义为中央区域,并在其高下旁边四个方向画出得当边界,定义为A区域,该区域被定义为移动区域,A区域上方被定义为E区域,其含义为向上移动,B区域表示向下移动,C、D区域分别表示旁边两个方向移动。若动态手势经由某个区域,则表示向这个方向移动,按照这种区域检测判断办法,即可完成对手势方向的动态识别。
图2 动态手势识别检测判断
动态手势跟踪算法流程如图3所示。动态手势识别是对手的不同运动轨迹进行识别,通过改进的手势肤色模型和手势中央点方向向量法跟踪得到手势运动轨迹,然后提取手势运动轨迹的特色向量,就可以实现对手势质心轨迹的识别。确定跟踪手势目标后,利用锁定质心的办法对动态手势进行更精准的轨迹确定,然后就可以发出动态手势指令对机器人系统进行掌握。
图3 动态手势跟踪算法流程
2 FPGA可重构传授教化机器人的设计与仿真
2.1 动静态手势FPGA掌握系统设计
图4为该机器人的FPGA系统硬件总体框图。机器人系统包括数据采集模块、手势识别模块、掌握指令译码模块和输出驱动模块。该手势掌握机器人吸收来自PC、红外和超声波传感器的掌握信息,并通过数据采集模块传送到掌握指令译码模块。同时,吸收来自OV5640的手势信息,经由手势识别模块处理后也传送到掌握指令译码模块。
指令译码模块根据指令,结合摄像头采集、处理后的手势识别结果,以及采集的红外传感器旗子暗记值和超声波传感器间隔值,选择当前机器人的事情模式,在特定事情模式下,系统会根据红外传感器、超声波传感器及手势信息的识别结果产生掌握旗子暗记,并发送给输出驱动模块。
图4 FPGA系统硬件总体框图
在手势识别模块中,OV5640摄像头采集的图像数据经由RGB转YCbCr、高斯滤波、形态学处理、手势分割及边缘检测等预处理后存入同步动态随机存取内存(synchronous dynamic random access memory, SDRAM)中,然后被送到***图形阵列(video graphics array, VGA)驱动模块用于显示,并进行特色值打算与特色匹配,得到的识别结果被送到指令译码模块,接着各输出驱动模块根据指令译码模块产生的掌握旗子暗记来产生各个实行机构的驱动旗子暗记。
2.2 Sobel边缘检测模块
系统的图像边缘检测采取广泛运用于图像处理和打算机视觉的Sobel边缘检测算法。该算法利用两个3×3的矩阵对图像进行卷积运算,打算出图像在水平与竖直方向的灰度差分估计值。
式(9)—式(10)
图5为Sobel边缘检测流程,图6为Sobel边缘检测模块时序仿真结果。首先读取位图(bitmap, BMP)图像的数据信息并存入数组,同时仿照摄像头时序,按照行、场同步旗子暗记读取一帧图像的信息,将该旗子暗记作为图像处理模块的输入旗子暗记,接着将图像传入Sobel图像边缘处理模块得到处理后的数据,末了存入数组,将数据写入BMP图像。
图5 Sobel边缘检测流程
图6 Sobel边缘检测模块时序仿真结果
图6中,iBmpFileId和oBmpFileId旗子暗记分别代表输入和输出的BMP图片数据信息,iBmpWidth、iBmp Hight及iBmpSize分别代表BMP图像的宽度、高度和图像总字节数,coms_vsync和coms_href旗子暗记是仿照摄像头产生的行、场同步旗子暗记。
2.3 手势特色打算模块
特色值打算是手势识别模块中至关主要的操作,用于提取经边缘检测后图像的特色,并用于特色匹配模块,实现动静态手势的准确识别。系统提取的图像特色包括周长、面积和前三阶的Hu不变矩。
图7为前三阶Hu不变矩打算模块,包括坐标打算模块、几何矩打算模块、质心打算模块、归一化几何矩打算模块及Hu不变矩打算模块五部分。个中,坐标打算模块打算当前像素信息的x、y坐标值,data_rdy旗子暗记用作后面打算模块的使能旗子暗记;几何矩打算模块与质心打算模块分别打算经边缘检测后图像的几何矩和质心,这两个模块的打算结果作为归一化几何矩打算模块的输入;Hu不变矩打算模块打算图像的前三阶Hu不变矩,用于提取手势图像的特色值。
图7 前三阶Hu不变矩打算模块
图8为特色值打算模块流程。首先通过OV5640采集图像,经图像二值化操作和形态学去噪与滤波处理后进行手势图像分割,得到手势图像的数据信息,FPGA掌握器的打算模块吸收到图像信息后,将经Sobel边缘检测处理后的图像用于打算手势的周长,经图像膨胀算法处理后的二值化图像用于提取手势的面积信息。同时,打算图像几何矩、归一化几何距、质心肠位坐标、中央距和归一化中央距,得到图像的前三阶Hu不变矩。
图8 特色值打算模块流程
输入手势图像的类型决定是静态手势识别还是动态手势识别,个中静态手势识别的特色值紧张利用手势的周长、面积及前三阶Hu不变矩,把提取到的特色值与演习好的各手势期望特色值做差,得到最小二范数,其手势数据即为图片手势信息;动态手势识别紧张是对手势图像质心的移动轨迹进行判断检测并跟踪。
图9为前三阶Hu不变矩特色值打算仿真结果。个中HREF[0]旗子暗记置高代表一行有效像素开始传输,X_POS、Y_POS分别为图像的横、纵像素坐标,SUM_00为几何矩的***矩,SUM_01为几何矩的一阶矩,经由公式打算验证后,该Hu不变矩特色值数据精确。
图9 前三阶Hu不变矩特色值打算仿真结果
2.4 手势指令掌握模块
图10为手势指令掌握模块流程。首先通过摄像头获取图像数据流信息作为输入,然后进行图像预处理实现图像去噪、滤波并减少图像数据量,采取形态学中的堕落和膨胀操为难刁难图像边界进行连通域处理,再利用肤色模型法对图像中的手势区域进行分割,由于Hu不变矩具有旋转、平移、裁剪等不变性,因此通过Sobel边缘检测后,再提取分割夹帐势图像的Hu不变矩、周长、面积作为特色值,利用最小二范数进行特色值匹配得到静态手势识别结果,同时通过质心检测和轨迹跟踪完成对动态手势的识别。
图10 手势指令掌握模块流程
在手势信息数据识别成功后,将得到的结果送到指令译码模块进行处理,产生手势掌握旗子暗记,从而掌握机器人系统按指令进行相应动作。静态手势指令可以掌握机器人提高或停滞运动,同时也可以利用手势指挥机器人自动循迹和打消路面障碍物,并伴随相应语音播报提示;动态手势指令可以掌握机器臂进行各个方位的操作,使机器人按照指令完成相应动作。
图11为手势指令掌握仿真结果。个中,rst_n旗子暗记延迟20ns后拉高,表示数据可以正常且有效地输入,data_wifi旗子暗记用于吸收来自上位机的数据,srecog和drecog旗子暗记分别表示静态手势和动态手势的掌握指令,servo_mode和motor_mode旗子暗记表示当吸收到静态或动态手势时,舵机和运动电机的动作指令数据信息。经打算验证后,该模块结果数据精确。
图11 手势指令掌握仿真结果
2.5 输出驱动模块
输出驱动部分包含电机驱动、舵机驱动及语音驱动模块,输出驱动掌握模块可根据指令译码模块的掌握旗子暗记产生各个实行机构的驱动旗子暗记。
图12为机器人掌握系统事情流程。给机器人上电后,进行一段韶光的初始化操作,确保系统上电稳定。初始化完成后,判断是否吸收到来自上位机WiFi模块的命令旗子暗记,若没有则进入初始模式,若吸收到命令则由命令解析模块对指令进行解析译码后输出对应命令的模式选择旗子暗记,使机器人进入相应模式。手势指令掌握模式下机器人会根据不同手势信息实行相应命令。
图12 机器人掌握系统事情流程
图13为舵机输出驱动掌握仿真结果,图14为运动电机输出掌握仿真结果。个中,sel_servo1和sel_servo2旗子暗记表示机器臂两个舵机的选择实行办法,servo_out1和servo_out2旗子暗记分别表示高下两个舵机的输出迁徙改变角度,motor_mode旗子暗记用于选择两个运动电机的方向和角度,enzuo_cnt和enyou_cnt旗子暗记表示旁边运动电机的速率计数值,speed_zuo和speed_you分别表示旁边运动电机的实际速率。经打算验证后,该模块结果数据精确。
图13 舵机输出驱动掌握仿真结果
图14 运动电机输出掌握仿真结果
3 FPGA可重构传授教化机器人硬件制作与测试
3.1 FPGA系统硬件制作本钱
包括FPGA开拓板、运动小车和机器臂等在内的单台机器人制作本钱可掌握在4500元公民币旁边。相对付单价在10000~20000元旁边的类似成品传授教化机器人,本文的传授教化机器人的设计与制作本钱较低。
3.2 FPGA系统硬件功能测试
图15所示为静态手势识别数字3,经由处理后可见显示屏左侧所识别出的图像,显示屏右上角蓝色矩形内显示对应的数字。在测试过程中,系统可识别多种手势状态,经由排列组合可以发出指令掌握机器人提高、退却撤退、循迹、除障等。
图15 静态手势识别数字3
图16所示为识别手势指令2进行循迹。当发出静态手势指令2时,机器人进行循迹,当发脱手势指令1时,机器人停滞运动。图17所示为机器人在循迹过程中进行除障操作。
图16 识别手势指令2进行循迹
图17 循迹过程中进行除障
图18所示为机器臂跟随动态手势运动。机器人前端机器臂通过识别动态手势,可进行上、下、左、右方位的移动。
图18 机器臂跟随动态手势运动
3.3 FPGA系统硬件资源花费
芯片型号为XC6SLX9FPGA的FPGA掌握系统整体硬件资源花费数据见表1。
表1 硬件资源花费数据
3.4 FPGA系统性能比较
在Matlab 2020b环境下,识别过程利用GUI按钮识别手势图片,从开始检测图片手势到终极识别手势信息的韶光为1.1s,而本文利用实时检测手势图像算法,并在屏幕上显示识别结果,所用识别韶光小于0.5s。图19为Matlab手势识别过程。
图19 Matlab手势识别过程
8种手势识别测试结果见表2,每种手势分别测试60次,实验者按照顺序依次进行测试。
表2 8种手势识别测试结果
由表2可得,8种不同手势的总均匀识别率为95.1%。有文献利用STM32F103嵌入式平台进行手势识别的均匀识别率仅为87.6%,比本体裁系低7.5个百分点。有文献利用Matlab设计的手势识别系统的总体有效识别率为85.9%,比本体裁系低9.2个百分点。
4 结论
针对传统传授教化机器人综合运用不敷、功能大略、制作本钱高、可重构性不敷等缺陷,本文采取可批量生产的普通硬件模块,利用模块化设计方法,设计开拓了一种基于FPGA的可重构动静态手势交互传授教化机器人。该机器人设计制作本钱较低,可实现人机手势交互、机器臂抓物、自动循迹、超声避障、运动除障、语音播报等多种功能,对测试者的数字手势和动作手势的均匀识别精确率达95.1%,实时识别相应韶光小于0.5s。
本文设计的基于FPGA的可重构动静态手势交互传授教化机器人具有综合运用性强、功能较完好、系统可不雅观性好、设计制作本钱低、系统可重构性好等特点,提高了示教过程中的人机交互多样性,可用于FPGA系统设计等研究类课程传授教化利用,具有良好的运用推广代价。
本事情成果揭橥在2023年第10期《电气技能》,论文标题为“基于现场可编程门阵列的可重构手势交互传授教化机器人设计”,作者为邓广雯、梁娇娇 等。本研究得到湖南省学位与研究生传授教化改革研究项目和湖南省教诲厅科学研究项目的支持。
本文系作者个人观点,不代表本站立场,转载请注明出处!