黑马程序员技术交流社区
标题: 【上海校区】基于卷积神经网络的数字手势识别安卓APP [打印本页]
作者: 不二晨 时间: 2018-7-23 09:42
标题: 【上海校区】基于卷积神经网络的数字手势识别安卓APP
1、项目简介这是一个基于卷积神经网络的数字手势识别APP(安卓),主要功能为:通过手机摄像头识别做出的数字手势,能够识别数字0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 对应的手势。
Chinese-number-gestures-recognition项目下包含两块代码:1. DigitalGestureRecognition为安卓APP代码;2. digital_gesture_recognition为PC端处理数据及训练模型代码,编程语言为python。
开发环境:
PC端:python3.6, TensorFlow-gpu1.8, keras2.1.6, PIL,硬件NVIDIA GTX1070, 16GB momery
APP端:Android studio3.1.2, TensorFlow Lite, opencv-3.4.0-android-sdk
2、APP识别结果演示2.1、白天场景2.2、夜间场景2.3、复杂场景(正确率较低,碰运气...仅仅是会心一笑,只是好奇试一试)3、数据集3.1、原始数据集该数据集共215张数字手势图片,该数据集由我,女票(李娜)及好友:蒋雯、宋俞璋、彭仲俊、张蒙、袁程、邢守一和郑超自己拍照而来。(排名不分先后,大家贡献一样),感谢他们的帮助。每张图片对应的标签已标记在图片的命名中,图片命名格式为:标签_编号。例如:
数据集还是太少了,因此,有奉献精神的同学,可以把您拍到的照片放到 collect_picture 文件下,命名规则参照上面的命名,原则上,命名只要保证 “标签_”即可,“_”后面随意。 3.2、数据增强(data augmentation)后的数据集原始图片通过平移,拉伸,旋转等操作,每张图片生成100张,使用的生成代码为 digital_gesture_recognition/data_augmentation.py。故生成后的数据集共21592张图片。
NOTE: 该数据集大小为11.6GB,压缩后约11GB。如果您的网络带宽下载速度较慢,可以使用原始数据集和digital_gesture_recognition/data_augmentation.py自己重新生成。
3.3、压缩后的数据集把每张图片缩放到64*64大小,形成的数据集为:digital_gesture_recognition/resized_img,共21592张图片,采用的压缩算法为TensorFlow中area interpolation。digital_gesture_recognition/resized_img_split数据集和resized_img是相同的,只是分割成了10个小文件夹。
3.4、H5数据集此h5数据集由resized_img中图片转化为h5文件得来。此数据集的大小为:215926464*3,您可以使用 h5py 库来对此数据集进行操作。比如,你可以使用如下语句来载入数据集:
data = h5py.File("dataset//data.h5","r")X_data = np.array(data['X']) #data['X']是h5py._hl.dataset.Dataset类型,转化为arrayY_data = np.array(data['Y'])4、训练好的模型digital_gesture_recognition/model_200中为epoch=200训练得到的模型,也是APP中使用的模型,model_2500 则为epoch=2500训练的模型。在PC端训练得到的模型在训练集、测试集上的accuracy分别为:99.8%和99.5%。在APP上因为面临的环境更加复杂,准确率远没有达到这个数字。在PC端随机测试几张好友拍的照片(在训练集、测试集中均没有出现过),测试结果比较满意,测试结果如下:
5、Android Studio环境的配置
作者: wuqiong 时间: 2018-7-23 11:33
作者: 摩西摩西OvO 时间: 2018-7-23 13:45
作者: 不二晨 时间: 2018-7-23 13:50
奈斯,优秀
作者: 梦缠绕的时候 时间: 2018-7-25 17:24
作者: 摩西摩西OvO 时间: 2018-7-26 09:31
作者: 吴琼老师 时间: 2018-7-26 16:04
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |