一、前言
最近正在搞基于Atlas 200 DK的人工智能应用,逛华为云论坛的时候无意间看到了CANN训练营的帖子,正好才刚开始,决定来取一下经,正好补一下昇腾相关知识,我选择从进阶班——AI人脸属性编辑应用开始我的第一次CANN训练营之旅。
【CANN训练营 • 22年度第三季】年度收官之战,席卷大波福利向你走来!!!
二、概览与学习目标
课程概览上这样写道:对人脸属性特征进行编辑,实现发色调整、性别互换、年龄改变等特效,为用户生成多种特效照片,可应用在趣味社交、短视频等娱乐场景。看起来还挺有意思的。
学习目标:熟悉应用开发流程,掌握各开发步骤的关键知识点。了解图片数据处理的使用场景、基本概念。掌握典型场景下图片数据处理的接口调用流程,编排该功能的代码。掌握调试图片数据处理功能,具备基本问题定位能力。正好可以补一下视觉相关的知识。
三、人脸属性编辑
(1)StarGAN网络
本次案例我们将采用StarGAN网络来实现,输入的人头像图片的指定特征进行改变,实现改变头发颜色、性别互换等操作。
StarGAN 是 Yunjey Choi 等人于 17年11月 提出的一个模型。该模型可以实现图像的多域间的迁移。StarGAN 包含鉴别器D和生成器G两个部分.鉴别器D学习去辨别真实图像和生成图像,以及对图像进行所属域的分类。生成器G接受图像和目标域标签,生成假的图像。
(2)环境要求
特别要注意兼容性问题,具体可以查看官方文档,这里我选择开发版固件与驱动版本1.0.13 +CANN版本5.1.RC1.alpha005+MindStudio5.0.RC1+MindSpore1.8的配置。
(3)样例速跑
我们可以从Ascend的Gitee仓中获取源码:
我们需要将模型文件转换成昇腾处理器支持的om格式,使用ATC转模型方法如下:
下载测试图片:
编译运行
0 1 0 0 1为自己输入的参数,代表想要的各种特征,可自行调整。
运行完成后我们可以在样例工程的out/目录下生成推理后的图片。至此,我们顺利的跑完了一个AI人脸属性编辑样例,期待不久之后的直播讲解课~
四、补充
在这里简单介绍一下华为AI的全栈解决方案。在算力方面,有Ascend310、Ascend910昇腾AI处理器,有ModelArts提供AI开发平台;在AI框架方面开源了昇思MindSpore,其作为全场景AI框架,支持将模型部署到端(手机与IOT设备)-边(基站与路由设备)-云(服务器);为了解决算力成本高、模型开发效率低的问题,华为专门设计了异构计算架构CANN;华为还提供了全流程开发工具(IDE)MindStudio。也就是说,整套AI开发下来,都有华为自己的产品,自家的技术。

一、前言
最近正在搞基于Atlas 200 DK的人工智能应用,逛华为云论坛的时候无意间看到了CANN训练营的帖子,正好才刚开始,决定来取一下经,正好补一下昇腾相关知识,我选择从进阶班——AI人脸属性编辑应用开始我的第一次CANN训练营之旅。
【CANN训练营 • 22年度第三季】年度收官之战,席卷大波福利向你走来!!!
二、概览与学习目标
课程概览上这样写道:对人脸属性特征进行编辑,实现发色调整、性别互换、年龄改变等特效,为用户生成多种特效照片,可应用在趣味社交、短视频等娱乐场景。看起来还挺有意思的。
学习目标:熟悉应用开发流程,掌握各开发步骤的关键知识点。了解图片数据处理的使用场景、基本概念。掌握典型场景下图片数据处理的接口调用流程,编排该功能的代码。掌握调试图片数据处理功能,具备基本问题定位能力。正好可以补一下视觉相关的知识。
三、人脸属性编辑
(1)StarGAN网络
本次案例我们将采用StarGAN网络来实现,输入的人头像图片的指定特征进行改变,实现改变头发颜色、性别互换等操作。
StarGAN是 Yunjey Choi 等人于 17年11月 提出的一个模型。该模型可以实现图像的多域间的迁移。StarGAN包含鉴别器D和生成器G两个部分.鉴别器D学习去辨别真实图像和生成图像,以及对图像进行所属域的分类。生成器G接受图像和目标域标签,生成假的图像。(2)环境要求
特别要注意兼容性问题,具体可以查看官方文档,这里我选择开发版固件与驱动版本1.0.13 +CANN版本5.1.RC1.alpha005+MindStudio5.0.RC1+MindSpore1.8的配置。
(3)样例速跑
我们可以从Ascend的Gitee仓中获取源码:
我们需要将模型文件转换成昇腾处理器支持的om格式,使用ATC转模型方法如下:
下载测试图片:
编译运行
0 1 0 0 1为自己输入的参数,代表想要的各种特征,可自行调整。
运行完成后我们可以在样例工程的out/目录下生成推理后的图片。至此,我们顺利的跑完了一个AI人脸属性编辑样例,期待不久之后的直播讲解课~
四、补充
在这里简单介绍一下华为AI的全栈解决方案。在算力方面,有Ascend310、Ascend910昇腾AI处理器,有ModelArts提供AI开发平台;在AI框架方面开源了昇思MindSpore,其作为全场景AI框架,支持将模型部署到端(手机与IOT设备)-边(基站与路由设备)-云(服务器);为了解决算力成本高、模型开发效率低的问题,华为专门设计了异构计算架构CANN;华为还提供了全流程开发工具(IDE)MindStudio。也就是说,整套AI开发下来,都有华为自己的产品,自家的技术。