黑马程序员技术交流社区

标题: 【上海校区】Tensorflow猫狗识别模型在Android上的部署 [打印本页]

作者: 不二晨    时间: 2018-7-9 09:13
标题: 【上海校区】Tensorflow猫狗识别模型在Android上的部署

自iphone X以来,各品牌的手机旗舰机型都开始支持Face ID。与之前的指纹识别相比,人脸识别还是更方便一些。近期在国内大火的抖音,也与人脸识别技术密不可分。各手机厂家还纷纷推出人工智能芯片,希望能让人工智能应用在手机、单片机上运行的更加流畅。可以看到,将在PC上已经大获成功的机器学习模型部署在移动设备上是大势所趋,又能引发一轮新的可能性。手机的精准定位带来了一大波O2O的应用,产生了包括美团、滴滴这样的巨型独角兽。那么人工智能在手机上的广泛应用又将带来什么变革呢?但这个问题不是本文讨论的重点,下面我来从技术角度出发,谈谈如何在Android上部署Tensorflow的图像识别模型。


Android中支持的Tensorflow模型文件为pb格式。pb相比于训练时的ckpt格式,会保存网络结构,并具有语言独立性,适合在移动端使用。

同时,由于在Android中读取pb文件时要通过变量名来获取输入层和输出层,所以在保存pb文件前,我分别将输入和输出层变量名设为“input”和“output”。

App界面采用最常见的底部导航栏结构,使用BottomNavigationView方式实现。拥有从相册中选图片识别和摄像头实时识别两个Fragment,页面间的切换采用FragmentTransaction的show/hide方式。

对于摄像头Fragment,在onResume和onPause时分别Open、Release Camera;由于画面会不停移动需要重新对焦,还需要实现摄像头的自动对焦功能。



成功获取图片后,调用Classifier对图片进行识别。在Classifier中,将输入的bitmap图片转换成float数组,创建并调用TensorFlowInferenceInterface进行推断。根据识别结果对猫狗置信度的大小,在页面上展示猫或狗的头像。


项目地址:https://github.com/wlkdb/TensorflowInAndroid

【转载】原文地址:https://blog.csdn.net/wlkdb/article/details/80948705


作者: 不二晨    时间: 2018-7-10 14:50
奈斯
作者: 吴琼老师    时间: 2018-7-12 16:31





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2