一种用于手势识别的数据库建立方法技术

技术编号:15840827 阅读:78 留言:0更新日期:2017-07-18 16:52
本发明专利技术公开了一种用于手势识别的数据库建立方法。本发明专利技术步骤如下:步骤1、从网络上收集关于单只手的RGB手部图片,构建数据库;步骤2、对数据库中的图片统一尺寸;将原始数据统一到一个标准尺寸N*M,并对每张手部图片进行命名,图片文件名称为“hand+序号”;步骤3、获取数据库中统一尺寸后的手部图片中手的各个节点的坐标数据;步骤4、将步骤2统一尺寸后手部图片和步骤3获取的坐标数据通过转换模块转换成深度学习框架能够直接使用的数据类型。本发明专利技术具有较好的适用性和鲁棒性,为手势识别提供了坚实的数据基础,旨在解决手势识别问题,推动人工智能的发展。

A database building method for hand gesture recognition

The invention discloses a database building method for hand gesture recognition. The invention comprises the following steps: Step 1, from the network to collect on one hand RGB hand images, construct the database; step 2, the database of images of uniform size; the original data to a unified standard size N*M, and for each piece of hand picture name, picture file name \hand+ number\ step 3; coordinate data of each node, obtaining uniform size after hand in hand the images in the database; coordinate data of step 4, step 2 uniform size hand pictures and get through the 3 step conversion module into deep learning framework can directly use data types. The invention has better applicability and robustness, and provides a solid data base for gesture recognition, aiming at solving the problem of hand gesture recognition and promoting the development of artificial intelligence.

