CN112183517B - 证卡边缘检测方法、设备及存储介质 - Google Patents
证卡边缘检测方法、设备及存储介质 Download PDFInfo
- Publication number
- CN112183517B CN112183517B CN202011002908.8A CN202011002908A CN112183517B CN 112183517 B CN112183517 B CN 112183517B CN 202011002908 A CN202011002908 A CN 202011002908A CN 112183517 B CN112183517 B CN 112183517B
- Authority
- CN
- China
- Prior art keywords
- edge
- card
- target frame
- key point
- iteration
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Abstract
本申请适用于图形处理技术领域,提供了一种证卡边缘检测方法、设备及存储介质。该方法包括获取目标视频中待处理的目标帧;根据目标帧所在的位置,获取与目标帧相邻的相邻帧的第一关键点信息,第一关键点信息包括证卡的角点信息;将第一关键点信息与目标帧输入至预设的关键点位置跟踪模型,以获取所目标帧的第二关键点信息以及目标帧的判定信息,其中,判定信息用于表征目标帧是否包含证卡;根据第二关键点信息和所述判定信息,确定目标帧的第一证卡检测结果。本申请实施例提供的证卡边缘检测方法受待视频帧的复杂背景和/或模糊边缘的影响较小,检测误差小。本申请还涉及数字医疗领域,用于患者身份证件的快速识别。
Description
技术领域
本申请属于图像处理技术领域,尤其涉及一种证卡边缘检测方法、设备及存储介质。
背景技术
随着身份证、社保卡和银行卡等各种卡片大量的使用,相关的证卡识别服务也随之而来。其中各种证卡的边缘(边框)检测是证卡识别中很重要的一环。
目前的证卡边缘检测,主要是采用神经网络或者传统的边缘检测算法找到图像中的所有边缘信息,然后设置各种条件过滤掉一些边缘信息,得到证卡的边缘信息。
上述方法在复杂背景或者边缘模糊的情况下,容易出现误判,导致边缘检测错误,影响后续对证卡信息的提取等其他服务的运行,另一方面上述方法的运算效率很低,不支持移动端的证卡边缘检测。
发明内容
有鉴于此,本申请实施例提供了一种证卡边缘检测方法、设备及存储介质,以解决现有技术中证卡边缘检索方法容易出现误判且运算效率低的技术问题。
第一方面,本申请实施例提供了一种证卡边缘检测方法,方法包括:
获取目标视频中待处理的目标帧;
根据目标帧所在的位置,获取与目标帧相邻的相邻帧的第一关键点信息,其中,相邻帧在目标视频的时间轴上的位置在目标帧之前,相邻帧中包含证卡,第一关键点信息包括证卡的角点信息;
将第一关键点信息与目标帧输入至预设的关键点位置跟踪模型,以获取目标帧的第二关键点信息以及目标帧的判定信息,其中,判定信息用于表征目标帧是否包含证卡;
根据所述第二关键点信息和判定信息,确定目标帧的第一证卡检测结果。
第二方面,本申请实施例提供了一种证卡边缘检测装置,装置包括:
第一获取模块,用于获取目标视频中待处理的目标帧;
第二获取模块,用于根据所述目标帧所在的位置,获取与所述目标帧相邻的相邻帧的第一关键点信息,其中,所述相邻帧在所述目标视频的时间轴上的位置在所述目标帧之前,所述相邻帧中包含证卡,所述第一关键点信息包括所述证卡的角点信息;
位置跟踪模块,用于将所述第一关键点信息与所述目标帧输入至预设的关键点位置跟踪模型,以获取所述目标帧的第二关键点信息以及所述目标帧的判定信息,其中,所述判定信息用于表征所述目标帧是否包含证卡;
第一确定模块,用于根据所述第二关键点信息和所述判定信息,确定所述目标帧的第一证卡检测结果。
第三方面,本申请实施例提供了一种证卡边缘检测设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面任一项方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任一项方法的步骤。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项的方法。
本申请实施例提供的证卡边缘检测方法,根据所述目标帧所在的位置,获取与所述目标帧相邻的相邻帧的第一关键点信息,由于相邻帧为目标视频的时间轴上的位置在目标帧之前的视频帧,且相邻帧包含证卡,故相邻帧的第一关键点信息可以作为目标帧的关键点初始约束位置,然后根据相邻帧的第一关键点信息进行关键点跟踪处理(关键点位置跟踪模型预测)获得目标帧的第二关键点信息,并根据第二关键点确定目标帧的第一证卡检测结果;相比于现有技术中直接基于边缘检测算法确定目标帧包含对象边缘信息的方法,本申请提供的证卡边缘检测方法受待视频帧的复杂背景和/或模糊边缘的影响较小,检测误差小,且关键点跟踪模型不需要进行特征点匹配处理,计算量大大减小,提高了边缘检测效率,适用于移动终端的证卡编码实时检测需求。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的证卡边缘检测方法的流程示意图;
图2为本申请一实施例提供的第一证卡示意图;
图3为本申请一实施例提供的获取第二关键点信息的流程示意图;
图4为本申请另一实施例提供的证卡边缘检测方法的流程示意图;
图5为本申请一实施例提供的确定第二证卡检测结果的流程示意;
图6为本申请一实施例提供的确定每个边缘区域对应的边缘直线的流程示意图;
图7为本申请实施例提供第一边缘区域和第一方向的示意图;
图8为本申请一实施例提供的子图像的示意图;
图9为本申请一实施例提供的编码器的网络结构示意图;
图10为本申请一实施例提供的证卡边缘检测装置的结构示意图;
图11为本申请另一实施例提供的证卡边缘检测装置的结构示意图;
图12是本申请一实施例提供的证卡边缘检测设备的硬件组成示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行示例性说明。值得说明的是,下文中列举的具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本申请一实施例提供的证卡边缘检测方法的流程示意图,适用于在终端设备或服务器中执行,如图1所示,该方法包括:
S10、获取目标视频中待处理的目标帧。
本实施例中,目标视频包含M个连续的视频帧,分别为第1帧,第2帧…第M帧,目标帧可以为目标视频中的任意一帧,M为大于1的整数。
S20、根据目标帧所在的位置,获取与目标帧相邻的相邻帧的第一关键点信息,其中,相邻帧在目标视频的时间轴上的位置在目标帧之前,相邻帧中包含证卡,第一关键点信息包括证卡的角点信息。
本实施例中,目标帧所在的位置可以是指,目标帧在目标视频中按播放时间排序后的位置。
例如,目标帧在目标视频的时间轴上的位置。
示例性的,目标视频包含M个视频帧,该M个视频帧按照播放时间排序分别为第1帧,第2帧…第M帧,则第1帧为目标视频的第一帧。
若目标帧为第j帧,则相邻帧为第j-1帧,其中j为大于1小于或等于M的整数。
可以理解的是,若目标帧存在相邻帧,则目标帧不是目标视频的第一帧。
本实施例中,证卡可以是指身份证、社保卡和银行卡等多种卡片,在此不做具体限定。
本实施例中,在相邻帧包含证卡(以下简称第一证卡)的情况下,相邻帧的第一关键点信息可以包括证卡的角点坐标。
示例性地,请一并参阅图2,图2为本申请一实施例提供的第一证卡示意图。如图2所示,第一证卡处于XOY坐标系中,该XOY坐标系即为相邻帧的坐标系。
第一证卡的关键点信息包括第一证卡的四个角点坐标,即图2中的ABCD四个角点的角点坐标。在获得第一证卡的四个角点坐标后,可以根据该四个角点坐标计算获得第一证卡的长度、宽度,以及第一证卡的四条边缘线的直线参数。
S30、将第一关键点信息与目标帧输入预设的关键点位置跟踪模型,以获取目标帧的第二关键点信息以及目标帧的判定信息;判定信息用于表征目标帧是否包含证卡。
本实施例中,预设的关键点位置跟踪模型可以为预先训练的主动轮廓模型。关键点位置跟踪模型的输入为初始轮廓(初始边缘信息)以及目标帧,然后以初始轮廓为基准逐步进行迭代,更新目标帧包含对象的轮廓,直至达到预设条件。
其中,初始轮廓可以根据第一关键点信息确认。预设条件可以为预设的迭代次数或者迭代误差小于预设值等,在此不做具体限制。
本实施例中,关键点位置跟踪模型可以包括输入层、两个卷积层(第一个卷积层Conv1和第二个卷积层Conv2)、分类器以及输出层。
其中,第一个卷积层Conv1和第二卷积层Conv2的组成网络结构可以相同。
例如,为了提高处理效率,第一个卷积层Conv1和第二卷积层Conv2均包括卷积层,BN层以及激活函数,且卷积核的大小均为3*3。
本实施例中,关键点位置跟踪模型可以并行输出分类结果以及卷积结果。
其中,分类结果可以是指表征目标帧是否包含证卡的判定信息,卷积结果可以用于计算获得目标帧的第二关键点信息。
本实施例中,第二关键点信息可以包括目标帧包括对象的角点坐标。
S40、根据第二关键点信息和判定信息,确定目标帧的第一证卡检测结果。
本实施例,第一证卡检测结果可以包括是否包含证卡的标记信息,以及在目标帧包含证卡时的证卡的边缘信息。
其中,边缘信息包括边缘直线的参数以及角点坐标。
例如,可以根据判定信息确定目标帧是否包含证卡,在判定信息表征目标帧包含证卡的情况下,可以根据第二关键点信息确定目标帧包含证卡的边缘信息,在判定信息表征目标帧不包含证卡的情况下,则生成目标帧不包含证卡的标识。
本实施例中,在确定目标帧的第一证卡检测结果后,可以继续获取目标视频的下一帧,其中下一帧为目标视频中与目标帧相邻、且播放时间晚于上述目标帧的视频帧。
将上述下一帧作为更新后的目标帧,重复本实施例的步骤,直至获得目标视频包含的每一个视频帧的证卡检测结果。
本申请实施例提供的证卡边缘检测方法,根据所述目标帧所在的位置,获取与所述目标帧相邻的相邻帧的第一关键点信息,由于相邻帧为目标视频的时间轴上的位置在目标帧之前的视频帧,且相邻帧包含证卡,故相邻帧的第一关键点信息可以作为目标帧的关键点初始约束位置,然后根据相邻帧的第一关键点信息进行关键点跟踪处理(关键点位置跟踪模型预测)获得目标帧的第二关键点信息,并根据第二关键点确定目标帧的第一证卡检测结果;相比于现有技术中直接基于边缘检测算法确定目标帧包含对象边缘信息的方法,本申请提供的证卡边缘检测方法受待视频帧的复杂背景和/或模糊边缘的影响较小,检测误差小,且关键点跟踪模型不需要进行特征点匹配处理,计算量大大减小,提高了边缘检测效率,适用于移动终端的证卡编码实时检测需求。
图3为本申请一实施例提供的获取第二关键点信息的流程示意图,描述了图1实施例中S30获取目标帧的第二关键点信息的一种可能的实施方式,如图3所示,将第一关键点信息与目标帧输入关键点位置跟踪模型,获取目标帧的第二关键点信息,包括:
S301、根据第一关键点信息确定目标帧包含对象的第1个参考位置。
本实施例中,第1个参数位置用于确定目标帧包含对象的初始边缘信息,
例如,第1个参考位置可以包括证卡的一个角点坐标、证卡的长度以及证卡的宽度,初始边缘信息可以为根据第1个参考位置计算获得的边缘直线。
本实施例中,第一关键点信息包括了第一证卡的角点坐标,根据第一关键点信息确定目标帧包含对象的第1个参考位置可以是指,根据第一证卡的角点坐标,确定第一证卡的边缘信息,包括任意一个角点坐标、第一证卡的长度以及第一证卡的宽度,将上述第一证卡的边缘信息确定为目标帧包含对象的第1个参考位置。
示例性地,请一并参阅图2,第一关键点信息包括了第一证卡的ABCD四个角点坐标分别为A(x,y)、B(x’,y)、C(x,y’)以及D(x’,y’),则第1个参考位置可以表示为G1(x,y,w,h),其中,(x,y)表示第一证卡左下角的角点A的坐标,w表示了第一证卡的长度,等于x’-x,h表示了第一证卡的宽度,等于y’-y。
S302、在第1次迭代中,将第1个参考位置和目标帧输入关键点位置跟踪模型,获得第1次迭代的多个关键点和第1次迭代的迭代误差,并根据该迭代误差对第1个参考位置进行更新,获得第2个参考位置。
S303、在第i次迭代中,将第i-1次迭代的多个关键点和目标帧输入所述关键点位置跟踪模型,获得第i次迭代的多个关键点和第i次迭代的迭代误差,并根据该迭代误差对第i个参考位置进行更新,获得第i+1个参考位置;其中,i为大于1的整数。
本实施例中,若i为1,第1个参考位置由第一关键点信息确定,第1次迭代的多个关键点位于第一参考直线上,第一参考直线包含根据第1个参考位置确定的边缘直线;若i为大于1的整数,第i个参考位置根据第i-1次迭代结果确定,第i次迭代的多个关键点位于第二参考直线上,第二参考直线包含根据第i个参考位置确定的边缘直线。
本实施例中,在每一次迭代中获得多个关键点和本次迭代的迭代误差。
其中,第1次迭代中的输入为第1个参考位置以及目标帧,第i次迭代的输入为第i-1次迭代的多个关键点以及目标帧。
本实施例中,在第1次迭代中,将第1个参考位置和目标帧输入关键点位置跟踪模型,获得第1次迭代的多个关键点X1和第1次迭代的迭代误差delta_1,并根据该迭代误差delta_1对第1个参考位置G1进行更新,获得第2个参考位置G2(x2,y2,w,h)。
其中,第1次迭代的多个关键点位于第一参考直线上,第一参考直线包含根据所述第1个参考位置确定的边缘直线。
示例性地,在第1次迭代中,第一参考直线根据第1个参考位置确定,具体地第一参考直线包含第1个参考位置表征的4条边缘直线,即第一证卡的4条边缘直线;相应地,第1次迭代获得多个关键点均匀分布在第一证卡的四条边缘直线上。
本实施例中,在第i次迭代中,将第i-1次迭代的多个关键点的位置和目标帧输入关键点位置跟踪模型,获得第i次迭代的多个关键点Xi和第i次迭代的迭代误差delta_i,并根据该迭代误差delta_i,对第i个参考位置进行更新,获得第i+1个参考位置;其中,i为大于1的整数.
其中,第i次迭代的多个关键点位于第二参考直线上,第二参考直线包含根据第i个参考位置确定的边缘直线;
示例性地,在i次迭代中,第i个参考位置可以表示为Gi(xi,yi,w,h),则第i次迭代的第二参考直线包含根据Gi确定的四条边缘直线,相应地,第i次迭代获得多个关键点Xi均匀分布在根据Gi确定的四条边缘直线上。
本实施例中,为了使得每一次迭代获得多个关键点位于参考直线(第一参考直线或第二参考直线)上,在对关键点位置跟踪模型进行预先训练时,对每一次预测的结果中关键点添加强约束,使得每一次预测的关键点均为位于4条边缘直线上的点,该4条边缘直线具体是指矩形证卡的四条边缘直线。
S304、在经过预设次数的迭代后,获得当前迭代得到的多个关键点,并根据当前迭代得到的多个关键点确定第二关键点信息;第二关键点信息包括当前迭代中的参考直线的交点坐标。
本实施例中,迭代的终止条件为迭代次数,在经过预设次数的迭代后,终止迭代获得第二关键点信息,其中预设次数可以由用户预先进行设定。
例如,预设次数为4,则第二关键点信息可以包括第4个参考位置,G4(x4,y4,w,h)。
本实施例,关键点跟踪模型在获得当前迭代的多个关键点之后,将该多个关键点的坐标输入分类器,分类器根据该多个关键点坐标判定目标帧是否包含证卡,生成相应的判定信息。
示例性地,为了更清楚的说明本实施例,请一并参阅下述实施例,本实施例中预设次数为3,第1个参考位置可以表示为G1(x,y,w,h),关键点跟踪模型表示为evolve_gcn。
步骤1、在第1次迭代中,根据G1(x,y,w,h)和目标帧,初始化获得第1次迭代的多个初始关键点,可以通过X0表示,具体地X0可以参考式(1):
其中,n表示关键点的个数,(pn,qn)为第n个初始关键点的坐标。
本步骤中,根据G1初始化获得X0,可以是指对G1确定的四个角点之间进行线性插值,获得X0。
例如,请一并参阅图2,在角点A和角点B之间的边界线上进行均匀采样,获得128个关键点,同上,分别其他三个边界线上进行均匀采样,共获得512个关键点。
本步骤中,在获得X0后运行evolve_gcn模型,得到第1次迭代的迭代误差delta_1。
步骤2、根据第1次迭代的迭代误差更新关键点的坐标,获得第1次迭代的多个关键点,表示为X1;其中,X1=X0+delta_1。
本步骤中,同时根据第1次迭代的迭代误差delta_1对第1参考位置G1进行更新,获得G2。
步骤3、在第2次迭代中,将第1次迭代的多个关键点X2以及目标帧作为输入,运行关键点跟踪模型evolve_gcn,得到第2次迭代的迭代误差delta_2。
步骤4、根据第2次迭代的迭代误差delta_2更新关键点的坐标,得到第2次迭代的多个关键点,表示为X2;其中,X2=X1+delta_2,X2中的多个关键点均匀分布在位于根据G2确定的4条直线上。
本步骤中,同时根据第2次迭代的迭代误差delta_1对第2参考位置G2进行更新,获得G3。
步骤5、在第3次迭代中,将第2次迭代的多个关键点X2以及目标帧作为输入,运行关键点跟踪模型evolve_gcn,得到第3次迭代的迭代误差delta_3。
步骤6、根据第3次迭代的迭代误差delta_3更新关键点的坐标,获得第3次迭代的多个关键点,表示为X3;其中,X3=X2+delta_3。
步骤7、根据X3确定目标帧的第二关键点信息,以及判定目标帧是否包含证卡。
实际应用中,在下述情况发生时,不可以根据相邻帧的第一关键点信息进行关键点跟踪处理:
一是目标帧为目标视频帧的第一帧,此时目标帧没有相邻帧;
二是目标帧虽然不是目标视频帧的第一帧,但是其相邻帧不包含证卡,此时无法获取相邻帧的第一关键点信息。
则在上述情况发生时,为了确定目标帧的证卡边缘信息,需要对目标帧进行边缘检测处理,获得目标帧的证卡边缘检测结果。为了保障证卡边缘检测的精度以及满足移动终端的实时处理的要求,本申请中基于端到端的边缘检测模型进行目标帧的证卡边缘检测,下面通过图4的实施例进行示例性的说明。
图4为本申请另一实施例提供的证卡边缘检测方法的流程示意图,如图4所示,获取目标视频中待处理的目标帧之后,证卡边缘检测方法还包括:
S50、在目标帧为目标视频的第一帧,或相邻帧不包含证卡的情况下,对目标帧进行预处理,获得目标帧的灰度图像。
本实施例中,目标视频的第一帧是指目标视频中播放时间最早的视频帧。
其中,灰度图像的尺寸小于目标帧的尺寸。
本实施例中,将目标帧缩放至目标尺寸后,对缩放后的目标帧进行二值化处理,获得目标帧的灰度图像。
例如,目标帧为大小为1080*1090的彩色图片,对目标帧进行预处理可以是指首先将目标帧缩放为大小128*256的图像,然后对上述图像进行二值化处理,获得对应的灰度图像。
本步骤的目的在于对目标帧进行缩放以及二值化处理,以减少后续步骤中边缘检测的数据处理量,提高边缘检测的效率。
S60、将灰度图像输入边缘检测模型,获取灰度图像的第三关键点信息;边缘检测模型为端到端神经网络模型,第三关键点信息包括灰度图像的多个边缘直线参数。
本实施例的目的旨在检测证卡的边缘,基于证卡的边缘均为直线,本实施例中的边缘检测模型在对灰度图像进行采样处理后,增加了线性回归处理,通过增加线性约束,直接输出直线边缘的参数,实现了图像的端到端的边缘检测。
本实施例中,边缘检测模型包括依次连接的编码器、解码器以及线性回归子模型。
其中,编码器用于获取灰度图像的多种局部特征,并根据多种局部特征对灰度图像的像素值进行分类,获得不同元素对应的局域像素值;元素包括边缘直线。
例如,编码器可以为轻量级卷积神经网络,满足计算力受限的移动终端的应用需求,示例性地,编码器可以为shuffle Net网络模型。
其中,解码器用于将分类后的局域像素值与灰度图像的像素点进行匹配。具体地,解码器用于对缩小后的特征图进行上采样处理,并对上采样处理后的图像进行卷积处理,以弥补编码器中池化层将图像缩小造成的细节损失。
其中,线性回归子模型用于根据匹配边缘直线的像素点,确定多个边缘直线参数。线性回归子模型的最优解满足加权最小二乘法。
例如,线性回归子模型的输入可以表示为input,input的尺寸为4*128*256,包含了4个大小为128*256的特征图,分别对应了分类特征为“边缘”的4条直线。
对于每个128*256的特征图W,增加线性约束函数y=ax+b,即特征图上的每个像素图满足上述约束函数,基于此,得到公式如下:
W*[Y_map,1]=A*W*X_map (2)
其中,W表示特征图,X_map表示了特征图上像素点的x轴坐标构成子特征图,Y_map表示了特征图上像素点的y轴坐标构成子特征图,V包含表示了线性约束函数的直线参数。
则基于式(2),直线参数V的计算公式可以参见式(3):
V=inv{(T(Y_map)*Y_map)*T(X_map)*X_map)} (3)
其中,T(Y_map)表示Y_map的转置,T(X_map)表示X_map的转置,inv表示逆处理。
基于加权最小二乘法,计算获得V的值,由于input共有4个特征图,故可以获得4个直线参数。
S70、根据第三关键点信息,确定目标帧的第二证卡检测结果。
本实施例中,第三关键点信息包括灰度图像的多个边缘直线参数,可以根据该多个边缘直线参数确定灰度图像包含对象的形状。
在多个边缘直线参数确定一个矩形的情况下,可以判定灰度图像中包含对象为证卡,根据上述多个边缘直线参数确定证卡的角点坐标,进而根据该角点坐标确定目标帧包含证卡的角点坐标。
在多个边缘直线参数确定对象不为矩形的情况下,可以判断灰度图像中包含对象不是证卡,生成目标帧不包含证卡的标记信息。
本实施例提供的证卡边缘检测方法,适用于目标帧为目标视频的第一帧,或相邻帧不包含证卡的情况,方法首先根据目标帧获得灰度图像,并将灰度图像输入边缘检测模型,减小边缘检测的数据处理量,提高边缘检测的效率;且本实施例中的边缘检测模型为端到端神经网络模型,训练/预测的结果直接为灰度图像的多个边缘直线参数,在提高了检测速度的同时,拟合的效果要好于现有技术中的分段式处理方法(背景技术中的方法)。
进一步地,通过将图4实施例与图1实施例提供的证卡边缘检测方法进行结合,实现每个目标视频中每个视频帧的证卡边缘检测,在第一次获取到包含证卡的视频帧之后,即可以基于图1实施例提供的证卡边缘检测方法进行视频帧的关键点跟踪,若关键点跟踪一直成功,则会一直进入图1实施例提供的关键点跟踪循环,实现了高精度高效的证卡边缘检测;若关键点跟踪失败,即在目标视频中出现不包含证卡的情况下,通常表示目标视频中证卡进行更换,此时通过图4实施例提供的证卡边缘检测方法直接进行证卡的边缘检测,通过端到端的边缘检测模型同样也可以支持实时高效的证卡边缘检测,并在获取的更新后的证卡的边缘后,再次进入图1实施例的关键点跟踪循环;如此反复直至获取到目标视频中每个视频帧的证卡边缘检测结果,实现了目标视频的高效高精度的检测,可以应用于移动终端的证卡的实时检测。
本实施例中,在获得目标帧包含证卡的角点坐标后,可以根据该角点坐标直接计算获得目标帧包含证卡的边缘信息。由于目标帧进入边缘检测模型之前有缩小处理,在获得灰度图像的角点坐标后进行了放大处理,在放大至原图后,目标帧的边缘可能会出现误差,为了提升边缘检测的精度,在灰度图像进行放大处理,获得目标帧包含证卡的边缘后,可以对该边缘进行校正处理,以提高最终获得的目标帧证卡边缘检测的精度,下面通过图5和图6的实施例进行示例性的说明。
图5为本申请一实施例提供的确定第二证卡检测结果的流程示意图,描述了图4实施例中S70的一种可能实施方式,如图5所示,根据第三关键点信息,确定目标帧的第二证卡检测结果,包括:
S701、在多个边缘直线参数能够确定一个矩形的情况下,根据多个边缘线参数确定待检测证卡的多个角点坐标;待检测证卡为目标帧包含的证卡。
本实施例中,在多个边缘直线参数确定一个矩形时,可以判定灰度图像包含证卡,即目标帧包含证卡,其中目标帧包含的证卡可以为待检测证卡。
本实施例中,根据多个边缘直线参数确定灰度图像包含证卡的角点坐标,然后根据预设比例对角点坐标进行放大处理,获得待检测证卡的多个角点坐标。
其中,预设比例为图4实施例中对目标帧进行预处理时的缩小比例。
可以理解的是,待检测证卡包含4个角点,本步骤可以获得待检测证卡的4个角点坐标。
S702、根据多个角点坐标,截取待检测证卡的多个边缘区域,多个边缘区域与多个角点一一对应。
本实施例中,根据多个角点坐标确定每个角点对应的感兴趣区域,截取该感兴趣区域获得与多个角点一一对应的多个边缘区域。
其中,感兴趣区域是指在目标帧以方框、圆、椭圆、不规则多边形等方式截取获得的需要处理的区域。本实施例中可以以方框进行截取。
S703、确定每个边缘区域对应的边缘直线,并将该边缘直线确定为待检测证卡的边缘直线;
本实施例中,确定每个边缘区域对应的边缘直线的方法相同。
例如,可以通过对一个边缘区域进行分区获得多个子区域,在确定每个子区域对应的目标线段后,对多个目标线段进行拟合处理,获得上述一个边缘区域对应的边缘直线。
其中,目标线段为子区域的边缘线段。
本实施例提供的方法中通过对多个目标线段进行拟合处理,获得边缘区域对应的边缘直线,可以有效的减少由于图像缩放处理导致的误差,提高了边缘区域对应的边缘直线的精度,进而提高了待检测证卡的边缘直线的精度。
图6为本申请一实施例提供的确定每个边缘区域对应的边缘直线的流程示意图,描述了图5实施例中S703的一种可能实施方式,如图6所示,确定每个边缘区域对应的边缘直线,包括:
S7031、对第一边缘区域进行边缘检测,获得第一边缘区域沿第一方向的边缘图像;第一边缘区域为多个边缘区域中任意一个,第一方向为待检测证卡的任意一个边缘的方向。
边缘由图像中像素值发生跃迁(梯度变化)的像素点构成,基于此特性,可以根据索贝尔算子进行第一边缘区域的边缘检测。
其中,索贝尔算子包含两组3x3的矩阵,分别为X向矩阵和Y向矩阵,将该两组矩阵分别与第一边缘区域的图像进行平面卷积处理,可分别得出第一边缘区域的X向及Y向的近似梯度,从而可以获得第一边缘区域在X向和Y向的边缘。
本实施例中,第一方向为待检测证卡的任意一个边缘的方向,待检测证卡的组成元素包括内容和边缘。
一种实施例中,由于平面图像具有X向(左右)和Y向(上下)两个方向的卷积处理,故可以根据第一边缘区域相对于待检测证卡中内容的位置,确定第一方向。
例如,第一边缘区域位于待检测证卡内容的左右两侧时,则第一方向为Y向,第一边缘区域位于待检测证卡内容的上下两侧时,则第一方向为X向。
又一种实施例中,第一方向为预设方向,则为了获得第一边缘区域的边缘直线,可以首先对第一边缘区域进行翻转处理后,然后在第一方向上对翻转后的第一边缘区域进行平面卷积处理。
其中,翻转包括水平翻转和垂直翻转。
示例性的,请一并参阅图7,图7为本申请实施例提供第一边缘区域和第一方向的示意图。如图7所示,第一边缘区域为基于虚线方框框选的矩形区域,第一边缘区域可以为待检测证卡的四个边缘区域上的任意一个,可以为①、②、③以及④中任意一个。
本示例中,第一方向为Y向,确定索贝尔算子为Y向矩阵。为了使得经过平面卷积处理后的边缘图像中,待检测证卡的内容始终位于第一边缘区域的右侧,可以首先对第一边缘区域进行翻转处理。
若第一边缘区域为①,则直接基于Y向矩阵对第一边缘区域进行平面卷积处理,获得第一边缘区域的沿Y向的边缘图像,且此时待检测证卡的内容位于第一边缘区域的右侧。
若第一边缘区域为②,则首先对第一边缘区域进行水平翻转,然后基于Y向矩阵对翻转后的第一边缘区域进行平面卷积处理,获得第一边缘区域的沿Y向的边缘图像,此时待检测证卡的内容同样位于第一边缘区域的右侧。
若第一边缘区域为③,则首先对第一边缘区域进行顺时针垂直翻转,然后基于Y向矩阵对翻转后的第一边缘区域进行平面卷积处理,获得第一边缘区域的沿Y向的边缘图像,此时待检测证卡的内容同样位于第一边缘区域的右侧。
若第一边缘区域为④,则首先对第一边缘区域进行逆时针垂直翻转,然后基于Y向矩阵对翻转后的第一边缘区域进行平面卷积处理,获得第一边缘区域的沿Y向的边缘图像,此时待检测证卡的内容同样位于第一边缘区域的右侧。
应理解的是,若预设的第一方向不同,则翻转方向不同;同样地,若待检测证卡的内容与边缘直线的相对位置不同,则翻转方向不同。
本步骤中,对第一边缘区域进行边缘检测,获得第一边缘区域沿第一方向的边缘图像,且边缘图像中待检测证卡的内容与目标边缘的相对位置固定。
S7032、将边缘图像划分为N个子图像并对每个子图像进行二值化处理,获得N个二值化子图像;其中,N为大于1的整数。
本实施例中,可以将边缘图像均分为N个子图像。
本实施例中,可以基于大津法对每个子图像进行自适应二值化处理,获得对应的N个二值化子图像。
S7033、对N个二值化子图像进行直线检测,获取N个目标直线以及该N个目标直线的2N个端点;其中,目标直线为二值化子图像中与目标边缘距离最近的直线,目标边缘根据第一方向确定。
本实施例中,针对N个二值化子图像中每个子图像,对该子图像进行直线检测处理,可以获得该子图像包含的多个直线,将多个直线中距离目标边缘距离最近的直线确定为目标直线。
其中,目标边缘为子图像中最靠近待检测证卡的内容的边缘,可以根据第一方向确定。
示例性地,请一并参阅图8,图8为本申请一实施例提供的子图像的示意图,如图8所示,经过直线检测处理后,可以获得该子图像向包含的两个直线段,分别为Z1(PQ)以及Z2(RS)。本示例中经过平面卷积处理后的边缘图像中,待检测证卡的内容始终位于第一边缘区域的右侧,故图8中目标边缘为Z3。
由图8可知,该两条直线段中,Z2(RS)距离目标边缘Z3距离较近,则可以确定该两个直线段中Z2(RS)为目标直线,进而得到目标直线的两个端点R和S。
对第一边缘区域中的N个子图像进行本步骤的处理,可以得到2N个端点。
S7034、对2N个端点进行直线拟合,获得第一边缘区域对应的边缘直线。
本实施例中,可以基于ransac算法进行直线拟合处理。
本申请实施例提供的确定每个边缘区域对应的边缘直线的方法,通过对每个边缘区域进行分区处理,在获得每个边缘区域的目标直线后,根据该目标直线的多个端点进行拟合处理,从而获得边缘区域对应的边缘直线,可以有效的减少由于图像缩放处理导致的误差,提高了边缘区域对应的边缘直线的精度,进而提高了待检测证卡的边缘直线的精度。
现有技术中的轻量级卷积神经网络模型,例如ShuffleNet网络模型,通常包括通道混淆层以实现多通道图像的计算量,本实施例中输入边缘检测模型的图像为灰度图像,不需要进行通道混洗,为了进一步提高数据计算的运算量,本申请实施例中对现有技术中的ShuffleNet网络模型的网络结构进一步进行优化。
本发明证卡边缘检测方法、设备及存储介质能够用于医疗类数据的处理,有助于提高医疗数据处理的高效性、安全性或者稳定性。用于患者身份证件的快速识别。
图9为本申请一实施例提供的编码器的网络结构示意图,如图9所示,编码器的每个网络节点包括并行运算的第一分支和第二分支。其中,第一分支包括顺序连接的平均池化层、1*1卷积层以及上采样层,第二分支包括1*1卷积层。
本实施例中,第一分支用于进行灰度图像的局部特征提取,第二分支用于进行灰度图像的全局特征提取,在获得局部特征后和全局特征通过连接层进行连接处理,并将处理结果作为解码器的输入,具体地,连接层可以基于Concat函数实现。
本实施例中,第一分支中的平均池化层用于对灰度图像进行下采样处理并且将尺度不变特征传送到下一层(即1*1卷积层),1*1卷积层用于获取传入特征图的局域特征,图9中BN主要实现图像的分布归一化,以加速学习。
第一分支中的上采样层可以基于双线性插值方法进行上采样处理。
本申请实施例提供的编码器的网络结构对现有技术中的轻量级卷积神经网络的编码器进行精简,去除通道混淆层,进一步降低边缘检测模型的运算量,提高了边缘检测模型的运算速率,以满足移动终端的证卡边缘检测的实时处理。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
基于上述实施例所提供的证卡边缘检测方法,本发明实施例进一步给出实现上述方法实施例的装置实施例。
图10为本申请一实施例提供的证卡边缘检测装置的结构示意图。如图10所示,证卡边缘检测装置80包括第一获取模块801、第二获取模块802、位置跟踪模块803以及第一确定模块804,其中:
第一获取模块801,用于获取目标视频中待处理的目标帧;
第二获取模块802,用于根据所述目标帧所在的位置,获取与所述目标帧相邻的相邻帧的第一关键点信息,其中,所述相邻帧在所述目标视频的时间轴上的位置在所述目标帧之前,所述相邻帧中包含证卡,所述第一关键点信息包括所述证卡的角点信息;
位置跟踪模块803,用于将所述第一关键点信息与所述目标帧输入至预设的关键点位置跟踪模型,以获取所述目标帧的第二关键点信息以及所述目标帧的判定信息,其中,所述判定信息用于表征所述目标帧是否包含证卡;
第一确定模块804,用于根据所述第二关键点信息和所述判定信息,确定所述目标帧的第一证卡检测结果。
可选地,位置跟踪模块803将第一关键点信息与目标帧输入关键点位置跟踪模型,获取目标帧的第二关键点信息,具体包括:
根据第一关键点信息确定目标帧包含对象的第1个参考位置;
在第1次迭代中,将第1个参考位置和目标帧输入关键点位置跟踪模型,获得第1次迭代的多个关键点和第1次迭代的迭代误差,并根据该迭代误差对第1个参考位置进行更新,获得第2个参考位置;第1次迭代的多个关键点位于第一参考直线上,第一参考直线包含根据第1个参考位置确定的边缘直线;
在第i次迭代中,将第i-1次迭代的多个关键点和目标帧输入所述关键点位置跟踪模型,获得第i次迭代的多个关键点和第i次迭代的迭代误差,并根据该迭代误差对第i个参考位置进行更新,获得第i+1个参考位置;其中,i为大于1的整数,第i次迭代的多个关键点位于第二参考直线上,第二参考直线包含根据第i个参考位置确定的边缘直线;
在经过预设次数的迭代后,获得当前迭代得到的多个关键点,并根据当前迭代得到的多个关键点确定第二关键点信息;第二关键点信息包括当前迭代中的参考直线的交点坐标。
可选地,第一确定模块804根据第二关键点信息和判定信息,确定目标帧的证卡检测结果,具体包括:
在判定信息表征目标帧包含证卡的情况下,根据第二关键点信息确定目标帧包含证卡的边缘信息;边缘信息包括边缘直线的参数以及角点坐标。
图11为本申请另一实施例提供的证卡边缘检测装置的结构示意图。如图11所示,证卡边缘检测装置80还包括预处理模块805、边缘检测模块806以及第二确定模块807;
预处理模块805,用于在目标帧为目标视频的第一帧,或相邻帧不包含证卡的情况下,对目标帧进行预处理,获得目标帧的灰度图像;灰度图像的尺寸小于目标帧的尺寸。
边缘检测模块806,用于将灰度图像输入边缘检测模型,获取灰度图像的第三关键点信息;边缘检测模型为端到端神经网络模型,第三关键点信息包括灰度图像的多个边缘直线参数。
第二确定模块807,用于根据第三关键点信息,确定目标帧的第二证卡检测结果。
可选地,第二确定模块807根据所述第三关键点信息,确定目标帧的第二证卡检测结果,具体包括:
在多个边缘直线参数能够确定一个矩形的情况下,根据多个边缘线参数确定待检测证卡的多个角点坐标;待检测证卡为目标帧包含的证卡;
根据多个角点坐标,截取待检测证卡的多个边缘区域,多个边缘区域与多个角点一一对应;
确定每个边缘区域对应的边缘直线,并将所述边缘直线确定为所述待检测证卡的边缘直线。
可选地,第二确定模块807确定每个边缘区域对应的边缘直线,具体包括:
对第一边缘区域进行边缘检测,获得第一边缘区域沿第一方向的边缘图像;第一边缘区域为所述多个边缘区域中任意一个,第一方向为所述待检测证卡的任意一个边缘的方向;
将边缘图像划分为N个子图像并对每个子图像进行二值化处理,获得N个二值化子图像;其中,N为大于1的整数;
对N个二值化子图像进行直线检测,获取N个目标直线以及该N个目标直线的2N个端点;其中,目标直线为二值化子图像中与目标边缘距离最近的直线,目标边缘根据第一方向确定;
对2N个端点进行直线拟合,获得第一边缘区域对应的边缘直线。
可选地,边缘检测模型为轻量级卷积神经网络;边缘检测模型包括:依次连接的编码器、解码器以及线性回归子模型;
其中,编码器用于获取灰度图像的多种局部特征,并根据多种局部特征对灰度图像的像素值进行分类,获得不同元素对应的局域像素值;元素包括边缘直线;
解码器用于将局域像素值与灰度图像的像素点进行匹配;
线性回归子模型用于根据匹配边缘直线的像素点,确定多个边缘直线参数;
其中,线性回归模型的最优解满足加权最小二乘法。
可选地,编码器的网络节点包括并行运算的第一分支和第二分支;
其中,第一分支包括顺序连接的平均池化层、1*1卷积层以及上采样层,第二分支包括一个1*1卷积层。
图10和图11所示实施例提供的证卡边缘检测装置,可用于执行上述方法实施例中的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图12是本申请一实施例提供的证卡边缘检测设备的示意图。如图12所示,该证卡边缘检测设备90包括:至少一个处理器901、存储器902以及存储在所述存储器902中并可在所述处理器901上运行的计算机程序。证卡边缘检测设备还包括通信部件903,其中,处理器901、存储器902以及通信部件903通过总线904连接。
处理器901执行所述计算机程序时实现上述各个证卡边缘检测方法实施例中的步骤,例如图1所示实施例中的步骤S10至步骤S40。或者,处理器901执行计算机程序时实现上述各装置实施例中各模块/单元的功能,例如图10所示模块801至804的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器902中,并由处理器901执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在所述证卡边缘检测设备90中的执行过程。
本领域技术人员可以理解,图12仅仅是证卡边缘检测设备的示例,并不构成对证卡边缘检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如输入输出设备、网络接入设备、总线等。
本申请实施例中的证卡边缘检测设备可以为移动终端,包括但不限于智能手机、平板电脑、个人数字助理、电子书等。
证卡边缘检测设备还可以为终端设备、服务器等,在此不做具体限制。
所称处理器901可以是中央处理单元(Central ProcesskngUnkt,CPU),还可以是其他通用处理器、数字信号处理器(DkgktalSkgnal Processor,DSP)、专用集成电路(ApplkcatkonSpeckfkcKntegratedCkrcukt,ASKC)、现成可编程门阵列(Fkeld-ProgrammableGate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器902可以是证卡边缘检测设备的内部存储单元,也可以是证卡边缘检测设备的外部存储设备,例如插接式硬盘,智能存储卡(Smart Medka Card,SMC),安全数字(Secure Dkgktal,SD)卡,闪存卡(Flash Card)等。所述存储器902用于存储所述计算机程序以及证卡边缘检测设备所需的其他程序和数据。存储器902还可以用于暂时地存储已经输出或者将要输出的数据。
总线可以是工业标准体系结构(Kndustry Standard Archktecture,KSA)总线、外部设备互连(Perkpheral Component,PCK)总线或扩展工业标准体系结构(ExtendedKndustry Standard Archktecture,EKSA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在证卡边缘检测设备上运行时,使得证卡边缘检测设备执行时实现可实现上述各个方法实施例中的步骤。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (9)
1.一种证卡边缘检测方法,其特征在于,方法包括:
获取目标视频中待处理的目标帧;
根据所述目标帧所在的位置,获取与所述目标帧相邻的相邻帧的第一关键点信息,其中,所述相邻帧在所述目标视频的时间轴上的位置在所述目标帧之前,所述相邻帧中包含证卡,所述第一关键点信息包括所述证卡的角点信息;
将所述第一关键点信息与所述目标帧输入至预设的关键点位置跟踪模型,以获取所述目标帧的第二关键点信息以及所述目标帧的判定信息,其中,所述判定信息用于表征所述目标帧是否包含证卡;
根据所述第二关键点信息和所述判定信息,确定所述目标帧的第一证卡检测结果;
所述将所述第一关键点信息与所述目标帧输入关键点位置跟踪模型,获取所述目标帧的第二关键点信息,包括:
根据所述第一关键点信息确定所述目标帧包含对象的第1个参考位置;
在第1次迭代中,将所述第1个参考位置和所述目标帧输入所述关键点位置跟踪模型,获得第1次迭代的多个关键点和第1次迭代的迭代误差,并根据该迭代误差对所述第1个参考位置进行更新,获得第2个参考位置;所述第1次迭代的多个关键点位于第一参考直线上,所述第一参考直线包含根据所述第1个参考位置确定的边缘直线;
在第i次迭代中,将第i-1次迭代的多个关键点和所述目标帧输入所述关键点位置跟踪模型,获得第i次迭代的多个关键点和第i次迭代的迭代误差,并根据该迭代误差对所述第i个参考位置进行更新,获得第i+1个参考位置;其中,i为大于1的整数,所述第i次迭代的多个关键点位于第二参考直线上,所述第二参考直线包含根据所述第i个参考位置确定的边缘直线;
在经过预设次数的迭代后,获得当前迭代得到的多个关键点,并根据所述当前迭代得到的多个关键点确定所述第二关键点信息;所述第二关键点信息包括当前迭代中的参考直线的交点坐标。
2.如权利要求1所述的证卡边缘检测方法,其特征在于,所述根据所述第二关键点信息和所述判定信息,确定所述目标帧的证卡检测结果,包括:
在所述判定信息表征所述目标帧包含证卡的情况下,根据所述第二关键点信息确定所述目标帧包含证卡的边缘信息;所述边缘信息包括边缘直线的参数以及角点坐标。
3.如权利要求1-2任一项所述的证卡边缘检测方法,其特征在于,所述获取目标视频中待处理的目标帧之后,所述方法还包括:
在所述目标帧为所述目标视频的第一帧,或所述相邻帧不包含证卡的情况下,对所述目标帧进行预处理,获得所述目标帧的灰度图像;所述灰度图像的尺寸小于所述目标帧的尺寸;
将所述灰度图像输入边缘检测模型,获取所述灰度图像的第三关键点信息;所述边缘检测模型为端到端神经网络模型,所述第三关键点信息包括所述灰度图像的多个边缘直线参数;
根据所述第三关键点信息,确定所述目标帧的第二证卡检测结果。
4.如权利要求3所述的证卡边缘检测方法,其特征在于,所述根据所述第三关键点信息,确定所述目标帧的第二证卡检测结果,包括:
在所述多个边缘直线参数能够确定一个矩形的情况下,根据所述多个边缘直线参数确定待检测证卡的多个角点坐标;所述待检测证卡为所述目标帧包含的证卡;
根据所述多个角点坐标,截取所述待检测证卡的多个边缘区域,所述多个边缘区域与所述多个角点一一对应;
确定每个边缘区域对应的边缘直线,并将所述边缘直线确定为所述待检测证卡的边缘直线。
5.如权利要求4所述的证卡边缘检测方法,其特征在于,所述确定每个边缘区域对应的边缘直线,包括:
对第一边缘区域进行边缘检测,获得所述第一边缘区域沿第一方向的边缘图像;所述第一边缘区域为所述多个边缘区域中任意一个,所述第一方向为所述待检测证卡的任意一个边缘的方向;
将所述边缘图像划分为N个子图像并对每个子图像进行二值化处理,获得N个二值化子图像;其中,N为大于1的整数;
对所述N个二值化子图像进行直线检测,获取N个目标直线以及该N个目标直线的2N个端点;其中,所述目标直线为二值化子图像中与目标边缘距离最近的直线,所述目标边缘根据所述第一方向确定;
对所述2N个端点进行直线拟合,获得所述第一边缘区域对应的边缘直线。
6.如权利要求3所述的证卡边缘检测方法,其特征在于,所述边缘检测模型为轻量级卷积神经网络;
所述边缘检测模型包括:依次连接的编码器、解码器以及线性回归子模型;
其中,所述编码器用于获取所述灰度图像的多种局部特征,并根据所述多种局部特征对所述灰度图像的像素值进行分类,获得不同元素对应的局域像素值;所述元素包括边缘直线;
所述解码器用于将所述局域像素值与所述灰度图像的像素点进行匹配;
所述线性回归子模型用于根据与所述边缘直线匹配的像素点,确定所述多个边缘直线参数;
其中,所述线性回归子模型的最优解满足加权最小二乘法。
7.如权利要求6所述的证卡边缘检测方法,其特征在于,所述编码器的网络节点包括并行运算的第一分支和第二分支;
其中,所述第一分支包括顺序连接的平均池化层、1*1卷积层以及上采样层,所述第二分支包括一个1*1卷积层。
8.一种证卡边缘检测设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011002908.8A CN112183517B (zh) | 2020-09-22 | 2020-09-22 | 证卡边缘检测方法、设备及存储介质 |
PCT/CN2020/125083 WO2021147437A1 (zh) | 2020-09-22 | 2020-10-30 | 证卡边缘检测方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011002908.8A CN112183517B (zh) | 2020-09-22 | 2020-09-22 | 证卡边缘检测方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112183517A CN112183517A (zh) | 2021-01-05 |
CN112183517B true CN112183517B (zh) | 2023-08-11 |
Family
ID=73956308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011002908.8A Active CN112183517B (zh) | 2020-09-22 | 2020-09-22 | 证卡边缘检测方法、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112183517B (zh) |
WO (1) | WO2021147437A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112837285B (zh) * | 2021-01-29 | 2022-07-26 | 山东建筑大学 | 一种板面图像的边缘检测方法及装置 |
CN112991280A (zh) * | 2021-03-03 | 2021-06-18 | 望知科技(深圳)有限公司 | 视觉检测方法、系统及电子设备 |
CN113610799B (zh) * | 2021-08-04 | 2022-07-08 | 沭阳九鼎钢铁有限公司 | 基于人工智能的光伏电池板彩虹纹检测方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014184372A1 (en) * | 2013-05-17 | 2014-11-20 | Wonga Technology Limited | Image capture using client device |
WO2015184764A1 (zh) * | 2014-11-17 | 2015-12-10 | 中兴通讯股份有限公司 | 行人检测方法及装置 |
WO2017021753A1 (en) * | 2015-08-06 | 2017-02-09 | Accenture Global Services Limited | Condition detection using image processing |
CN109584276A (zh) * | 2018-12-04 | 2019-04-05 | 北京字节跳动网络技术有限公司 | 关键点检测方法、装置、设备及可读介质 |
CN110929738A (zh) * | 2019-11-19 | 2020-03-27 | 上海眼控科技股份有限公司 | 证卡边缘检测方法、装置、设备及可读存储介质 |
CN111464716A (zh) * | 2020-04-09 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 一种证件扫描方法、装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105303189B (zh) * | 2014-07-29 | 2019-08-20 | 阿里巴巴集团控股有限公司 | 一种用于检测预定区域中特定标识图像的方法及装置 |
US10977520B2 (en) * | 2018-12-18 | 2021-04-13 | Slyce Acquisition Inc. | Training data collection for computer vision |
CN110660078B (zh) * | 2019-08-20 | 2024-04-05 | 平安科技(深圳)有限公司 | 对象追踪方法、装置、计算机设备和存储介质 |
CN111027495A (zh) * | 2019-12-12 | 2020-04-17 | 京东数字科技控股有限公司 | 用于检测人体关键点的方法和装置 |
CN111461209B (zh) * | 2020-03-30 | 2024-04-09 | 深圳市凯立德科技股份有限公司 | 一种模型训练装置和方法 |
-
2020
- 2020-09-22 CN CN202011002908.8A patent/CN112183517B/zh active Active
- 2020-10-30 WO PCT/CN2020/125083 patent/WO2021147437A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014184372A1 (en) * | 2013-05-17 | 2014-11-20 | Wonga Technology Limited | Image capture using client device |
WO2015184764A1 (zh) * | 2014-11-17 | 2015-12-10 | 中兴通讯股份有限公司 | 行人检测方法及装置 |
WO2017021753A1 (en) * | 2015-08-06 | 2017-02-09 | Accenture Global Services Limited | Condition detection using image processing |
CN109584276A (zh) * | 2018-12-04 | 2019-04-05 | 北京字节跳动网络技术有限公司 | 关键点检测方法、装置、设备及可读介质 |
CN110929738A (zh) * | 2019-11-19 | 2020-03-27 | 上海眼控科技股份有限公司 | 证卡边缘检测方法、装置、设备及可读存储介质 |
CN111464716A (zh) * | 2020-04-09 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 一种证件扫描方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021147437A1 (zh) | 2021-07-29 |
CN112183517A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112183517B (zh) | 证卡边缘检测方法、设备及存储介质 | |
CN111310775B (zh) | 数据训练方法、装置、终端设备及计算机可读存储介质 | |
EP2858030B1 (en) | Performing a histogram using an array of addressable registers | |
CN110378297B (zh) | 基于深度学习的遥感图像目标检测方法、装置、及存储介质 | |
CN111860398B (zh) | 遥感图像目标检测方法、系统及终端设备 | |
CN107545263B (zh) | 一种物体检测方法及装置 | |
CN111680690B (zh) | 一种文字识别方法及装置 | |
CN114529459B (zh) | 一种对图像边缘进行增强处理的方法和系统及介质 | |
CN112308866B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN111626295B (zh) | 车牌检测模型的训练方法和装置 | |
CN111507908B (zh) | 图像矫正处理方法、装置、存储介质及计算机设备 | |
CN110852311A (zh) | 一种三维人手关键点定位方法及装置 | |
CN111340077B (zh) | 基于注意力机制的视差图获取方法和装置 | |
CN112052845A (zh) | 图像识别方法、装置、设备及存储介质 | |
CN111311497B (zh) | 一种条形码图像角度校正方法和装置 | |
CN111104941B (zh) | 图像方向纠正方法、装置及电子设备 | |
CN115578590A (zh) | 基于卷积神经网络模型的图像识别方法、装置及终端设备 | |
CN115619678B (zh) | 一种图像变形的矫正方法、装置、计算机设备及存储介质 | |
CN114862866B (zh) | 标定板的检测方法、装置、计算机设备和存储介质 | |
CN116152517A (zh) | 一种改进的orb特征提取方法 | |
WO2023019682A1 (zh) | 水印去除方法、装置、终端设备及可读存储介质 | |
CN114332890A (zh) | 表格结构提取方法、装置、电子设备及存储介质 | |
CN112084874B (zh) | 一种物体检测方法、装置及终端设备 | |
CN114693919A (zh) | 一种目标检测方法、终端设备及存储介质 | |
CN114842478A (zh) | 文本区域的识别方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40040356 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |