CN111553408B - 视频识别软件自动测试的方法 - Google Patents

视频识别软件自动测试的方法 Download PDF

Info

Publication number
CN111553408B
CN111553408B CN202010340654.4A CN202010340654A CN111553408B CN 111553408 B CN111553408 B CN 111553408B CN 202010340654 A CN202010340654 A CN 202010340654A CN 111553408 B CN111553408 B CN 111553408B
Authority
CN
China
Prior art keywords
frame
video
video input
software
identification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010340654.4A
Other languages
English (en)
Other versions
CN111553408A (zh
Inventor
朱俊汀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhiquan Technology Guangdong Co ltd
Original Assignee
Zhiquan Technology Guangdong Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhiquan Technology Guangdong Co ltd filed Critical Zhiquan Technology Guangdong Co ltd
Priority to CN202010340654.4A priority Critical patent/CN111553408B/zh
Publication of CN111553408A publication Critical patent/CN111553408A/zh
Application granted granted Critical
Publication of CN111553408B publication Critical patent/CN111553408B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本发明是关于视频识别软件自动测试的方法。该方法包括:对目标视频输入至视频识别软件的多个视频输入帧进行采样;获取视频识别软件输出的与多个视频输入帧中各视频输入帧对应的帧识别结果;计算多个视频输入帧中任意相邻视频输入帧的相似度;根据任意相邻视频输入帧的相似度和各视频输入帧对应的帧识别结果,检测视频识别软件是否发生运行错误。通过本发明的技术方案,可在没有人工图像标注的情况下,准确检测视频识别软件是否发生运行错误,有效地发现视频分析软件运行过程中图像中的目标识别错误,且该方法也可以用于对视频分析软件进行实时测试、实时纠错,得到的报错测试用例还可用于回归测试。该方法极大地提高了软件测试的性价比。

Description

视频识别软件自动测试的方法
技术领域
本发明涉及测试技术领域,尤其涉及视频识别软件自动测试的方法。
背景技术
目前,随着计算机处理效率和图像识别技术的发展,视频图像识别在人们日常生活中的应用也日益普及。尤其是在视频监控中物体的检测与追踪,以及自动驾驶车辆对周围的环境感知系统的应用中,视频图像识别软件起到了极其重要的作用。然而现有软件的图像识别准确率难以提高一直是各个厂商与研究机构所面对的一大问题。
在机器学习、模型训练的过程中,开发人员往往是通过提供大量的视频帧的手工标注数据来不断提升图像识别的准确度。然而人工标注的数据相对于软件的实际应用环境所面对的数据量仍是非常少量的。在不同的环境下,经过大量人工标注数据训练的视频识别程序的识别结果仍然经常会有不准确的情况出现,但这些情况在没有人为干预的情况下又很难被发现。因而,市面上目前缺乏有效的针对图像识别软件自动测试的方法与工具来解决图像识别技术所面临的软件识别不准确的瓶颈。
综上所述,如何在没有明确人工图像标注的情况下,仅利用视频输入数据本身发现视频分析(目标识别)软件存在缺陷是软件测试领域的一个尚未解决的问题。
发明内容
本发明实施例提供了视频识别软件自动测试的方法。所述技术方案如下:
根据本发明实施例提供了一种视频识别软件自动测试的方法,包括:
对目标视频输入至所述视频识别软件的多个视频输入帧进行采样;
获取所述视频识别软件输出的与所述多个视频输入帧中各视频输入帧对应的帧识别结果;
计算所述多个视频输入帧中任意相邻视频输入帧的相似度;所述任意相邻视频输入帧包括所述多个视频输入帧中的第i帧和第i+1帧,所述多个视频输入帧的总数目为n,i为小于n的正整数,且从1开始递增;
根据所述任意相邻视频输入帧的相似度和所述各视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误。
在一个实施例中,所述根据所述任意相邻视频输入帧的相似度和所述各视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,包括:
当所述多个视频输入帧中的第i帧和第i+1帧的相似度大于预设相似度时,根据预设视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,所述预设视频输入帧包括:第i帧和第i+1帧,或者,所述预设视频输入帧包括:第i帧、第i+1帧和第i+2帧。
在一个实施例中,所述根据预设视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,包括:
当所述第i帧对应的帧识别结果与所述第i+1帧对应的帧识别结果所表示的对象类型不同时,确定所述视频识别软件发生运行错误,i为正整数,且从1递增至n-1。
在一个实施例中,所述根据预设视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,包括:
确定所述第i帧对应的帧识别结果所识别出的所述第i帧的中心区域内的显示对象;
判断所述第i+1帧对应的帧识别结果是否识别出了所述第i+1帧的中心区域存在相同的显示对象;
当所述第i+1帧对应的帧识别结果未识别出所述第i+1帧的中心区域存在相同的显示对象,确定所述视频识别软件发生运行错误,i为正整数,且从1递增至n-1。
在一个实施例中,所述根据预设视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,包括:
确定所述第i帧对应的帧识别结果所识别出的所述第i帧的边缘区域内的显示对象;
判断所述第i+1帧对应的帧识别结果是否识别出了所述第i+1帧存在相同的显示对象;
当所述第i+1帧对应的帧识别结果未识别出所述第i+1帧的中心区域或边缘区域存在相同的显示对象而所述第i+2帧对应的帧识别结果识别出了相同的显示对象时,确定所述视频识别软件发生运行错误,i为正整数,且从1递增至n-2。
在一个实施例中,确定所述各视频输入帧的尺寸参数以及所述多个视频输入帧的采样频率,其中,所述尺寸参数包括所述各视频输入帧的宽度和长度;
根据所述各视频输入帧的尺寸参数以及所采样频率,确定所述中心区域、所述边缘区域和所述预设相似度。
在一个实施例中,计算在i从1递增至n-2或者n-1的过程中,确定所述视频识别软件发生运行错误的次数为p,p为正整数;
根据p和n的大小以及所述多个视频输入帧所占用的总采样时长,确定所述视频识别软件的检测召回率;
根据所述检测召回率调整所述视频识别软件的视频帧识别参数;或者
根据所述检测召回率确定所述视频识别软件的版本信息,进而将所述版本信息上报至服务器,以使所述服务器对所述视频识别软件进行修复。
在一个实施例中,所述计算所述多个视频输入帧中任意相邻视频输入帧的相似度,包括:
将所述多个视频输入帧的尺寸参数统一为预设尺寸;
将预设尺寸的所述多个视频输入帧进行灰度变化,获得所述多个视频输入帧中各视频输入帧的灰度图;
根据所述各视频输入帧的灰度图,确定所述各视频输入帧的每个像素点的灰度值以及所述各视频输入帧的平均灰度值;
根据所述各视频输入帧的每个像素点的灰度值以及所述各视频输入帧的平均灰度值,获得所述各视频输入帧的哈希值;
根据所述各视频输入帧的哈希值,计算所述任意相邻视频输入帧的相似度。
所述计算所述多个视频输入帧中任意相邻视频输入帧的相似度,包括:
A、根据下述公式计算所述相邻视频输入帧的关联性(相似度越高计算出的关联性自然也越高,反之,则越低);
Figure GDA0002739429350000051
上述公式中,c(i,i+1)为目标视频的第i帧和第i+1帧的关联性,apl为目标视频的第p帧第l个信息数据,aik为目标视频的第i帧第k个信息数据,ai+1,k为目标视频的第i+1帧第k个信息数据,n为目标视频中每帧包含的信息数目;
B、根据下述公式计算所述相邻视频输入帧的识别结果的一致性程度;
Figure GDA0002739429350000052
上述公式中,α(i,i+1)为目标视频的第i帧和第i+1帧识别结果的一致性程度,τ(i)为目标视频的第i帧的识别结果集合,τ(i+1)为目标视频的第i+1帧的识别结果集合,Wτ为识别结果中同类别对象的第i帧与第i+1帧信息差;
C、根据下述公式计算所述相邻视频输入帧的相似度;
y=μ1×c(i,i+1)+μ2×α(i,i+1)
上述公式中,y为所述相邻视频输入帧的相似度,μ1为所述相邻视频输入帧的相似度的比重系数,μ2为所述相邻视频输入帧的识别结果的一致性程度的比重系数,c(i,i+1)为目标视频的第i帧和第i+1帧的关联性,α(i,i+1)为目标视频的第i帧和第i+1帧识别结果的一致性程度。
本发明的实施例提供的技术方案可以包括以下有益效果:
通过计算所采样的多个视频输入帧中任意相邻视频输入帧的相似度,并结合任意相邻视频输入帧的相似度与所述各视频输入帧对应的帧识别结果,可在没有人工图像标注的情况下,准确检测所述视频识别软件是否发生运行错误,进而确认该视频识别软件是否存在缺陷,以便实现对视频识别软件的自动测试,进而有利于不断提升该视频识别软件对视频或图像的识别准确率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种视频识别软件自动测试的方法的流程图。
图2是根据一示例性实施例示出的一种目标视频中某相邻视频输入帧的截图。
图3是根据一示例性实施例示出的另一种视频识别软件自动测试的方法的流程图。
图4是根据一示例性实施例示出的一种视频帧的中心区域和边缘区域的相对位置的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
为了解决上述技术问题,本发明实施例提供了一种视频识别软件自动测试的方法,该方法可用于视频识别软件自动测试程序、系统或装置中,且该方法对应的执行主体可以是终端或服务器,如图1所示,该方法包括步骤S101至步骤S104:
在步骤S101中,对目标视频输入至所述视频识别软件的多个视频输入帧进行采样;视频识别软件即能够识别图像的软件,属于待测试软件。
在步骤S102中,获取所述视频识别软件输出的与所述多个视频输入帧中各视频输入帧对应的帧识别结果;
在步骤S103中,计算所述多个视频输入帧中任意相邻视频输入帧的相似度;所述任意相邻视频输入帧包括所述多个视频输入帧中的第i帧(即多个视频输入帧按顺序排列后的第i个视频输入帧)和第i+1帧(即第i+1个视频输入帧),所述多个视频输入帧的总数目为n,i为小于n的正整数,且从1开始递增;即本申请是循环计算相邻视频输入帧的相似度,然后循环判断视频识别软件是否发生错误的。
在步骤S104中,根据所述任意相邻视频输入帧的相似度和所述各视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误。
通过计算所采样的多个视频输入帧中任意相邻视频输入帧的相似度,并结合任意相邻视频输入帧的相似度与所述各视频输入帧对应的帧识别结果,可在没有人工图像标注的情况下,准确检测所述视频识别软件是否发生运行错误,进而确认该视频识别软件是否存在缺陷,以便实现对视频识别软件的自动测试,进而有利于不断提升该视频识别软件对视频或图像的识别准确率。
在一个实施例中,所述根据所述任意相邻视频输入帧的相似度和所述各视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,包括:
当所述多个视频输入帧中的第i帧和第i+1帧的相似度大于预设相似度时,根据预设视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,所述预设视频输入帧包括:第i帧和第i+1帧,或者,所述预设视频输入帧包括:第i帧、第i+1帧和第i+2帧。
当所述多个视频输入帧中的第i帧和第i+1帧的相似度大于预设相似度时,说明多个视频输入帧中相邻的第i帧和第i+1帧的相似度极高,这种相似度高的图像的识别结果也应该差异不大,因而,在这种情况下,根据预设视频输入帧对应的帧识别结果,可准确检测所述视频识别软件是否发生运行错误,进而明确该视频识别软件是否存在缺陷。
在一个实施例中,所述根据预设视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,包括:
当所述第i帧对应的帧识别结果与所述第i+1帧对应的帧识别结果所表示的对象类型不同时,确定所述视频识别软件发生运行错误,i为正整数,且从1递增至n-1。
当所述多个视频输入帧中的第i帧和第i+1帧的相似度大于预设相似度时,说明多个视频输入帧中相邻的第i帧和第i+1帧的相似度极高,这种相似度高的图像的识别结果也应该差异不大,即这两帧的帧识别结果中的对象类型至少是相同的,例如在第i帧对应的帧识别结果识别的对象类型为人时,理论上,第i+1帧对应的帧识别结果识别的对象类型不应该是自行车等非人对象的,因而,当所述第i帧对应的帧识别结果与所述第i+1帧对应的帧识别结果所表示的对象类型不同时,可确定所述视频识别软件发生运行错误,即该视频识别软件有缺陷,具体缺陷可能是对第i帧的对象识别错误,或对第i+1帧的对象识别错误,或者对第i帧和第i+1帧的对象都识别错误。
在一个实施例中,所述根据预设视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,包括:
确定所述第i帧对应的帧识别结果所识别出的所述第i帧的中心区域内的显示对象;
判断所述第i+1帧对应的帧识别结果是否识别出了所述第i+1帧的中心区域存在相同的显示对象;
当所述第i+1帧对应的帧识别结果未识别出所述第i+1帧的中心区域存在相同的显示对象,确定所述视频识别软件发生运行错误,i为正整数,且从1递增至n-1。
当所述多个视频输入帧中的第i帧和第i+1帧的相似度大于预设相似度时,说明多个视频输入帧中相邻的第i帧和第i+1帧的相似度极高,这种相似度高的图像的识别结果也应该差异不大,即对于前一帧(即第i帧)所识别出的中心区域内的显示对象,该视频识别软件也应该识别出紧邻的后一帧(即第i+1帧)的中心区域内有相同的显示对象(如同一个人或同一个物体等),因而,如果所述第i+1帧对应的帧识别结果未识别出所述第i+1帧的中心区域存在相同的显示对象,可确定所述视频识别软件发生运行错误,即该视频识别软件有缺陷,具体缺陷可能是对第i帧的对象识别错误,或对第i+1帧的对象识别错误,或者对第i帧和第i+1帧的对象都识别错误。
在一个实施例中,所述根据预设视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,包括:
确定所述第i帧对应的帧识别结果所识别出的所述第i帧的边缘区域内的显示对象;
判断所述第i+1帧对应的帧识别结果是否识别出了所述第i+1帧存在相同的显示对象;
当所述第i+1帧对应的帧识别结果未识别出所述第i+1帧的中心区域或边缘区域存在相同的显示对象而所述第i+2帧对应的帧识别结果识别出了相同的显示对象时,确定所述视频识别软件发生运行错误,i为正整数,且从1递增至n-2。
当所述多个视频输入帧中的第i帧和第i+1帧的相似度大于预设相似度时,说明多个视频输入帧中相邻的第i帧和第i+1帧的相似度极高,这种相似度高的图像的识别结果也应该差异不大,即对于前一帧(即第i帧)所识别出的边缘区域内的显示对象,该视频识别软件也应该识别出紧邻的后一帧(即第i+1帧)的中心区域内有相同的显示对象或者至少识别出紧邻的后一帧(即第i+1帧)的边缘区域内有相同的显示对象,因而,如果第i+1帧对应的帧识别结果未识别出所述第i+1帧的中心区域或者边缘区域存在相同的显示对象但所述第i+2帧对应的帧识别结果识别出了相同的显示对象时,则说明该软件在分析第i+1帧时有很大概率出现了遗漏显示对象的情况,因而,可确定所述视频识别软件发生运行错误。
当然,为了提高视频识别软件是否发生运行错误的判断准确率,还需要结合输入帧内对象/显示对象的移动速率才行,移动速率只有在一定阈值范围内,不会太快,才能确保对视频识别软件是否发生运行错误的判断准确率。
另外,上述确定所述视频识别软件发生运行错误的步骤可执行如下:
0)把n的初始值设为1;
1)计算被测视频第n帧和第n+1帧的相似度s,并与预先设定的相似度阈值S比较,如果两帧相似度s小于阈值S则执行步骤6),如果大于等于相似度阈值S,则执行步骤2);
2)提取视频第n帧的目标识别结果X={x1,x2,…,xi},提取视频第n+1帧的目标识别结果Y={y1,y2,…,yj},当n+2不超过最大帧数时提取视频第n+2帧的目标识别结果Z={z1,z2,…,zk};
3)设定X,Y中把相同的目标识别为不同类型的目标集合为D1。如果D1不为空集,即第n帧和第n+1帧中存在相同物体识别为不同类型,说明存在识别错误。记录触发错误的测试用例;
4)对于每一个在X中位于图像中心区域(即非边缘区域)的物体,如果它不存在于Y,则将其放入集合D2。如果D2不为空集,即说明有第n帧中心区域内的目标在第n+1帧中未被识别出来,所以存在识别错误,记录触发错误的测试用例;
5)当n+2不超过最大帧数时,对于每一个在X中位于图像边缘区域的物体,如果其不存在于Y但存在于Z,则将其放入集合D3。如果D3不为空集,则说明有第n帧边缘区域的目标在第n+1帧中未被识别出来,所以存在识别错误,记录触发错误的测试用例;
6)如果n<Max-1(Max是最大帧数),定义当前帧号n=n+1,重新回到步骤1)执行。
在一个实施例中,确定所述各视频输入帧的尺寸参数以及所述多个视频输入帧的采样频率,其中,所述尺寸参数包括所述各视频输入帧的宽度和长度;
根据所述各视频输入帧的尺寸参数以及所采样频率,确定所述中心区域、所述边缘区域和所述预设相似度。
通过结合各视频输入帧的尺寸参数以及所采样频率,可准确确定所述中心区域、所述边缘区域和所述预设相似度,以便提高视频识别软件是否发生运行错误的判断准确率。
在一个实施例中,计算在i从1递增至n-2或者n-1的过程中,确定所述视频识别软件发生运行错误的次数为p,p为正整数;
根据p和n的大小以及所述多个视频输入帧所占用的总采样时长,确定所述视频识别软件的检测召回率;检测召回率指的是该视频识别软件根据输入的视频能够准确检测视频输入帧中所包含的对象或显示对象的概率。
根据所述检测召回率调整所述视频识别软件的视频帧识别参数;或者
根据所述检测召回率确定所述视频识别软件的版本信息,进而将所述版本信息上报至服务器,以使所述服务器对所述视频识别软件进行修复。
由于对视频识别软件是否发生运行错误的单次的判断可能不太准,因而,在循环利用相邻视频输入帧及其对应的帧识别结果判断所述视频识别软件是否发生运行错误的过程中,可根据确定的错误次数p、n的大小以及与识别速率有关的总采样时长,确定视频识别软件的检测召回率,进而,根据检测召回率自动调整所述视频识别软件的视频帧识别参数,以对视频识别软件进行校正,提高该软件对视频帧的识别准确率,或者将视频识别软件的版本信息(如当前版本号或者名字等)上报至服务器,以使所述服务器对所述视频识别软件进行修复,以起到达到提高该软件对视频帧的识别准确率的效果。
在一个实施例中,所述计算所述多个视频输入帧中任意相邻视频输入帧的相似度,包括:
将所述多个视频输入帧的尺寸参数统一为预设尺寸;
将预设尺寸的所述多个视频输入帧进行灰度变化,获得所述多个视频输入帧中各视频输入帧的灰度图;
根据所述各视频输入帧的灰度图,确定所述各视频输入帧的每个像素点的灰度值以及所述各视频输入帧的平均灰度值;
根据所述各视频输入帧的每个像素点的灰度值以及所述各视频输入帧的平均灰度值,获得所述各视频输入帧的哈希值;
根据所述各视频输入帧的哈希值,计算所述任意相邻视频输入帧的相似度。
通过进行图像尺寸的统一化处理,可确保视频输入帧大小相同,避免由于尺寸不同使得软件识别错误,进而进行灰度处理,可借助灰度图确定出各视频输入帧的每个像素点的灰度值以及所述各视频输入帧的平均灰度值,然后得到各视频输入帧的哈希值,以便利用各帧的哈希值准确计算出相邻视频输入帧的相似度。
例如,可按照下述步骤进行计算:
相似度的阈值S主要依据不同的相似度算法来确定,常用算法包含但不局限于均值哈希算法,感知哈希算法,中位数哈希算法,以及颜色直方图等算法。在具体应用时需要根据时间复杂度,空间复杂度和所期望的比较结果来选择适当的图像相似度算法。此处以均值哈希算法为例。
均值哈希算法开始:
将视频的输入图像压缩至8x8的64个像素大小,移除图像细节;
将已压缩的图像转换为64级灰度图,去除颜色;
计算图像中所有像素点的平均灰度值G;
将图像中每一个像素点的灰度值与平均灰度值G进行比较,如果小于平均灰度值G,则设为0,否则设为1;
将图像像素点对应的0、1值按照统一顺序排列(如从左至右,从上到下的顺序),构造成为表示图像的64位哈希值。
均值哈希算法结束
在使用均值哈希算法时,通常认为两个哈希值的汉明距离(Hamming distance)不大于4时,即相似度S大于等于(64-4)÷64=93.75%时,确定两个图像非常相似。
另外,可以输入视频帧的二维长、宽参数以及采样频率共同界定被测图像中心主要部分(“中心区域”)和边缘区域的范围。被测图像区域的划分主要用来过滤图像边缘部分的物体在前后两帧图像采集的过程中真实消失在图像采集范围的情况。
例如:以车载摄像头作为输入设备,车辆行驶速度为50公里每小时,摄像头采样频率为8赫兹,输入图像为1920x1080像素大小。根据实际数据比较结果,可以定义边缘区域大小为输入图像宽度的百分之十,即(上、下、左、右的)边缘宽度为108像素时,能够涵盖到边缘区域物体真实移动出画面的情况。
在实际应用中,具体情况可以根据应用场景由测试人员自行定义和调整。
在一个实施例中,所述计算所述多个视频输入帧中任意相邻视频输入帧的相似度,包括:
A、根据下述公式计算所述相邻视频输入帧的关联性;
Figure GDA0002739429350000161
上述公式中,c(i,i+1)为目标视频的第i帧和第i+1帧的关联性,apl为目标视频的第p帧第l个信息数据(信息数据即像素),aik为目标视频的第i帧第k个信息数据,ai+1,k为目标视频的第i+1帧第k个信息数据,n为目标视频中每帧包含的信息数目,其中,相似度越高的相邻视频输入帧的关联性越大;
B、根据下述公式计算所述相邻视频输入帧的识别结果的一致性程度(该一致性程度与相似度有关,相似度越高,一致性程度越高);
Figure GDA0002739429350000162
上述公式中,α(i,i+1)为目标视频的第i帧和第i+1帧识别结果的一致性程度,τ(i)为目标视频的第i帧的识别结果集合,
Figure GDA0002739429350000171
为识别结果集合中的任一个(或任一部分)识别结果,τ(i+1)为目标视频的第i+1帧的识别结果集合,Wτ为识别结果中同类别对象(如第i帧与第i+1帧中的人为同类别对象)的第i帧与第i+1帧信息差(即像素的差值);
C、根据下述公式计算所述相邻视频输入帧的相似度;
y=μ1×c(i,i+1)+μ2×α(i,i+1)
上述公式中,y为所述相邻视频输入帧的相似度,μ1为所述相邻视频输入帧的相似度的预设的比重系数,μ2为所述相邻视频输入帧的识别结果的一致性程度的预设的比重系数,c(i,i+1)为目标视频的第i帧和第i+1帧的关联性,α(i,i+1)为目标视频的第i帧和第i+1帧识别结果的一致性程度。
通过上述技术,根据目标视频的信息及识别结果中的信息来综合判断两个相邻的视频帧的相似度使得计算所述相邻视频输入帧的相似度更加具有信服力,无论相邻视频输入帧的相仿度较高还是识别结果的一致性程度较高都是对相邻视频输入帧的相似度有影响的。
最后,需要明确的是:本领域技术人员可根据实际需求,将上述多个实施例进行自由组合。
下面将进一步详细说明本发明的技术方案:
一种自动发现视频分析软件运行过程中目标识别错误的方法,其核心为一组“蜕变关系”。该组蜕变关系定义了一个视频分析软件在对一个视频做分析的时候对该视频中不同帧的分析结果应该具有的一致性。基于这组预定义的蜕变关系,本发明的方法步骤如下:
对被测软件进行分析,根据采样频率和输入视频参数设定测试参数阈值;
从被测软件获取视频输入帧与软件输出的识别结果;
根据上述步骤设定的阈值将对应不同帧的软件输出结果进行比较,如满足预定义的蜕变关系,则记为出错。从视频流的第一帧检查到最后一帧。记录所有的出错帧和出错结果。
生成测试报告。其中触发错误的案例(出错帧和出错结果)可用于调试或强化训练被测软件、以及用于回归测试。
该方法的核心,即一组“蜕变关系”。该组蜕变关系定义了一个视频分析软件在对一个视频做分析的时候对该视频中不同帧的分析结果应该具有的一致性。具体如下:
蜕变关系1:对于相似度很高的两个连续帧n和n+1,视频分析软件输出的识别结果不应存在识别出相同的目标但类型却改变了的情况。如果出现此情况则说明该视频分析软件出错。
举例:在视频中的第1帧(下图2左),软件识别出一个目标“CAR”(汽车)。但在接下来的一帧(下图2右)对于相同的目标,软件输出结果为TRICYCLIST(骑三轮车的人)。根据“蜕变关系1”,我们可以确定该视频分析软件出错(错误可能是在第一帧,或在第二帧,或两帧都出现目标识别错误)。
蜕变关系2:对于相似度很高的两个连续帧n和n+1,第n帧识别输出的中心区域(即非边缘区域)内的目标在帧频不太快时(例如每秒数帧的情况下)不应在第n+1帧中丢失(除非该目标是移动速度极快的物体例如射出的箭或子弹)。
举例:在视频中的第1帧(下图2左),软件在“非边缘区域”识别出一个目标“CAR”(汽车)。如果该软件在接下来的一帧的整帧画面中(包括中心区域和边缘区域)都没有再识别出该汽车,那么根据蜕变关系2,该软件很可能出错(通常车载摄像头的帧频都在每秒数帧到每秒二十多帧,所以画面中心区域的汽车不应该在这么短的时间内就在镜头中消失)。
蜕变关系3:对于相似度很高的两个连续帧n和n+1,在帧频较快时(例如每秒数帧的情况下),如果图像分析软件在第n帧的边缘区域识别出一个目标,然后该目标在第n+1帧中未被发现但又在第n+2帧中被发现,则说明该软件在分析第n+1帧时有很大概率出现了目标丢失的情况(除非该目标或摄像机是在以极高的频率做摇摆运动但这种情况通常不会出现)。
此外,根据相似输入会得到相似或者一致输出结果的原则,可构造的蜕变关系包含但不局限于上述所列的蜕变关系。所有按照本原则构造的用以对视频识别软件进行自动测试的蜕变关系都属于本发明所述范围。最后,记录所有不满足以上蜕变关系的帧,生成测试报告,总结识别软件所存在的缺陷。
另外,本发明利用视频采样频率确定图像相似度阈值,以及利用输入视频图像二维的长、宽参数确定图像主要范围(即中心区域)与边缘区域的方法。
而本发明提供的一种基于蜕变关系的视频分析(目标识别)软件自动测试的方法,由于采用了多种不同的蜕变关系作为测试预期结果,节省了大量手工标注构建测试用例的工作量,弥补了对视频分析(目标识别)软件手工构建测试用例覆盖率低的缺陷,解决了对该类软件无法自动化地生成海量测试用例的问题。并且本发明测试收集到的结果可用以回归测试的自动进行,以及识别模型训练素材的补充,大大提高了测试效率,保证了测试的质量。
最后,本发明的视频识别自动测试方法的总体应用流程如图3所示。首先,从被测程序及其输入的视频流的分析开始,根据识别程序的识别频率计算获取合适的帧与帧相似度的阈值(帧频越高,两帧之间的时间空隙就越短,帧与帧之间的相似度就越大)。并结合每帧图像的二维长度和宽度划定如图4所示的每帧图像的中心、主要区域(中心区域)、以及边缘区域的范围用以后续蜕变关系的构建。例如:一帧的中心范围和边缘范围中,默认为一帧图像宽度(尺寸较短的那一维)的10%。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (8)

