开发者市集是WAVE SUMMIT+峰会上由开发者们基于飞桨打造酷炫项目的展示和交流平台。开发者们脑洞大开的Al创意,每年都会吸引不少人驻足观看。
今年11月的WAVE SUMMIT+2022峰会也将展示30余个开源展示项目,覆盖智慧城市、体育、趣味互动等产业应用。通过市集系列文章,我们先一探究竟~
今天将由飞桨开发者技术专家张一乔介绍“美甲预览机”项目。
项目简介
很多人觉得时尚感重点都在衣服的选款,其实很多小细节也影响着造型给人的感觉,美甲就是这样的时髦细节之一。随着美甲的流行,做美甲已经成为了很多人的日常休闲方式之一。但是面对琳琅满目的美甲照片“卖家秀”,很多人会存有疑虑,这些美甲的颜色呈现在自己的手上会有什么效果?美甲预览机就为大家解决这个问题。
美甲预览机可以被看作在指甲上的AI试衣间(下文简称美甲机)。它的主要功能是实时识别摄像头拍摄的画面,并将画面中的指甲部分渲染成涂过美甲的样子,无需用户真正做一次美甲,即可便捷地观察到自己做过美甲的样子,可以用来给不确定美甲方案、单纯对美甲感兴趣的人进行预览。
项目效果
项目流程图
本项目详细介绍了如何通过深度学习方法,轻松构造美甲机。项目内容包含训练指甲识别模型、Jetson Nano配置(Jetson Nano可用笔记本代替)、美甲机组装、效果优化等。项目主要流程如下:
技术细节
开发环境准备
AI Studio在线运行环境(若算力允许,可以自行替换其他训练设备)、个人主机、摄像头。(可选)Jetson Nano/Aibox、补光灯、双面胶、纸箱、线。
注:所有边缘设备,包括PC都可用于部署,本文以AiBox为例,使用FastDeploy进行部署。
关于FastDeploy,部署环境中可以直接使用CPU进行模型推理,安装命令如下:
pip install fastdeploy-python -f https://www.paddlepaddle.org.cn/whl/fastdeploy.html
更多支持模型和安装(如GPU版本)请参考
https://github.com/PaddlePaddle/FastDeploy
训练分割模型
首先,训练一个指甲分割模型,基础数据集的下载链接为
https://aistudio.baidu.com/aistudio/datasetdetail/68764/0
获得数据后,按照下述格式写入txt文档
图片地址1<空格>标签地址1
图片地址2<空格>标签地址2
图片地址3<空格>标签地址3
图片地址4<空格>标签地址4
图片地址5<空格>标签地址5
我们选择飞桨图像分割套件PaddleSeg中的PP-LiteSeg模型进行训练,下载并安装PaddleSeg,链接如下。
https://github.com/PaddlePaddle/PaddleSeg
训练需要准备的核心配置文件,如下
batch_size: 8 # 配置批大小和迭代次数
iters: 5000
train_dataset: # 设置训练集路径,图像增强方法仅包含随机裁剪/缩放/调整明暗度和归一
type: Dataset
dataset_root: /home/aistudio
train_path: /home/aistudio/train.txt
num_classes: 2
mode: train
transforms:
- type: RandomPaddingCrop
crop_size: [480, 360]
- type: Resize
target_size: [480, 36