图像识别辅助处理系统权限弹框
Posted 360技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像识别辅助处理系统权限弹框相关的知识,希望对你有一定的参考价值。
背景
开测平台在用例脚本执行过程中,被测APP会遇到很多权限弹框,由于用例脚本很多时候依赖uiautomator工具,因此平台在执行用例过程中无法启动弹窗助手服务,这些权限弹框需要用例脚本自己做兼容。因为权限弹框(如图1所示)很多时候被点击的控件都是“允许”,平台尝试利用图像识别服务寻找被点控件坐标。
图1 权限弹框图
方案
模板匹配:
在目标图像上截取待识别的模板图像,以模板图像大小的矩形框在目标图像上从左到右、从上到下滑动,计算矩形框所在目标图像区域和模板图像的匹配度(匹配度的计算方法采用的是TM_CCOEFF_NORMED方法),得到匹配度图,然后使用minMaxLoc方法根据匹配度图得到匹配度最大的坐标,该坐标即模板在目标图像中的左上角坐标,最后根据左上角坐标和模板的宽高换算出模板在目标图像中的中心点坐标。
图2 模板匹配示意图
模板匹配是逐像素点匹配的,因此对模板的要求特别高,需和目标图像尺度、亮度等条件保持一致才能很好的匹配上。这一特性导致了模板匹配没有很好的泛化能力,不同型号手机分辨率的差异导致需要维护多个匹配模板,这无疑降低了用例任务执行过程中弹框处理的速度和稳定性。因此为了避免此类问题的发生,我们引入了SIFT特征点匹配方法,SIFT特征点 对旋转、尺度缩放、亮度变化保持不变性,可以很好的解决模板匹配问题。
SIFT特征点匹配:
对模板图像和目标图像构建各自尺度空间,提取出SIFT特征点和相应的128维描述子(结合周围像素点梯度信息生成的128维的向量,用于描述该特征点),然后利用knnMatch方法对模板图像和目标图像特征点进行匹配,接着对匹配的特征点对做单应性变换,将模板图像映射到目标图像上。最后根据映射的坐标换算出模板在目标图像上的中心坐标。
图3 SIFT特征点匹配
整个系统权限弹窗处理流程是手机端启动一个可以截图和点击的服务,任务执行端在收到用例任务时,启动权限弹框处理线程,不断的调用截图接口,将截图和模板图传给图像识别接口,图像识别接口返回匹配的中心点坐标,弹框处理线程调用手机端点击服务处理权限弹框。
实际应用过程中,手机上弹框种类繁多,不同手机同一类弹框文案也有差异,例如权限弹框 A手机弹框文案是禁止、允许,B手机弹框文案可能是取消、同意,C手机弹框文案可能是禁止、始终允许……那如何做到真正智能的处理掉未知弹框呢?后续可以尝试的思路是首先利用图像识别等技术找到截图中弹框的位置区域,然后对该位置区域的弹框利用OCR文字识别技术,识别出弹框文本和文本的坐标位置,最后结合线上已有的云规则配置信息利用BERT等模型预测需要点击的文本信息,将文本的坐标位置返回,调用手机端点击服务点击弹框。
在这里留言哦
技术干货|一手资讯|精彩活动
以上是关于图像识别辅助处理系统权限弹框的主要内容,如果未能解决你的问题,请参考以下文章