【技术实现步骤摘要】
一种基于FPGA实现的手势识别系统及其识别方法
本专利技术涉及图像处理
和人机交互领域,特别是一种基于FPGA实现的手势识别系统及其识别方法。
技术介绍
手势识别技术是人机交互领域研究的热点之一。在手势识别技术的支持下,计算机和机器人等交互式设备可以得到更自然、更有效地控制。手势识别可以分为两种类型:静态手势识别和动态手势识别。大多数现有的解决方案设计仅能用于静态手势或动态手势。在手势识别中,能够同时处理静态手势和动态手势的方法非常少。本专利技术所提出的算法在解决复杂环境下手势识别问题的同时,也能在静态手势识别与动态手势识别之间自由切换,极大程度提高手势识别系统效率。光照不足和类肤色干扰等复杂环境对手势识别准确率影响很大,且基于计算机等软件的应用系统有体积大、功耗高、成本高、实时性差等缺点。FPGA作为可编程逻辑器件,具有并行处理和流水线计算等特点,并且含有丰富的可配置逻辑资源和可调用的IP核,是数字图像处理的理想器件。
技术实现思路
有鉴于此,本专利技术的目的是提供一种基于FPGA实现的手势识别系统及其识别方法,在FPGA平台利用HOG特征和SVM分类器同时实现了静态手势识别与动态手势识别,提供一种有效的人机交互手段,有效解决了在光照不足且含有类肤色干扰等复杂环境下,手势识别不稳定的问题以及手势识别的实时性问题。本专利技术采用以下方案实现:一种基于FPGA实现的手势识别系统,包括CMOS摄像头数据采集模块、FPGA数据处理模块、DDR3存储模块以及VGA显示模块;所 ...
【技术保护点】
1.一种基于FPGA实现的手势识别系统,其特征在于:包括CMOS摄像头数据采集模块、FPGA数据处理模块、DDR3存储模块以及VGA显示模块;所述FPGA数据处理模块包括摄像头驱动模块、数据读写控制模块、色彩空间变换模块、中值滤波模块、直方图均衡化模块、手势分割模块、静动态手势判决模块、特征提取模块、分类识别模块、动态手势轨迹识别模块、文字驱动与视频叠加模块以及VGA驱动模块;所述摄像头驱动模块驱动所述CMOS摄像头数据采集模块进行视频数据采集,并将视频数据回传到所述数据读写控制模块,用以通过所述数据读写控制模块控制采集的视频数据在DDR3存储模块内的读和写;所述DDR3存储模块用于存储CMOS摄像头数据采集模块采集的视频数据,并将存储的视频数据传输到所述色彩空间变换模块进行数据格式转换,并通过所述中值滤波模块进行滤波,用以以减少视频数据的噪声;所述直方图均衡化模块用于对所述中值滤波模块滤波后的视频数据作均衡化处理,用以提高视频数据的对比度;所述手势分割模块用于将均衡化处理后的视频数据中的手势区域分割出来;所述静动态手势判决模块包括动态手势处理模块和静态手势处理模块,用于判断当前帧手势 ...
【技术特征摘要】
1.一种基于FPGA实现的手势识别系统,其特征在于:包括CMOS摄像头数据采集模块、FPGA数据处理模块、DDR3存储模块以及VGA显示模块;所述FPGA数据处理模块包括摄像头驱动模块、数据读写控制模块、色彩空间变换模块、中值滤波模块、直方图均衡化模块、手势分割模块、静动态手势判决模块、特征提取模块、分类识别模块、动态手势轨迹识别模块、文字驱动与视频叠加模块以及VGA驱动模块;所述摄像头驱动模块驱动所述CMOS摄像头数据采集模块进行视频数据采集,并将视频数据回传到所述数据读写控制模块,用以通过所述数据读写控制模块控制采集的视频数据在DDR3存储模块内的读和写;所述DDR3存储模块用于存储CMOS摄像头数据采集模块采集的视频数据,并将存储的视频数据传输到所述色彩空间变换模块进行数据格式转换,并通过所述中值滤波模块进行滤波,用以以减少视频数据的噪声;所述直方图均衡化模块用于对所述中值滤波模块滤波后的视频数据作均衡化处理,用以提高视频数据的对比度;所述手势分割模块用于将均衡化处理后的视频数据中的手势区域分割出来;所述静动态手势判决模块包括动态手势处理模块和静态手势处理模块,用于判断当前帧手势是静态手势还是动态手势,当检测到手掌这一特定手势时,则认为是动态手势,视频数据流进入动态手势处理模块;没有检测到手掌这一特定手势时,认为是静态手势,视频数据流进入静态手势处理模块;所述特征提取模块用于提取当前静态手势区域的HOG特征;所述分类识别模块使用SVM分类器对当前手势区域的HOG特征进行分类识别;所述动态手势轨迹识别模块跟踪当前的动态手势并识别当前动态手势;所述文字驱动与视频叠加模块用于将静态手势识别的结果或动态手势识别的结果驱动成相应文字,并与原手势视频叠加;所述VGA驱动模块用于驱动VGA芯片,将叠加的视频实时显示出来。
2.一种基于权利要求1所述的基于FPGA实现的手势识别系统的识别方法,其特征在于:包括以下步骤:
步骤S1:所述CMOS摄像头数据采集模块实时采集视频数据到FPGA数据处理模块;
步骤S2:由所述数据读写控制模块控制采集的视频数据在DDR3存储模块内的读和写,并由所述DDR3存储模块存储采集的视频数据;
步骤S3:所述色彩空间变换模块将采集的RGB格式数据转换为YCbCr格式数据;
步骤S4:中值滤波模块采用采用3×3模板,并使用快速中值滤波算法将所述色彩空间变换模块转换后的数据进行滤波处理;
步骤S5:对滤波后的数据采用直方图均衡化模块例化两个块随机存储器blockram,先对格式数据转换后的YCbCr数据中的Y分量即为灰度图像数据进行直方图统计得到直方图,根据剪切阈值对直方图进行剪切和重分配,再对直方图进行均衡化操作,用以提高图像的对比度,所述阈值范围为0~100,均衡化公式如下:
MN为图像像素总数,nj是灰度为j的像素个数,j的取值范围是0到k;L是图像灰度级数量,通过上式,经过直方图均衡化后的图像中像素的灰度值能够由中值滤波后的图像中像素灰度r(k)映射为s(k)后得到;
步骤S6:手势分割模块在YCbCr色域空间基于肤色阈值分割,并采用四连通域标记算法来消除类肤色的影响;通过质心计算公式确定手势质心的位置,手势质心的位置代表中心的位置,再通过手势中心的位置确定手势区域的最小矩形框;
步骤S7:判断是静态手势还是动态手势,当静动态手势判决模块检测到当前帧手势为手掌时,开始计时,计时时间达到所设定时间K秒时,0<K<=3,则判定为动态手势,则进行动态手势轨迹识别,之后执行步骤S8;否则,判定为静态手势则进行手势区域的HOG特征提取和SVM分类识别,之后执行步骤S8;
步骤S8:文字驱动与视频叠加模块中的各种手势的名称能够产生对应的文字图像数据,将SVM分类识别结果或动态手势轨迹识别结果输入到文字驱动与视频叠加模块,由SVM分类识别结果或动态手势轨迹识别结果对图像数据进行驱动并将驱动的文字图像数据与识别到的手势区域图像数据进行叠加,最后同时在VGA显示模块上显示。
3.一种根据权利要求2所述的基于FPGA实现的手势识别系统的识别方法,其特征在于:步骤S3中所述将采集的RGB格式数据转换为YCbCr格式数据的转换公式为:
Y=0.299R+0.587G+0.114B
Cb=-0.172R-0.339G+0.511B+128
Cr=0.511R-0.428G-0.083B+128
将此公式进行进一步转化为:
Y=(77R+150G+29B)>>8
Cb=(-43R-85G+128B+32768)>>8。
Cr=(128R-107G-21B+32768)>>8
4.一种根据权利要求2所述的基于FPGA实现的手势识别系统的识别方法,其特征在于:步骤S4中所述进行滤波处理的具体内容为:首先分别对每行3个图像进行排序;然后提取三个最大值中的最小值、三个中值中的中值以及三个最小值中的最大值;最后,将以上得到的三个值,再次取中值,即为所求最终9个像素的中值。
5.一种根据权利要求2所述的基于FPGA实现的手势识别系统的识别方法,其特征在于:所述步骤S5具体包括以下步骤:
步骤S51:在YCbCr色域空间基于肤色阈值分割,肤色阈值分割公式如下:
步骤S52:采用...
【专利技术属性】
技术研发人员:王俊,易金,陈康,林瑞全,欧明敏,邢新华,武义,赵显煜,郑炜,李振嘉,
申请(专利权)人:福州大学,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。