UI2CODE复杂背景无法识别?闲鱼工程师这样打造高准确率方案

简介: 你以为你穿个马甲,我就不认识你了嘛

闲鱼作者:仝辉,深宇

引言:

复杂背景内容提取指的是从复杂的背景中提取出特定的内容,例如在图片中提取特定的文字,在图片中提取特定的叠加图层等等。
这是一个业界难题,基于传统的图像处理的方法存在准确率和召回率的问题,没法解决语义的问题。而主流的机器学习的方法,例如目标检测无法获取像素级别的位置信息,而语义分割的方法则只能提取像素而无法获取半透明叠加前的像素信息。
本文考虑到这些痛点,从UI2CODE业务的业务场景出发,采用了目标检测网络来实现内容召回,GAN网络实现复杂背景中特定前景内容的提取和复原。

处理流程:

复杂背景的处理流程分为如下几个步骤:

内容召回:通过目标检测网络召回元素,即元素是否需要做背景提取操作。
区域判断:根据梯度等视觉方法判断所处区域是否是复杂区域。
简单区域:基于梯度的方式找到背景区块。
复杂区域:采用SRGAN网络进行内容提取。

内容召回:

内容召回我们采用目标检测网络来实现,例如Faster-rcnn或者Mask-rcnn等,如下图所示:

image.png

区域判断:

根据拉普拉斯算子计算周边梯度,判断所处区域是否是复杂区域。

简单背景:

由于目标检测模型本身的局限性,会导致没法达到像素级别的精确性,因此需要对位置做修正。如果是简单背景就可以基于梯度的思想做位置修正,具体计算方式如下:

image.png
image.png

复杂背景:

背景是复杂背景时,左图是原图,右图是提取的文字区块:

image.pngimage.png

  此时提取出的框不是完全正确,那么此时根据梯度等机器视觉算法已经不能对位置做正确的修正了。本文提出了基于GAN网络的方式来解决复杂背景内容提取问题,网络的主要结构如下图所示:
image.png

为什么选择GAN网络?

1)基于srGAN网络,该网络加入了特征图的损失函数,这样可以很好保留高频信息,能更好的保留边缘。特征图的损失函数如下图所示:
image.png

2)由于有对抗损失的存在,可以很好的降低误检率。

3)最重要的一点是在有透明度的场景下,语义分割网络只能“提取”元素,无法“还原”元素。而GAN网络不仅可以在提取元素的同时还原出未叠加时的像素情况。

网络训练流程图

image.png

针对业务场景对GAN网络做的改进

1.由于我们不是超分辨率场景,因此不用pixelShuffler模块做上采样

2.由于场景比较复杂,可以引入denseNet和加深网络来提高准确率。

3.内容损失函数对于压制误判的噪点效果不理想,因此加大了误判的惩罚,具体如下图所示:
image.png

预测获取的结果图I:

image.pngimage.png

预测获取的结果图II:

image.png
image.png

结束语

本篇我们通过复杂背景内容提取的介绍,提出了一种机器学习为主,图像处理为辅去精确获取特定前景内容的方法,得到了高精确率、高召回率和高定位精度的识别结果。
下图分别是传统算法grabcut,语义分割方法deeplab和本文方法的各个指标的情况。
image.png

经过数据论证,我们发现了一个值得进一步优化的点——需要大量样本适配不同的特征尺度,这里的投入会相对较大。如何进一步提高打标效率呢,我们将会在后续系列文章中和大家分享。

相关文章
|
7月前
|
Web App开发 前端开发 JavaScript
如何分析因为 SAP UI5 版本差异带来的问题试读版
如何分析因为 SAP UI5 版本差异带来的问题试读版
68 0
|
8月前
|
人工智能 JSON 数据格式
HarmonyOS学习路之开发篇—AI功能开发(文档检测校正)
基本概念 文档校正提供了文档翻拍过程的辅助增强功能,包含两个子功能:
|
11月前
|
JavaScript 机器人 测试技术
闲鱼技术2022年度白皮书-技术质量主题-关于闲鱼测试数据构造,我有几条心得(中)
闲鱼技术2022年度白皮书-技术质量主题-关于闲鱼测试数据构造,我有几条心得
289 0
|
11月前
|
测试技术
闲鱼技术2022年度白皮书-技术质量主题-关于闲鱼测试数据构造,我有几条心得(下)
闲鱼技术2022年度白皮书-技术质量主题-关于闲鱼测试数据构造,我有几条心得
150 0
|
11月前
|
机器学习/深度学习 人工智能 编解码
中科大团队新作 | 通用形变文档图像矫正框架(附在线体验DEMO)
中科大团队新作 | 通用形变文档图像矫正框架(附在线体验DEMO)
616 0
|
前端开发
前端知识学习案例22-code sand box线上编码平台
前端知识学习案例22-code sand box线上编码平台
61 0
前端知识学习案例22-code sand box线上编码平台
|
前端开发
网页设计中期尝试实时修改背景测试
网页设计中期尝试实时修改背景测试
56 0
|
安全 Android开发 C++
VS Code 扩展开发如何保持用户视觉体验一致
本文介绍如何在 VS Code 插件的 webview 中加载本地的资源文件,并如何使用 VS Code 自身的 UI 来实现用户视觉体验的一致。
111 0
VS Code 扩展开发如何保持用户视觉体验一致
短视频app制作,技术设计合理性的评判维度
短视频app制作,技术设计合理性的评判维度