发明内容
为了克服现有技术的不足,本发明的目的在于提供一种基于视频质检场景的阈值设定方法、存储介质和系统,其能解决上述问题。
一种基于视频质检场景的阈值设定方法,方法包括以下步骤:
第一步,针对具体功能点进行定性拆分,针对待检视频定义功能点的同框检测和信息验证;对同框检测中同框定义为出现正脸或出现头肩部分即判定为人物出现,以使得两种情况在算法上的普遍性和鲁棒性;对信息验证确定依据主观判断而定的不同松紧程度要求;
第二步,归纳拆分项,设定定性阈值;对同框检测,分为出现正脸判定有人出现和出现头肩部分即判定有人出现两种情况,设定相应的同框检测的阈值method取值集合为{0,1};对信息验证,分为检测到证件即算验证成功、能够提取出信息即算成功和提取出的信息与给定信息匹配分值大于一定值才算成功三种情况,相应的信息验证阈值method取值集合为{0,1,2};
第三步,针对不同拆分项设定定量策略:同框检测功能中不同定性情况对定量策略没有影响,定量策略设定为同框的时间;信息验证功能中,如果只要求出示证件,则定量策略为检测到的证件的置信度;如果要求提取到信息,则定量策略为检测到的信息的置信度;如果要对信息进行精确校验,则定量策略为信息的匹配度;
第四步,归纳拆分项,设定定量阈值:同框检测的功能要求为不同框时间不能超过一定值,相应的同框检测的定量阈值threshold范围设为[-5,5],当threshold小于0时,即表示不同框时间不能大于-threshold,当threshold大于或等于0时,要求同框时间必须大于或等于threshold;信息验证功能设定定量阈值threshold取值范围为[0,1],如果只要求出示证件,则threshold为检测到的证件的置信度;如果要求提取到信息,则threshold为检测到的信息的置信度;如果要对信息进行精确校验,则threshold为信息的匹配度。
其中,在第四步中,匹配度的计算方法为:
S41,为要匹配的信息的每个单字设定归一化权值,越重要的字权值越高,全部信息的权值和为1;
S42,合并多帧的检测结果,将识别出的字符逻辑合并;
S43,计算结果分值,将待测信息各字符权值按位置依次排列成集合,并将S42中识别出字符所在位的权值相加,相应的权值和即为本次识别的匹配度。
本发明还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行前述方法的步骤。
本发明还提供了一种视频质检系统,系统包括视频获取单元、存储器和处理器,所述视频获取单元将采集的视频信号实时传输给存储器和处理器,所述存储器存储历史数据,所述处理器用于执行前述方法,以获取最终质检结果。
本专利针对“同框检测”和“信息验证”两个在视频质检场景中的典型功能点提出了一种算法阈值设定方法,解决了算法分析和业务判断之间的逻辑连接问题。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
在经济、文化、教育、医疗、公共管理等各行各业充斥的大量信息数据,对其进行例如数据分析、数据挖掘、以及趋势预测等的数据处理分析在越来越多场景中得到广泛应用。其中,通过数据合作的方式可以使多个数据拥有方获得更好的数据处理结果。例如,可以通过多方合作式学习来获得更为准确的模型参数。
在一些实施例中,动态更新中心方的合作式学习的方法可以应用于在保证各方数据安全的情况下,各方协同训练机器学习模型供多方使用的场景。在这个场景中,多个数据方拥有自己的数据,他们想共同使用彼此的数据来统一建模(例如,分类模型、线性回归模型、逻辑回归模型等),但并不想各自的数据(尤其是隐私数据)被泄露。例如,互联网储蓄机构A拥有一批用户数据,银行B拥有另一批用户数据,基于A和B的用户数据确定的训练样本集可以训练得到性能更好的机器学习模型。A和B都愿意通过彼此的用户数据共同参与模型训练,但因为一些原因A和B不愿意自己的用户数据信息遭到泄露,或者至少不愿意让对方知道自己的用户数据信息。
在一些实施例中,可以采用联邦学习的方法进行合作式学习。联邦学习(Federated Learning)可以在多参与方或多计算节点之间开展高效率的机器学习。联邦学习可以使得多方数据在训练样本不出本地的情况下进行模型训练,只传递训练好的模型或者是计算梯度,这使得各方持有的训练样本的隐私性得到了保护。
在一些实施例中,联邦学习常应用于模型计算量大、参数多的情况。在该场景的实施例中,由于联邦学习过程中数据传输量大,因而通讯传输的压力较大。因此,在采用联邦学习的场景中,往往需要采用一定的方法降低传输过程中的通讯压力。
在本说明书的一些实施例中,模型进行每一次迭代更新的过程中,可以采用中心服务器更新的合作式学习任务判断(包括训练得到的模型梯度值或模型参数)进行压缩。具体地,通过更新后的任务恢复及继续,可以使得客户端模型训练不中断,无需重新训练,从而降低通讯压力。同时,对中心服务器出现异常的情况进行风险预测,保证了模型的稳定性。
具体方案如下,首先,视频质检的诸多条件或要求中,视频的“同框检测”和“信息验证”是最基本和关键技术点,它们的功能定义如下。
同框检测,是指在视频特定时间内,视频画面中必须同时出现特定的两人。这个功能可能包含多个不同的质检要求:画面中人必须出现正脸;画面中人只要面对镜头即可,无需正脸;时间段内只要出现过两人画面即可;时间段内两人出现时间必须满足一定时长要求;时间段内两人必须全程出现,不满足条件时长不能超过一定时间。
信息验证,是指给定信息,检查视频记录的信息是否与给定信息一致。比如质检要求是视频中的人必须出示身份证且身份证号要和后台提供的身份证号一致。此功能点也可能包含多个不同质检要求:视频中出现过身份证展示画面即可,无需进行信息验证;由于画质原因,视频中出现的身份证号不用全部识别,识别出的部分内容和后台提供的信息一致即可;视频中出现的身份证号必须全部识别且与后台提供信息一致。
第一实施例
对质检功能点设置定性和定量两种阈值:定性阈值阈值用来决定当前业务判断遵循何种从逻辑层面上确定的规则,如同框检测,该阈值需要清晰定义何谓同框;定量阈值用来决定当前算法的松紧程度,该阈值用来判定基于视频的业务处理结果而不是单帧图像的算法处理结果。参见图1,具体流程步骤如下。
第一步、针对具体功能点进行定性拆分
同框检测中“同框”的定义可以分为出现正脸才算有人出现和出现头肩部分就算该人出现,因为将这两种情况分开实现在算法上更具普遍性和鲁棒性。
信息验证在不同公司、不同时期或不同场景下会有不同的松紧程度要求,该松紧程度并不是算法数值层面的,而是人的主观判断上的,体现在实现上则是某些步骤的略过,最松的时候由于设备限制和录制人员素质差异只要求出示了证件即可,但对于高素质、严要求地区则需要完整检测出证件内容并加以核对。
第二步、归纳拆分项,设定定性阈值
将上述情况归纳为若干算法可以分别处理的情况,设定定性阈值method,定性阈值为一个离散整数集合,其元素为从0开始的自增整数,元素个数为情况数-1。
对同框检测,分为出现正脸才算有人出现和出现头肩部分即算人出现两种情况,则method取值集合为{0,1}。
对信息验证,分为检测到证件即算验证成功、能够提取出信息即算成功和提取出的信息与给定信息匹配分值大于一定值才算成功三种情况,则method取值集合为{0,1,2}。
第三步、针对不同拆分项设定定量策略
同框检测功能中不同定性情况对定量策略没有影响,定量策略设定为同框的时间。
信息验证功能中,如果只要求出示证件,则定量策略为检测到的证件的置信度;如果要求提取到信息,则定量策略为检测到的信息的置信度;如果要对信息进行精确校验,则定量策略为信息的匹配度。
第四步、归纳拆分项,设定定量阈值
同框检测功能要求通常可分为要求两人同框一段时间,或者要求两人全程要同框,由于算法有一定误差,需要设定一个容忍值,即不同框时间不能超过一定值。设定定量阈值threshold范围为[-5,5],当threshold小于0时,即表示不同框时间(秒)不能大于-threshold,当threshold大于或等于0时,要求同框时间(秒)必须大于或等于threshold。
信息验证功能设定定量阈值threshold取值范围为[0,1],如果只要求出示证件,则threshold为检测到的证件的置信度;如果要求提取到信息,则threshold为检测到的信息的置信度;如果要对信息进行精确校验,则threshold为信息的匹配度,匹配度的计算方法如下:
S41、为要匹配的信息的每个单字设定归一化权值,越重要的字权值越高,全部信息的权值和为1。
S42、合并多帧的检测结果,例如目标信息为“广电运通产品说明书”。第n帧识别到“广”字,其他字均识别错误,第n+1帧识别到“运”和“品”字,其他字均识别错误,则仅合并这两帧的识别结果为“广”、“运”和“品”三个字。
S43、计算结果分值,如设定“广电运通产品说明书”各字权值依次排列成集合表示为:{0.15,0.15,0.15,0.15,0.08,0.08,0.08,0.08,0.08},计算方式如下:
0.15+0.15+0.08=0.38。
一个完整的检测和计算过程如下表所示。
表-视频质检测试计算表
归一化权值(0~1) |
0.15 |
0.15 |
0.15 |
0.15 |
0.08 |
0.08 |
0.08 |
0.08 |
0.08 |
后台给定信息 |
广 |
电 |
运 |
通 |
产 |
品 |
说 |
明 |
书 |
第n帧算法识别结果 |
广 |
* |
* |
* |
* |
* |
* |
* |
* |
第n+1帧算法识别结果 |
* |
* |
运 |
* |
* |
品 |
* |
* |
* |
第n+2帧算法识别结果 |
* |
* |
* |
* |
产 |
* |
* |
* |
* |
第n+3帧算法识别结果 |
* |
电 |
* |
* |
* |
* |
* |
明 |
* |
第n+5帧算法识别结果 |
* |
* |
* |
通 |
* |
* |
* |
明 |
书 |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
最终识别结果 |
广 |
电 |
运 |
通 |
产 |
品 |
* |
明 |
书 |
分项得分 |
0.15 |
0.15 |
0.15 |
0.15 |
0.08 |
0.08 |
0.00 |
0.08 |
0.08 |
总分 |
0.92 |
|
|
|
|
|
|
|
|
第二实施例
本发明还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行前述方法的步骤。其中,所述方法请参见前述部分的详细介绍,此处不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
第三实施例
一种视频质检系统,系统包括视频获取单元、存储器和处理器,所述视频获取单元将采集的视频信号实时传输给存储器和处理器,所述存储器存储历史数据,所述处理器用于执行前述方法,以获取最终质检结果。
其中,视频获取单元包括但不限于CCD相机、摄像头、手机、摄像机等。
应当理解,本说明书一个或多个实施中的所述系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本申请的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
需要注意的是,以上对于处理设备及其模块的描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本申请作为参考。与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请所述内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、装置、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。