0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用DNN深度神经网络实现图像AIGC的开发-基于米尔瑞萨RZ/G2L开发板的创新应用

米尔电子 2023-10-21 08:01 次阅读

本文由米尔论坛优秀评测者“ALSET”提供。

01.

项目背景介绍


AIGC(即ArtificialIntelligence Generated Content),中文译为人工智能生成内容。简单来说,就是经过大量特征训练过的神经网络模型来对新的内容或者需求来生成人们需要的创作内容,类似使用人类用思考和创造力才能完成的工作过程,而现在可以利用人工智能威廉希尔官方网站 来替代我们完成。在狭义上AIGC是指利用AI自动生成内容的生产方式,比如自动写作、自动设计等。在广义上,AIGC是指像人类一样具备生成创造能力的AI威廉希尔官方网站 ,它可以基于训练数据和生成算法来完成各类的内容生成创作。在图像生成模型生成方面最主要的几个代表模型,是以下常见的4个模型:

DNNGANVAEDiffusion

其中基于深度神经网络(DNN)的进行图像艺术风格转移(Transform),生成高质量的具有艺术风格图像的神经网络模型。该模型通过深度神经网络分别提取图像中的内容和风格特征,然后对其目标图片内容进行重组,生成具有原图内容和艺术风格的图像,其风格转移不仅对图像的图案,颜色,特征等进行修改还保留原图高可辨识的内容载体。通常AIGC对硬件性能要求较高,只要具备高性能的图形图像的PC图形工作站或者服务器上来运行。而这里我们将使用MYD-YG2L开发板上来实现在嵌入式设备上完成图像风格转移计算这一任务。并且结合图形界面和USB摄像头完成对任意拍摄的图片进行图像风格化的开发。让嵌入式上也能够体验这种独特的AIGC内容生成方式。


02.

威廉希尔官方网站 硬件方案


项目采用MYD-YG2L为主控板,使用800万像素4K级广角USB相机镜头,通过采集画面,在主控板内完成对画面的风格化处理,并通过HDMI输出显示生成的图像。

这里使用开发板连接HDMI显示器和接入一个4K高清镜头,主要硬件连接如下图:

01e24ac2-6fa5-11ee-9788-92fbcf53809c.png

03.

主要威廉希尔官方网站 原理


图像风格转移的主要过程是对输入img_content和img_style,然后要把img_content的内容主体和img_style进行一个结合,实现一个图像的创意创作,这个过程也叫做Style Transform 即风格转移。

其核心的算法是把基于CNN卷积编码后的特征向量transformer第一个结合到风格迁移任务中,再对混合后的内容进行解码,从而输出新的图像内容,主要参考李飞飞论文,其核心流程如下图:02144842-6fa5-11ee-9788-92fbcf53809c.png022a2d7e-6fa5-11ee-9788-92fbcf53809c.png023f21e8-6fa5-11ee-9788-92fbcf53809c.png 经过测试MYD-YG2L较好的支持OpenCV这个工具库,并且具备较强的图像处理能力。那么就可以在板上使用OpenCV的DNN模块来实现以上算法过程。OpenCV的DNN模块从发行版开始,主要是支持推理,而数据训练不是其支持的目标。因此我们可以使用已经训练好的模型,在板上上完成推理过程,即图像风格转移生成的这一过程。现在OpenCV已经支持TensorFlow、Pytorch/Torch、Caffe、DarkNet等模型的读取,OpenCV的 DNN模块的用法。OpenCV的DNN模块进行模型推理就显得比较简单,过程就是:1.加载模型因为OpenCV DNN模块主要用来做推理计算,所以在使用前首先准备一个训练好的模型(如何训练自己的不同风格的模型后面也会阐述)。OpenCV支持所有主流框架的大部分模型。OpenCV的readNet系列函数就可以看出所支持的框架类型:

readNetFromCaffereadNetFromTensorflowreadNetFromTorchreadNetFromDarknetreadNetFromONNXreadNetFromModelOptimizer

这里所用风格迁移模型是开源的Torch/Lua的模型fast-neural-style。他们提供了十种风格迁移的模型,模型的下载脚本在:https://github.com/jcjohnson/fas ... _transfer_models.sh。这里使用OpenCV的readNetFromTorch函数加载PyTorch模型。2.输入图像预处理在OpenCV中输入给模型的图像需要首先被构建成一个4个区块的数据块(Blob),并且做如resize、归一化和缩放之类的一些预处理。3.模型推理模型推理过程就是把输入构建的blob输入给模型神经网络模型进行一次前向传播,在OpenCV中,用以下非常简单的两行代码即可完成:net.setInput(blob)output = net.forward()

04.

软件系统设计


在本软件开发,主要使用MYD-YG2L的SDK中,使用了OpenCV SDK与QT SDK。QT 主要实现文件图像风格转移的界面操作,使用OpenCV实现DNN图像推理计算。设计QTUI,选择文件或者摄像头采集原图像

024432f0-6fa5-11ee-9788-92fbcf53809c.png 

开发UI交互逻辑代码

025e854c-6fa5-11ee-9788-92fbcf53809c.png 

开发OpenCV DNN神经网络调用模块

026b3ab2-6fa5-11ee-9788-92fbcf53809c.png 

在开发板的交叉编译环境编译,把编译的结果部署到开发板上。另外把风格转移用到的训练模型文件也部署到开发板上,经过实际测试,以下模型在开发板上运行正常,而其它模型则因内存不够而报错。1: "udnie", 2: "la_muse", 3: "the_scream", 4: "candy", 5: "mosaic", 6: "feathers", 7: "starry_night"

05.

软件运行效果


把QT软件与相关模型文件部署到开发板上后,即可以运行测试效果,开发板上启动运行QT程序命令:./style_transform -platform linuxfb运行后,选择一张图片显示

点击 “transform”按钮,等待约13秒,得到风格转移输出画面

再换一张米尔的LOGO图,这个图片尺寸较小,图像内容变化率低看一下,风格化转换时间:

02a73f8a-6fa5-11ee-9788-92fbcf53809c.png 

测试仍然为13秒左右,得到如下输出图像:

02b7a230-6fa5-11ee-9788-92fbcf53809c.png 

这上面使用的是feathers模型生成的风格图片,其它模型时间也差不多在这个时间。

06.

开发后记


最后使用开发的图像转换程序,在MAC电脑上编译了MAC版本与开发板上对同一图片转换进行比较。其使用MacBook Pro 2.2G 16G内存主频硬件运行该图片转换时,需要8.6秒。多次测试,对不同模型的转换分别测试,基本上在MYD-YG2LX上运行速度能达到MAC电脑转换的66%性能,这个结果看该开发板其DNN推理计算性能比较强悍。 该项目在后续的发展中,在有更多时间时,将尝试训练更多特色的风格,以及融入GAN生成神经网络模型的内容生成模型,尝试多种方法来进行更丰富多彩的内容生成。在做本项目开发时,从资料中已知知名的内容生成项目stable diffusion已经在一些嵌入式开发板上移植运行成功,这个振奋的消息会不会又给自己挖了一个坑呢。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    5006

    浏览量

    97326
  • dnn
    dnn
    +关注

    关注

    0

    文章

    60

    浏览量

    9050
  • 米尔电子
    +关注

    关注

    0

    文章

    107

    浏览量

    446
  • AIGC
    +关注

    关注

    1

    文章

    359

    浏览量

    1530