【技术实现步骤摘要】
一种用于手势识别的数据库建立方法
本专利技术属于计算机视觉领域,特别涉及一种用于手势识别的数据库建立方法。
技术介绍
人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。近年来,人工智能和深度学习如雨后春笋般发展起来,2016年因为Alphago战胜韩国九段李世石等众多标志性事件发生被称为AI元年。手势识别是人工智能领域中非常重要的一个领域,在人机沟通、智能驾驶、智能家居方面具有良好的应用前景,因此手势数据集的构建吸引了一些学者的兴趣。建立一个完善的手势识别数据集可以推动手势识别精度大幅提高,从而推动手势识别在生活中的广泛应用。因此,建立一个完善的手势识别数据集有非常重要的研究意义和应用价值。研究人员尝试各种方法来使数据集包含丰富的手部信息,通常邀请志愿者到实验室中佩戴实验设备,采集数据。此类数据集存在如下缺点:1、实验室场地有限,获取的数据场景单一;2、志愿者数量有限,获取的手势种类不足;3、干扰因素少。目前人工智能仍处于数据驱动的阶段,用此类数据集训练得到的模型鲁棒性、泛化性较差,在实际应用中效果较差,不能达到令人满意的效果,以及场景复杂性,更接近现实生活。本专利技术处理图像数据并获得图像中手的节点信息。
技术实现思路
本专利技术构建了一个完备的针对手势识别的数据集,包含了丰富的场景,不再是传统简单的实验室场景,接近现实生活,并包含了多样的手势,基本涵盖了一只手可以实现的所有手势,具有较好的适用性和鲁棒性,为手势识别提供了坚实的数据基础,旨在解决手势识别问题,推动人工智能的发展。一种用于手势识别的数据库建立方法,包括如下步骤:步骤1、从网络上收集关于单只手的RGB手部图片,构建数据库;步骤2、对数据库中的图片统一尺寸;将原始数据统一到一个标准尺寸N*M,并对每张手部图片进行命名,图片文件名称为“hand+序号”;步骤3、获取数据库中统一尺寸后的手部图片中手的各个节点的坐标数据;所述的坐标数据的标记通过标记模块实现,坐标数据包括手腕坐标和每个手指每个节点坐标;坐标数据的标记顺序:首先标记获取手腕部坐标,再依次获取大拇指、食指、中指、无名指和小拇指上各个关节点的坐标;每个手指的标记顺序为从手指根部开始,依次标记到手指顶部;步骤4、将步骤2统一尺寸后手部图片和步骤3获取的坐标数据通过转换模块转换成深度学习框架能够直接使用的数据类型。步骤3所述的标记模块包括存储单元和鼠标点击单元,其具体实现过程如下:手部图片输入到标记模块后,先将该输入的手部图片的文件名和长宽写入存储单元;再通过鼠标点击单元左键点击输入的手部图片中的节点,以一个圆点作为节点记号,同时将该节点记号的坐标数据输入至存储单元;在鼠标点击单元左键点击输入的手部图片中节点的过程中,若该手部图片中存在不可见节点,则将鼠标点击单元移动至手部图片的外侧区域,然后通过鼠标点击单元左键点击该外侧区域,此时自动将该不可见节点的坐标数据记为(-1,-1),同时将该节点记号的坐标数据输入至存储单元;通过深度学习方法,同时结合数据库训练得到手势模型,将一张全新的手部图片输入该手势模型完成节点位置的判断,输出手部图片中每个节点的坐标数据,利用输出的坐标数据能够还原出手部图片中的手势,进而进行相关判断和控制。步骤4所述的转换模块实现过程有两种,其中转换为Hdf5类型数据如下:1.为数据库中的每张手部图片分配内存空间,同时为该手部图片在存储单元中的坐标数据分配内存空间;2.将每张手部图片中所有节点的坐标数据以矩阵形式读入,经过矩阵转置,每个矩阵行向量对应一张手部图片的手势节点的坐标数据,便于程序读取;3.将转换模块中读入的手部图片和该手部图片对应的坐标数据进行绑定,然后转换成Hdf5类型数据;转换模块能够同时对读入的多张手部图片和手部图片对应的坐标数据同时进行处理;每批转换处理的手部图片数目通过转换模块中一个参数Chunksz进行设定;转换换成Hdf5类型数据的过程需要调用到store2HDF5函数;所述的store2HDF5函数由Caffe开发者提供,能直接调用;转换结束后为了确定Hdf5数据转换成功;程序中设定验证部分,若成功,将在屏幕上显示“Successful”,若失败,将在屏幕上显示“Error”,成功后文件夹下会生成一个.h5文件和一个txt文件,其中txt文件中包含所需Hdf5文件的文件名,因此可以同时调用多个Hdf5文件进行训练或者测试。步骤4所述的转换模块的另一种实现过程为转换为Lmdb类型数据,具体如下:1.为数据库中的每张手部图片分配内存空间,同时为该手部图片在存储单元中的坐标数据分配内存空间;2.将每张手部图片中所有节点的坐标数据以矩阵形式读入,经过矩阵转置,每个矩阵行向量对应一张手部图片的手势节点的坐标数据,便于程序读取;3.将转换模块中读入的手部图片和该手部图片对应的坐标数据通过转换模块后分别生成Image文件和Label文件,用于训练和测试;转换模块结合Python的LMDB库和Caffe的Python接口caffe.io.array_to_datum,完成Image和Label的Lmdb数据类型转换;转换模块能够同时对读入的多张手部图片和手部图片对应的坐标数据同时进行处理;每批转换处理的手部图片数目通过转换模块中一个参数Batchsz进行设定;转换换成Lmdb类型数据的过程需要调用到caffe.io.arraytodatum函数;所述的caffe.io.arraytodatum函数为Caffe自带的接口函数,完成后数据得到两个Lmdb文件,一个包含图片数据,一个包含坐标数据;结束后程序会输出程序中读取失败的图片数量,方便确认转换过程时候成功;Lmdb的使用方法为在网络底层添加DataLayer,在其中定义所用Lmdb文件的的路径。本申请的手势数据库能够达到以下有益效果:采用本申请提供的手势识别数据库,由于坐标数据中包含了手部每个关键节点的坐标,并且手部的背景场景涵盖各种生活场景,弥补了过往的手势数据集包含数据贫瘠,场景单一的不足。同时将获得的数据和图片转换成了目前深度学习中普遍使用的数据类型,进而可以便利地应用于各种深度学习网络结构训练,例如VGG,ResNet,GoogLeNet,可以推动手势识别领域的快速发展。手势识别作为当前人工智能领域的热门课题,对未来人机交互,智能驾驶等方面都有重要意义,因而该数据库的构建完成具有重要意义。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例构建手势识别数据库方法流程图;图2为本申请实施例获取手部坐标数据顺序的示意图;图3为本申请实施例中采用的图片标记程序的流程示意图;图4为本申请实施例中采用的数据类型转换程序的流程示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围下面结合具体实本文档来自技高网...
一种用于手势识别的数据库建立方法

