宝藏昇腾AI应用推荐!CANN带你体验黑白图像自动上色的快乐~

2023-10-19 17:10

本文主要是介绍宝藏昇腾AI应用推荐!CANN带你体验黑白图像自动上色的快乐~,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要:属于“你”那边的麦田 天空 河水 骏马 树木……会是什么颜色呢?

黑白与色彩

似乎把时代分割了两半~

我在这头看见了错乱繁华,琳琅满目,看见快速消长的色彩缤纷。

翻开一张黑白照片

我能看到世代流传的印记,一种历久弥新的美

我能看到但我却又看不到“你”能看到的景色

这看似不经意的一眼却在我心里犹如惊鸿一瞥

令人望而生畏

却又不住的悄然幻想

属于“你”那边的麦田 天空 河水 骏马 树木……

会是什么颜色呢?

就在此刻的定格

我愿把万千色彩赋予给“你”,

带你共同体验这万千繁华盛景~

黑白图像上色模型原理

本应用基于昇腾AI异构计算架构CANN,使用黑白图像上色模型搭建,适用于Atlas 200 DK及Atlas 300I等相关推理产品。

对物件(包括背景色)(L通道代表的灰度图)使用卷积运算提取特征然后同样用卷积进行分类,从而尝试给出对灰度图片每个像素点的色彩预期(ab通道)。然后,将ab通道的值resize到原始图片宽高并与L通道叠加后,转为RGB图片即可得到彩色图像。其中模型的输入为L通道的数据(224,224,1),输出为ab通道的数据(56,56,2)。

我们也可以通过开源模型的测试脚本来理解原始模型的输入和输出,以及输入前的计算过程(也叫前处理)和输出后的处理过程(也叫后处理)。

预处理过程:RGB格式读入转Lab,resize到224224,提取L通道,减均值(-50)
后处理过程:推理的结果ab通道,resize到224224,与输入L合并为Lab,转RGB,保存为jpeg图片

模型原始链接:https://github.com/richzhang/colorization

准备模型

昇腾张量编译器ATC(Ascend Tensor Compiler)可以将开源框架的网络模型(如Caffe、TensorFlow等)以及Ascend IR定义的单算子描述文件换成昇腾AI处理器支持的离线模型,模型转换过程中可以实现算子调度的优化、权重数据重排、内存使用优化等,可以脱离设备完成模型的预处理。

使用ATC将黑白图像上色模型转换为昇腾AI处理器支持的离线模型命令如下:

atc --input_shape="data_l:1,1,224,224" --weight="./colorization.caffemodel" --input_format=NCHW --output="./colorization" --soc_version=Ascend310 --framework=0 --model="./colorization.prototxt"

应用开发

本应用采用了下图所示的模块化设计,通过各模块之间的协调配合完成一张图片的推理输出;对视频的推理也是一样的,可以直接参考开源仓中的源码实现。在这里就不再赘述了。

其中各个模块的主要功能点如下所示:

  • 运行管理资源申请

用于初始化系统内部资源,固定的调用流程。

  • 加载模型文件并构建输出内存

从文件加载离线模型数据,需要由用户自行管理模型运行的内存,根据内存中加载的模型获取模型的基本信息包含模型输入、输出数据的数据buffer大小;由模型的基本信息构建模型输出内存,为接下来的模型推理做好准备。

  • 数据预处理

接收外界传递的图像数据,对读入的图像数据进行预处理,然后构建模型的输入数据。

  • 模型推理

根据构建好的模型输入数据进行模型推理。

  • 解析推理结果

根据模型输出,解析模型的推理结果。使用opencv将转换后的彩色图像数据保存成图片文件。

预处理图像

图像预处理部分,使用opencv的imread接口读取图片,读取出来的是BGR格式。

模型输入为224×224,因此需要把读取到的图像resize到224×224。Resize后对数据做归一化处理。

如算法设计部分所言,该模型采用Lab色彩空间,因此需要把BGR格式转为Lab格式数据。该模型用L通道数据预测出可能的ab空间数据,所以要从Lab数据中分离出L通道数据。再对所得的数据减均值,即可得到模型需要的输入数据。

模型推理

模型推理部分,关键流程说明如下:

  1. 调用aclmdlCreateDesc接口创建描述模型基本信息的数据类型;
modelDesc_ = aclmdlCreateDesc();

2. 调用aclmdlGetDesc接口根据模型加载中返回的模型ID获取模型基本信息。aclError ret = aclmdlGetDesc(modelDesc_, modelId_);

3. 准备模型推理的输入、输出数据;

4. 执行模型推理,调用aclmdlExecute接口;aclError ret = aclmdlExecute(modelId_, input_, output_);

5. 获取模型推理的结果,用于后续处理。

6. 释放内存。调用aclrtFree接口释放Device上的内存。释放相关数据类型的数据。在模型推理结束后,需及时调用aclDestroyDataBuffer接口和aclmdlDestroyDataset接口释放描述模型输入的数据,且先调用aclDestroyDataBuffer接口,再调用aclmdlDestroyDataset接口。如果存在多个输入、输出,需调用多次aclDestroyDataBuffer接口。

后处理部分

图像后处理部分,使用opencv。对于模型推理得到预测出的ab空间数据。

首先把得到的数据resize回原图像大小,然后和原图像L通道数据合并,即得到完整Lab图像。

把Lab图像转回BGR格式即可保存为jpeg图片,得到上色后的图像。

黑白图像上色是一种艺术,也是一门技术~

昇腾AI“黑白图像上色” 应用已经上线,只需一点,即可上色!

本案例地址:https://www.hiascend.com/zh/developer/mindx-sdk/cartoon/990674866img?fromPage=1

在这个时代,一种新的颜色,就可以代表一种新的情绪,一个新的视角。

单调的黑白色似乎已经不足以满足我们的需求~

让AI科技带你诠释不一样的美~

同时,点击在线实验,还可以体验该应用是如何用CANN开发出来的;

该应用的源码在gitee和github都有开源,点击上面的github、gitee直达源码仓,大家可以基于源码进行二次开发。

更多应用案例和源码:

应用案例地址https://www.hiascend.com/developer/case-studies

源码地址:https://gitee.com/ascend/samples/

黑白图像上色示例图

打开网站不仅可以体验一秒上色的快乐~~

还可以直接获取到公开的源码,边体验边学习,还能在自己的Ascend的设备上直接玩转!

对科技的坚持正在改变世界,而我们不能改变这个世界也要好好体验所有的美好~

这款网页应用既简单又有趣,非常适合给老照片、黑白照以及各种单色调照片上色!

点击关注,第一时间了解华为云新鲜技术~

这篇关于宝藏昇腾AI应用推荐!CANN带你体验黑白图像自动上色的快乐~的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/241188

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个