收藏 人收藏

    评论

    相关推荐

    RZ/G2L高速虚拟串口方案 基于RZ/G2L SMARC开发板的虚拟(Virtual UART)实现方案

    RZ/G2L具有丰富的外设,比如千兆以太网,CANFD以及丰富的UART接口,可以满足工业数据收集处理相关的应用。本文主要介绍基于RZ/
    发表于 11-20 14:41 303次阅读
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>高速虚拟串口方案 基于<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> SMARC<b class='flag-5'>开发板</b>的虚拟(Virtual UART)<b class='flag-5'>实现</b>方案

    领万元大奖!米尔电子Remi Pi 米派创意秀

    创意秀、米派、Remi Pi、米尔电子、树莓派 2024年,米尔电子和电子共同定义和开发
    发表于 09-02 14:58

    RZ/G2L串口SCI的使用(上)

    RZ/G2L串口SCI的使用
    的头像 发表于 07-25 08:06 502次阅读
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>串口SCI的使用(上)

    2024威廉希尔官方网站 交流日进行中,米尔诚邀您参观

    基于RZ/G2LRZ/G2UL系列核心开发板,吸引了广大客户前来参观了解。2024年
    的头像 发表于 05-30 08:01 460次阅读
    2024<b class='flag-5'>瑞</b><b class='flag-5'>萨</b>威廉希尔官方网站
交流日进行中,<b class='flag-5'>米尔</b>诚邀您参观

    培训进行中!米尔基于RZ/G2L的OpenAMP混合部署实战培训

    5月22-23日,由米尔电子和电子联合举办的“电子基于RZ/
    的头像 发表于 05-30 08:01 416次阅读
    培训进行中!<b class='flag-5'>米尔</b>与<b class='flag-5'>瑞</b><b class='flag-5'>萨</b>基于<b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>的OpenAMP混合部署实战培训

    米尔-米派兼容树莓派扩展模块-试用体验】值得拥有的米尔-米派兼容树莓派生态

    今天为大家介绍一块米尔出的精致生态开发板-米尔-米派兼容树莓派扩展模块。 超高性价比的RZ/G2L
    发表于 05-13 11:28

    米尔-米派兼容树莓派扩展模块-试用体验】用视频来了解这块生态_米尔-米派兼容树莓派扩展模块

    今天为大家展示一下初始开发板_米尔-米派兼容树莓派扩展模块, 米尔-米派兼容树莓派扩展模块介绍如下:
    发表于 04-29 11:51

    米尔-米派兼容树莓派扩展模块-试用体验】初始开发板_米尔-米派兼容树莓派扩展模块

    开发板,他兼顾了严肃产品开发和爱好者创意实现两种需要。告诉你,选择它的五大理由: 1.工业芯片:采用
    发表于 04-29 11:42

    米尔-RZ/G2UL开发板】3.杂项测试

    米尔-RZ/G2UL开发板】3.杂项测试 不知道为啥我这板子好多奇奇怪怪的调试信息蹦出来,
    发表于 02-28 15:25

    米尔-RZ/G2UL开发板】1.开箱

    米尔-RZ/G2UL开发板】1.开箱 开箱视频 开箱也许会迟到,但是绝对不会缺席。今天开箱
    发表于 02-04 23:38

    米尔RZ/G2L开发板米派双核A55Remi Pi学习兼容树莓派扩展模块

    RemiPi第一款MPU生态板卡兼容树莓派扩展模块RZ/G2L工业级处理器,便于企业客户
    发表于 01-29 17:05 4次下载

    专注工业产品开发米派强势来袭

    创意实现两种需要。告诉你,选择它的五大理由:1.工业芯片:采用RZ/G2L双核A55芯片,芯片是工业级,结温可达-40到+125度,满足
    的头像 发表于 01-26 08:01 506次阅读
    专注工业产品<b class='flag-5'>开发</b>的<b class='flag-5'>瑞</b>米派强势来袭

    米尔电子和电子推出首款MPU生态开发板米派

    近日,米尔电子和电子共同定义和开发第一款MPU生态
    的头像 发表于 01-25 09:21 1070次阅读

    RZ/G2L串口SCI的使用(上)

    RZ/G2L的串口简称SCI,全称Serial Communication Interface。
    的头像 发表于 01-17 12:19 1492次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>串口SCI的使用(上)

    米尔-RZ/G2UL开发板开发板开箱与接口介绍

    开发板简介 MYC-YG2UL核心开发板基于RZ/G2UL处理器,通用64位工业MPU
    发表于 01-14 13:25