Android 平台 实现 卷积神经网络

研究CNN有一端时间了,在VS上对一些深度学习框架进行学习,训练主要以人脸为主
(下一篇将要介绍CNN用于人脸识别),车标等等。一般情况下,深度CNN对于目标识别
都需要前期的大量的数据进行训练,少则几千,多则几十万,庞大的数据以及实时性要求
对于平台的性能要求是很高的,一般的移动嵌入式设备很难达到这个标准。所以对于很
多情况下需要用深度学习来做分类或者回归的,都是通过网络进行请求,而且模型是现在多
CPU和GPU下的服务器训练好的,比如小袁搜题使用的OCR,使用的网路请求的服务器的caffe
框架。

当然,在有些情况下,数据量不需要特别大,而且训练也能取得不错的预测率和泛化能力,
此时,在移动平台下,进行CNN的预测也是可行的,当然训练还是要在服务器上进行。

1. 本文的主要工作如下

 1. 使用tiny-cnn c++ 11 的CNN实现,将其迁移到Android平台
 2. 修改CNN模型进行训练,数据集为车标数据集。
 3. 最后实现一个可以通过车标区分车型的APP程序。

具体可以看开源项目 , 介绍可以看README文件。

CNN android与摄像头车标识别开源项目

感谢star。

2.几个问题

(1)数据集的来源?

都是自己拍摄的。
图片如下图。

这里写图片描述 这里写图片描述


(2)实验的效果,在500张图片训练,298张预测 结果如下。

Android 平台 实现 卷积神经网络_第1张图片

94.2953%的识别率。以后会增加更多的数据,提高识别率。

(3)在手机上的效果怎么样?

预测时间大概花费不到1s。泛化能力挺强的。

(4)能用于人脸识别吗?

最好自己设计新的模型而且需要自己训练人脸数据,但是可以使用同样的方法,在移动平台实现目标识别。

你可能感兴趣的:(Face,Recognition,Deep,learning,Car-logo,Recognitioon,Conv-net,Android,开发,深度学习之移动开发与总结,卷积神经网络)