CN117237681A - 图像处理方法、装置及相关设备 - Google Patents

图像处理方法、装置及相关设备 Download PDF

Info

Publication number
CN117237681A
CN117237681A CN202311189472.1A CN202311189472A CN117237681A CN 117237681 A CN117237681 A CN 117237681A CN 202311189472 A CN202311189472 A CN 202311189472A CN 117237681 A CN117237681 A CN 117237681A
Authority
CN
China
Prior art keywords
pixel
region
area
fitting
determining
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.)
Pending
Application number
CN202311189472.1A
Other languages
English (en)
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.)
Chongqing Tencent Information Technology Co ltd
Original Assignee
Chongqing Tencent Information Technology 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 Chongqing Tencent Information Technology Co ltd filed Critical Chongqing Tencent Information Technology Co ltd
Priority to CN202311189472.1A priority Critical patent/CN117237681A/zh
Publication of CN117237681A publication Critical patent/CN117237681A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

本申请实施例公开了图像处理方法、装置及相关设备,可应用于计算机技术领域。其中方法包括:获取包含目标对象的业务图像,获取模板图像,从模板图像中确定出对象检测区域;在业务图像中查找与对象检测区域相匹配的区域,将查找到的区域确定为初始定位区域,基于对象检测区域中的像素点的像素位置与初始定位区域中的像素点的像素位置,确定像素位置变换关系;基于像素位置变换关系在业务图像中确定局部参考区域所对应的局部映射区域,将局部映射区域作为目标定位区域;在目标定位图像中识别前景区域,对前景区域中的像素点进行边缘曲线拟合处理,得到目标对象的边缘曲线。采用本申请实施例,有助于提升拟合得到的边缘曲线的准确性和稳定性。

Description

图像处理方法、装置及相关设备
技术领域
本申请涉及计算机技术领域,尤其涉及交易处理方法、装置及相关设备。
背景技术
目前,在对图像中的某个对象(例如,在工业场景下所获取到的产品图像中的产品)进行检测时,可以对该对象(例如,产品)的边缘曲线进行曲线拟合。目前,边缘曲线的拟合主要是通过对该对象(例如,产品)进行边缘检测来实现的,常用的边缘检测算法是利用灰度值的不连续性质,以灰度突变为基础分割确定出该边缘曲线。
然而发明人在实践过程中发现,基于产品图像的图像灰度值的不连续性质所确定出的边缘曲线,容易出现边缘误判的情况,比如,一旦产品上出现高光区域或者脏污区域,就容易将高光区域或者脏污区域的边缘确定为产品的边缘;比如,一旦产品颜色接近于背景的颜色,则像素的灰度值不容易出现突变的情况,无法正确判断出产品的边缘。由此可见,在采用灰度值不连续这一性质对图像中的这个对象(例如,产品)进行边缘曲线的拟合时,容易拟合得到错误的边缘曲线,以至于降低了曲线拟合时的准确性和稳定性。
发明内容
本申请实施例提供了一种图像处理方法、装置及相关设备,有助于提升拟合得到的目标对象的边缘曲线的准确性和稳定性。
本申请实施例一方面提供了一种图像处理方法,方法包括:
获取包含目标对象的业务图像,获取用于辅助定位目标对象的模板图像,从模板图像中确定出对象检测区域;对象检测区域的区域尺寸小于业务图像的区域尺寸;
在业务图像中查找与对象检测区域相匹配的区域,将查找到的区域确定为目标对象的初始定位区域,基于对象检测区域中的像素点的像素位置与初始定位区域中的像素点的像素位置,确定像素位置变换关系;
在从模板图像中确定出局部参考区域时,基于像素位置变换关系在业务图像中确定局部参考区域所对应的局部映射区域,将局部映射区域作为目标对象的目标定位区域;
在目标定位区域对应的目标定位图像中识别目标对象对应的前景区域,对前景区域中的像素点进行边缘曲线拟合处理,得到目标对象的边缘曲线。
本申请实施例一方面提供了一种图像处理装置,装置包括:
图像获取模块,用于获取包含目标对象的业务图像,获取用于辅助定位目标对象的模板图像,从模板图像中确定出对象检测区域;对象检测区域的区域尺寸小于业务图像的区域尺寸;
变换关系确定模块,用于在业务图像中查找与对象检测区域相匹配的区域,将查找到的区域确定为目标对象的初始定位区域,基于对象检测区域中的像素点的像素位置与初始定位区域中的像素点的像素位置,确定像素位置变换关系;
区域映射模块,用于在从模板图像中确定出局部参考区域时,基于像素位置变换关系在业务图像中确定局部参考区域所对应的局部映射区域,将局部映射区域作为目标对象的目标定位区域;
曲线拟合模块,用于在目标定位区域对应的目标定位图像中识别目标对象对应的前景区域,对前景区域中的像素点进行边缘曲线拟合处理,得到目标对象的边缘曲线。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的方法。
在本申请实施例中,能够先基于一个模板图像中的对象检测区域在业务图像中确定一个初始定位区域,进而基于初始定位区域与对象检测区域确定像素位置变换关系,以基于像素位置变换关系在业务图像中定位出目标定位区域,从而识别出目标定位区域对应的目标定位图像中的前景区域,然后基于前景区域确定出边缘曲线。本申请是对目标对象的局部区域的图像(即目标定位图像)进行前景识别,减少了目标对象的不定因素(如高光区域、脏污点)对前景识别过程的影响,从而提升前景区域识别的准确性,进而提升拟合得到的边缘曲线的准确性。并且,在拟合边缘曲线时,是对目标对象的局部进行边缘曲线的拟合,目标对象的边缘线上的像素点较少,减少出现多种满足拟合条件但实际差异较大的边缘曲线的情况,有助于提升拟合得到目标对象的边缘曲线的准确性和稳定性。另外,由于在进行边缘曲线拟合处理时,目标对象的边缘线上的像素点较少,由此有助于提升边缘曲线拟合的效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据处理系统的结构示意图;
图2是本申请实施例提供的一种图像处理方法的场景示意图;
图3是本申请实施例提供的一种图像处理方法的流程示意图;
图4是本申请实施例提供的一种模板图像的示意图;
图5是本申请实施例提供的一种窗口滑动的场景示意图;
图6是本申请实施例提供的一种区域映射过程的效果示意图;
图7是本申请实施例提供的一种目标前景识别网络的效果示意图;
图8是本申请实施例提供的一种特征提取组件的结构示意图;
图9是本申请实施例提供的一种前景识别的效果示意图;
图10是本申请实施例提供的一种图像处理方法的流程示意图;
图11是本申请实施例提供的一种边缘像素点集的确定过程;
图12是本申请实施例提供的一种确定边缘曲线的流程示意图;
图13是本申请实施例提供的一种图像处理装置的结构示意图;
图14是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种图像处理方案,能够先基于一个模板图像中的对象检测区域在业务图像中确定一个初始定位区域,进而基于初始定位区域与对象检测区域确定像素位置变换关系,以基于像素位置变换关系在业务图像中定位出目标定位区域,从而识别出目标定位区域对应的目标定位图像中的前景区域,然后基于前景区域确定出边缘曲线。本申请是对目标对象的局部区域的图像(即目标定位图像)进行前景识别,减少了目标对象的不定因素(如高光区域、脏污点)对前景识别过程的影响,从而提升前景区域识别的准确性,进而提升拟合得到的边缘曲线的准确性。并且,在拟合边缘曲线时,是对目标对象的局部进行边缘曲线的拟合,目标对象的边缘线上的像素点较少,减少出现多种满足拟合条件但实际差异较大的边缘曲线的情况,有助于提升拟合得到目标对象的边缘曲线的准确性和稳定性。另外,由于在进行边缘曲线拟合处理时,目标对象的边缘线上的像素点较少,由此有助于提升边缘曲线拟合的效率。
请参见图1,图1是本申请实施例提供的一种数据处理系统的结构示意图。如图1所示,该数据处理系统中可以包括终端设备(如设备11a、设备12a、设备13a)和服务器200a。可以理解的是,图1中的终端设备和服务器的数目仅仅是示意性的,根据实现需要,可以具有任意数目的终端设备和服务器。终端设备(如设备11a、设备12a、设备13a)可以通过网络(即通过有线、无线通信链路或者光纤电缆等等连接方式提供通信链路的介质)与服务器进行通信,进而进行数据的传输。
可以理解的是,终端设备(如设备12a)上可以运行有客户端,该客户端可以是为用户(也称业务对象、操作对象)提供本地服务的程序。服务器200a可以为客户端所对应的服务器,该服务器200a中可以运行有用于向客户端提供资源、服务数据等服务的程序。可以理解的是,终端设备上运行的客户端也可以称为应用客户端、业务客户端等等。例如,该终端设备上运行的客户端可以为用于进行图像处理的客户端,进而用户可以在终端设备上查看处理后的图像等操作。
可以理解的是,终端设备(如设备12a)可以包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器、智能音箱、智能家电等,此处不做限制。该服务器200a可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,此处不做限制。
可以理解的是,本申请实施例可以应用于计算机设备中,例如该计算机设备可以为上述图1中的终端设备,也可以为上述图1中的服务器,此处不做限定。例如,在本申请实施例应用于上述图1中的终端设备中时,用户可以直接基于终端设备执行上述图像处理方案,并在确定出目标对象的边缘曲线时,在终端设备显示目标定位图像以及在目标定位图像中所确定的边缘曲线,以便于用户可以查看边缘曲线的效果。又如,在本申请实施例应用于上述图1中的服务器中时,用户可以通过终端设备向服务器发送用于确定业务图像中的目标对象的边缘曲线的请求,进而服务器在获取到该请求后,执行上述的图像处理方案,以确定出目标对象的边缘曲线,进而服务器可以将得到的目标定位图像以及在目标定位图像中所确定的边缘曲线发送至用户对应的终端设备,终端设备显示接收到的目标定位图像,并在目标定位图像中显示所确定的边缘曲线,以便于用户可以查看边缘曲线的效果。
请参见图2,图2是本申请实施例提供的一种图像处理方法的场景示意图。如图2所示,可以获取到业务图像201a,业务图像201a中可以包括目标对象211a。还可以获取到模板图像202a,该模板图像202a中可以包含模板对象222a,进而可以从模板图像202a中确定出对象检测区域221a,该对象检测区域221a中可以包括完整包含目标对象,但不会过多包含背景内容。该对象检测区域221a的尺寸可以为d1*d2。进而可以执行步骤S21:在业务图像201a中查找与对象检测区域221a相匹配的区域。所查找到的区域可确定为初始定位区域212a,初始定位区域212a的区域尺寸(也称尺寸)与对象检测区域221a的尺寸保持一致,即可以为d1*d2。执行步骤S22:基于初始定位区域212a中像素点与对象检测区域221a中的像素点确定像素位置变换关系203a。可以理解的是,该像素位置变换关系203a可以用于指示初始定位区域212a中的像素点到对象检测区域221a中的像素点的位置变换关系。然后执行步骤S23:基于像素位置变换关系203a在业务图像201a中确定局部参考区域223a对应的局部映射区域。其中,该模板图像202a中包括的局部参考区域223a的区域尺寸为d3*d4。该局部映射区域为局部参考区域在业务图像中的映射区域,进而可以将所确定的局部参考区域确定为目标定位区域213a,目标定位区域213a的区域尺寸(也称尺寸)与局部参考区域223a的尺寸保持一致,即可以为d3*d4。然后执行步骤S24:基于目标定位区域213a确定目标定位图像204a,在目标定位图像204a中识别目标对象的前景区域,基于前景区域拟合的得到边缘曲线214a。该目标定位图像204a可以为在业务图像中对目标定位区域213a进行图像裁剪所得到的图像,目标定位图像的尺寸可以为d3*d4。所识别得到的前景区域即为目标定位图像中目标对象所对应的区域。该边缘曲线214a可以为基于前景区域中的边缘像素点所拟合得到曲线,例如可以参见图2所示的边缘曲线214a。
可以理解的是,本申请实施所提供的用于确定边缘直线的方案,可以理解为三阶段,第一阶段采用粗定位,大致定位目标对象(如工业器件)主体区域,做一个位置的粗调整;第二阶段使用前景识别(如语义分割算法),从业务图像中裁切与模板图中的区域对应的位置,并进行语义分割,区分前后景,得到准确的前景区域,进而可以得到纯净的边缘结果(即边缘像素点);第三阶段通过曲线拟合处理(如通过随机抽样一致线性回归(RANSAC)算法进行处理)进行曲线拟合,如拟合得到边缘曲线。本申请可以精确定位边缘直线,排除器件偏移、光照、脏污、缺陷等因素引发的干扰,同时解决了传统算法边缘检测误差很大,在复杂场景中失效的问题。另外,在进行前景识别时,是对目标对象的局部的图像(即目标定位图像)进行识别,其处理速度远低于使用全尺寸大图进行深度语义分割运算的时间,节约成本。另外,本申请中所生成的边边缘曲线稳定、准确,参数量少。另外,本申请中所涉及到的算法逻辑清晰,稳定可控,每一步的运算结果均可以进行可视化查看,方便在算法工作异常时快速定位问题,如可以查看模板图像中的定位图像,查看业务图像中所确定的初始定位区域,查看目标定位区域,查看识别得到的前景区域,查看拟合好的边缘曲线。另外,通过本申请实施例生成的边缘曲线和实物的拟合精确度极高,可以实现算法量测一致性误差稳定小于2个像素,与实际值偏差稳定小于4个像素值。
可以理解的是,本申请实施例中,在获取业务图像或模板图像时,所需的硬件环境包括成像机台,摄像头(摄像装置),光源,以及进行深度缺陷检测的服务器和相应的软件环境等等,此处不做限定。服务器的硬件搭载,例如可以是在Intel Xeon 8255C CPU(一种中央处理器版本)和NVIDIA Tesla V100显卡(一种显卡版本)的服务器上实现。软件环境所涉及的编码语言可以根据实际需求选择,如可以选择Python 3.6.8,所使用的框架也可以根据实际需求进行确定,如可以为opencv-python(一种框架类型)、numpy(一种框架类型),scikit-learn(一种框架类型)等等,此处不做限定。
本申请实施例可以应用于工业的产品测量场景中,从而通过本申请实施例所描述的方法确定产品的边缘曲线,进而基于边缘曲线进行产品的测量,若测量结果(即检测值)不满足要求,则可以表示该产品不合格,由此通过本申请实施例准确拟合得到目标对象的边缘曲线,提升在工业产品下的产品测量的准确性,进而有助于提升对产品的质量管理的效率。本申请实施例,通过对像素位置变换关系确定目标定位区域,可以得到用户所关注的局部区域。同时由于尺寸变小了,应用深度学习进行前景识别(如语义分割)推理的耗时大大降低,同时也能降低训练的时间复杂度和显存占用情况,大大提升了工业场景中的可用性。
本申请实施例还可以应用于一些其他需要拟合得到目标对象的边缘曲线的场景,例如,通过本申请实施例可以用于实现对于人物或动物等对象的图像的特效处理方式,例如,可以通过本申请实施例在业务图像中确定出目标定位区域,并基于目标定位区域中的前景区域拟合得到边缘曲线,然后基于不同的局部参考区域确定出不同的目标定位区域,以得到目标对象在多个局部区域所拟合得到边缘曲线,从而基于每个边缘曲线进行特效处理,如基于边缘曲线确定相应的光效,从而实现对图像的特效处理。另外,由于拟合边缘曲线是基于目标对象的局部区域的边缘像素点进行拟合的,进行曲线拟合的计算量较小,由此可以提升边缘曲线拟合的效率。
可以理解的是,本申请实施例可以应用于人工智能技术领域,例如,可以通过人工智能技术进行训练的前景识别网络识别目标定位图像中的前景区域。人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
可以理解的是,本申请实施例还可以应用于云技术领域,例如可以通过云服务器来执行本申请实施例所提供的图像处理方案,拟合得到业务图像中的目标对象的边缘曲线。云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
可以理解,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
进一步地,请参见图3,图3是本申请实施例提供的一种图像处理方法的流程示意图。该方法可由计算机设备来执行。该方法至少可以包括以下步骤S101-步骤S104。
S101、获取包含目标对象的业务图像,获取用于辅助定位目标对象的模板图像,从模板图像中确定出对象检测区域;对象检测区域的区域尺寸小于业务图像的区域尺寸。
其中,该目标对象可以为待识别曲线边缘的对象。该目标对象可以为物品、人物、动物等等,此处不做限定。例如,该目标对象可以为工业场景下的工业产品、零部件等等。
其中,该业务图像可以为待处理的图像。该业务图像中可以包含目标对象,换言之,该业务图像中可以为针对目标对象进行图像采集得到的。可以理解的是,该业务图像中可以所包括的目标对象可以为一个完整的对象(如一个完整的工业产品),也可以为一个对象中的局部对象(例如一个完整的工业产品中的零部件),此处不做限定。
其中,该模板图像可以为用于辅助定位目标对象的图像,换言之,本申请实施例可以通过模板图像大致定位目标对象在业务图像中的位置。该模板图像中包括模板对象,该模板对象的对象类型与目标对象的对象类型一致,换言之,在业务图像中辅助定位目标对象时,需要获取与目标对象属于同一对象类型的模板对象对应的模板图像进行定位。例如,该对象类型可以是指对象的零件类型、产品类型、物品类型等等,此处不做限定,例如,目标对象为零件类型A对应的零件,则需要获取包含零件类型A所对应的模板对象的模板图像,以用于辅助定位目标对象。可以理解的,通过模板图像辅助定位目标对象,能够更快速地确定出目标对象中所需要进行处理的局部区域(即目标定位区域)。
其中,对象检测区域可以为用于与业务图像进行匹配以定位目标对象的区域。可以理解的是,该对象检测区域应完整包含目标对象,但不会过多包含背景内容。从模板图像中确定出对象检测区域,可以包括:在模板图像中确定模板对象关联的对象检测框,将对象检测框所在的位置确定为对象检测区域。
其中,该对象检测框可以为用于框选模板对象的矩形框。可以理解的是,该对象检测框可以是人为框选的,也可以是基于目标检测算法等方式自动标注的,此处不做限定。确定对象检测框的时机可以为在获取到模板图像时就已经确定了模板对象关联的对象检测框,也可以为在获取到模板图像之后再确定其中的对象检测框,进而将对象检测框所在的位置确定为对象检测区域。换言之,该对象检测区域也可以理解为基于模板图像中的模板对象所确定的区域。
可选的,在一个模板图像中也可以包括多个对象,进而从模板图像所包括的多个对象中确定出与目标对象的对象类型一致的对象作为模板对象,并确定模板对象的对象检测框,从而基于所确定的模板对象的对象检测框所在区域确定对象检测区域。例如,在一个模板图像中包括一个产品的多个零件类型的零件对应的粗糙模板区域,在目标对象的对象类型为零件类型1时,可以将模板图像中的零件类型1的零件确定为模板对象,并确定模板对象的对象检测框,将对象检测框所在的位置确定为对象检测区域。
可以理解的是,该对象检测区域的区域尺寸小于业务图像的区域尺寸,进而后续才能在业务图像中查找与对象检测区域相匹配的区域。其中,区域尺寸(也可简称尺寸)以像素点数量为单位的,例如一个矩形区域的区域尺寸是指长度和宽度的像素点数量。
例如,请参见图4,图4是本申请实施例提供的一种模板图像的示意图。如图4所示,该模板图像41a中可以包括模板对象41a,以及基于模板对象41a所确定的对象检测区域412a。可以看到,该对象检测区域中可以完整包含模板对象411a,且不包含过多的背景区域。背景区域是指除图像(如模板图像)中除对象(如模板对象)所在区域外的其他区域。
可以理解的是,通常来说,模板图像的图像采集与业务图像的图像采集是在相同图像采集环境中所采集到的。具体的,采集模板图像和采集业务图像的摄像装置的参数设置相同,模板对象到摄像装置的距离与目标对象到摄像装置的距离保持一致,因此,模板图像与业务图像的分辨率一致,模板图像中所展示的模板对象的大小与业务图像中所展示的目标对象的大小基本一致(可能由于对象所摆放的位置差异而导致对象的大小存在细微差异,但由于只是做一个粗糙定位,此处可以忽略不计)。可以理解的是,在一些工业场景下,为了提升对产品的测量的准确性,在对产品(如目标对象)进行图像采集得到业务图像时,可以采用畸变少、清晰度高的摄像装置进行图像采集,从而得到更准确定的业务图像,进而在拟合得到准确的目标对象的边缘曲线后,可以更准确地基于边缘曲线对产品进行检测。
在一些情况下,模板图像与业务图像的尺寸可能存在不同,因此在确定对象检测区域时,可以对模板图像进行缩放处理,进而基于缩放处理后的模板图像确定对象检测区域,使得在缩放处理后的模板图像中所确定的对象检测区域的区域尺寸小于业务图像的区域尺寸的。进一步的,可以是通过缩放模板图像,以确定不同尺寸的模板对象区域,后续基于不同尺寸的模板对象区域在业务图像中进行匹配,以在业务图像中确定与最合适的尺寸大小的模板对象区域相匹配的区域,换言之,通过不同尺寸大小的模板对象区域,分别在业务图像中查找与该模板对象区域的区域相似度最大的区域,并记录每个尺寸的模板对象区域对应的最大区域相似度,将每个尺寸的模板对象区域对应的最大区域相似度中,最大的区域相似度所对应的模板对象区域确定为对象检测区域,并且可以将与该对象检测区域的区域相似度最大的区域确定为与对象检测区域相匹配的区域。可以理解的是,在对模板图像进行缩放处理时,若需要对模板图像进行缩小处理,则可以根据缩小后的图像尺寸进行像素采样,若需要对模板图像进行放大处理,则可以根据放大后的图像尺寸进行像素插值处理。
可选的,模板图像和业务图像中还可以包括同一参考对象,该参考对象用于作为对模板图像进行缩放的参考。换言之,在采集模板图像时,是针对模板对象和参考对象进行拍摄的,在采集业务图像时,是针对目标对象和参考对象进行拍摄的。进一步的,在对模板图像进行缩放处理时,可以使得模板图像中的参考对象所在区域的区域尺寸与业务图像中的参考对象所在区域的区域尺寸保持一致,进而基于缩放处理后的模板图像确定对象检测区域。
S102、在业务图像中查找与对象检测区域相匹配的区域,将查找到的区域确定为目标对象的初始定位区域,基于对象检测区域中的像素点的像素位置与初始定位区域中的像素点的像素位置,确定像素位置变换关系。
其中,初始定位区域是指在业务图像中与对象检测区域相匹配的区域。与对象检测区域相匹配的区域可以为在业务图像中与对象检测区域的区域相似度最大的区域。
可以理解的是,在业务图像中查找与对象检测区域相匹配的区域,可以为在业务图像中确定一个尺寸与对象检测区域的区域尺寸一致的滑动窗口,进而在业务图像上不断滑动该滑动窗口,并计算滑动窗口滑动至每个位置时,滑动窗口所在的区域与对象检测区域之间的区域相似度,并将区域相似度最大时滑动窗口所在的区域确定为与对象检测区域相匹配的区域。
具体的,在业务图像中查找与对象检测区域相匹配的区域,可以包括:基于对象检测区域的区域尺寸,在业务图像中确定用于进行窗口滑动的滑动窗口,在业务图像中将滑动窗口所在窗口位置确定为业务图像中的待匹配区域;待匹配区域的区域尺寸均与对象检测区域的区域尺寸保持一致;进一步的,通过待匹配区域中的每个像素点的像素值与对象检测区域中的每个像素点的像素值,确定待匹配区域与对象检测区域的区域相似度;进一步的,基于区域相似度,在业务图像中确定与对象检测区域相匹配的区域。
其中,可以理解的是,滑动窗口是指用于在业务图像中进行窗口滑动以确定与对象检测区域相匹配的区域的窗口。该滑动窗口的尺寸与对象检测区域的区域尺寸保持一致。该待匹配区域是指滑动窗口所在的窗口位置对应的区域。可以理解的是,由于滑动窗口的尺寸与对象检测区域的区域尺寸保持一致,则待匹配区域的区域尺寸均与对象检测区域的区域尺寸保持一致。可以理解的是,滑动窗口可以在业务图像中滑动至不同的窗口位置,每个窗口位置所对应的区域均可以称为待匹配区域。
可以理解的是,区域相似度是指待匹配区域与对象检测区域的之间的相似度。基于每个窗口位置所对应的待匹配区域与对象检测区域之间均可以计算得到相应的相似度,每个窗口位置所对应的待匹配区域与对象检测区域之间的相似度,均可以统称为区域相似度。例如,窗口位置1对应的待匹配区域与对象检测区域之间的相似度为相似度1,窗口位置2对应的待匹配区域与对象检测区域之间的相似度为相似度2,相似度1与相似度2均可以统称为区域相似度。
可以理解的是,基于区域相似度,在业务图像中确定与对象检测区域相匹配的区域,可以为将最大的区域相似度对应的待匹配区域确定为与对象检测区域相匹配的区域。
具体的,待匹配区域包括第一滑动窗口区域和第二滑动窗口区域;第一滑动窗口区域为滑动窗口滑动至第一窗口位置所确定的区域;第二滑动窗口区域为滑动窗口滑动至第二窗口位置所确定的区域;第二窗口位置为按照滑动步长所确定的第一窗口位置的下一窗口位置;那么,通过待匹配区域中的每个像素点的像素值与对象检测区域中的每个像素点的像素值,确定待匹配区域与对象检测区域的区域相似度,包括:通过第一滑动窗口区域中的每个像素点的像素值与对象检测区域中的每个像素点的像素值,确定第一滑动窗口区域与对象检测区域的区域相似度,将第一滑动窗口区域与对象检测区域的区域相似度确定为第一区域相似度;进一步的,通过第二滑动窗口区域中的每个像素点的像素值与对象检测区域中的每个像素点的像素值,确定第二滑动窗口区域与对象检测区域的区域相似度,将第二滑动窗口区域与对象检测区域的区域相似度确定为第二区域相似度;基于第一区域相似度和第二区域相似度确定待匹配区域与对象检测区域的区域相似度。
可以理解的是,滑动窗口可以在业务图像上按照一定步长(也称滑动步长)进行窗口滑动,直至将业务图像遍历滑动完毕(也称遍历结束)。步长是指滑动窗口每次滑动至下一窗口位置所需移动的像素数量。例如,步长可以为1个像素点、2个像素点等等。通常来说,为了提升所确定的与对象检测区域相匹配的区域的准确性,可以将步长设置为1个像素点,进而可以将滑动窗口滑动至业务图像中的全部可能的位置,从而能够更精准地匹配到目标对象所在的位置。若为了提升确定与对象检测区域相匹配的区域的效率,则可以将步长设置为更大的像素数量,从而所需要计算区域相似度的次数可以更少,从而提升在业务图像中定位目标对象的效率。可以理解的是,在滑动窗口在业务图像中进行窗口滑动时,可以按照一定滑动顺序进行滑动,例如,该滑动顺序可以为在业务图像中从上至下,从左至右进行滑动。示例性地,在步长为1个像素时,可以先在业务图像中,将滑动窗口左上角点与业务图像的左上角点对齐确定一个滑动窗口,然后按照滑动步长从左至右依次进行滑动,在从左至右遍历结束时,将滑动窗口按照步长向下滑动一个像素,并且再次按照步长从左至右依次进行滑动,直至从左至右遍历结束。以此类推,依照滑动顺序在滑动窗口在业务图像中进行滑动,直至对业务图像遍历滑动结束。其中,将业务图像遍历滑动完毕是指滑动窗口按照滑动步长和滑动顺序进行窗口滑动时,滑动窗口滑动至最后一个窗口位置。
其中,该第一滑动窗口区域不同于第二滑动窗口区域,第一滑动窗口区域为滑动窗口滑动至第一窗口位置所确定的待匹配区域,第二滑动窗口区域为滑动窗口滑动至第二窗口位置所确定的待匹配区域,该第一窗口位置不同于第二窗口位置。可以理解的是,该第一窗口位置可以为业务图像中滑动窗口所滑动至的第一个窗口位置,第二滑动窗口区域可以为滑动窗口所滑动至的第一窗口位置的下一窗口位置。
其中,第一区域相似度是指第一滑动窗口区域与对象检测区域之间的区域相似度。第二区域相似度是指第二滑动窗口区域与对象检测区域之间的区域相似度。
可以理解的是,若在将滑动窗口滑动至第二窗口位置时,滑动窗口对业务图像遍历滑动完毕,则基于第一区域相似度和第二区域相似度确定待匹配区域与对象检测区域的区域相似度,可以包括:将第一区域相似度与第二区域相似度确定为第一区域相似度和第二区域相似度确定待匹配区域与对象检测区域的区域相似度。若在将滑动窗口滑动至第二窗口位置时,滑动窗口对业务图像未遍历滑动完毕,则基于第一区域相似度和第二区域相似度确定待匹配区域与对象检测区域的区域相似度,可以包括:将滑动窗口按照滑动步长滑动至第二窗口位置的下一窗口位置,将第二窗口位置的下一窗口位置所确定的区域确定为第三滑动窗口区域;通过第三滑动窗口区域中的每个像素点的像素值与对象检测区域中的每个像素点的像素值,确定第二滑动窗口区域与对象检测区域的区域相似度,将第三滑动窗口区域与对象检测区域的区域相似度确定为第三区域相似度,基于第一区域相似度、第二区域相似度和第三区域相似度确定待匹配区域与对象检测区域的区域相似度。
可以理解的是,在计算得到第二滑动窗口区域所对应的区域相似度后,可以将滑动窗口按照滑动步长滑动至下一窗口位置,,并计算下一个窗口位置时的待匹配区域所对应的区域相似度,直至滑动窗口对业务图像遍历结束,由此可以将滑动窗口移动至每个窗口位置,并确定每个窗口位置对应的待匹配区域与对象检测区域的区域相似度,从而确定出与对象检测区域相匹配的区域。
具体的,基于区域相似度,在业务图像中确定与对象检测区域相匹配的区域,可以包括以下步骤:基于第一区域相似度和第二区域相似度确定目标区域相似度,目标区域相似度为第一区域相似度和第二区域相似度中最大的区域相似度;在业务图像中,基于目标区域相似度所对应的待匹配区域确定与对象检测区域相匹配的区域。
其中,目标区域相似度为第一区域相似度和第二区域相似度中最大的区域相似度。换言之,与对象检测区域相匹配的区域是指与对象检测区域的区域相似度最大的待匹配区域。
可以理解的是,在区域相似度中包括更多数量的区域相似度(如包括2个以上的区域相似度)时,可以基于区域相似度所包括的全部区域相似度中,最大的区域相似度确定目标区域相似度。例如,区域相似度中包括第一区域相似度、第二区域相似度和第三区域相似度,则可以基于第一区域相似度、第二区域相似度和第三区域相似度中的最大区域相似度确定目标区域相似度。
例如,请参见图5,图5是本申请实施例提供的一种窗口滑动的场景示意图。如图5所示,在滑动窗口位于窗口位置1时,可以将窗口位置1所对应的窗口位置确定为第一窗口位置,窗口位置1所在的区域为第一窗口滑动区域,进而可以确定窗口位置1对应的区域相似度1(即窗口位置1所在的待匹配区域与对象检测区域之间的区域相似度);进一步的,将滑动窗口由窗口位置1滑动至下一窗口位置(即窗口位置2),如图5所示,滑动窗口向右滑动一个像素得到窗口位置2,则可以将窗口位置2确定为第二窗口位置(即第一窗口位置的下一窗口位置),窗口位置2所在的区域为第二窗口滑动区域,进而可以确定窗口位置2对应的待匹配区域(即第二窗口滑动区域)与对象检测区域的区域相似度2。进一步的,将滑动窗口由窗口位置2滑动至下一窗口位置(即窗口位置3),如图5所示,滑动窗口向右滑动一个像素得到窗口位置3,窗口位置3所在的区域为第三窗口滑动区域,进而可以确定窗口位置3对应的待匹配区域(即第三窗口滑动区域)与对象检测区域的区域相似度3。进一步的,以此类推,直至滑动窗口对业务图像遍历滑动结束(即滑动窗口可以滑动至窗口位置n),进而可以将各个窗口位置所确定的区域相似度(如区域相似度1、区域相似度2、区域相似度3等等)中最大的区域相似度确定为目标区域相似度,将目标区域相似度所对应的待匹配区域确定为与对象检测区域相匹配的区域,换言之,将每个窗口位置所在的待匹配区域对应的区域相似度中最大的区域相似度所对应的待匹配区域确定为与对象检测区域相匹配的区域。
其中,可选的,针对任一待匹配窗口来说,通过待匹配区域中的每个像素点的像素值与对象检测区域中的每个像素点的像素值,确定待匹配区域与对象检测区域的区域相似度,可以包括:基于待匹配区域中的每个像素点,与对象检测区域中的相同像素坐标的像素点之间的像素差异,确定待匹配区域与对象检测区域的区域相似度。例如,可以基于待匹配区域中的每个像素点,与对象检测区域中的相同像素坐标的像素点之间的像素差异的平均值,确定待匹配区域与对象检测区域的区域相似度。可以理解的是,该像素差异可以是指两个像素点的像素值之间的差值。每个像素坐标的像素点之间的像素差异的平均值越大,则区域相似度越小,反之,每个像素坐标的像素点之间的像素差异的平均值越小,则区域相似度越大。
其中,此处的像素坐标是指在一个区域(如待匹配区域或对象检测区域)中,像素点所在的行和列,例如,在待匹配区域的第1行第2列的像素点的像素坐标为(1,2)。
可选的,针对任一待匹配区域(如上述的第一滑动窗口区域、第二滑动窗口区域)来说,通过待匹配区域中的每个像素点的像素值与对象检测区域中的每个像素点的像素值,确定待匹配区域与对象检测区域的区域相似度,可以包括:基于待匹配区域中的每个像素点的像素值与待匹配区域的像素均值的像素差值,确定待匹配区域中的每个像素点对应的像素均值差异;基于对象检测区域中的每个像素点的像素值与对象检测区域的像素均值的像素差值,确定对象检测区域中的每个像素点对应的像素均值差异;基于待匹配区域中的每个像素点对应的像素均值差异,与对象检测区域中的相同像素坐标的像素点对应的像素均值差异,确定出待匹配区域与对象检测区域的区域相似度。
其中,待匹配区域的像素均值(也称像素平均值)是指待匹配区域中的各个像素点的像素值的平均值。对象检测区域的像素均值(也称像素平均值)是指对象检测区域中的各个像素点的像素值的平均值。像素均值差异是指区域(如对象检测区域或待匹配区域)中的像素点与像素均值的差值。
可选的,基于待匹配区域中的每个像素点对应的像素均值差异,与对象检测区域中的相同像素坐标的像素点对应的像素均值差异,确定出待匹配区域与对象检测区域的区域相似度,可以为:获取待匹配区域中的像素点的像素值的像素标准差(或方差),获取对象检测区域中的像素点的像素值的像素标准差(或方差),基于待匹配区域中的每个像素点对应的像素均值差异、对象检测区域中的相同像素坐标的像素点对应的像素均值差异、待匹配区域中的像素点的像素值的像素标准差(或方差)、和对象检测区域中的像素点的像素值的像素标准差(或方差),确定待匹配区域与对象检测区域的区域相似度。
例如,确定待匹配区域与对象检测区域之间的区域相似度可以参照以下公式(1):
其中,Sim表示待匹配区域p与对象检测区域q之间的区域相似度。p表示待匹配区域,q表示对象检测区域,p(x,y)和q(x,y)代表x,y像素坐标下的像素值,μf与μt分别是待匹配区域与对象检测区域的像素平均值,σf与σt分别是待匹配区域与对象检测区域的像素标准差。m-1是一个超参数,作为缩放因子。
具体的,第一滑动窗口区域中包括第i个像素点,对象检测区域中包括第j个像素点;i与j为保持一致的正整数;那么,通过第一滑动窗口区域中的每个像素点的像素值与对象检测区域中的每个像素点的像素值,确定第一滑动窗口区域与对象检测区域的区域相似度,包括:将第一滑动窗口区域中的像素点的像素值的平均值,确定为第一像素均值;将对象检测区域中的像素点的像素值的平均值,确定为第二像素均值;将第一滑动窗口区域中的第i个像素点的像素值与第一像素均值的差值,确定为第i个像素点对应的第一差值,将对象检测区域中的第j个像素点的像素值与第二像素均值的差值确定为第j个像素点对应的第二差值;基于第i个像素点对应的第一差值和第j个像素点对应的第二差值确定第一滑动窗口区域与对象检测区域的区域相似度。
其中,第i个像素点可以为第一滑动窗口区域中的任一像素点,例如,第一滑动窗口区域的大小为W*E(即包括W行和E列像素点),该第i个像素点可以为第一滑动窗口区域中的第1行第1列的像素点、第1行第2列的像素点、.......、第W行第E列的像素点等等。同理,第j个像素点可以为对象检测区域中的任一像素点,例如,对象检测区域的大小为W*E(即包括W行和E列像素点),该第j个像素点可以为对象检测区域中的第1行第1列的像素点、第1行第2列的像素点、.......、第W行第E列的像素点等等。
第一像素均值是指第一滑动窗口区域中的像素点的像素值的平均值。第二像素均值是指对象检测区域中的像素点的像素值的平均值。第一差值是指第一滑动窗口区域中的第i个像素点的像素值与第一像素均值的差值。第二差值是指对象检测区域中的第j个像素点的像素值与第二像素均值的差值。
其中,基于第i个像素点对应的第一差值和第j个像素点对应的第二差值确定第一滑动窗口区域与对象检测区域的区域相似度,可以参照公式(1)进行计算,例如,该第一滑动窗口区域中第i个像素点的像素坐标为公式(1)中的p(x,y),对象检测区域中的第j个像素点的像素坐标为公式(1)中的q(x,y),公式(1)中的(p(x,y)-μf)为第i个像素点对应的第一差值,公式(1)中的(q(x,y)-μt)为第j个像素点对应的第二差值,此处不做赘述。
可以理解的是,确定第二滑动窗口区域与对象检测区域的区域相似度的方法,可以参照上述确定第一滑动窗口区域与对象检测区域的区域相似度的相关描述,此处不做赘述。具体的,第二滑动窗口区域中包括第e个像素点,对象检测区域中包括第j个像素点;e与j为保持一致的正整数;那么,通过第二滑动窗口区域中的每个像素点的像素值与对象检测区域中的每个像素点的像素值,确定第二滑动窗口区域与对象检测区域的区域相似度,包括:将第二滑动窗口区域中的像素点的像素值的平均值,确定为第三像素均值;将对象检测区域中的像素点的像素值的平均值,确定为第二像素均值;将第二滑动窗口区域中的第e个像素点的像素值与第三像素均值的差值,确定为第e个像素点对应的第三差值,将对象检测区域中的第j个像素点的像素值与第二像素均值的差值确定为第j个像素点对应的第二差值;基于第e个像素点对应的第三差值和第j个像素点对应的第二差值确定第二滑动窗口区域与对象检测区域的区域相似度。其中,第三像素均值是指第二滑动窗口区域中的像素点的像素值的平均值。第三差值是指第二滑动窗口区域中的第e个像素点的像素值与第三像素均值的差值。
可以理解的是,像素位置变换关系用于表征初始定位区域中的像素点的位置变换为对象检测区域中的像素点的位置的关系,换言之,该像素位置变换关系用于表征通过何种变换关系可以将初始定位区域中的像素点的位置变换为对象检测区域中的像素点的位置,进而后续可以通过该像素位置变换关系和对象检测区域中的像素点的像素位置确定在业务图像映射到的像素点。通过模板图像确定像素位置变换关系,从而更准确地更高效地确定出待进行前景识别的区域,进而提升前景区域识别的准确性和效率。
具体的,基于对象检测区域中的像素点的像素位置与初始定位区域中的像素点的像素位置,确定像素位置变换关系,可以包括以下步骤:从初始定位区域中确定K个关键像素点;K为大于1的正整数;在对象检测区域中确定K个关键像素点对应的K个关联像素点;一个关键像素点对应一个关联像素点;基于K个关键像素点与K个关联像素点,构建K个像素点对;一个像素点对包括一个关键像素点和对应的一个关联像素点;在目标坐标系下,确定K个关键像素点的像素位置以及K个关联像素点的像素位置;基于K个像素点对中的每个像素点对所包括的关键像素点的像素位置和关联像素点的像素位置,计算得到用于表征像素位置变换关系的像素位置变换矩阵。
其中,关键像素点可以为初始定位区域中用于进行像素位置变换关系计算的像素点。关联像素点可以为对象检测区域中与关键像素点相同像素坐标的像素点。通常来说,为了更方便地确定关键像素点对应的关联像素点,关键像素点可以确定为初始定位区域的角点位置或中心位置等等。此处的角点可以是指一个矩形区域的四个顶点。例如,关键像素点为初始定位区域中的第1行第1列的像素点,则该关键像素点对应的关联像素点可以为对象检测区域中的第1行第1列的像素点。又如,关键像素点为初始定位区域中的第5行第5列的像素点,则该关键像素点对应的关联像素点可以为对象检测区域中的第5行第5列的像素点。
可以理解的是,一个关键像素点可以对应一个关联像素点,进而可以基于一个关键像素点与对应的一个关联像素点构建一个像素点对,那么,K个关键像素点和K个关联像素点可以构成K个像素点对。换言之,一个像素点对是由在初始定位区域和对象检测区域中具有相同像素坐标的两个像素点所构成的。
其中,此处的像素位置是指像素点在目标坐标系下的位置。可以理解的是,在确定像素位置变换矩阵时,需要将初始定位区域中的像素点和对象检测区域中的像素点均转换到目标坐标系下,从而可以在同一坐标系(即目标坐标系)下确定像素位置变换关系。该目标坐标系可以为二维坐标系,包括x轴(也称第一坐标轴)和y轴(也称第二坐标轴),该目标坐标系的原点可以为图像平面中的任一位置,例如可以将业务图像(或模板图像)的左上角点确定为原点,平行于业务图像(或对象检测区域)的两条边分别确定为x轴和y轴。可以理解的是,该目标坐标系具体可以为图像坐标系,是用物理单位(例如毫米)表示像素点在图像中的位置。例如,一个像素点的像素位置可以表示为(10,11),则表示在目标坐标系下,该像素点在x轴上的取值为10,在y轴上的取值为11。
目标坐标系可以为确定初始定位区域和对象检测区域中的像素点的像素位置的坐标系,进而可以将初始定位区域中的像素点和对象检测区域中的像素点均转换到目标坐标系下以确定对应的像素位置。
可以理解的是,计算像素位置变换矩阵可以需要至少两个像素点对。像素位置变换矩阵可以表示为:
其中,tx表示在目标坐标系下初始定位区域中的像素点变换到对象检测区域中相同像素坐标的像素点,在x轴上所需移动的距离;ty表示在目标坐标系下初始定位区域中的像素点变换到对象检测区域中相同像素坐标的像素点,在y轴上所需移动的距离。进而后续可以通过将对象检测区域中的像素点的像素位置左乘该像素位置变换矩阵,则可以计算得到对象检测区域中的像素点的映射像素位置,进而将计算得到的映射像素位置所对应的像素点确定为在初始定位区域中的映射像素点,换言之,通过该像素位置变换矩阵,可以确定出对象检测区域中的像素点在初始定位区域中的映射像素点。
S103、在从模板图像中确定出局部参考区域时,基于像素位置变换关系在业务图像中确定局部参考区域所对应的局部映射区域,将局部映射区域作为目标对象的目标定位区域。
其中,该局部参考区域可以模板图像中用于作为在业务图像中确定待处理的局部区域的参考的区域。可以理解的是,该局部参考区域可以为根据实际需求所标注的区域,即在模板图像中标注出需要进行边缘曲线拟合的局部区域作为局部参考区域。
其中,该局部映射区域是指局部参考区域在业务图像中所映射到的区域。该目标定位区域是指用于进行边缘曲线拟合的区域,该目标定位区域也就是基于局部映射区域和像素位置变换关系所确定的。可以理解的是,从模板图像中确定出局部参考区域具体可以为从模板图像中的对象检测区域中确定出局部参考区域。可以理解的是,若在确定对象检测区域时,对模板图像进行了缩放处理,则此处确定局部参考区域,是从基于采用同样缩放方式进行缩放处理后的模板图像中确定局部参考区域。
具体的,基于像素位置变换关系在业务图像中确定局部参考区域所对应的局部映射区域,将局部映射区域作为目标对象的目标定位区域,可以包括以下步骤:在局部参考区域中确定P个参考像素点;P为大于1的正整数;在目标坐标系下,确定P个参考像素点的像素位置;基于像素位置变换关系和P个参考像素点的像素位置,在业务图像中确定P个参考像素点对应的P个映射像素点;一个参考像素点对应一个映射像素点;基于P个映射像素点在业务图像中确定局部参考区域所对应的局部映射区域。
其中,该参考像素点可以为用于确定局部映射区域的参考点。该映射像素点可以为业务图像中基于参考像素点所映射到像素点。例如,该像素位置变换关系可以表示为像素位置变换矩阵,进而可以将参考像素点的像素位置左乘该像素位置变换矩阵,得到参考像素点对应的映射像素位置,并将映射像素位置在业务图像中所对应的像素点确定为映射像素点,一个参考像素点可以对应到一个映射像素点。
应当理解的是,该参考像素点的数量应大于1(P大于1),换言之,需要通过多个参考像素点所对应的映射像素点才能定位出局部映射区域。例如,该P个参考像素点可以为局部参考区域的4个角点,从而可以基于4个角点所对应的映射像素点确定出一个矩形区域,该所确定的矩形区域即为局部映射区域。该局部映射区域的区域尺寸与局部参考区域的区域尺寸保持一致。
其中,目标定位区域也就是基于局部映射区域所确定的区域,以用于对目标对象的边缘曲线进行拟合。
例如,请参见图6,图6是本申请实施例提供的一种区域映射过程的效果示意图。如图6所示,坐标轴x轴和y轴所构成的坐标系为上述的目标坐标系。在目标坐标系下,模板图像601a中包括局部参考区域611a,在局部参考区域611a中可以确定出4个参考像素点612a。进而,基于像素位置变换关系确定参考像素点612a对应的映射像素位置613a,映射像素点位置613a可以如图6所示,每个参考像素点对应计算得到一个映射像素位置。进一步的,基于映射像素位置613a在业务图像602a确定映射像素点621a,基于映射像素点621a确定出局部映射区域622a。其中,在目标坐标系下,一个映射像素位置613a可以在业务图像602a中确定一个映射像素点,即可以得到4个映射像素点,进而可以基于该4个映射像素点621a确定出局部映射区域622a,进而可以将该局部映射区域确定为目标定位区域。
S104、在目标定位区域对应的目标定位图像中识别目标对象对应的前景区域,对前景区域中的像素点进行边缘曲线拟合处理,得到目标对象的边缘曲线。
其中,目标定位图像是指基于目标定位区域所确定的图像,例如,可以在业务图像中对目标定位区域进行图像裁剪,得到目标定位图像。
可以理解的是,前景区域是指目标定位图像中可见性、显著性更强的部分,此处可以为目标定位图像中目标对象所在的区域。可以理解的是,在目标定位图像中识别目标对应的前景区域,可以通过语义分割网络、传统的阈值分割网络进行识别,也可以利用其他深度学习方法如实例分割、全景分割等等,此处不做限定。可以理解的是,局部区域中有很多因素影响区域边缘直线的提取,例如特征、形状、灰度都可能会因为拍摄背景(如机台)、对象本身(如工业器件)、光源的变化而变化。本申请实施例可以通过深度学习来进行前景区域的识别,能够挖掘到目标定位图像中的更深层的特征,而不是简单的基于灰度值的连续性来确定前景区域,由此可以提升前景区域识别的准确性,进而提升拟合得到的边缘曲线的准确性。
具体的,在目标定位区域对应的目标定位图像中识别目标对象对应的前景区域,包括:获取用于进行前景区域识别的目标前景识别网络;将目标定位区域对应的目标定位图像输入至目标前景识别网络,由目标前景识别网络对目标定位图像进行前景区域识别处理,得到目标定位图像中的每个像素点的前景概率;基于目标定位图像中的每个像素点的前景概率,确定目标对象对应的前景区域。
其中,该目标前景识别网络是指用于对目标定位图像进行前景区域识别的网络。该目标前景识别网络可以为神经网络,例如可以为上述的语义分割网络、传统的阈值分割网络、实例分割网络、全景分割网络等等,此处不做限定。例如,该可以理解的是,此处的前景区域识别处理是指确定出识别出图像中的前景区域的处理过程。前景概率是指像素点为前景像素点(即属于前景区域中的像素点)的概率,前景概率越高,则表示像素点为前景像素点的概率越大,反之,前景概率越高,则表示像素点为前景像素点的概率越大。
可选的,由目标前景识别网络对目标定位图像进行前景区域识别处理,可以包括:基于目标前景识别网络对目标定位图像进行特征提取处理,得到图像特征;基于图像特征进行前景识别处理,得到目标定位图像中的每个像素点的前景概率。其中,特征提取处理可以是通过多层神经网络实现的。该图像特征是指用于进行前景识别的图像特征,该图像特征可以表现为特征图。其中,基于目标前景识别网络对目标定位图像进行特征提取处理,得到图像特征可以包括:基于目标前景识别网络确定目标定位图像所对应的多个初始特征图,每个初始特征图的特征大小不同;对多个初始特征图进行特征融合处理,得到图像特征。其中,不同的初始特征图可以是基于不同大小的卷积核对目标定位图像进行卷积处理所得到的,由于卷积核大小不同,则对初始特征图进行卷积处理所得到的初始特征图的大小不同。对多个初始特征图进行特征融合处理,得到图像特征,可以为通过一个神经网络层对多个初始特征图进行特征融合处理,得到图像特征。
其中,基于目标定位图像中的每个像素点的前景概率,确定目标对象对应的前景区域,可以包括:将目标定位图像中,前景概率大于或等于概率阈值的像素点确定为前景像素点,基于前景像素点确定目标对象对应的前景区域。
可选的,在基于前景像素点确定目标对象对应的前景区域时,可以确定每个前景像素点是否与其他前景像素点相邻接,进而将孤立的前景像素点(即与其他前景像素点不连续或不邻接的前景像素点)调整为背景像素点,进而基于去除孤立前景像素点后的前景像素点确定前景区域。其中,背景像素点是指为背景的像素点,即图像中除前景像素点外的其他像素点。
例如,请参见图7,图7是本申请实施例提供的一种目标前景识别网络的效果示意图。在获取到目标定位图像701时,可以将目标定位图像701输入到目标前景别网络702。目标前景识别网络702可以通过特征提取组件721对目标定位图像进行特征提取处理722,得到图像特征,进而基于图像特征进行前景识别处理,得到目标定位图像中的前景区域703。
进一步的,此处以目标前景识别网络为神经网络为例,对基于目标前景识别网络对目标定位图像进行前景识别的过程进行阐述。请参见图8,图8是本申请实施例提供的一种特征提取组件的结构示意图。如图8所示,该特征提取组件可以为图7中的特征组件721的具体结构。目标定位图像在输入特征提取组件后,特征提取组件可以提取到目标定位图像所对应的多个初始特征图(参见图8中的802所示),每个初始特征图的特征大小不同;对多个初始特征图进行特征融合处理,得到图像特征803。其中,不同的初始特征图可以是基于不同大小的卷积核对目标定位图像进行卷积处理所得到的,由于卷积核大小不同,则对初始特征图进行卷积处理所得到的初始特征图的大小不同。可选的,该目标前景识别网络可以为基于HRNetV2(一种神经网络)网络的语义分割网络。由于HRNet(一种神经网络)提取的特征丰富,具有多种分辨率,不同分辨率的卷积层平行连接,彼此之间有很多信息交换和融合,最终预测时只用高分辨率子网络的输出,网络一致保持着高分辨率特征。因此,HRNet可以做到像素级的准确分类,使拟合得到边缘曲线的稳定性大大提高,很适合用于解决工业质检中的严格规格要求。
可以理解的是,该目标前景识别网络可以是基于大量样本数据对初始前景识别网络进行训练后所得到的网络。该初始前景识别网络可以是指未经过训练或未完成训练的前景识别网络。该初始前景识别网络的网络结构与目标前景识别网络的网络结构一致。
具体的,对初始前景识别网络进行训练得到目标前景识别网络,可以包括以下步骤:获取样本对象图像;样本对象图像关联有样本对象的样本前景区域标注信息;获取初始前景识别网络,将样本对象图像输入至初始前景识别网络,由初始前景识别网络对样本对象图像进行前景区域识别处理,得到样本对象图像中的每个像素点的前景概率;基于样本对象图像中的每个像素点的前景概率与样本前景区域标注信息,对初始前景识别网络进行迭代训练,将迭代训练后的初始前景识别网络确定为目标前景识别网络。
其中,该样本对象图像是指用于对初始前景识别网络进行训练的图像。该样本对象可以为用于确定样本对象图像的对象。该样本对象图像可以将样本对象所在的区域标注为样本前景区域。样本前景区域标注信息即为在样本对象图像中所标注的样本前景区域的信息。
可以理解的是,由初始前景识别网络对样本对象图像进行前景区域识别处理,得到样本对象图像中的每个像素点的前景概率的方法,可以参照上述由目标前景识别网络对目标定位图像进行前景区域识别处理,得到目标定位图像中的每个像素点的前景概率的相关描述,此处不做赘述。
例如,请参见图9,图9是本申请实施例提供的一种前景识别的效果示意图。如图9所示,该目标定位图像901中包括多个像素点,通过目标前景识别网络,可以确定出每个像素点为前景像素点的前景概率,在前景概率大于概率阈值时,则可以将像素点确定为前景像素点。如图9所示的目标定位图像901中,目标定位图像中识别得到的目标对象的前景区域为如图9所示的前景区域902,则除前景区域外的其他区域可以为背景区域,如图9中的背景区域903所示。
其中,对前景区域中的像素点进行边缘曲线拟合处理,得到目标对象的边缘曲线,可以包括:从前景区域中的像素点中确定出目标对象的边缘像素点集;边缘像素点集中包括N个边缘像素点;N为正整数;基于N个边缘像素点进行曲线拟合处理,得到目标对象的边缘曲线。
其中,该边缘像素点集是指由边缘像素点所构成的集合,边缘像素点是指位于前景区域的边缘的像素点。该边缘像素点集中可以包括多个边缘像素点,即N个边缘像素点。
其中,该边缘曲线是指基于前景区域中的边缘像素点所拟合得到的曲线。该边缘曲线可以为边缘直线,也可以为拟合的二次曲线,也可以为拟合的圆,等等,此处不做限定。换言之,该边缘曲线的曲线类型可以为直线、二次曲线、圆等等,此处不做限定。可以理解的是,基于N个边缘像素点进行曲线拟合处理,得到目标对象的边缘曲线,可以采用随机抽样一致线性回归算法、简单的线性回归算法、利用神经网络进行回归,等等,此处不做限定。
可以理解的是,在一些场景中,边缘曲线可以为边缘直线,进而可以基于边缘直线对目标对象进行测量得到检测值,比如确定目标对象中的一些关键位置到边缘直线的最短距离作为检测值,从而通过所测量得到的检测值进行对象质量管理,如基于检测值确定目标对象是否符合规范。
具体的,边缘曲线包括边缘直线;那么,本申请实施例还可以包括以下步骤:在目标定位图像中确定待检测像素点,基于待检测像素点到边缘直线的距离,确定待检测像素点关联的检测值;基于检测值对目标对象进行对象质量管理。
其中,待检测像素点可以为目标对象中待进行检测的位置所对应的像素点。检测值可以为基于边缘直线对待检测像素点进行测量得到的数值,如待检测像素点到边缘直线的距离。可以理解的是,此处待检测像素点到边缘直线的距离,可以是指待检测像素点到边缘直线的最短距离。
基于检测值对目标对象进行对象质量管理,可以包括:获取参考数值范围,对参考数值与检测值进行比对,得到比对结果;若比对结果指示检测值在参考数值范围内,则确定目标对象为合规对象;反之,若比对结果指示检测值不在参考数值范围内,则确定目标对象为非合规对象。其中,该合规对象可以为尺寸合规的对象,非合规对象可以为尺寸不合规的对象。因此,本申请实施例可以应用于工业场景下对工业产品(如目标对象)进行测量,以检测工业产品的尺寸是否合规,实现对工业产品的质量管理。可以理解的是,在工业制造行业的质检中,尺寸规格是个非常严格的标准,在一些应用中要求算法量测一致性误差小于2个像素,与实际值偏差小于4个像素值。如果尺寸不正确,器件的装配可能会失败,同时还可能破坏产品其他完整结构,因此在工业质检中,需要依赖视觉做尺寸的测量。为了进行尺寸的测量,需要定位各种关键点、线的位置,采用本申请实施例可以准确地拟合得到边缘曲线,进而提升对象(如工业器件、产品)的质量管理的高效性和准确性。
可以理解的是,在边缘曲线为其他类型的曲线时,也可以基于边缘曲线进行检测,以基于检测值对目标对象进行对象质量管理。具体的,在目标定位图像中确定待检测像素点,基于待检测像素点到边缘曲线的距离,确定待检测像素点关联的检测值;基于检测值对目标对象进行对象质量管理。
其中,待检测像素点到边缘曲线的距离可以是指待检测像素点到边缘曲线的最短距离。例如,在边缘曲线为圆时,可以基于点到圆心的距离以及圆的半径确定待检测像素点到边缘曲线的距离,比如,将圆的半径与待检测像素点到圆心的距离的差值的绝对值确定为待检测像素点到边缘曲线的距离。又如,在边缘曲线为一种二次曲线(如椭圆、双曲线等)时,可以假设与待检测像素点最近的点(记为第一近距离点),经过该第一近距离点确定边缘曲线的切线h1,并确定第一近距离点与待检测像素点的连线h2。可以理解的是,该切线h1与该连线h2应相互垂直,则可以通过切线h1的斜率A1与连线h2的斜率A2之积确定出第一近距离点的具体位置(如通过A1与A2的乘积为-1确定计算式以确定第一近距离点的具体位置),进而基于待检测像素点与第一近距离点之间的距离确定出待检测像素点到边缘曲线的距离。或者还可以通过其他方式确定待检测像素点到为二次曲线的边缘曲线的最短距离,比如假设以待检测像素点为圆心确定一个圆,在该圆与边缘曲线相切时,圆半径为待检测像素点到边缘曲线的最短距离。又如,在边缘曲线为其他的曲线类型时,如边缘曲线为基于连续可导函数所确定的曲线时,可以对边缘曲线求导以确定出边缘曲线上的某个点(记为第一曲线点)的切线,这是因为曲线上某个点处的切线是曲线的导数在该点上所表示的直线,并确定第一曲线点与待检测像素点的连线,在该连线与第一曲线点的切线相互垂直时,得到待检测像素点到边缘曲线的最短距离。
可以理解的是,根据实际需求还可以有一些其他的测量方式。例如,在边缘曲线为边缘圆(即曲线类型为圆的边缘曲线)时,将边缘圆的半径确定为检测值,基于检测值对目标对象进行对象质量管理。在一些场景中,目标定位区域中待检测的部分的形状为一个圆形,需要测量其半径,则可以通过本申请实施例,拟合得到圆形的边缘曲线,由此可以基于拟合得到的边缘曲线确定出对象的半径。又如,在边缘曲线为椭圆时,也可以基于待检测像素点与椭圆的长轴所在直线的距离确定为检测值,基于检测值对目标对象进行对象质量管理。又如,在边缘曲线为椭圆时,也可以将椭圆的长轴或短轴的长度确定为检测值,基于检测值对目标对象进行对象质量管理。在一些场景中,目标定位区域中的对象的形状为一个椭圆形,需要测量其长轴和短轴的长度,则可以通过本申请实施例,拟合得到为椭圆的边缘曲线,由此可以基于拟合得到的边缘曲线确定出对象的长轴和短轴的长度。
进一步地,请参见图10,图10是本申请实施例提供的一种图像处理方法的流程示意图。该方法可由计算机设备来执行。该方法至少可以包括以下步骤S201-步骤S208。
S201、获取包含目标对象的业务图像,获取用于辅助定位目标对象的模板图像,从模板图像中确定出对象检测区域;对象检测区域的区域尺寸小于业务图像的区域尺寸。
S202、在业务图像中查找与对象检测区域相匹配的区域,将查找到的区域确定为目标对象的初始定位区域,基于对象检测区域中的像素点的像素位置与初始定位区域中的像素点的像素位置,确定像素位置变换关系。
S203、在从模板图像中确定出局部参考区域时,基于像素位置变换关系在业务图像中确定局部参考区域所对应的局部映射区域,将局部映射区域作为目标对象的目标定位区域。
S204、在目标定位区域对应的目标定位图像中识别目标对象对应的前景区域。
其中,步骤S201-S204的实现方法可以参照上述步骤S101-S104的相关描述,此处不做赘述。
S205、从前景区域中的像素点中确定出目标对象的边缘像素点集;边缘像素点集中包括N个边缘像素点;N为正整数。
其中,该边缘像素点集是指由边缘像素点所构成的集合,边缘像素点是指位于前景区域的边缘的像素点。该边缘像素点集中可以包括多个边缘像素点,即N个边缘像素点。
可以理解的是,从前景区域中的像素点中确定出目标对象的边缘像素点集,可以包括:从目标定位图像中确定起始图像边界,起始图像边界上包括R个像素点,R个像素点中包括第s个像素点,s为小于或等于R的正整数;以第s个像素点为起始点,在垂直于起始图像边界的方向上依次遍历每个像素点,直至遍历到第一个前景像素点,并将所确定的第一个前景像素点确定为第s个像素点对应的边缘像素点;基于第s个像素点对应的边缘像素点,确定起始图像边界所对应的多个边缘像素点,基于起始图像边界所对应的多个边缘像素点确定边缘像素点集。
可以理解的是,该起始图像边界是指目标定位图像中用于确定相应方位上的边缘像素点的图像边界。一个图像的图像边界可以分为上边界(也称第一边界)、下边界(也称第二边界)、左边界(也称第二边界)和右边界(也称第二边界)。该起始图像边界可以为需要确定边缘像素点的方位上的图像边界,例如,需要确定目标对象的下边缘的边缘像素点,则可以将目标定位图像中的下边界确定为起始图像边界。可以理解的是,若需要确定多个方位(如上下左右四个方位)上的边缘像素点,则将目标定位图像中的多个图像边界均确定为起始图像边界,从而确定出每个起始图像边界所对应的多个边缘像素点,进而可以对每个起始图像边界所对应的多个边缘像素点进行去重处理,得到边缘像素点集。可以理解的是,起始图像边界的确定可以基于实际需求确定,此处不做限定。
例如,请参见图11,图11是本申请实施例提供的一种边缘像素点集的确定过程。如图11所示,在目标定位图中,确定的起始图像边界,如图11中的起始图像边界1101所示,起始图像边界上包括多个像素点,此处以第s个像素点为例,对确定第s个像素点对应的边缘像素点的的过程进行阐述。此处可以以第s个像素点为起始点,向左依次遍历每个像素点,直至确定出第一个前景像素点,如图11中的第s个像素点对应的边缘像素点,以此类推,参照第s个像素点的处理过程,可以确定出起始图像边界1101上的每个像素点对应的边缘像素点,从而构建得到边缘像素点集,例如,其实图像边界1101所确定出的边缘像素点的集合可以如图11中的边缘像素点集1103所示。可以理解的是,进一步的,可以将其他图像边界确定为起始图像边界,进而可以确定出其他图像边界上的像素点所对应的边缘像素点,然后进行去重处理,可以得到目标定位图像中的目标对象的完整边缘像素点。
S206、从边缘像素点集包括的N个边缘像素点中随机选取M个边缘像素点,将所选取的M个边缘像素点确定为M个第一拟合像素点;M为小于N的正整数。
其中,该第一拟合像素点可以为边缘像素点集中具体用于进行曲线拟合的像素点。该第一拟合像素点可以为从边缘像素点集所包括的N个边缘像素点中随机选取的边缘像素点。
应当理解的是,为了拟合得到边缘曲线,M的数量应该至少包括2个,换言之,M为大于或等于2的正整数。M个具体取值可以根据实际需求进行确定,换言之,可以预设随机选取的像素点的数量,或者预设随机选取的像素数量占边缘像素点集的比例,然后基于该预设的比例确定所需随机选取的像素点的数量。
S207、基于M个第一拟合像素点进行曲线拟合处理,得到M个第一拟合像素点对应的拟合曲线。
其中,该拟合曲线可以为基于从边缘像素点集中随机选取的拟合像素点(如第一拟合像素点)进行曲线拟合处理所得到的曲线。其中,拟合像素点(如第一拟合像素点)是指基于用于拟合得到拟合曲线的边缘像素点。可以理解的是,进行曲线拟合处理,也可以简称为进行拟合。
可以理解的是,基于M个第一拟合像素点进行曲线拟合处理,得到M个第一拟合像素点对应的拟合曲线,可以包括:获取待拟合曲线函数,基于M个第一拟合像素点和待拟合曲线函数进行曲线拟合处理,得到M个第一拟合像素点对应的拟合曲线。
其中,该待拟合曲线函数可以为待求取的曲线函数。例如,该待拟合曲线函数可以为直线函数,进而所确定的拟合曲线为直线;待拟合曲线函数可以为二次曲线函数,进而所确定的拟合曲线为二次曲线;待拟合曲线函数可以为圆函数,进而所确定的拟合曲线可以为圆。换言之,可以根据实际需要拟合的曲线的类型(如直线、二次曲线、圆等等)确定相应的待拟合曲线函数,从而确定出相应类型的拟合曲线,进而确定出相应类型的边缘曲线。具体所需要拟合的得到的曲线的类型可以根据实际需求进行确定。
S208、基于M个第一拟合像素点对应的拟合曲线确定目标对象的边缘曲线。
可以理解的是,基于M个第一拟合像素点对应的拟合曲线确定目标对象的边缘曲线,可以为直接将M个第一拟合像素点对应的拟合曲线确定为目标对象的边缘曲线,也可以为重复执行上述步骤S206-S207的步骤,确定出另一组M个拟合像素点(如M个第二拟合像素点)所对应的拟合曲线,并从多个拟合曲线中确定出目标对象的边缘曲线,此处不做限定。其中,从多个拟合曲线中确定出目标对象的边缘曲线,可以为将内群像素数量最大的拟合曲线确定为边缘曲线,该内群像素数量是指与拟合曲线相关联的内群像素点的数量。内群像素点是指与拟合曲线的距离小于或等于距离阈值的边缘像素点。可以理解的是,从多个拟合曲线中确定出目标对象的边缘曲线,可以是在重复计算拟合曲线的次数(即曲线拟合次数)达到拟合次数阈值时所确定的,或者,在所计算得到的拟合曲线的内群像素数量大于或等于数量阈值时所确定的。
具体的,基于M个第一拟合像素点对应的拟合曲线确定目标对象的边缘曲线,可以包括以下步骤:将M个第一拟合像素点对应的拟合曲线确定为第一拟合曲线,计算N个边缘像素点中的每个边缘像素点到第一拟合曲线的距离;基于到第一拟合曲线的距离,从N个边缘像素点中确定出第一拟合曲线的内群像素点;内群像素点是指与拟合曲线的距离小于或等于距离阈值的边缘像素点;统计第一拟合曲线相关联的内群像素点的像素数量,将所统计得到的像素数量确定为第一拟合曲线的内群像素数量;若第一拟合曲线的内群像素数量大于或等于数量阈值,则将第一拟合曲线确定为目标对象的边缘曲线。
其中,第一拟合曲线是基于M个第一拟合像素点所拟合得到的拟合曲线。内群像素点是指与拟合曲线的距离小于或等于距离阈值的边缘像素点。可以理解的是,该距离阈值是至将边缘像素点确定为内群像素点时与拟合曲线的距离所需满足的最小值,换言之,在边缘像素点与拟合曲线的距离小于或等于距离阈值时,将该边缘像素点确定为内群像素点。可以理解的是,边缘像素点集中除去内群像素点外的其他的边缘像素点可以称为离群像素点(也称outlier)。
可以理解的是,边缘像素点到第一拟合曲线的距离,是指边缘像素点到第一拟合曲线的最短距离。例如,在第一拟合曲线为直线时,可以将通过点到直线的最短距离的计算方式确定边缘像素点到第一拟合曲线的距离。又如,在第一拟合曲线为圆时,可以基于点到圆心的距离以及圆的半径确定边缘像素点到第一拟合曲线的距离,比如,将圆的半径与边缘像素点到圆心的距离的差值的绝对值确定为边缘像素点到第一拟合曲线的距离。又如,在第一拟合曲线为一种二次曲线(如椭圆、双曲线等)时,可以假设与边缘像素点最近的点(记为第二近距离点),经过该第二近距离点确定第一拟合曲线的切线h1,并确定第二近距离点与边缘像素点的连线h2。可以理解的是,该切线h1与该连线h2应相互垂直,则可以通过切线h1的斜率A1与连线h2的斜率A2之积确定出第二近距离点的具体位置(如通过A1与A2的乘积为-1确定计算式以确定第二近距离点的具体位置),进而基于边缘像素点与第二近距离点之间的距离确定出边缘像素点到第一拟合曲线的距离。或者还可以通过其他方式确定边缘像素点到为二次曲线的第一拟合曲线的最短距离,比如假设以边缘像素点为圆心确定一个圆,在该圆与第一拟合曲线相切时,圆半径为边缘像素点到第一拟合曲线的最短距离。又如,在第一拟合曲线为其他的曲线类型时,如第一拟合曲线为基于连续可导函数所确定的曲线时,可以对第一拟合曲线求导以确定出第一拟合曲线上的某个点(记为第二曲线点)的切线,这是因为曲线上某个点处的切线是曲线的导数在该点上所表示的直线,并确定第二曲线点与边缘像素点的连线,在该连线与第二曲线点的切线相互垂直时,得到边缘像素点到第一拟合曲线的最短距离。
其中,可以理解的是,内群像素数量是指拟合曲线的内群像素点的数量。可以理解的是,若一个拟合曲线的内群像素数量越多,则说明该拟合曲线为最符合边缘像素点分布的拟合曲线。该数量阈值可以为将第一拟合曲线确定为边缘曲线时内群像素数量所需满足的最小值,换言之,在第一拟合曲线的内群像素数量大于或等于数量阈值时,将第一拟合曲线确定为目标对象的边缘曲线。也就是说,在第一拟合曲线的内群像素数量符合要求时,就可以直接将第一拟合曲线确定为边缘曲线。进一步的,若该第一拟合曲线不符合要求(即第一拟合曲线对应的内群像素数量小于数量阈值),则可以重复执行从边缘像素点集包括的N个边缘像素点中随机选取M个边缘像素点的步骤,从而基于重新选取的M个边缘像素点拟合出另一拟合曲线,从而从每次拟合出的拟合曲线中确定出边缘曲线。
具体的,基于M个第一拟合像素点对应的拟合曲线确定目标对象的边缘曲线,可以包括以下步骤:在确定出M个第一拟合像素点对应的拟合曲线时,记录与边缘曲线关联的曲线拟合次数,将M个第一拟合像素点对应的拟合曲线的内群像素数量,确定为初始内群像素数量;内群像素数量为拟合曲线的内群像素点的像素数量;在曲线拟合次数未达到拟合次数阈值时,通知执行从边缘像素点集包括的N个边缘像素点中随机选取M个边缘像素点的步骤;将所选取的M个边缘像素点确定为M个第二拟合像素点,基于M个第二拟合像素点进行曲线拟合处理,得到M个第二拟合像素点对应的拟合曲线;获取M个第二拟合像素点对应的拟合曲线的内群像素数量,将M个第二拟合像素点对应的拟合曲线的内群像素数量确定为待比对内群像素数量;基于待比对内群像素数量和初始内群像素数量,确定目标内群像素数量;目标内群像素数量为待比对内群像素数量与初始内群像素数量中最大的内群像素数量;基于目标内群像素数量所对应的拟合曲线确定目标对象的边缘曲线。
可以理解的是,该曲线拟合次数是指从边缘像素点集中随机选取M个边缘像素点进行曲线拟合处理得到拟合曲线的次数。例如,在得到M个第一拟合像素点对应的拟合曲线时,曲线拟合次数可以为1,后续每计算一次拟合曲线,则曲线拟合次数加1,直至曲线拟合次数达到拟合次数阈值。
该初始内群像素数量是指第一拟合像素点对应的拟合曲线的内群像素数量。
可以理解的是,拟合次数阈值是指重复进行曲线拟合得到拟合曲线的次数的最大值。换言之,在曲线拟合次数未达到拟合次数阈值时,就需要重复执行随机选取M个边缘像素点并基于选取的M个边缘像素点进行曲线拟合得到拟合曲线的步骤,直至曲线拟合次数达到拟合次数阈值(或者拟合曲线的内群像素数量大于或等于数量阈值)。
其中,第二拟合像素点可以为在确定了第一拟合曲线后,下一次从边缘像素点集中随机选取的M个边缘像素点。可以理解的是,确定M个第二拟合像素点所对应的拟合曲线的方式可以参照上述确定M个第一拟合像素点所对应的拟合曲线的相关描述,此处不做赘述。
可以理解的是,该待比对内群像素数量是指M个第二拟合像素点对应的拟合曲线的内群像素数量。该目标内群像素数量为待比对内群像素数量与初始内群像素数量中最大的内群像素数量。
可以理解的是,基于目标内群像素数量所对应的拟合曲线确定目标对象的边缘曲线,可以为将目标内群像素数量所对应的拟合曲线确定为目标对象的边缘曲线,换言之,是将每次拟合得到的拟合曲线中,内群像素数量最大的拟合曲线确定为边缘曲线。
可以理解的是,基于目标内群像素数量所对应的拟合曲线确定目标对象的边缘曲线,可以包括以下步骤:在确定出M个第二拟合像素点对应的拟合曲线时,对曲线拟合次数进行更新;在更新后的曲线拟合次数未达到拟合次数阈值时,通知执行从边缘像素点集包括的N个边缘像素点中随机选取M个边缘像素点的步骤;将所选取的M个边缘像素点确定为M个第三拟合像素点,基于M个第三拟合像素点进行曲线拟合处理,得到M个第三拟合像素点对应的拟合曲线;获取M个第三拟合像素点对应的拟合曲线的内群像素数量,基于M个第三拟合像素点对应的拟合曲线的内群像素数量对待比对内群像素数量进行更新;基于更新后的待比对内群像素数量,对目标内群像素数量进行更新;更新后的目标内群像素数量为更新后的待比对内群像素数量与更新前的目标内群像素数量中最大的内群像素数量。
其中,第三拟合像素点可以为在确定了第二拟合曲线后,下一次从边缘像素点集中随机选取的M个边缘像素点。可以理解的是,确定M个第三拟合像素点所对应的拟合曲线的方式可以参照上述确定M个第一拟合像素点所对应的拟合曲线的相关描述,此处不做赘述。
可以理解的是,基于M个第三拟合像素点对应的拟合曲线的内群像素数量对待比对内群像素数量进行更新,可以为将M个第三拟合像素点对应的拟合曲线的内群像素数量确定为更新后的待比对内群像素数量。基于更新后的待比对内群像素数量,对目标内群像素数量进行更新,可以为将更新后的待比对内群像素数量和更新前的目标内群像素数量中最大的内群像素数量确定为更新后的目标内群像素数量。
可以理解的是,在不断重复执行从边缘像素点集中选取M个边缘像素点,并基于所选取的M个边缘像素点拟合得到拟合曲线的过程中,可以不断对待比对内群像素数量以及目标内群像素数量进行更新。例如,拟合次数阈值为5次,第一次从边缘像素点集中选取M个边缘像素点,并将选取的M个边缘像素点确定为第一拟合像素点,并基于第一拟合像素点拟合得到拟合曲线1,将拟合曲线1所对应的内群像素数量确定为初始内群像素数量,此时的曲线拟合次数为1。在拟合曲线1的内群像数量小于数量阈值,且曲线拟合次数小于拟合次数阈值(即5次)时,可以第二次从边缘像素点集中选取M个边缘像素点,并将选取的M个边缘像素点确定为第二拟合像素点,并基于第二拟合像素点拟合得到拟合曲线2,将拟合曲线2所对应的内群像素数量确定为待比对内群像素数量,此时的曲线拟合次数为2,进而可以将此时的初始像素数量与待比对内群像素数量中最大的内群像素数量确定为目标内群像素数量。进一步的,在拟合曲线2的内群像数量小于数量阈值,且此时的曲线拟合次数小于拟合次数阈值(即5次)时,可以第三次从边缘像素点集中选取M个边缘像素点,并将选取的M个边缘像素点确定为第三拟合像素点,并基于第三拟合像素点拟合得到拟合曲线3,进而可以通过拟合曲线3对应的内群像素数量对待比对内群像素数量进行更新(换言之,将拟合曲线3对应的内群像素数量确定为新的待比对内群像素数量),通过新的待比对内群数量对目标内群像素数量进行更新(换言之,将待比对内群数量与目标内群像素数量中最大的内群像素数量确定为新的目标内群像素数量),此时的曲线拟合次数为3。以此类推,不断重复执行随机选取M个边缘像素点,并基于所选取的M个边缘像素点确定拟合曲线的步骤,对目标内群像素数量进行更新,直至达到拟合结束条件,此时更新后的目标内群像素数量为每次拟合得到的拟合曲线的内群像素数量中最大的内群像素数量。
可以理解的是,不再重复执行从边缘像素点集中选取M个像素点确定拟合曲线的条件(即拟合结束条件),可以为曲线拟合次数达到拟合次数阈值。换言之,重复执行从边缘像素点集中选取M个像素点确定拟合曲线的步骤的条件,可以为曲线拟合次数未达到拟合次数阈值,
具体的,基于目标内群像素数量所对应的拟合曲线确定目标对象的边缘曲线,可以包括以下步骤:在确定出M个第二拟合像素点对应的拟合曲线时,对曲线拟合次数进行更新;在更新后的曲线拟合次数达到拟合次数阈值时,将目标内群像素数量所对应的拟合曲线确定为目标对象的边缘曲线。
其中,对曲线拟合次数进行更新可以为将曲线拟合次数加1。可以理解的是,该目标内群像素数量相当于用于记录在之前所计算得到的多个拟合曲线的内群像素数量中最大的内群像素数量,那么将目标内群像素数量所对应的拟合曲线确定为目标对象的边缘曲线,可以为将每次计算得到的拟合曲线中,内群像素数量最大的拟合曲线确定为边缘曲线。
可选的,拟合结束条件也可以为满足拟合曲线的内群像素数量大于或等于数量阈值,或者曲线拟合次数达到拟合次数阈值中的任一个条件。换言之,在满足拟合曲线的内群像素数量大于或等于数量阈值,或者曲线拟合次数达到拟合次数阈值中的任一个条件时,不再重复执行从边缘像素点集中选取M个像素点确定拟合曲线的步骤,并将当前最大的内群像素数量对应的拟合曲线确定为边缘曲线。可以理解的是,重复执行从边缘像素点集中选取M个像素点确定拟合曲线的步骤的条件,也可以为同时满足曲线拟合次数未达到拟合次数阈值以及拟合曲线的内群像素数量小于数量阈值的条件,此处不做限定。换言之,在曲线拟合次数未达到拟合次数阈值,并且拟合曲线的内群像素数量小于数量阈值时,可以重复执行从边缘像素点集中选取M个像素点确定拟合曲线的步骤;或者,在曲线拟合次数未达到拟合次数阈值时,可以重复执行从边缘像素点集中选取M个像素点确定拟合曲线的步骤。
可选的,本申请实施例也可以在每次执行从边缘像素点集中确定M个边缘像素点并基于所确定的M个边缘像素点拟合得到拟合曲线时,记录所拟合得到的拟合曲线的内群像素数量,进而遍历每个拟合曲线的内群像素数量,确定最大内群像素数量,并将最大内群像素数量对应的拟合曲线确定为边缘曲线。
例如,此处结合图示对确定边缘曲线的过程进行阐述。请参见图12,图12是本申请实施例提供的一种确定边缘曲线的流程示意图。如图12所示,在需要确定边缘曲线时,可以基与目标定位图像中的前景区域,确定目标定位图像中的N个边缘像素点(即步骤S1201);进而从N个边缘像素点中随机选取M个拟合像素点(即步骤S1202),然后基于M个拟合像素点确定拟合曲线,统计拟合曲线的内群像素点数量,并记录曲线拟合次数(即步骤S1203)。进一步的,可以判断内群像素点数量是否大于或等于数量阈值(即步骤S1204),若内群像素点数量大于或等于数量阈值,则可以将最大内群像素数量对应的拟合曲线确定为边缘曲线(即步骤S1206),换言之,将此时内群像素点数量大于或等于数量阈值的拟合曲线确定为边缘曲线。若内群像素点数量小于或数量阈值,则可以判断曲线拟合次数是否达到拟合次数阈值(即步骤S1205)。若曲线拟合次数达到拟合次数阈值,则可以将最大内群像素数量对应的拟合曲线确定为边缘曲线(即步骤S1206)。其中,该最大内群像素数量可以为基于在曲线拟合次数达到拟合次数阈值时的拟合曲线的内群像素点对目标内群像素点进行更新后的目标内群像素点,或者也可以说是,对每次所拟合得到的拟合曲线的内群像素点中最大的内群像素点。若曲线拟合次数未达到拟合次数阈值,则可以重复执行步骤S1202-S1206,直至曲线拟合次数达到拟合次数阈值,或者内群像素点数量大于或等于数量阈值。
请参见图13,图13是本申请实施例提供的一种图像处理装置的结构示意图。如图13所示,图像处理装置1可以是运行于计算机设备的一个计算机程序(包括程序代码),例如该图像处理装置1为一个应用软件;可以理解的是,该图像处理装置1可以用于执行本申请实施例提供的图像处理方法中的相应步骤。如图13所示,该图像处理装置1可以包括:业务数据获取模块11、数据上传模块12;
图像获取模块11,用于获取包含目标对象的业务图像,获取用于辅助定位目标对象的模板图像,从模板图像中确定出对象检测区域;对象检测区域的区域尺寸小于业务图像的区域尺寸;
变换关系确定模块12,用于在业务图像中查找与对象检测区域相匹配的区域,将查找到的区域确定为目标对象的初始定位区域,基于对象检测区域中的像素点的像素位置与初始定位区域中的像素点的像素位置,确定像素位置变换关系;
区域映射模块13,用于在从模板图像中确定出局部参考区域时,基于像素位置变换关系在业务图像中确定局部参考区域所对应的局部映射区域,将局部映射区域作为目标对象的目标定位区域;
曲线拟合模块14,用于在目标定位区域对应的目标定位图像中识别目标对象对应的前景区域,对前景区域中的像素点进行边缘曲线拟合处理,得到目标对象的边缘曲线。
其中,变换关系确定模块12,包括:滑动窗口单元121、相似度计算单元122、区域确定单元123。
滑动窗口单元121,用于基于对象检测区域的区域尺寸,在业务图像中确定用于进行窗口滑动的滑动窗口,在业务图像中将滑动窗口所在窗口位置确定为业务图像中的待匹配区域;待匹配区域的区域尺寸均与对象检测区域的区域尺寸保持一致;
相似度计算单元122,用于通过待匹配区域中的每个像素点的像素值与对象检测区域中的每个像素点的像素值,确定待匹配区域与对象检测区域的区域相似度;
区域确定单元123,用于基于区域相似度,在业务图像中确定与对象检测区域相匹配的区域。
其中,滑动窗口单元121、相似度计算单元122、区域确定单元123的处理过程可以参照上述图3实施例中的相关描述,此处不做赘述。
其中,待匹配区域包括第一滑动窗口区域和第二滑动窗口区域;第一滑动窗口区域为滑动窗口滑动至第一窗口位置所确定的区域;第二滑动窗口区域为滑动窗口滑动至第二窗口位置所确定的区域;第二窗口位置为按照滑动步长所确定的第一窗口位置的下一窗口位置;
相似度计算单元122,包括:第一相似度计算子单元1221和第二相似度计算子单元1222、相似度确定子单元1223;
通过第一滑动窗口区域中的每个像素点的像素值与对象检测区域中的每个像素点的像素值,确定第一滑动窗口区域与对象检测区域的区域相似度,将第一滑动窗口区域与对象检测区域的区域相似度确定为第一区域相似度;
通过第二滑动窗口区域中的每个像素点的像素值与对象检测区域中的每个像素点的像素值,确定第二滑动窗口区域与对象检测区域的区域相似度,将第二滑动窗口区域与对象检测区域的区域相似度确定为第二区域相似度;
基于第一区域相似度和第二区域相似度确定待匹配区域与对象检测区域的区域相似度。
其中,第一相似度计算子单元1221和第二相似度计算子单元1222、相似度确定子单元1223的处理过程可以参照上述图3实施例中的相关描述,此处不做赘述。
其中,区域确定单元123,具体用于:目标相似度确定子单元1231、区域确定子单元1232;
目标相似度确定子单元1231,用于基于第一区域相似度和第二区域相似度确定目标区域相似度,目标区域相似度为第一区域相似度和第二区域相似度中最大的区域相似度;
区域确定子单元1232,用于在业务图像中,基于目标区域相似度所对应的待匹配区域确定与对象检测区域相匹配的区域。
其中,目标相似度确定子单元1231、区域确定子单元1232的处理过程可以参照上述图3实施例中的相关描述,此处不做赘述。
其中,第一滑动窗口区域中包括第i个像素点,对象检测区域中包括第j个像素点;i与j为保持一致的正整数;
第一相似度计算单元1221,具体用于:
将第一滑动窗口区域中的像素点的像素值的平均值,确定为第一像素均值;
将对象检测区域中的像素点的像素值的平均值,确定为第二像素均值;
将第一滑动窗口区域中的第i个像素点的像素值与第一像素均值的差值,确定为第i个像素点对应的第一差值,将对象检测区域中的第j个像素点的像素值与第二像素均值的差值确定为第j个像素点对应的第二差值;
基于第i个像素点对应的第一差值和第j个像素点对应的第二差值确定第一滑动窗口区域与对象检测区域的区域相似度。
其中,变换关系确定模块12,包括:关键像素点确定单元124、关联像素点确定单元125、像素点对确定单元126、像素位置确定单元127、变换矩阵确定单元128;
关键像素点确定单元124,用于从初始定位区域中确定K个关键像素点;K为大于1的正整数;
关联像素点确定单元125,用于在对象检测区域中确定K个关键像素点对应的K个关联像素点;一个关键像素点对应一个关联像素点;
像素点对确定单元126,用于基于K个关键像素点与K个关联像素点,构建K个像素点对;一个像素点对包括一个关键像素点和对应的一个关联像素点;
像素位置确定单元127,用于在目标坐标系下,确定K个关键像素点的像素位置以及K个关联像素点的像素位置;
变换矩阵确定单元128,用于基于K个像素点对中的每个像素点对所包括的关键像素点的像素位置和关联像素点的像素位置,计算得到用于表征像素位置变换关系的像素位置变换矩阵。
其中,关键像素点确定单元124、关联像素点确定单元125、像素点对确定单元126、像素位置确定单元127、变换矩阵确定单元128的处理过程可以参照上述图3实施例中的相关描述,此处不做赘述。
其中,区域映射模块13,包括:参考像素点确定单元131、参考像素位置确定单元132、映射像素位置确定单元133、映射区域确定单元134;
参考像素点确定单元131,用于在局部参考区域中确定P个参考像素点;P为大于1的正整数;
参考像素位置确定单元132,用于在目标坐标系下,确定P个参考像素点的像素位置;
映射像素位置确定单元133,用于基于像素位置变换关系和P个参考像素点的像素位置,在业务图像中确定P个参考像素点对应的P个映射像素点;一个参考像素点对应一个映射像素点;
映射区域确定单元134,用于基于P个映射像素点在业务图像中确定局部参考区域所对应的局部映射区域。
其中,参考像素点确定单元131、参考像素位置确定单元132、映射像素位置确定单元133、映射区域确定单元134的处理过程可以参照上述图3实施例中的相关描述,此处不做赘述。
其中,曲线拟合模块14,包括:网络获取单元141、概率计算单元142、前景确定单元143;
网络获取单元141,用于获取用于进行前景区域识别的目标前景识别网络;
概率计算单元142,用于将目标定位区域对应的目标定位图像输入至目标前景识别网络,由目标前景识别网络对目标定位图像进行前景区域识别处理,得到目标定位图像中的每个像素点的前景概率;
前景确定单元143,用于基于目标定位图像中的每个像素点的前景概率,确定目标对象对应的前景区域。
其中,网络获取单元141、概率计算单元142、前景确定单元143的处理过程可以参照上述图3实施例中的相关描述,此处不做赘述。
其中,曲线拟合模块14,还包括:网络训练单元144;
网络训练单元144,具体用于:
获取样本对象图像;样本对象图像关联有样本对象的样本前景区域标注信息;
获取初始前景识别网络,将样本对象图像输入至初始前景识别网络,由初始前景识别网络对样本对象图像进行前景区域识别处理,得到样本对象图像中的每个像素点的前景概率;
基于样本对象图像中的每个像素点的前景概率与样本前景区域标注信息,对初始前景识别网络进行迭代训练,将迭代训练后的初始前景识别网络确定为目标前景识别网络。
其中,网络训练单元144的处理过程可以参照上述图3实施例中的相关描述,此处不做赘述。
其中,曲线拟合模块14,包括:边缘像素确定单元145、拟合像素确定单元146、拟合曲线确定单元147、边缘曲线确定单元148;
边缘像素确定单元145,用于从前景区域中的像素点中确定出目标对象的边缘像素点集;边缘像素点集中包括N个边缘像素点;N为正整数;
拟合像素确定单元146,用于从边缘像素点集包括的N个边缘像素点中随机选取M个边缘像素点,将所选取的M个边缘像素点确定为M个第一拟合像素点;M为小于N的正整数;
拟合曲线确定单元147,用于基于M个第一拟合像素点进行曲线拟合处理,得到M个第一拟合像素点对应的拟合曲线;
边缘曲线确定单元148,用于基于M个第一拟合像素点对应的拟合曲线确定目标对象的边缘曲线。
其中,边缘像素确定单元145、拟合像素确定单元146、拟合曲线确定单元147、边缘曲线确定单元148的处理过程可以参照上述图12实施例中的相关描述,此处不做赘述。
其中,边缘曲线确定单元148,包括:距离确定单元1481、内群像素点确定单元1482、内群像素数量确定单元1483、数量比对单元1484;
距离确定单元1481,用于将M个第一拟合像素点对应的拟合曲线确定为第一拟合曲线,计算N个边缘像素点中的每个边缘像素点到第一拟合曲线的距离;
内群像素点确定单元1482,用于基于到第一拟合曲线的距离,从N个边缘像素点中确定出第一拟合曲线的内群像素点;内群像素点是指与拟合曲线的距离小于或等于距离阈值的边缘像素点;
内群像素数量确定单元1483,用于统计第一拟合曲线相关联的内群像素点的像素数量,将所统计得到的像素数量确定为第一拟合曲线的内群像素数量;
数量比对单元1484,用于若第一拟合曲线的内群像素数量大于或等于数量阈值,则将第一拟合曲线确定为目标对象的边缘曲线。
其中,距离确定单元1481、内群像素点确定单元1482、内群像素数量确定单元1483、数量比对单元1484的处理过程可以参照上述图12实施例中的相关描述,此处不做赘述。
其中,边缘曲线确定单元148,包括:拟合次数记录单元1485、次数比对单元1486、目标数量确定单元1487、曲线确定单元1488;
拟合次数记录单元1485,用于在确定出M个第一拟合像素点对应的拟合曲线时,记录与边缘曲线关联的曲线拟合次数,将M个第一拟合像素点对应的拟合曲线的内群像素数量,确定为初始内群像素数量;内群像素数量为拟合曲线的内群像素点的像素数量;
次数比对单元1486,用于在曲线拟合次数未达到拟合次数阈值时,通知拟合像素确定单元146执行从边缘像素点集包括的N个边缘像素点中随机选取M个边缘像素点的步骤;
拟合曲线确定单元147,用于将所选取的M个边缘像素点确定为M个第二拟合像素点,基于M个第二拟合像素点进行曲线拟合处理,得到M个第二拟合像素点对应的拟合曲线;
内群像素数量确定单元1483,用于获取M个第二拟合像素点对应的拟合曲线的内群像素数量,将M个第二拟合像素点对应的拟合曲线的内群像素数量确定为待比对内群像素数量;
目标数量确定单元1487,用于基于待比对内群像素数量和初始内群像素数量,确定目标内群像素数量;目标内群像素数量为待比对内群像素数量与初始内群像素数量中最大的内群像素数量;
曲线确定单元1488,用于基于目标内群像素数量所对应的拟合曲线确定目标对象的边缘曲线。
其中,拟合次数记录单元1485、次数比对单元1486、目标数量确定单元1487、曲线确定单元1488的处理过程可以参照上述图12实施例中的相关描述,此处不做赘述。
其中,曲线确定单元1488,具体用于:
在确定出M个第二拟合像素点对应的拟合曲线时,对曲线拟合次数进行更新;
在更新后的曲线拟合次数达到拟合次数阈值时,将目标内群像素数量所对应的拟合曲线确定为目标对象的边缘曲线。
其中,拟合曲线确定单元147,具体用于:
获取待拟合曲线函数,基于M个第一拟合像素点和待拟合曲线函数进行曲线拟合处理,得到M个第一拟合像素点对应的拟合曲线。
其中,边缘曲线包括边缘直线;
其中,图像处理装置1,还包括:检测模块15、管理模块16;
检测模块15,用于在目标定位图像中确定待检测像素点,基于待检测像素点到边缘直线的距离,确定待检测像素点关联的检测值;
管理模块16,用于基于检测值对目标对象进行对象质量管理。
其中,检测模块15、管理模块16的处理过程可以参照上述图3实施例中的相关描述,此处不做赘述。
请参见图14,图14是本申请实施例提供的一种计算机设备的结构示意图。如图14所示,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图14所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图14所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以执行前文任一个所对应实施例中对该图像处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的图像处理装置所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文实施例中对图像处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
上述计算机可读存储介质可以是前述任一实施例提供的图像处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
此外,这里需要指出的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前文任一个所对应实施例提供的方法。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (19)

1.一种图像处理方法,其特征在于,所述方法包括:
获取包含目标对象的业务图像,获取用于辅助定位所述目标对象的模板图像,从所述模板图像中确定出对象检测区域;所述对象检测区域的区域尺寸小于所述业务图像的区域尺寸;
在所述业务图像中查找与所述对象检测区域相匹配的区域,将查找到的区域确定为所述目标对象的初始定位区域,基于所述对象检测区域中的像素点的像素位置与所述初始定位区域中的像素点的像素位置,确定像素位置变换关系;
在从所述模板图像中确定出局部参考区域时,基于所述像素位置变换关系在所述业务图像中确定所述局部参考区域所对应的局部映射区域,将所述局部映射区域作为所述目标对象的目标定位区域;
在所述目标定位区域对应的目标定位图像中识别所述目标对象对应的前景区域,对所述前景区域中的像素点进行边缘曲线拟合处理,得到所述目标对象的边缘曲线。
2.根据权利要求1所述的方法,其特征在于,所述在所述业务图像中查找与所述对象检测区域相匹配的区域,包括:
基于所述对象检测区域的区域尺寸,在所述业务图像中确定用于进行窗口滑动的滑动窗口,在所述业务图像中将所述滑动窗口所在窗口位置确定为所述业务图像中的待匹配区域;所述待匹配区域的区域尺寸均与所述对象检测区域的区域尺寸保持一致;
通过所述待匹配区域中的每个像素点的像素值与所述对象检测区域中的每个像素点的像素值,确定所述待匹配区域与所述对象检测区域的区域相似度;
基于所述区域相似度,在所述业务图像中确定与所述对象检测区域相匹配的区域。
3.根据权利要求2所述的方法,其特征在于,所述待匹配区域包括第一滑动窗口区域和第二滑动窗口区域;所述第一滑动窗口区域为所述滑动窗口滑动至第一窗口位置所确定的区域;所述第二滑动窗口区域为所述滑动窗口滑动至第二窗口位置所确定的区域;所述第二窗口位置为按照滑动步长所确定的所述第一窗口位置的下一窗口位置;
所述通过所述待匹配区域中的每个像素点的像素值与所述对象检测区域中的每个像素点的像素值,确定所述待匹配区域与所述对象检测区域的区域相似度,包括:
通过所述第一滑动窗口区域中的每个像素点的像素值与所述对象检测区域中的每个像素点的像素值,确定所述第一滑动窗口区域与所述对象检测区域的区域相似度,将所述第一滑动窗口区域与所述对象检测区域的区域相似度确定为第一区域相似度;
通过所述第二滑动窗口区域中的每个像素点的像素值与所述对象检测区域中的每个像素点的像素值,确定所述第二滑动窗口区域与所述对象检测区域的区域相似度,将所述第二滑动窗口区域与所述对象检测区域的区域相似度确定为第二区域相似度;
基于所述第一区域相似度和所述第二区域相似度确定所述待匹配区域与所述对象检测区域的区域相似度。
4.根据权利要求3所述的方法,其特征在于,所述基于所述区域相似度,在所述业务图像中确定与所述对象检测区域相匹配的区域,包括:
基于所述第一区域相似度和所述第二区域相似度确定目标区域相似度,所述目标区域相似度为所述第一区域相似度和所述第二区域相似度中最大的区域相似度;
在所述业务图像中,基于所述目标区域相似度所对应的待匹配区域确定与所述对象检测区域相匹配的区域。
5.根据权利要求3所述的方法,其特征在于,所述第一滑动窗口区域中包括第i个像素点,所述对象检测区域中包括第j个像素点;i与j为保持一致的正整数;
所述通过所述第一滑动窗口区域中的每个像素点的像素值与所述对象检测区域中的每个像素点的像素值,确定所述第一滑动窗口区域与所述对象检测区域的区域相似度,包括:
将所述第一滑动窗口区域中的像素点的像素值的平均值,确定为第一像素均值;
将所述对象检测区域中的像素点的像素值的平均值,确定为第二像素均值;
将所述第一滑动窗口区域中的第i个像素点的像素值与所述第一像素均值的差值,确定为所述第i个像素点对应的第一差值,将所述对象检测区域中的第j个像素点的像素值与所述第二像素均值的差值确定为所述第j个像素点对应的第二差值;
基于所述第i个像素点对应的第一差值和所述第j个像素点对应的第二差值确定所述第一滑动窗口区域与所述对象检测区域的区域相似度。
6.根据权利要求1所述的方法,其特征在于,所述基于所述对象检测区域中的像素点的像素位置与所述初始定位区域中的像素点的像素位置,确定像素位置变换关系,包括:
从所述初始定位区域中确定K个关键像素点;K为大于1的正整数;
在所述对象检测区域中确定所述K个关键像素点对应的K个关联像素点;一个关键像素点对应一个关联像素点;
基于所述K个关键像素点与所述K个关联像素点,构建K个像素点对;一个像素点对包括一个关键像素点和对应的一个关联像素点;
在目标坐标系下,确定所述K个关键像素点的像素位置以及所述K个关联像素点的像素位置;
基于所述K个像素点对中的每个像素点对所包括的关键像素点的像素位置和关联像素点的像素位置,计算得到用于表征像素位置变换关系的像素位置变换矩阵。
7.根据权利要求1所述的方法,其特征在于,所述基于所述像素位置变换关系在所述业务图像中确定所述局部参考区域所对应的局部映射区域,将所述局部映射区域作为所述目标对象的目标定位区域,包括:
在所述局部参考区域中确定P个参考像素点;P为大于1的正整数;
在目标坐标系下,确定所述P个参考像素点的像素位置;
基于所述像素位置变换关系和所述P个参考像素点的像素位置,在所述业务图像中确定所述P个参考像素点对应的P个映射像素点;一个参考像素点对应一个映射像素点;
基于所述P个映射像素点在所述业务图像中确定所述局部参考区域所对应的局部映射区域。
8.根据权利要求1所述的方法,其特征在于,所述在所述目标定位区域对应的目标定位图像中识别所述目标对象对应的前景区域,包括:
获取用于进行前景区域识别的目标前景识别网络;
将所述目标定位区域对应的目标定位图像输入至所述目标前景识别网络,由所述目标前景识别网络对所述目标定位图像进行前景区域识别处理,得到所述目标定位图像中的每个像素点的前景概率;
基于所述目标定位图像中的每个像素点的前景概率,确定所述目标对象对应的前景区域。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
获取样本对象图像;所述样本对象图像关联有样本对象的样本前景区域标注信息;
获取初始前景识别网络,将所述样本对象图像输入至所述初始前景识别网络,由所述初始前景识别网络对所述样本对象图像进行前景区域识别处理,得到所述样本对象图像中的每个像素点的前景概率;
基于所述样本对象图像中的每个像素点的前景概率与所述样本前景区域标注信息,对所述初始前景识别网络进行迭代训练,将迭代训练后的初始前景识别网络确定为所述目标前景识别网络。
10.根据权利要求1所述的方法,其特征在于,所述对所述前景区域中的像素点进行边缘曲线拟合处理,得到所述目标对象的边缘曲线,包括:
从所述前景区域中的像素点中确定出所述目标对象的边缘像素点集;所述边缘像素点集中包括N个边缘像素点;N为正整数;
从所述边缘像素点集包括的N个边缘像素点中随机选取M个边缘像素点,将所选取的M个边缘像素点确定为M个第一拟合像素点;M为小于N的正整数;
基于所述M个第一拟合像素点进行曲线拟合处理,得到所述M个第一拟合像素点对应的拟合曲线;
基于所述M个第一拟合像素点对应的拟合曲线确定所述目标对象的边缘曲线。
11.根据权利要求10所述的方法,其特征在于,所述基于所述M个第一拟合像素点对应的拟合曲线确定所述目标对象的边缘曲线,包括:
将所述M个第一拟合像素点对应的拟合曲线确定为第一拟合曲线,计算所述N个边缘像素点中的每个边缘像素点到所述第一拟合曲线的距离;
基于到所述第一拟合曲线的距离,从所述N个边缘像素点中确定出所述第一拟合曲线的内群像素点;所述内群像素点是指与拟合曲线的距离小于或等于距离阈值的边缘像素点;
统计所述第一拟合曲线相关联的内群像素点的像素数量,将所统计得到的像素数量确定为所述第一拟合曲线的内群像素数量;
若所述第一拟合曲线的内群像素数量大于或等于数量阈值,则将所述第一拟合曲线确定为所述目标对象的边缘曲线。
12.根据权利要求10所述的方法,其特征在于,所述基于所述M个第一拟合像素点对应的拟合曲线确定所述目标对象的边缘曲线,包括:
在确定出所述M个第一拟合像素点对应的拟合曲线时,记录与所述边缘曲线关联的曲线拟合次数,将所述M个第一拟合像素点对应的拟合曲线的内群像素数量,确定为初始内群像素数量;所述内群像素数量为拟合曲线的内群像素点的像素数量;
在所述曲线拟合次数未达到拟合次数阈值时,通知执行从所述边缘像素点集包括的N个边缘像素点中随机选取M个边缘像素点的步骤;
将所选取的M个边缘像素点确定为M个第二拟合像素点,基于所述M个第二拟合像素点进行曲线拟合处理,得到所述M个第二拟合像素点对应的拟合曲线;
获取所述M个第二拟合像素点对应的拟合曲线的内群像素数量,将所述M个第二拟合像素点对应的拟合曲线的内群像素数量确定为待比对内群像素数量;
基于所述待比对内群像素数量和所述初始内群像素数量,确定目标内群像素数量;所述目标内群像素数量为所述待比对内群像素数量与所述初始内群像素数量中最大的内群像素数量;
基于所述目标内群像素数量所对应的拟合曲线确定所述目标对象的边缘曲线。
13.根据权利要求12所述的方法,其特征在于,所述基于所述目标内群像素数量所对应的拟合曲线确定所述目标对象的边缘曲线,包括:
在确定出所述M个第二拟合像素点对应的拟合曲线时,对所述曲线拟合次数进行更新;
在更新后的曲线拟合次数达到所述拟合次数阈值时,将所述目标内群像素数量所对应的拟合曲线确定为所述目标对象的边缘曲线。
14.根据权利要求10所述的方法,其特征在于,所述基于所述M个第一拟合像素点进行曲线拟合处理,得到所述M个第一拟合像素点对应的拟合曲线,包括:
获取待拟合曲线函数,基于所述M个第一拟合像素点和所述待拟合曲线函数进行曲线拟合处理,得到所述M个第一拟合像素点对应的拟合曲线。
15.根据权利要求1所述的方法,其特征在于,所述边缘曲线包括边缘直线;
所述方法包括:
在所述目标定位图像中确定待检测像素点,基于所述待检测像素点到所述边缘直线的距离,确定所述待检测像素点关联的检测值;
基于所述检测值对目标对象进行对象质量管理。
16.一种图像处理装置,其特征在于,所述装置包括:
图像获取模块,用于获取包含目标对象的业务图像,获取用于辅助定位所述目标对象的模板图像,从所述模板图像中确定出对象检测区域;所述对象检测区域的区域尺寸小于所述业务图像的区域尺寸;
变换关系确定模块,用于在所述业务图像中查找与所述对象检测区域相匹配的区域,将查找到的区域确定为所述目标对象的初始定位区域,基于所述对象检测区域中的像素点的像素位置与所述初始定位区域中的像素点的像素位置,确定像素位置变换关系;
区域映射模块,用于在从所述模板图像中确定出局部参考区域时,基于所述像素位置变换关系在所述业务图像中确定所述局部参考区域所对应的局部映射区域,将所述局部映射区域作为所述目标对象的目标定位区域;
曲线拟合模块,用于在所述目标定位区域对应的目标定位图像中识别所述目标对象对应的前景区域,对所述前景区域中的像素点进行边缘曲线拟合处理,得到所述目标对象的边缘曲线。
17.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-15任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-15任一项所述的方法。
19.一种计算机程序产品,其特征在于,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1-15任一项所述的方法。
CN202311189472.1A 2023-09-14 2023-09-14 图像处理方法、装置及相关设备 Pending CN117237681A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311189472.1A CN117237681A (zh) 2023-09-14 2023-09-14 图像处理方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311189472.1A CN117237681A (zh) 2023-09-14 2023-09-14 图像处理方法、装置及相关设备

Publications (1)

Publication Number Publication Date
CN117237681A true CN117237681A (zh) 2023-12-15

Family

ID=89085560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311189472.1A Pending CN117237681A (zh) 2023-09-14 2023-09-14 图像处理方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN117237681A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117830305A (zh) * 2024-03-04 2024-04-05 腾讯科技(深圳)有限公司 对象测量方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117830305A (zh) * 2024-03-04 2024-04-05 腾讯科技(深圳)有限公司 对象测量方法、装置、设备及介质
CN117830305B (zh) * 2024-03-04 2024-05-03 腾讯科技(深圳)有限公司 对象测量方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN109508681B (zh) 生成人体关键点检测模型的方法和装置
US10762376B2 (en) Method and apparatus for detecting text
CN108764048B (zh) 人脸关键点检测方法及装置
US11244435B2 (en) Method and apparatus for generating vehicle damage information
CN111199564B (zh) 智能移动终端的室内定位方法、装置与电子设备
CN108280477B (zh) 用于聚类图像的方法和装置
CN109960742B (zh) 局部信息的搜索方法及装置
CN108734185B (zh) 图像校验方法和装置
CN112435338B (zh) 电子地图的兴趣点的位置获取方法、装置及电子设备
CN109640066B (zh) 高精度稠密深度图像的生成方法和装置
Dai et al. Building segmentation and outline extraction from UAV image-derived point clouds by a line growing algorithm
CN115457531A (zh) 用于识别文本的方法和装置
US11651581B2 (en) System and method for correspondence map determination
CN110910445B (zh) 一种物件尺寸检测方法、装置、检测设备及存储介质
CN112819008B (zh) 实例检测网络的优化方法、装置、介质及电子设备
CN109345460B (zh) 用于矫正图像的方法和装置
CN114219855A (zh) 点云法向量的估计方法、装置、计算机设备和存储介质
CN117237681A (zh) 图像处理方法、装置及相关设备
CN114279433A (zh) 地图数据自动化生产方法、相关装置及计算机程序产品
CN112907569A (zh) 头部图像区域的分割方法、装置、电子设备和存储介质
CN113793370A (zh) 三维点云配准方法、装置、电子设备及可读介质
CN113781493A (zh) 图像处理方法、装置、电子设备、介质及计算机程序产品
CN112052730A (zh) 一种3d动态人像识别监控设备及方法
CN110657760B (zh) 基于人工智能的测量空间面积的方法、装置及存储介质
CN113592015B (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