这个中秋,我开发了一个识别狗狗的app

版权声明:本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接http://blog.csdn.net/mogoweb https://blog.csdn.net/mogoweb/article/details/82899084

中秋节是合家团圆的日子,朋友圈、微信群的祝福此起彼伏,不过对于我这样常年呆在家里的人而言,是无法理解“但愿人长久,千里共婵娟”的。中秋节三天和平常没什么两样,闲得无聊,就想找点事情做做。

今年年初决定开始学习人工智能,从吴恩达的《machine learning》到《deep learning》专项课程开始,再后来接触具体的实战编程,学习了Tensorflow和Keras。虽然学了这么长时间,但总感觉还是飘在表面,看各种深度学习示例,觉得没什么难的,但是自己去写,又不知道怎么下手。经过一番思考之后,还是决定实际做一个项目,在做项目的过程中发现不足,再深入下去。

在微信上看到一个非常有意思的小程序:识花君,对着花花草草,拍一下就能知道花的名字。受此启发,决定开发一个识别狗狗的小程序,名字就叫做识狗君 (名字怎么听起来怪怪的,不过暂时也没有想到好的名字,先暂用一下吧)。

在实施过程中,发现问题连连。首先,考虑使用tensorflow.js,这样识别功能就无需借助云端,但经过尝试,发现小程序不支持tensorflow.js,虽然微信小程序也用到了chromium内核,暂时放弃。接下来考虑采用云端方案,这需要开发小程序,还需要进行服务端开发,这两者都是我不擅长的,考虑下来短期之内也无法完成。最后考虑到tensorflow lite,还是先开发一个android app起来,把整个流程理顺,再来考虑微信小程序。

猫狗识别网上资料很多,也很适合做深度学习的演示示例。结合各种资料,倒腾了一个android app的原型,代码放到github上:https://github.com/mogoweb/aiexamples.git ,代码位于tflite/AIDog目录下,有兴趣可以看看。

模型采用Google Inception V3, 训练数据集采用stanford dog datasets。不过做下来之后,发现要做一个完整的app,还有很多后续工作:

  1. 模型太大,有80多M,对一个轻量级app来说太大,要考虑采用针对移动设备的模型;
  2. 缺少狗狗的数据库资料,比如中文名、介绍,等等。上网搜寻,也没有找到现成的数据库,考虑采用网络爬虫或者手工采集一些资料。
  3. 界面设计,做一个demo容易,但如果作为一个产品,交互设计其实有很多考量的。

嗯,先这样吧!后续还会继续进行完善,我也会分享在这个过程中碰到坑、在终端进行机器学习的心得,敬请关注!

最后,祝大家中秋快乐!

猜你喜欢

转载自blog.csdn.net/mogoweb/article/details/82899084