QAI AppBuilder介绍系列(8):图像修复应用实例2

Saved Section

LaMa-Dilated模型旨在通过扩张卷积技术实现高效的图像擦除和修复。该模型采用先进的卷积神经网络架构,能够处理复杂的图像输入,并填补图像中的缺失部分,使修复后的图像更加自然和逼真。LaMa-Dilated不仅在图像编辑领域表现出色,还在增强现实和其他需要高质量图像处理的应用中发挥重要作用。它支持多种设备和平台,包括智能手机和平板电脑,能够在这些设备上实现实时处理,提供用户友好的体验。通过扩张卷积技术,LaMa-Dilated能够捕捉更多的图像细节,确保修复后的图像质量不受影响。该模型的高效性和灵活性使其成为图像处理领域的创新解决方案,推动了技术的进步和应用的发展。总之,LaMa-Dilated通过其强大的图像修复能力,为用户提供了高质量的图像处理体验,广泛应用于各个行业,成为图像编辑和增强现实领域的重要工具。

本文章主要介绍如何使用LaMa-Dilated模型进行图像修复,如何配置QAI AppBuilder工具及环境。包括了准备需要处理的图像数据,加载LaMa-Dilated模型,运行示例代码进行图像处理,查看处理后的图像效果等步骤。通过这些步骤,可以更加熟悉地使用LaMa-Dilated模型并进行图像擦除和修复等工作

前置条件

  • 高通 Windows on Snapdragon
  • 各平台账号,包括:Github、高通 Software Center

操作方法及步骤

1. 快捷使用lama_dilated图像修复应用

  • LaMa-DilatedAOTGAN对比

LaMa-DilatedAOTGAN是两种不同的图像修复模型,它们在技术实现和应用场景上有显著区别。

LaMa-Dilated

技术实现:LaMa-Dilated采用扩张卷积(Dilated Convolution)技术,通过在卷积核中引入空洞来增加感受野。这种方法能够在不增加参数量的情况下捕捉更多的上下文信息,从而提高图像修复的效果12

应用场景:LaMa-Dilated主要用于高分辨率图像的修复和擦除,适用于需要高质量图像处理的应用,如图像编辑和增强现实。它能够在设备上实现实时处理,提供用户友好的体验1

AOTGAN

技术实现:AOTGANAttention-guided Generative Adversarial Network)采用生成对抗网络(GAN)架构,并结合注意力机制来进行图像修复。注意力机制能够帮助模型关注图像中的重要区域,从而生成更加自然和逼真的修复结果3

应用场景:AOTGAN广泛应用于各种图像修复任务,包括去除图像中的遮挡物、修复损坏的图像和填补缺失部分。由于其生成对抗网络的特性,AOTGAN在处理复杂图像修复任务时表现出色3

总的来说,LaMa-DilatedAOTGAN在技术实现和应用场景上各有优势。LaMa-Dilated通过扩张卷积技术实现高效的图像修复,适用于高分辨率图像处理;而AOTGAN通过结合注意力机制和生成对抗网络,能够处理更复杂的图像修复任务,生成自然逼真的结果。

  • 执行前准备

模型运行需要依赖PythonQNN环境,需要注意,最新版本的QNN SDK已经更名为Qualcomm® AI Runtime SDK,旧版本QNN SDK依旧可用。

确保在设备中已经搭建好对应的PythonQNN环境,具体方法请参考:QAI-AppBuilder快速上手及环境配置

  • 打开Powershell终端,在Python虚拟环境中执行以下命令:

python lama_dilated\lama_dilated.py

输入图像:

mask图像数据是一种二值图像,其中白色区域表示需要修复的部分,黑色区域表示不需要修复的部分。模型通过这个 mask 图片来确定哪些区域需要进行填补和修复,从而生成完整的图像。

输出结果:

我们可以发现,LaMa-DilatedAOTGAN除了通过不同的技术实现,输出的结果却基本相同,无明显差异。

2. 手动配置运行lama_dilated图像修复应用

  • 环境准备

确保在设备中已经搭建好对应的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

  • 从以下链接下载示例代码

lama_dilated.py

下载示例代码后,将其复制到工作目录根目录

  • 将输入数据复制到工作目录根目录下

将输入数据图像和掩码图像下载并复制到工作目录根目录下:
input.png
mask.png

  • 准备好所有目录文件后,整体目录结构如下:

运行脚本下载的模型会存放在models

  • 运行示例代码

python .\lama_dilated.py

  • 运行结果

得到的输出图像最终保存为output.png

作者:

赵世朝(Shizhao Zhao),高通工程师