APP下载

基于嵌入式系统手势识别的设计

2021-11-02张瑜王世东马艺珊黄嫒

计算机与网络 2021年17期
关键词:缓冲区灰度阈值

张瑜 王世东 马艺珊 黄嫒

当前许多科学领域的研究热点,是如何使人机交互变得更加方便高效、操作简单。在人机交互领域中,手势识别技术是关键性技术之一,随着科技的日益更新,它也跟随着科技的发展而发展,一直在保持着变化。

当前,手势识别技术发展非常迅速,已经被广泛应用于虚拟环境、自动捕捉以及多媒体用户界面等诸多领域,起到了很好的效果。随着社会的发展,各种产品都愈加重视用户体验,手势识别可以带给人们更好的体验,因此获得了广泛的应用。基于传感器加速硬件的手势识别技术是一种常用的手势识别技术,但是具有价格昂贵以及可能会影响人体健康等问题,因此一种更加简单、造价低、对人体没影响的手势识别技术成为研究的重点。离线人机交互可以满足这一需求,基于视觉的手势识别技术不需要应用中间媒体,通过手势就可以和机器进行直接的交流,不需要外界设备使其应用非常高效、方便,可以给用户带来非常好的使用体验。

手势识别系统具有多样化的应用场景,有些是动态的、有些是静态的。但目前大多应用是都是静态,因为当前动态手势识别系统还存在一些问题,需要加强研究。

手势识别系统总体设计

在设计方面采用嵌入式平台,具有简单、体积小和成本低等优点,可以降低手势识别系统的成本,提高便携性。

手势识别过程如下:通过摄影机采集各种图像,同时还要对采集的图像进行提前加工,采集手势图像的特征信息,然后将提取到的信息和手势模板库进行配对,确定手势的编号和意义。

V4L2接口

V4L是系统内核中和饰品设备有关的子系统,能够为Linux下的视频驱动提供接口,通过应用这一接口,可使应用程序通过统一的API函数实现对不同设备的操控,降低视频系统开发难度,使维护更加便捷。早期V4L功能不完全、漏洞多,因此进行了重新设计,设计除了Video for Linux 2(V4L2),现在有Linux2.5.X版本。

图像预处理

手势图像去噪

在进行动作视频的收集时,系统可能是移动的,因此获得的手势图像不可避免地会受到干扰,包括外部环境光强度的变化和相机抖动,会造成获取的对象和信息库中的图像存在差异,因此需要对收集到的手势图像进行降噪处理,从而更加准确地进行识别,提高图像识别率。图像中相邻像素的灰度值具有较高的相关性,如果图像是顺滑和自然的,像素相关性越高,反之,则像素相关性越低。基于这一原理,采用加权平均值滤波的方式,能够很好地实现手势图像的降噪。

圖像阈值分割

在获取的视频流图中,需要采集的手势目标灰度值与当前背景的灰度值之间有明显差异,因此一般要应用阈值分割等算法对目标区域进行处理。实际处理过程中,在手势目标与图像背景之间通常会存在一个或多个分割阈值,为了获得更加清晰的手势目标区域图像,需要应用多个阈值元素来进行处理,在获取完整手势信息的前提下,最大程度上抑制噪声。

系统设计与实现

手势识别系统软硬件环境

本文设计的手势识别系统选择Ubuntu系统,采用QTOPIA 2.2.0进行图形界面开发,应用OpenCV2.4.3作为图像识别辅助工具。

ARM开发板为手势识别系统的基本开发环境,64 mm×85 mm液晶触摸屏采用USB2.0接口的摄像头。

基于V4L2的视频采集

V4L2是对V4L的重新设计,在此基础上相当于是一个全新的编程接口。V4L2采集视频数据的过程如下:

系统开启后,进行系统初始化,启动视频设备,并查询视频设备功能,进行视频格式和窗口大小的设置。完成之后申请内存缓冲区,查询设备缓冲区大小和偏移地址,建立内存映射,然后向队列添加缓冲区。之后,开始进行视频采集,获取采集图像,进行视频图像的读取和存储,然后释放内存。最后,关闭视频设备,结束视频采集。

手势识别实验

经过训练之后的10种手势模板及改进后Canny算子可以得到清晰的手势轮廓图像。

当前,手势识别技术在PC端已经获得了广泛应用,但这种技术的问题是实用性和便携性差。通过应用USB摄像头来采集视频信息,提取和识别视频流中的手势,能够提高这一技术的便携性和实用性,为应用手势进行人机交互控制奠定基础。本文进行了在嵌入式系统的基础上实现手势识别的设计,通过对系统进行验证和分析,手势识别系统具有良好的实用性。

猜你喜欢

缓冲区灰度阈值
非均匀光照下文本图像分割算法研究
天津港智慧工作平台灰度发布系统和流程设计
华为“灰度”哲学
特斯拉发布新功能 停电期间也可充电
Arduino小车巡线程序的灰度阈值优化方案
利用迭代软阈值方法抑制恒时演化类核磁共振实验中的采样截断伪峰
缓冲区溢出漏洞攻击及其对策探析
初涉缓冲区
本期导读
Linux系统下缓冲区溢出漏洞攻击的防范