EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
配套资料在网盘资料的“iTOP-3399 开发板资料汇总(不含光盘内容)\人工智能测试资料\图像分类配套资料.zip”目录下。6 P1 D+ W2 @' |% ~8 h, i
本章节将在 ITOP-3399 开发板上测试图像分类 APP,这是 TensoRFlow Lite 在 Android 上的示例应用程序 。它使用图像分类对来自设备后置摄像头的图像进行连续分类。使用 TensorFlow Lite Java API 执行推断,演示应用程序实时对帧进行分类,显示最可能的分类。它允许用户在浮点模型或量化模型之间进行选择 ,选择线程数,并决定是在 CPU,GPU 还是通过 NNAPI 运行。3 X5 p$ e; L. h$ p' p Z$ X6 Q
此应用程序捆绑的 4 种模型:MobileNetV1(浮动),MobileNetV1(量化),EfficientNetLite(浮动)和 EfficientNetLite(量化)。我们选择“ mobilenet_v1_1.0_224”和“ efficiencynet-lite0”俩种模型。MobileNets是经典模型,而 EfficientNets 是最新的模型。所选的 EfficientNet(lite0)具有与 MobileNetV1 相当的速度,并且在 ImageNet 数据集上,EfficientNet-lite0 比 MobileNetV1 的精确度高 4%。
7 J4 _/ L) s6 t31.1 下载示例源码
h8 i& h; L! B! m4 M G% W- L0 T/ Y如果您没有安装 AndroidStudio,请参考本手册“安装 AndroidStudio”章节安装 Android Studio 3.2 或更高版本。您需要最低 API 21 的 Android 设备和开发环境。
! o7 t: `: H+ a1 T9 K* m. m rTensorFlow Lite 是一种用于设备端推断的开源深度学习框架,官网提供了现成模型来供开发者使用,输入网址 hTTps://tensorflow.google.CN/lite/examples?hl=zh-cn 打开中文官网,如下图所示: ![]()
点击“图像分类”框图中的“在 Android 设备上试试”,会弹出自述文件说明,这个文件会说明如何将APP 在 android 上测试,如下图所示: ![]()
接下来将 TensorFlow 示例源代码下载到您的电脑上,下载地址是:https://github.com/tensorflow/examples ,下载完成后得到 examples.zip 文件,迅为配套资料里面有下载好的,大家可以直接拿来用。 ![]()
31.2 构建 Android Studio 项目
J% G% S7 w/ T e/ D/ D在 AndroidStudio 中打开刚刚下载的 TensorFlow 源代码,打开 AndroidStudio 选择“Open an existingproject”,依次打开 examples/lite/examples/image_classification/android,如下图所示:(注意存放源码的路径不能带中文) ![]()
打开工程以后自动开始下载依赖库,如下图所示: ![]()
修改完以后,点击“Sync Now”,如下图所示: ![]()
编译会出现如下图所示的错误,这是在 download.gradle 文件中指示 gradle 下载示例中使用的几个模型失败,因为从国外下载比较不稳定,我们迅为已经替大家下载好了,大家可以直接使用。 ![]()
下载提供的 modules 文件里面的四个文件。然后将其拷贝到 AndroidStudio 的 assets 目录下,如下图所示: ![]()
修改完保存,点击“Build”->Rebuild Project,重新编译工程,如下图所示: ![]()
编译成功,如下图所示。特别要注意的是在编译前要配置好 AndroidSDK,至少需要 SDK 版本为 23。 ![]()
31.3 安装并运行应用程序+ k6 W8 p7 C* P' e0 S; _
将 ITOP-3399 开发板设备连接到电脑,连接 USB 摄像头到开发板上,硬件连接如下图所示: ![]()
我们要确保开发板里面烧写了 android8 的系统,并且打开了开发者模式,并允许 USB 调试和设置 USB模式为文件传输模式(MTP 模式),然后选择 Run -> Run app。我们在要安装该应用程序的设备的连接设备中选择部署目标(ITOP-3399 开发板),这将在设备上安装该应用程序,首次运行该应用程序时,该应用程序将请求访问相机的权限。重新安装该应用程序可能需要您卸载以前的安装。安装成功如下图所示: ![]()
我们以鼠标为例,将摄像头对准鼠标,显示已经将物品分类为鼠标,我们上滑箭头,可以修改参数,如下图所示: ![]()
![]() + U# s0 k; Y- [8 W
|