1.一种视频识别软件自动测试的方法,其特征在于,包括:
对目标视频输入至所述视频识别软件的多个视频输入帧进行采样;
获取所述视频识别软件输出的与所述多个视频输入帧中各视频输入帧对应的帧识别结果;
计算所述多个视频输入帧中任意相邻视频输入帧的相似度;所述任意相邻视频输入帧包括所述多个视频输入帧中的第i帧和第i+1帧,所述多个视频输入帧的总数目为n,i为小于n的正整数,且从1开始递增;
根据所述任意相邻视频输入帧的相似度和所述各视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误;
所述根据所述任意相邻视频输入帧的相似度和所述各视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,包括:
当所述多个视频输入帧中的第i帧和第i+1帧的相似度大于预设相似度时,根据预设视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,所述预设视频输入帧包括:第i帧和第i+1帧,或者,所述预设视频输入帧包括:第i帧、第i+1帧和第i+2帧。
2.根据权利要求1所述的方法,其特征在于,
所述根据预设视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,包括:
当所述第i帧对应的帧识别结果与所述第i+1帧对应的帧识别结果所表示的对象类型不同时,确定所述视频识别软件发生运行错误,i为正整数,且从1递增至n-1。
3.根据权利要求1所述的方法,其特征在于,
所述根据预设视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,包括:
确定所述第i帧对应的帧识别结果所识别出的所述第i帧的中心区域内的显示对象;
判断所述第i+1帧对应的帧识别结果是否识别出了所述第i+1帧的中心区域存在相同的显示对象;
当所述第i+1帧对应的帧识别结果未识别出所述第i+1帧的中心区域存在相同的显示对象,确定所述视频识别软件发生运行错误,i为正整数,且从1递增至n-1。
4.根据权利要求1所述的方法,其特征在于,
所述根据预设视频输入帧对应的帧识别结果,检测所述视频识别软件是否发生运行错误,包括:
确定所述第i帧对应的帧识别结果所识别出的所述第i帧的边缘区域内的显示对象;
判断所述第i+1帧对应的帧识别结果是否识别出了所述第i+1帧存在相同的显示对象;
当所述第i+1帧对应的帧识别结果未识别出所述第i+1帧的中心区域或边缘区域存在相同的显示对象而所述第i+2帧对应的帧识别结果识别出了相同的显示对象时,确定所述视频识别软件发生运行错误,i为正整数,且从1递增至n-2。
5.根据权利要求4所述的方法,其特征在于,
确定所述各视频输入帧的尺寸参数以及所述多个视频输入帧的采样频率,其中,所述尺寸参数包括所述各视频输入帧的宽度和长度;
根据所述各视频输入帧的尺寸参数以及所采样频率,确定所述中心区域、所述边缘区域和所述预设相似度。
6.根据权利要求2至5中任一项所述的方法,其特征在于,
计算在i从1递增至n-2或者n-1的过程中,确定所述视频识别软件发生运行错误的次数为p,p为正整数;
根据p和n的大小以及所述多个视频输入帧所占用的总采样时长,确定所述视频识别软件的检测召回率;
根据所述检测召回率调整所述视频识别软件的视频帧识别参数;或者
根据所述检测召回率确定所述视频识别软件的版本信息,进而将所述版本信息上报至服务器,以使所述服务器对所述视频识别软件进行修复。
7.根据权利要求1至5中任一项所述的方法,其特征在于,
所述计算所述多个视频输入帧中任意相邻视频输入帧的相似度,包括:
将所述多个视频输入帧的尺寸参数统一为预设尺寸;
将预设尺寸的所述多个视频输入帧进行灰度变化,获得所述多个视频输入帧中各视频输入帧的灰度图;
根据所述各视频输入帧的灰度图,确定所述各视频输入帧的每个像素点的灰度值以及所述各视频输入帧的平均灰度值;
根据所述各视频输入帧的每个像素点的灰度值以及所述各视频输入帧的平均灰度值,获得所述各视频输入帧的哈希值;
根据所述各视频输入帧的哈希值,计算所述任意相邻视频输入帧的相似度。
8.根据权利要求1所述的方法,其特征在于,
所述计算所述多个视频输入帧中任意相邻视频输入帧的相似度,包括:
A、根据下述公式计算所述相邻视频输入帧的关联性;
Figure FDA0002739429340000031
上述公式中,c(i,i+1)为目标视频的第i帧和第i+1帧的关联性,apl为目标视频的第p帧的第l个信息数据,aik为目标视频的第i帧的第k个信息数据,ai+1,k为目标视频的第i+1帧第k个信息数据,n为目标视频中每帧包含的信息数目;
B、根据下述公式计算所述相邻视频输入帧的识别结果的一致性程度;
Figure FDA0002739429340000041
上述公式中,α(i,i+1)为目标视频的第i帧和第i+1帧识别结果的一致性程度,τ(i)为目标视频的第i帧的识别结果集合,τ(i+1)为目标视频的第i+1帧的识别结果集合,Wτ为识别结果中同类别对象的第i帧与第i+1帧信息差;
C、根据下述公式计算所述相邻视频输入帧的相似度;
y=μ1×c(i,i+1)+μ2×α(i,i+1)
上述公式中,y为所述相邻视频输入帧的相似度,μ1为所述相邻视频输入帧的相似度的比重系数,μ2为所述相邻视频输入帧的识别结果的一致性程度的比重系数,c(i,i+1)为目标视频的第i帧和第i+1帧的关联性,α(i,i+1)为目标视频的第i帧和第i+1帧识别结果的一致性程度。
CN202010340654.4A 2020-04-26 2020-04-26 视频识别软件自动测试的方法 Active CN111553408B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010340654.4A CN111553408B (zh) 2020-04-26 2020-04-26 视频识别软件自动测试的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010340654.4A CN111553408B (zh) 2020-04-26 2020-04-26 视频识别软件自动测试的方法

Publications (2)

Publication Number Publication Date
CN111553408A CN111553408A (zh) 2020-08-18
CN111553408B true CN111553408B (zh) 2020-12-25

Family

ID=72007682

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010340654.4A Active CN111553408B (zh) 2020-04-26 2020-04-26 视频识别软件自动测试的方法

Country Status (1)

Country Link
CN (1) CN111553408B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115496129B (zh) * 2022-08-29 2024-03-19 超聚变数字技术有限公司 一种软件匹配方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053910B (zh) * 2010-11-18 2013-01-16 西北工业大学 一种基于aadl模态蜕变关系的嵌入式软件测试方法
CN107515825B (zh) * 2017-08-22 2021-05-25 网易(杭州)网络有限公司 流畅度测试方法和装置、存储介质、终端
EP3493064A1 (en) * 2017-11-30 2019-06-05 Advanced Digital Broadcast S.A. A method and system for automated testing of a graphical user interface for customer devices
US11615208B2 (en) * 2018-07-06 2023-03-28 Capital One Services, Llc Systems and methods for synthetic data generation
CN109446095A (zh) * 2018-11-07 2019-03-08 北京奇艺世纪科技有限公司 一种页面展示速度的测试方法、装置及电子设备
CN110221979A (zh) * 2019-06-04 2019-09-10 广州虎牙信息科技有限公司 应用程序的性能测试方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111553408A (zh) 2020-08-18

