QAI AppBuilder 快速上手(8): 图像修复应用实例2

news2025/4/15 11:00:24

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),高通工程师

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2331051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计网】作业4

一. 单选题(共22题,64分) 1. (单选题)主机甲采用停止-等待协议向主机乙发送数据,数据传输速率是4kb/s,单向传播时延为30ms,忽略确认帧的发送时延。当信道利用率等于80%时,数据帧的长度为&#…

MPDrive:利用基于标记的提示学习提高自动驾驶的空间理解能力

25年4月来自南方科技大学、百度、英国 KCL和琶洲实验室(广东 AI 和数字经济实验室)的论文“MPDrive: Improving Spatial Understanding with Marker-Based Prompt Learning for Autonomous Driving”。 自动驾驶视觉问答(AD-VQA)…

【学习笔记】HTTP和HTTPS的核心区别及工作原理

一、基础概念 HTTP(超文本传输协议):明文传输数据,默认端口80,容易被窃听或篡改。 HTTPS(HTTP SSL/TLS):通过加密传输数据,默认端口443,保障安全性。 二、…

【STL】list介绍(附与vector的比较)

文章目录 1.关于list2.使用2.1 list的构造2.2 list 迭代器的使用2.3 list 容量操作2.3.1 size()2.3.2 empty()2.3.3 resize() 2.4 list 元素访问2.4.1 front()2.4.2 back() 2.5 list 修改操作2.5.1 push_front()2.5.2 pop_front()2.5.3 push_back()2.5.4 pop_back()2.5.5 inser…

Ansible:roles角色

文章目录 Roles角色Ansible Roles目录编排Roles各目录作用创建 roleplaybook调用角色调用角色方法1:调用角色方法2:调用角色方法3: roles 中 tags 使用实战案例 Roles角色 角色是ansible自1.2版本引入的新特性,用于层次性、结构化…

找不到导入的项目“xxx\QtMsBuild\Qt.props”。请确认 Import 声明“$(QtMsBuild)\Qt.props”中计算结果为

系列文章目录 文章目录 系列文章目录前言一、问题原因 前言 新建的项目visual studio2022 使用Qt vs tools 找不到导入的项目“E:\osgEarth\DigitalSimulationPlatform\DigitalSimulationPlatform\QtMsBuild\Qt.props”。 请确认 Import 声明“$(QtMsBuild)\Qt.props”中计算结…

2025 年福建交安安全员考试:结合本省交通特点备考​

福建地处东南沿海,交通建设具有独特特点,这对交安安全员考试备考意义重大。在桥梁建设方面,由于面临复杂的海洋环境,桥梁的防腐、防台风等安全措施成为重点。考生在学习桥梁施工安全知识时,要特别关注福建本地跨海大桥…

UE5 蓝图里的声音

文章目录 支持的格式设置循环播放在场景中放置音频设置音频的衰减与不衰减在UI动画中播放声音使用蓝图节点播放声音按钮本身就可以播放声音 支持的格式 支持:WAV 不支持:MP3 设置循环播放 双击音频,打开音频设置,勾选Looping …

「合诚」携手企企通共建新材料和健康产业采购数智化新生态

在科技革命与产业变革深度融合的时代背景下,新材料与健康产业正迎来数字化、智能化的快速发展。 技术突破与消费升级的双重驱动,推动着行业不断创新,同时也对企业的供应链管理提出了更高要求。 1、合诚:聚焦新材料与健康产业&am…

java+postgresql+swagger-多表关联insert操作(七)

入参为json,然后根据需要对多张表进行操作: 入参格式: [{"custstoreName":"swagger-测试经销商01","customerName":"swagger-测试客户01","propertyNo":"swaggertest01",&quo…

Git版本管理系列:(一)使用Git管理单分支

目录 基础概念介绍仓库的创建创建隐藏目录添加代码到暂存区提交代码到仓库提交记录查询比较差异标签文件删除版本回退总结 Git‌ 是一个分布式版本控制系统(DVCS),用于跟踪文件的变更并协调多人协作开发‌,由 Linus Torvalds 于 2…

mapbox基础,加载ESRI OpenStreetMap开放街景标准风格矢量图

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.1 ☘️mapboxgl.Map style属性二、🍀加载ESRI OpenStreetMap开放街景标准风…

WGAN-GP 原理及实现(pytorch版)

WGAN-GP 原理及实现 一、WGAN-GP 原理1.1 WGAN-GP 核心原理1.2 WGAN-GP 实现步骤1.3 总结 二、WGAN-GP 实现2.1 导包2.2 数据加载和处理2.3 构建生成器2.4 构建判别器2.5 训练和保存模型2.6 图片转GIF 一、WGAN-GP 原理 Wasserstein GAN with Gradient Penalty (WGAN-GP) 是对…

IntelliJ IDEA使用技巧(json字符串格式化)

文章目录 一、IDEA自动格式化json字符串二、配置/查找格式化快捷键 本文主要讲述idea中怎么将json字符串转换为JSON格式的内容并且有层级结构。 效果: 转换前: 转换后: 一、IDEA自动格式化json字符串 步骤一:首先创建一个临…

SvelteKit 最新中文文档教程(18)—— 浅层路由和 Packaging

前言 Svelte,一个语法简洁、入门容易,面向未来的前端框架。 从 Svelte 诞生之初,就备受开发者的喜爱,根据统计,从 2019 年到 2024 年,连续 6 年一直是开发者最感兴趣的前端框架 No.1: Svelte …

集成nacos2.2.1出现的错误汇总

总结 1.jdk问题 jdk要一致 2.idea使用问题 idea启动nacos要配置,idea启动类要启动两次,并配置两次vm参数 3.项目依赖问题 依赖要正确添加,有的模块就是不能用公共模块的pom配置,需要独立配置,先后启动顺序也要注意…

LabVIEW 开发如何降本增效

在 LabVIEW 开发领域,如何在确保项目质量的同时降低开发成本,是众多企业和开发者共同关注的焦点。这不仅关乎资源的高效利用,更影响项目的投资回报率和市场竞争力。下面,我们将从多个维度深入剖析降本策略,并结合具体案…

Tomcat 负载均衡

目录 二、Tomcat Web Server 2.1 Tomcat 部署 2.1.1 Tomcat 介绍 2.1.2 Tomcat 安装 2.2 Tomcat 服务管理 2.2.1 Tomcat 启停 2.2.2 目录说明 2.2.3编辑主页 2.3 Tomcat管理控制台 2.3.1开启远程管理 2.3.2 配置远程管理密码 三、负载均衡 3.1 重新编译Nginx 3.1.1 确…

4月8日日记

今天抖音刷到一个视频 记了一下笔记 想做自媒体,直播,抖音是最大的平台,但是我的号之前因为跟人互喷被封号了 今天想把实名认证转移到新号上,试了一下竟然这次成功了,本以为能开直播了但是 还是因为之前的号有违规记…

【JavaScript】十六、事件捕获和事件冒泡

文章目录 1、事件流2、事件捕获3、事件捕获4、阻止冒泡5、解绑事件6、鼠标经过事件的区别7、两种事件注册语法的区别 1、事件流 先举个形象的例子:你去西安大雁塔旅游 出发找目的地时:先从你家出发,到陕西省西安市,再到雁塔区&a…