闲鱼是如何处理复杂背景内容识别的
处理流程
复杂背景的处理流程分为如下几个步骤
- 内容召回:通过目标检测网络召回元素,即元素是否需要做背景提取操作。
- 区域判断:根据梯度等视觉方法判断所处区域是否是复杂区域。
- 简单区域:基于梯度的方式找到背景区块。
- 复杂区域:采用 SRGAN 网络进行内容提取。
内容召回
内容找回我们采用目标检测网络来实现,例如 faster-tcnn 或 mark-rcnn 等。如下图所示
区域判断
根据拉普拉斯算子计算周边梯度,判断所处区域是否是复杂区域。
简单背景
游戏目标检测模型本身等局限性,会导致无法达到限速级别等精准性,因此需要对位置做修正。如果是简单背景就可以基于梯度对思想做位置修正,具体计算方式如下
复杂背景
复杂背景时,上图是原图,下图是提取的文字区块。
此时提取出的框不是完全正确,那么此时根据梯度等机器视觉算法已经不能对位置做正确的修正了。本文提出了基于 GAN 网络的方式来解决复杂背景内容提取问题,网络的主要结构如下图所示
为什么选择 GAN 网络?
- 基于 srGAN 网络,该网络加入了特征图的损失函数,这样可以很好保留高频信息,能更好的保留边缘。特征图的损失函数如下图所示
- 由于有对抗损失的存在,可以很好的降低误检率。
- 最重要的一点是在有透明度的场景下,语义分割网络只能“提取”元素,无法“还原”元素。而 GAN 网络不仅可以在提取元素的同时还原出未叠加时的像素情况。
网络训练流程图
针对业务场景针对 GAN 网络做的优化
- 由于我们不是超分辨率场景,因此不用 pixelShuffler 模块做上采样
- 由于场景比较复杂,可以引入 denseNet 和加深网络来提高准确率。
- 内容损失函数对于压制误判的噪点效果不理想,因此加大了误判的惩罚,具体如下图所示
结果图 1
结果图 2
结束语
本篇我们通过复杂背景内容提取的介绍,提出了一种机器学习为主,图像处理为辅去精确获取特定前景内容的方法,得到了高精确率、高召回率和高定位精度的识别结果。
下图分别是传统算法 grabcut,语义分割方法 deeplab 和本文方法的各个指标的情况。
本文转载自公众号闲鱼技术(ID:XYtech_Alibaba)。
你也许感兴趣的:
- Google 辟谣放弃 TensorFlow,它还活着!
- 做了 5 年机器学习研究,我发现了这 7 个真相
- 做了 5 年机器学习研究,我发现了这 7 个真相
- 亚马逊机器学习服务Amazon SageMaker 又添九项新功能!
- 用程序员的独特视角解读《隐秘的角落》
- 吴恩达的 CS229,有人把它浓缩成 6 张中文速查表
- 如何判断你的项目是不是真的需要用到 AI?
- 谷歌刷新机器学习世界纪录!2 分钟搞定 ImageNet 训练
- 机器学习项目失败的9个原因
- 机器学习是统计学的新瓶装旧酒?
你对本文的反应是: