Skip to content
🎨 作者:李涛、mikigo、张龙 📔 阅读量:

一种基于图像识别的桌面应用控件智能标注的交底书

0、缩略语和关键术语定义

术语全称解释
分帧视频分帧将视频分解为一帧一帧的图片。
labelImg图像标定工具LabelImg 是一个可视化的图像标定工具
OpenCvOpenCVOpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉机器学习软件库,可以运行在LinuxWindowsAndroidMac OS操作系统上。
数据模板数据模板根据人工标注得到的数据,提取固定的数据格式生成的包含图片路径、元素的左上、左下、右上、右下坐标的xml格式的数据模板

1、相关技术背景(背景技术),与本发明最相近似的现有实现方案(现有技术)

智能自动化测试机器学习和深度神经网络算法,需要大量的图片素材进行数据标注,之后才能用于训练识别模型。智能识别旨在解决图像识别坐标定位中,桌面元素微调导致的元素定位失败的问题。但目前智能识别所需要的机器学习和深度神经网络算法大部分都是依赖数据的,需要大量的训练数据。由于桌面应用功能多样化、复杂化、控件数据量庞大,需要标注大量的素材。

实际工作中,为了得到训练数据,常使用人工标注的方式获得所需要的训练数据。

1.1、与本发明相关的现有技术

1.1.1、现有技术的技术方案

日常生产环境中,我们根据自动化用例分析出所需的桌面控件,然后截取桌面图片,然后使用LabelImg打开所截取的图片,标注用例所需要的控件。

以应用启动为例,所需步骤:

(1)点击打开启动器。

(2)在启动器中搜索应用名。

(3)双击应用名打开应用

分析所需元素控件为启动器、启动器中搜索栏、搜索结果三种控件,为保证训练数据丰富,需要在不同场景下截取这三种控件进行标注,每种控件至少16张图片素材。然后使用labelImg打开所截取的图片,分别标注启动器,搜索栏,搜索结果三种控件,从而获取训练数据。

1.1.2、现有技术的缺点

(1)人工数据标注成本高:智能识别训练需要海量的训练数据,数据标准需要大量的人力和时间,制作训练数据的成本高。

(2) 人工标注的质量不高:多人标注时,会因为标注人的主观意识不同,或对相同控件标注的命名不同等人为因素,会导致标注的数据有误差,从而训练的结果不准确。

可见智能识别数据的人工标注存在成本高,且质量无法保证到缺点。

2、本发明技术方案的详细阐述

2.1、本发明所要解决的技术问题

(1)采用自动化标注,解决人工标注的人力和时间成本。

(2)采用图像识别,精确识别所需的标注的控件,保证标注的尺寸大小一致,提高标注质量。

2.2、本发明提供的完整技术方案

打开屏幕录制软件,录制手动操作一次测试用例,然后将录制的视频进行分帧,然后对比前两帧图标相似度,剔除相似度过高的图片,在保证素材多样性的前提下,剔除重复多余的图片生成待标注的素材集,然后取出控件模板数据集,通过OpenCv模板匹配获取控件在待标注的素材图片中所在的左上、左下、右上、右下四处坐标,从而根据模板数据集生成标注数据。

2.2.1、准备待标注素材图片

以应用启动为例说明:

(1) 打开屏幕录制软件,实时录制屏幕。

(2) 手动执行一次启动器启动应用,生成录制的视频文件。

(3) 使用FFmpeg将视频分帧为一帧一帧的图片,生成待标注的素材库

(4) 使用OpenCv对比前后两帧图片,若相似度大于预设阈值,则认为是相同的素材,任意删除一张,确保素材不重复。

2.2.2、准备模板图片

(1) 使用截图工具分别截取启动器图标、搜索栏、搜索结果作为模板,放入模板库中。

2.2.2、标注素材

(1) 循环取出模板库中的图片和待标注的素材进行模板匹配,若存在该模板,则获取模板在待标注的素材中的左上、左下、右上、右下、四处坐标。

(2) 将以上四处坐标写入数据模板中,生成训练数据。

后续不断的完善并更新模块库,则可以将以往的未标注上的控件均重新标注。

2.3、本发明技术方案带来的有益效果

(1)解决了人工标注所耗用的大量人力、时间成本。

(2)解决了人工标注时,人主观意识所导致的训练数据质量问题。

(3)解决了素材维护问题,后续只需要不断的完善并更新模板库后,可以将以往未标注控件的素材上重新标注。

2.4、针对上述技术方案,是否还有替代方案同样能完成发明目的

3、本发明的技术关键点和欲保护点是什么

(1)通过录制视频,分帧的方式获取待标注的素材库。

(2)通过模板与待标注的素材进行图像识别,生成训练数据。

(3)通过维护模板库库,即可对以往的训练数据重新标注。

4、附件:

参考文献(如专利/论文/标准等)

l FFmpeg 视频分帧:

https://blog.csdn.net/qq_33373858/article/details/83690331

l OpenCv 模板匹配:

https://blog.csdn.net/weixin_33946659/article/details/112288874