本文节选自我的博客:AI 商品修图器
- 💖 作者简介:大家好,我是MilesChen,偏前端的全栈开发者。
- 📝 优快云主页:爱吃糖的猫🔥
- 📣 我的博客:爱吃糖的猫
- 📚 Github主页: MilesChen
- 🎉 支持我:点赞👍+收藏⭐️+留言📝
- 💬介绍:The mixture of WEB+DeepLearning+Iot+anything🍁
AI商品修图图器实现自动抠图,前景背景融合,还支持自定义风格生成。
本项目源于19年阿里巴巴1688图像算法大赛。本文涉及的代码与素材均在这里获取,如果对您有帮助,麻烦帮我点个star
功能
- 生成商品白底图
- 添加商品前景图
- 添加商品背景图
- 生成风格图
- 本地客户端
- 网页客户端
更新
- 使用Skip FCN,将VGG19最后5层feature map作为FCN输入,提高模型精度;
- YOLO3对商品图像定位,提升商品图占比;
- 使用风格迁移,给图片赋予艺术特色,优化图片边缘;
- 自研算法寻找图像的边缘和方向,加入alpha通道梯段透明化优化图像边缘,详细了解;
- 使用腐蚀膨胀优化图片;
- 使用中值滤波过滤图片噪音;
- 增加背景图替换功能;
- 增加前景图替换功能
- 增加本地客户端UI;
- 将功能部分移植到WEB服务器供线上使用。
技术框架
YOLO模型完成对商品图像定位
FCN模型完成对商品图像分割
Gram矩阵实现风格迁移
数据集
YOLO3数据集
数据集挑选带包模特1000张,手动打标签制作成VOC2007数据集。提供YOLO训练定位模型,下载地址YOLO数据集下载
语义分割数据集
共622张图片,包含图像和mask标注。
FCN数据集下载
训练过程
客户端
tkinter写的客户端
web服务端
图像边缘梯度透明化算法
使用2*2的filter遍历mask寻找图像边缘,一共有16种情况,这里只认为以下8中情况为有效边缘,即上、下、左、右、左上、右上、左下、右下。以下图左上角情况为例:此时2*2的filter遍历的情况,黄色小球代表当前遍历像素的位置,固定为向右、向下延伸1pix像素,组成的2*2的区域;上白下黑说明这是上边缘。
在mask图检测到对应边缘后,将原图core(图中小球)对应的区域(33)透明度修改为逐渐透明,其他方向亦是如此。
core透明区域分别为33、55、77的边缘图像,透明区域能增强与新背景的融合度。
如果你觉得本文对你有所帮助,别忘记给我点个start,有任何疑问和想法,欢迎在评论区与我交流。