【技术保护点】
一种用于手势识别的数据库建立方法,其特征在于包括如下步骤:步骤1、从网络上收集关于单只手的RGB手部图片,构建数据库;步骤2、对数据库中的图片统一尺寸;将原始数据统一到一个标准尺寸N*M,并对每张手部图片进行命名,图片文件名称为“hand+序号”;步骤3、获取数据库中统一尺寸后的手部图片中手的各个节点的坐标数据;所述的坐标数据的标记通过标记模块实现,坐标数据包括手腕坐标和每个手指每个节点坐标;坐标数据的标记顺序:首先标记获取手腕部坐标,再依次获取大拇指、食指、中指、无名指和小拇指上各个关节点的坐标;每个手指的标记顺序为从手指根部开始,依次标记到手指顶部;步骤4、将步骤2统一尺寸后手部图片和步骤3获取的坐标数据通过转换模块转换成深度学习框架能够直接使用的数据类型。

【技术特征摘要】
2017.03.09 CN 20171013773331.一种用于手势识别的数据库建立方法,其特征在于包括如下步骤:步骤1、从网络上收集关于单只手的RGB手部图片,构建数据库;步骤2、对数据库中的图片统一尺寸;将原始数据统一到一个标准尺寸N*M,并对每张手部图片进行命名,图片文件名称为“hand+序号”;步骤3、获取数据库中统一尺寸后的手部图片中手的各个节点的坐标数据;所述的坐标数据的标记通过标记模块实现,坐标数据包括手腕坐标和每个手指每个节点坐标;坐标数据的标记顺序:首先标记获取手腕部坐标,再依次获取大拇指、食指、中指、无名指和小拇指上各个关节点的坐标;每个手指的标记顺序为从手指根部开始,依次标记到手指顶部;步骤4、将步骤2统一尺寸后手部图片和步骤3获取的坐标数据通过转换模块转换成深度学习框架能够直接使用的数据类型。2.根据权利要求1所述的一种用于手势识别的数据库建立方法,其特征在于步骤3所述的标记模块包括存储单元和鼠标点击单元,其具体实现过程如下:手部图片输入到标记模块后,先将该输入的手部图片的文件名和长宽写入存储单元;再通过鼠标点击单元左键点击输入的手部图片中的节点,以一个圆点作为节点记号,同时将该节点记号的坐标数据输入至存储单元;在鼠标点击单元左键点击输入的手部图片中节点的过程中,若该手部图片中存在不可见节点,则将鼠标点击单元移动至手部图片的外侧区域,然后通过鼠标点击单元左键点击该外侧区域,此时自动将该不可见节点的坐标数据记为(-1,-1),同时将该节点记号的坐标数据输入至存储单元;通过深度学习方法,同时结合数据库训练得到手势模型,将一张全新的手部图片输入该手势模型完成节点位置的判断,输出手部图片中每个节点的坐标数据,利用输出的坐标数据能够还原出手部图片中的手势,进而进行相关判断和控制。3.根据权利要求1所述的一种用于手势识别的数据库建立方法,其特征在于步骤4所述的转换模块实现过程有两种,其中转换为Hdf5类型数据如下:1.为数据库中的每张手部图片分配内存空间,同时为该手部图片在存储单元中的坐标数据分配内存空间;2.将每张手部图片中所有节点的坐标数据以矩阵形式读入,经过矩阵转置,每个矩阵行向量对应一张手部图...

【专利技术属性】
技术研发人员:邵碧尧颜成钢王雁刚谢益峰李宁项露萱
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:浙江,33

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

1