Similar Documents

Publication Publication Date Title
CN110853033B (zh) 基于帧间相似度的视频检测方法和装置
CN116188821B (zh) 版权检测方法、系统、电子设备和存储介质
CN113052147B (zh) 一种行为识别方法及装置
CN112084812B (zh) 图像处理方法、装置、计算机设备及存储介质
CN110533654A (zh) 零部件的异常检测方法及装置
CN111723656B (zh) 一种基于YOLO v3与自优化的烟雾检测方法及装置
CN112507860A (zh) 一种视频标注方法、装置、设备及存储介质
CN110096945B (zh) 基于机器学习的室内监控视频关键帧实时提取方法
CN113660484B (zh) 基于音视频内容的音视频属性比对方法、系统、终端及介质
CN117677969A (zh) 一种缺陷检测的方法和装置
CN112784724A (zh) 一种车辆变道检测方法、装置、设备及存储介质
CN112422909B (zh) 一种基于人工智能的视频行为分析管理系统
CN111553408B (zh) 视频识别软件自动测试的方法
CN117132768A (zh) 车牌及人脸检测和脱敏方法、装置、电子设备和存储介质
CN114519689A (zh) 图像篡改检测方法、装置、设备及计算机可读存储介质
CN116958724A (zh) 一种产品分类模型的训练方法和相关装置
CN112784691B (zh) 一种目标检测模型训练方法、目标检测方法和装置
CN115424253A (zh) 车牌识别方法、装置、电子设备和存储介质
CN115512189A (zh) 图像识别模型评估方法、装置以及存储介质
JP2024516642A (ja) 行動検出方法、電子機器およびコンピュータ読み取り可能な記憶媒体
CN114782860A (zh) 一种监控视频中暴力行为检测系统及方法
CN112200036A (zh) 学生行为远程监控方法和系统
CN112949490A (zh) 设备动作检测方法、装置、电子设备及可读存储介质
CN112380970A (zh) 基于局部区域搜索的视频目标检测方法
CN116501176B (zh) 基于人工智能的用户动作识别方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant