![04bf41430f33ea33ae65df36fd306694.png](https://img-blog.csdnimg.cn/img_convert/04bf41430f33ea33ae65df36fd306694.png)
本文主要对Android平台上开发实时Object Detection类App涉及到的一些技术进行总结。
1. 模型
由于要实时检测,所以模型文件必须下载到手机端,在手机端本地运行模型的inference。对于这类需求,Tensorflow已经有了一套成熟的方案:
- 后端模型训练:在服务端训练好tensorflow物体检测模型。训练好之后,将其导出为SavedModel格式的模型文件。SavedModel文件中不仅包括训练所得的模型参数,还包括完成的计算图信息,因此,可以脱离模型源码而独立运行。
- 下载模型到手机:在App内,可以通过网络,将训练好的模型下载到手机内。
- 手机端运行模型:通过TensorFlow Android版TFLite来加载、运行SavedModel模型文件。
2. 模型加载
TFLite模型实例可以提前、创建,然后反复调用来提高效率,而不用每次创建一个新的实例。
3. 传感器朝向问题
相机得到的图像数据,是手机上的图像传感器产生的数据。图像传感器,这个硬件固定在手机上,并且具有一个它自己认为的“正“方向。App的每个界面,也有一个设置的“正”方向,例如:portrait、landscape。不同的“正”方向,直接决定了X、Y轴的朝向,因此ÿ