Inception_v3是一种深度卷积神经网络模型,广泛应用于图像分类和识别任务。该模型是 Inception 系列的第三个版本,采用了一系列创新技术来提升性能和效率。Inception_v3 的架构中包含多个 Inception 模块,这些模块通过并行的卷积层和池化层来提取图像特征,从而提高了模型的表达能力。一个显著的特点是Inception_v3使用了因式分解卷积(factorized convolutions),例如将一个5×5卷积分解为两个3×3卷积,这样做不仅减少了计算量,还提高了模型的计算效率。此外,Inception_v3 引入了批量归一化(batch normalization)技术,这有助于加速训练过程并提高模型的稳定性和收敛速度。Inception_v3 在 ImageNet 数据集上进行了训练,并在多个图像分类任务中表现出色,取得了较高的准确率。由于其高效的架构设计和出色的性能,Inception_v3 被广泛应用于各种计算机视觉任务中,如物体检测、图像分割和图像生成等。总的来说,Inception_v3是一个强大且高效的图像处理工具,适用于需要高精度和高性能的应用场景。
本文章主要介绍使用 Inception_v3模型进行图像识别分类及如何配置QAI AppBuilder快速上手及环境配置工具和环境。包括了准备需要处理的图像数据,加载 Inception_v3模型,运行示例代码进行图像识别处理,查看处理后结果数据等步骤。通过这些步骤,可以更加熟悉地使用 Inception_v3模型并进行图像识别分类工作。
前置条件
- 高通 Windows on Snapdragon
- 各平台账号,包括:GitHub、高通 Software Center
操作方法及步骤
1. 快捷使用inception_v3图像识别应用
- 执行前准备
确保在设备中已经搭建好对应的Python及QNN环境,具体方法请参考:QAI-AppBuilder快速上手及环境配置
- 打开Powershell终端,在Python虚拟环境中执行以下命令:
python inception_v3\inception_v3.py
输入图像:
标签文件:
imagenet_classes.txt文件是一个包含ImageNet数据集分类标签的文件。它列出了所有类别标签,每个标签对应一个特定的类别名称。在使用基于 ImageNet 数据集训练的预训练模型进行预测时,模型会输出一个类别索引。通过查找imagenet_classes.txt 文件中的索引,可以找到对应的类别名称,从而判断预测结果的具体类别。标签文件会通过脚本下载到本地,下载链接:imagenet_classes.txt
- 结果分析
Samoyed 0.9998977184295654
Arctic fox 5.4757114412495866e-05
white wolf 3.4534878068370745e-05
Eskimo dog 3.5005018617084716e-06
Pomeranian 3.0651419820060255e-06
这些预测结果表示模型对输入图像的前五个可能类别及其对应的概率。具体来说:
Samoyed 0.9998977184295654:模型认为图像最有可能是萨摩耶犬,概率为 99.99%
Arctic fox 5.4757114412495866e-05:模型认为图像可能是北极狐,概率为 0.0055%
white wolf 3.4534878068370745e-05:模型认为图像可能是白狼,概率为 0.0035%
Eskimo dog 3.5005018617084716e-06:模型认为图像可能是爱斯基摩犬,概率为 0.00035%
Pomeranian 3.0651419820060255e-06:模型认为图像可能是博美犬,概率为 0.00031%
2. 手动配置运行inception_v3应用
- 环境准备
确保在设备中已经搭建好对应的Python及QNN环境,具体方法请参考:QAI-AppBuilder快速上手及环境配置
- 将安装好的QNN SDK 中的 QNN 库复制到qai_libs目录中:
qai_libs\libQnnHtpV73Skel.so
qai_libs\QnnHtp.dll
qai_libs\QnnHtpV73Stub.dll
qai_libs\QnnSystem.dll
qai_libs\libqnnhtpv73.cat
- 从以下链接下载示例代码:
下载示例代码后,将其复制到工作目录根目录
- 将输入数据图像下载并复制到工作目录根目录下
- 准备好所有目录文件后,整体目录结构如下:
运行脚本下载的模型和标签文件会存放在models中
- 运行示例代码
python .\inception_v3.py
- 运行结果
运行后可以得到模型对输入图像的前五个可能类别及其对应的概率。
作者:
高通工程师,赵世朝(Shizhao Zhao)