UI 2 CODE中的深度学习+传统算法应用

文章探讨了在UI自动化中如何利用深度学习和传统算法进行图片到代码的转换。通过OCR获取文字位置、CNN鉴别、形状匹配等步骤,实现了复杂背景的前后景分离,有效地提取出有意义的结构信息。尽管存在挑战,如准确率和边缘切割问题,但此方法在处理多层和复杂颜色场景时展现出潜力。
摘要由CSDN通过智能技术生成

背景

在之前的文章中,我们已经提到过团队在UI自动化这方面的尝试,我们的目标是实现基于 单一图片到代码 的转换,在这个过程不可避免会遇到一个问题,就是为了从单一图片中提取出足够的有意义的结构信息,我们必须要拥有从图片中切割出想要区块(文字、按钮、商品图片等)的能力,而传统切割算法遇到复杂背景图片往往就捉襟见肘了(见下图),这个时候,我们就需要有能力把复杂前后景的图片划分为各个层级图层,再交给切割算法去处理,拿到我们期望的结构信息。

640?wx_fmt=png

经过传统切割算法处理,会无法获取图片结构信息,最终只会当成一张图片处理。

在业界,图片前后景分离一直是个很麻烦的命题,业界目前比较普遍采用的解决方案是计算机视觉算法提取,或是引入人工智能来解决,但直到现在,都没有百分百完美的解决方案。那是否能引入AI来解决这个问题呢,我们来看一下,目前使用AI并拿到比较不错结果的解法是fcn+crf,基本上能够把目标物体的前景轮廓框出来,但缺点也很明显:

  • 准确率只有80%左右

  • 边缘切割无法达到像素级别

  • 打标成本非常大

  • 难以训练

  • AI是个黑盒,结果不可控

在考虑到使用AI伴随的问题之外,咱们也一起来思考下,难道AI真的是解决前后景分离的最佳解法吗?

其实不是的,我们知道,一个页面,或者说设计稿,一个有意义的前景,是具有比较明显特征的,比如说:

  • 规则的形状:线段、矩形、圆形、圆角、是否对称等

  • 形状上是否有文字,或者说是类似于文字的信息

  • 是否闭合

让我们一起来验证下这个思路的可行性。

实践结果

在尝试了非常的多计算机视觉算法之后,你会发现,没有一种算法是能够解决掉这个问题的,基本上是可能一种算法,在某种场景下是有效的,到了另外一个场景,就又失效了,而且就算是有效的场景,不同颜色复杂度下,所需要的最佳算法参数又是不相同的。如果c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值