该应用程序演示了图像语义分割。本应用中使用的DeepLabV3是谷歌实现的一种语义分割算法。
这将对给定肖像图像中每个像素中的对象进行分类,并将标签分配给每个对象。图像语义分割有助于背景变化、人像模式等应用。
为了开发用于图像分割的 DeepLabV3 模型,我们使用 Snapdragon 移动平台 (SD835) 和高通神经处理 SDK。
Tensorflow 的 DeepLab API 设置是训练 DeepLabV3 模型的先决条件。安装步骤请按照以下说明进行,
# Run this command from $ sudo pip install -r dependencies/requirement.txt
$ git clone https://github.com/tensorflow/tensorflow.git
$ cd tensorflow
$ git clone https://github.com/tensorflow/models.git
$ cd /tensorflow/models/research
$ export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
注意:需要为每个新的终端会话进行环境设置。
为避免为每个新会话更新环境路径,请在带有绝对路径的 .bashrc 文件末尾添加以上行。
运行以下命令测试是否安装成功,
$ cd to tensorflow setup>/tensorflow/models/research
$ python deeplab/model_test.py
安装完成后,执行以下命令开始训练,
$ cd /tensorflow/models/research/deeplab
$ sh local_test.sh
注意:默认local_test.sh中的迭代次数为10,如有需要请自行修改。
先决条件:Qualcomm 神经处理 SDK 设置。使用以下链接中的说明进行设置,
https://developer.qualcomm.com/software/qualcomm-neural-processing-sdk/getting-started
SDK 不支持将直接图像作为推理模型的输入。
Qualcomm 神经处理 SDK 需要将 NumPy 数组存储为原始文件。为了在 SDK 中运行应用程序,我们需要对输入图像进行预处理。
以下是 src/deep_input_raw.py 文件中预处理步骤的详细信息,
(我们已经使用opencv对图像进行预处理)
在执行 src/deep_input_raw.py 脚本时,会生成 blob.raw 文件。
以下是使用 src/post_process_deeplab_output.py 更改预处理图像背景的详细步骤说明,
post_process_deeplab_output.py 脚本会将预处理图像的背景更改为灰度。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !