基于图像分析的数据输出方法、装置、介质和计算设备
技术领域
本发明的实施方式涉及图像处理技术领域,更具体地,本发明的实施方式涉及一种基于图像分析的数据输出方法、装置、介质和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着图像处理技术的快速发展,可以通过对图像的分析处理,从图像中得到更多需要的信息。目前,对图像进行分析处理的方式通常是先确定图像分析处理的目的,进而根据该目的对图像进行分析处理,最终将与该目的对应的图像分析处理结果进行输出。
然而,在实践中发现,现有技术通常只会输出最终得到的图像分析处理结果,可见,得到的处理结果通常较为片面,且使用该处理结果的人员无法得知图像中包含的更多内容,从而导致针对图像分析处理的效率较低。
发明内容
在本上下文中,本发明的实施方式期望提供一种基于图像分析的数据输出方法、装置、介质和计算设备。
在本发明实施方式的第一方面中,提供了一种基于图像分析的数据输出方法,包括:
获取待处理图像中的特征点坐标数组;
按照预设方式对所述特征点坐标数组进行分析,得到所述特征点坐标数组对应的待输出数据,其中,至少包含一种数据类型的待输出数据;
通过所述待输出数据的数据类型对应的输出方式输出所述待输出数据。
在本实施方式的一个实施例中,获取待处理图像中的特征点坐标数组,包括:
对待处理图像进行预处理,得到所述待处理图像对应的结果图像;
通过特征提取算法对所述结果图像进行处理,得到所述结果图像对应的特征点坐标数组。
在本实施方式的一个实施例中,所述按照预设方式对所述特征点坐标数组进行分析,得到所述特征点坐标数组对应的待输出数据,包括:
按照预设方式对所述结果图像进行分割,得到所述结果图像对应的多个子矩阵;
从所述特征点坐标数组中获取各个所述子矩阵对应的特征点坐标子数组;
对多个所述特征点坐标子数组进行计算,得到各个所述子矩阵对应的特征点中心点,并将各个所述特征点中心点***与其对应的子矩阵特征点数组队列;
分别对各个所述子矩阵特征点数组队列进行拟合,得到各个所述子矩阵特征点数组队列的拟合数据;
将所述特征点坐标数组、多个所述特征点坐标子数组、多个所述特征点中心点以及多个所述拟合数据确定为所述特征点坐标数组对应的待输出数据,其中,所述特征点坐标数组为特征点数组类型的待输出数据,所述特征点坐标子数组为特征点子数组类型的待输出数据,所述特征点中心点为中心点类型的待输出数据,所述拟合数据为拟合类型的待输出数据。
在本实施方式的一个实施例中,所述按照预设方式对所述结果图像进行分割,得到所述结果图像对应的多个子矩阵,包括:
将所述结果图像转换为张量矩阵,并获取所述张量矩阵的矩阵宽和矩阵高;
基于所述矩阵宽、所述矩阵高以及预设方式将所述张量矩阵进行分割,得到所述张量矩阵对应的多个子矩阵。
在本实施方式的一个实施例中,所述分别对各个所述子矩阵特征点数组队列进行拟合,得到各个所述子矩阵特征点数组队列的拟合数据,包括:
通过二阶拟合方程分别对各个所述子矩阵特征点数组队列进行拟合,得到各个所述子矩阵特征点数组队列的拟合方程;
将各个所述拟合方程***与其对应的拟合队列,所述拟合队列与所述子矩阵特征点数组队列一一对应;
从所述子矩阵特征点数组队列中获取特征点均值向量,并且从所述拟合队列中获取拟合向量,以及根据所述特征点均值向量和所述拟合向量计算得到均值向量L2范数和拟合向量L2范数;
将多个所述拟合方程、所述均值向量L2范数以及所述拟合向量L2范数确定为拟合数据。
在本实施方式的一个实施例中,从所述子矩阵特征点数组队列中获取特征点均值向量,并且从所述拟合队列中获取拟合向量,以及根据所述特征点均值向量和所述拟合向量计算得到均值向量L2范数和拟合向量L2范数,包括:
从所述子矩阵特征点数组队列中获取特征点均值向量,并将所述特征点均值向量存储至第一临时向量;
从所述拟合队列中获取拟合向量,并将所述拟合向量存储至第二临时向量;
根据预设范数计算公式对所述第一临时向量和所述第二临时向量进行计算,得到均值向量L2范数和拟合向量L2范数。
在本发明实施方式的第二方面中,提供了一种基于图像分析的数据输出装置,包括:
获取单元,用于获取待处理图像中的特征点坐标数组;
分析单元,用于按照预设方式对所述特征点坐标数组进行分析,得到所述特征点坐标数组对应的待输出数据,其中,至少包含一种数据类型的待输出数据;
输出单元,用于通过所述待输出数据的数据类型对应的输出方式输出所述待输出数据。
在本实施方式的一个实施例中,所述获取单元包括:
处理子单元,用于对待处理图像进行预处理,得到所述待处理图像对应的结果图像;
所述处理子单元,还用于通过特征提取算法对所述结果图像进行处理,得到所述结果图像对应的特征点坐标数组。
在本实施方式的一个实施例中,所述分析单元包括:
分割子单元,用于按照预设方式对所述结果图像进行分割,得到所述结果图像对应的多个子矩阵;
获取子单元,用于从所述特征点坐标数组中获取各个所述子矩阵对应的特征点坐标子数组;
计算子单元,用于对多个所述特征点坐标子数组进行计算,得到各个所述子矩阵对应的特征点中心点,并将各个所述特征点中心点***与其对应的子矩阵特征点数组队列;
拟合子单元,用于分别对各个所述子矩阵特征点数组队列进行拟合,得到各个所述子矩阵特征点数组队列的拟合数据;
确定子单元,用于将所述特征点坐标数组、多个所述特征点坐标子数组、多个所述特征点中心点以及多个所述拟合数据确定为所述特征点坐标数组对应的待输出数据,其中,所述特征点坐标数组为特征点数组类型的待输出数据,所述特征点坐标子数组为特征点子数组类型的待输出数据,所述特征点中心点为中心点类型的待输出数据,所述拟合数据为拟合类型的待输出数据。
在本实施方式的一个实施例中,所述分割子单元包括:
转换模块,用于将所述结果图像转换为张量矩阵,并获取所述张量矩阵的矩阵宽和矩阵高;
分割模块,用于基于所述矩阵宽、所述矩阵高以及预设方式将所述张量矩阵进行分割,得到所述张量矩阵对应的多个子矩阵。
在本实施方式的一个实施例中,所述拟合子单元包括:
拟合模块,用于通过二阶拟合方程分别对各个所述子矩阵特征点数组队列进行拟合,得到各个所述子矩阵特征点数组队列的拟合方程;
***模块,用于将各个所述拟合方程***与其对应的拟合队列,所述拟合队列与所述子矩阵特征点数组队列一一对应;
获取模块,用于从所述子矩阵特征点数组队列中获取特征点均值向量,并且从所述拟合队列中获取拟合向量,以及根据所述特征点均值向量和所述拟合向量计算得到均值向量L2范数和拟合向量L2范数;
确定模块,用于将多个所述拟合方程、所述均值向量L2范数以及所述拟合向量L2范数确定为拟合数据。
在本实施方式的一个实施例中,所述获取模块包括:
存储子模块,用于从所述子矩阵特征点数组队列中获取特征点均值向量,并将所述特征点均值向量存储至第一临时向量;
所述存储子模块,还用于从所述拟合队列中获取拟合向量,并将所述拟合向量存储至第二临时向量;
计算子模块,用于根据预设范数计算公式对所述第一临时向量和所述第二临时向量进行计算,得到均值向量L2范数和拟合向量L2范数。
在本发明实施方式的第三方面中,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序在被处理器执行时能够实现第一方面中任一项所述的方法。
在本发明实施方式的第四方面中,提供了一种计算设备,包括如上所述的存储介质。
根据本发明实施方式的基于图像分析的数据输出方法、装置、介质和计算设备,能够从待处理图像中确定待处理图像的特征点坐标数组,进而对待处理坐标数组进行分析,以得到多种不同数据类型的待输出数据,以及通过不同的方式输出不同数据类型的待输出数据,可以对不同数据类型的待输出数据进行明显的区分,以使需要获取不同数据的人员可以更加清晰直观的获取到图像中包含的内容,进而提升针对图像分析处理的效率。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1为本发明一实施例提供的基于图像分析的数据输出方法的流程示意图;
图2为本发明另一实施例提供的基于图像分析的数据输出方法的流程示意图;
图3为本发明一实施例提供的基于图像分析的数据输出方法的结构示意图;
图4示意性地示出了本发明实施例的一种介质的结构示意图;
图5示意性地示出了本发明实施例的一种计算设备的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种***、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种基于图像分析的数据输出方法、装置、介质和计算设备。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
示例性方法
下面参考图1,图1为本发明一实施例提供的基于图像分析的数据输出方法的流程示意图。需要注意的是,本发明的实施方式可以应用于适用的任何场景。
图1所示的本发明一实施例提供的基于图像分析的数据输出方法的流程100,包括:
步骤S110,获取待处理图像中的特征点坐标数组;
步骤S120,按照预设方式对所述特征点坐标数组进行分析,得到所述特征点坐标数组对应的待输出数据,其中,至少包含一种数据类型的待输出数据;
步骤S130,通过所述待输出数据的数据类型对应的输出方式输出所述待输出数据。
本申请中提出的基于图像分析的数据输出方法所针对的是基于图像识别技术对图像采集设备的使用场景中,对图像采集设备采集到的图像在计算过程中生成的多种数据类型的待输出数据,并将多种数据类型的待输出数据以不同的方式进行输出。其中,图像采集设备可以搭载在监控设备、机器人、汽车、无人机、潜水器等终端设备上。
本发明的上述技术能够通过不同的方式输出不同数据类型的待输出数据,可以对不同数据类型的待输出数据进行明显的区分,以使需要获取不同数据的人员可以更加清晰直观的获取到图像中包含的内容,进而提升针对图像分析处理的效率。
下面结合附图说明如何对不同数据类型的待输出数据进行明显的区分,以使需要获取不同数据的人员可以更加清晰直观的获取到图像中包含的内容,进而提升针对图像分析处理的效率:
首先,待处理图像可以为相同的图像采集设备采集的图像,图像采集设备可以为摄像机、探头或内窥镜等,对此,本发明实施例不做限定。
另外,可以对待处理图像进行特征点提取,得到待处理图像的特征点坐标数组,可以基于待处理图像设置坐标系,在提取出待处理图像的特征点时,基于该坐标系确定该特征点对应的特征点坐标,通常情况下,待处理图像中可以提取出一个或多个特征点,当待处理图像中存在多个特征点时,可以从坐标系中确定每一个特征点对应的特征点坐标,并且,可以将待处理图像中提取出的所有特征点对应的特征点坐标添加至特征点坐标数组,即一张待处理图像可以对应一个特征点坐标数组,一个特征点坐标数组中可以包含一个或多个特征点坐标。
本发明实施例中,对特征点坐标数组进行分析的预设方式可以为任意算法,可以根据想要得到的不同结果对特征点坐标数组使用不同的预设方式进行分析,并且在对特征点坐标数组进行分析的过程中可能会产生多种数据类型的中间数据,进而可以将针对特征点坐标数组进行分析得到的结果以及产生的中间数据均确定为待输出数据,以及,可以将不同分析阶段生成的待输出数据确定为不同的数据类型,且一种数据类型可以对应一个或多个待输出数据。
此外,不同的数据类型可以对应不同的输出方式,且不同的数据类型的不同的输出方式可以为预先设置的输出方式,即可以在对特征点坐标数组进行分析之前就对将要生成的数据类型进行预测,并且可以预先设置每一种数据类型对应的输出方式,且每一种数据类型对应的输出方式均不相同。
更进一步,可以只输出一种数据类型对应的待输出数据,也可以输出多种数据类型对应的待输出数据,还可以输出所有数据类型对应的待输出数据,对此,本发明实施例不做限定。此外,输出的待输出数据的数据类型可以通过接收到的输出指令来确定,输出指令中可以包含需要输出的一种或多种数据类型,输出指令可以为需要获取待输出数据的用户输入。
举例来说,待输出数据中可以包含三种数据类型,如数据类型a、数据类型b以及数据类型c,可以将待输出数据输出至预先设置的坐标系中,数据类型a对应的输出方式可以为圆形的标记,数据类型b对应的输出方式可以为矩形的标记,数据类型c对应的输出方式可以为三角形的标记,因此,可以在预先设置的坐标系中以圆形的标记输出数据类型a对应的待输出数据,也可以在预先设置的坐标系中以矩形的标记输出数据类型b对应的待输出数据,还可以在预先设置的坐标系中以三角形的标记输出数据类型c对应的待输出数据,从而非常直观地在坐标系中输出的三种不同数据类型对应的待输出数据。
可选的,不同数据类型的待输出数据的输出方式还可以为通过不同颜色输出待输出数据,例如,待输出数据中包含的三种数据类型:数据类型a、数据类型b以及数据类型c,其中,可以以第一种颜色输出数据类型a对应的待输出数据,也可以以第二种颜色输出数据类型b对应的待输出数据,还可以以第三种颜色输出数据类型c对应的待输出数据,且第一种颜色、第二种颜色以及第三种颜色均可以为任意颜色(如红色、黄色或者绿色),且第一种颜色、第二种颜色以及第三种颜色中任意两种颜色均不相同,以使输出的三种数据类型分别对应的待输出数据更加直观。
此外,如果待输出数据中存在向量类型的数据,向量类型的待输出数据的输出方式还可以通过能够指示方向的标志(如箭头等)来表示待输出数据,另外,待输出数据的输出方式还可以基于不同的形状、不同的颜色和/或能够指示方向的标志同时确定,从而提高了输出方式的多样性。例如,不同的数据类型对应的输出方式可以为颜色相同但形状不同的标志,也可以为颜色不同但形状相同的标志,还可以为颜色不同同时形状也不同的标志,对此,本发明实施例不做限定。
请参阅图2,图2为本发明另一实施例提供的基于图像分析的数据输出方法的流程示意图,图2所示的本发明另一实施例提供的基于图像分析的数据输出方法的流程200包括:
步骤S210,对待处理图像进行预处理,得到所述待处理图像对应的结果图像;
步骤S220,通过特征提取算法对所述结果图像进行处理,得到所述结果图像对应的特征点坐标数组;
实施上述的步骤S210~步骤S220,可以对待处理图像进行预处理,进而得到待处理图像对应的特征点坐标数组,简化了对待处理图像的数据处理方式。
其中,对待处理图像进行预处理的方式具体可以为:可以基于预设卷积核对待处理图像进行卷积操作,得到待处理图像对应的结果图像,预设卷积核可以以二阶微分卷积核为依据来确定,预设卷积核可以参考拉普拉斯的二阶微分卷积核[[1, 1, 1], [1, -8,1], [1, 1, 1]]来设置,例如,预设卷积核可以为[[1, 1, 1], [1, -9, 1], [1, 1, 1]]或者[[1, 1, 1], [1, -10, 1], [1, 1, 1]],操作人员可以通过对不同参数进行测试,选择卷积效果最好的参数,并根据该参数确定预设卷积核。
此外,特征提取算法可以为快速特征点提取和描述(Oriented FAST and RotatedBRIEF,ORB)算法,ORB算法可以用来对结果图像进行计算,并得到结果图像的特征点坐标数组。例如,基于预设的坐标系,可以确定结果图像的特征点在结果图像中的坐标Kp=(高,宽),进而可以确定由结果图像中包含的多个特征点坐标生成的特征点坐标数组Kps=[Kp1,Kp2,…,Kpn]。
更进一步,特征提取算法还可以为尺度不变特征变换(Scale-Invariant FeatureTransform,SIFT)算法、加速稳健特征(Speeded Up Robust Features,SURF)算法、Harris角点提取算法以及特征点检测(Features from Accelerated Segment Test,FAST)算法等,对此,本申请实施例不做限定。
步骤S230,按照预设方式对所述结果图像进行分割,得到所述结果图像对应的多个子矩阵;
步骤S240,从所述特征点坐标数组中获取各个所述子矩阵对应的特征点坐标子数组;
步骤S250,对多个所述特征点坐标子数组进行计算,得到各个所述子矩阵对应的特征点中心点,并将各个所述特征点中心点***与其对应的子矩阵特征点数组队列;
步骤S260,分别对各个所述子矩阵特征点数组队列进行拟合,得到各个所述子矩阵特征点数组队列的拟合数据;
步骤S270,将所述特征点坐标数组、多个所述特征点坐标子数组、多个所述特征点中心点以及多个所述拟合数据确定为所述特征点坐标数组对应的待输出数据,其中,所述特征点坐标数组为特征点数组类型的待输出数据,所述特征点坐标子数组为特征点子数组类型的待输出数据,所述特征点中心点为中心点类型的待输出数据,所述拟合数据为拟合类型的待输出数据。
实施上述的步骤S230~步骤S270,可以对图像进行分割,进而可以基于分割后的图像对应的多个子矩阵和特征点坐标数组计算得到多种数据类型的待输出数据,提升了待输出数据的多样性。
作为一种可选的实施方式,步骤S230,按照预设方式对所述结果图像进行分割,得到所述结果图像对应的多个子矩阵的方式具体可以包括以下步骤:
将所述结果图像转换为张量矩阵,并获取所述张量矩阵的矩阵宽和矩阵高;
基于所述矩阵宽、所述矩阵高以及预设方式将所述张量矩阵进行分割,得到所述张量矩阵对应的多个子矩阵。
其中,实施这种实施方式,可以将结果图像先转换为张量矩阵,进而获取到张量矩阵的矩阵宽和矩阵高,之后基于矩阵宽和矩阵高对张量矩阵进行分割,由于同一个终端设备采集到的图像对应的张量图像的宽和高可以是相同的,因此,基于张量矩阵的矩阵宽和矩阵高对每张图像分割得到的多个子矩阵的格式可以是相同的,从而保证了不同图像对应的多个子矩阵的一致性。
其中,将结果图像转换为的张量矩阵可以为M’,由于将要进行分析地待处理图像可以为相同的图像采集设备采集到的,因此每一待处理图像的尺寸大小可以为相同的,即可以认为每一待处理图像对应的张量矩阵的矩阵宽和矩阵高也都相同。因此,可以从张量矩阵中获取矩阵宽w和矩阵高h。
更进一步,基于矩阵宽、矩阵高以及预设方式将张量矩阵进行分割,得到张量矩阵对应的多个子矩阵的方式具体可以为:
基于矩阵宽w和矩阵高h可以按照预设方式计算得到两条直线line1和line2,计算line1和line2的预设方式可以为:line1=((0,w/2),(h,w/2))和line2=((h/2,0),(h/2,w)),进而可以将待处理图像对应的张量矩阵分割为四个子矩阵:
其中,A1为张量矩阵的左上角部分,即待处理图像的左上角部分;A2为张量矩阵的右上角部分,即待处理图像的右上角部分;A3为张量矩阵的左下角部分,即待处理图像的左下角部分;A4为张量矩阵的右下角部分,即待处理图像的右下角部分;之后,可以从待处理图像对应的特征点坐标数组Kps中获取到四个区域分别对应的特征点坐标子数组,A1对应的特征点坐标子数组可以为A1Kps,A2对应的特征点坐标子数组可以为A2Kps,A3对应的特征点坐标子数组可以为A3Kps,A4对应的特征点坐标子数组可以为A4Kps。此外,还可以将待处理图像的不同区域的特征点坐标子数组***对应的队列中进行存储,例如,可以将待处理图像的A1Kps***队列Q1,以及将A2Kps***队列Q2,以及将A3Kps***队列Q3,以及将A4Kps***队列Q4,其中,***方式可以为先入先出(First In First Out,FIFO)的方式。
此外,还需要计算各个子矩阵区域对应的特征点中心点,由于每个子区域的特征点数量很多,所以需要分别计算各个子矩阵的特征点之间的特征点中心点,预设中心点计算公式可以为:
其中,当n=1时,计算得到的P1Avg就可以定义为是子矩阵A1的特征点坐标子数组A1Kps的特征点中心点;当n=2时,计算得到的P2Avg就可以定义为是子矩阵A2的特征点坐标子数组A2Kps的特征点中心点;当n=3时,计算得到的P3Avg就可以定义为是子矩阵A3的特征点坐标子数组A3Kps的特征点中心点;当n=4时,计算得到的P4Avg就可以定义为是子矩阵A4的特征点坐标子数组A4Kps的特征点中心点。
更进一步,可以将待处理图像的子矩阵A1的特征点中心点***与A1对应的子矩阵特征点数组队列QAvg1=[P1Avg1,P2Avg2,…,PnAvgn],重复上述的步骤,可以得到与A2对应的子矩阵特征点数组队列QAvg2,以及得到与A3对应的子矩阵特征点数组队列QAvg3,以及得到与A4对应的子矩阵特征点数组队列QAvg4。
作为一种可选的实施方式,步骤S260,分别对各个所述子矩阵特征点数组队列进行拟合,得到各个所述子矩阵特征点数组队列的拟合数据的方式具体可以包括以下步骤:
通过二阶拟合方程分别对各个所述子矩阵特征点数组队列进行拟合,得到各个所述子矩阵特征点数组队列的拟合方程;
将各个所述拟合方程***与其对应的拟合队列,所述拟合队列与所述子矩阵特征点数组队列一一对应;
从所述子矩阵特征点数组队列中获取特征点均值向量,并且从所述拟合队列中获取拟合向量,以及根据所述特征点均值向量和所述拟合向量计算得到均值向量L2范数和拟合向量L2范数;
将多个所述拟合方程、所述均值向量L2范数以及所述拟合向量L2范数确定为拟合数据。
其中,实施这种实施方式,可以通过二阶拟合方程对子矩阵特征点数组队列进行拟合,进而得到拟合方程、均值向量L2范数以及拟合向量L2范数等数据,并将拟合方程、均值向量L2范数以及拟合向量L2范数确定为拟合数据,以使提升拟合数据的多样性。
其中,由于特征点中心点在待处理图像中的分布不均匀,以使观测到的特征点中心点的移动方向混乱,因此,可以采用二阶拟合方程(如基于最小二乘的2阶线性拟合方程)分别对子矩阵特征点数组队列QAvg1、QAvg2、QAvg3以及QAvg4进行拟合,得到拟合结果,从而实现离散的特征点中心点的线性回归,且得到的拟合结果可以为直线方程,进而可以将拟合结果一一对应地***不同的拟合队列QFAvg1、QFAvg2、QFAvg3和QFAvg4。
更进一步,从所述子矩阵特征点数组队列中获取特征点均值向量,并且从所述拟合队列中获取拟合向量,以及根据所述特征点均值向量和所述拟合向量计算得到均值向量L2范数和拟合向量L2范数的方式具体可以包括以下步骤:
从所述子矩阵特征点数组队列中获取特征点均值向量,并将所述特征点均值向量存储至第一临时向量;
从所述拟合队列中获取拟合向量,并将所述拟合向量存储至第二临时向量;
根据预设范数计算公式对所述第一临时向量和所述第二临时向量进行计算,得到均值向量L2范数和拟合向量L2范数。
其中,实施这种实施方式,可以通过范数计算公式对从子矩阵特点队列中获取的第一临时向量以及从拟合队列中获取的第二临时向量进行计算,得到均值向量L2范数和拟合向量L2范数,提高了均值向量L2范数和拟合向量L2范数计算的准确性。
其中,可以从多个子矩阵特征点数组队列QAvg1、QAvg2、QAvg3以及QAvg4中获取特征点均值向量,并将特征点均值向量存储至第一临时向量Arr1、Arr2、Arr3以及Arr4,且子矩阵特征点数组队列与第一临时向量一一对应。此外,还可以从拟合队列QFAvg1、QFAvg2、QFAvg3和QFAvg4中获取拟合向量,并将拟合向量存储至第二临时向量ArrF1、ArrF2、ArrF3以及ArrF4,且拟合队列与第二临时向量一一对应。
更进一步,基于特征点均值向量和拟合向量计算得到均值向量L2范数和拟合向量L2范数的公式可以为(以子矩阵特征点数组队列QAvg1举例):
其中,由于计算的是L2范数距离,所以p=2;由于计算的是均值特征点起始坐标的距离,则n=2。根据上述公式可以计算得到均值向量L2范数L1、L2、L3以及L4,还可以得到拟合向量L2范数LF1、LF2、LF3以及LF4。
更进一步,可以将特征点坐标数组、多个特征点坐标子数组Kps、多个特征点中心点(P1Avg、P2Avg、P3Avg以及P4Avg)以及多个拟合数据(拟合方程、均值向量L2范数L1、L2、L3以及L4、拟合向量L2范数LF1、LF2、LF3以及LF4)确定为特征点坐标数组对应的待输出数据,其中,特征点坐标数组可以为特征点数组类型的待输出数据,特征点坐标子数组可以为特征点子数组类型的待输出数据,特征点中心点可以为中心点类型的待输出数据,拟合数据可以为拟合类型的待输出数据。
步骤S280,通过所述待输出数据的数据类型对应的输出方式输出所述待输出数据。
本发明的上述技术能够对不同数据类型的待输出数据进行明显的区分,以使需要获取不同数据的人员可以更加清晰直观的获取到图像中包含的内容,进而提升针对图像分析处理的效率;还可以简化了对待处理图像的数据处理方式;还可以提升待输出数据的多样性;还可以保证不同图像对应的多个子矩阵的一致性;还可以提升拟合数据的多样性;还可以提高均值向量L2范数和拟合向量L2范数计算的准确性。
示例性装置
在介绍了本发明示例性实施方式的方法之后,接下来,参考图3对本发明示例性实施方式的一种基于图像分析的数据输出装置进行说明,该装置包括:
获取单元310,用于获取待处理图像中的特征点坐标数组;
分析单元320,用于按照预设方式对所述特征点坐标数组进行分析,得到所述特征点坐标数组对应的待输出数据,其中,至少包含一种数据类型的待输出数据;
输出单元330,用于通过所述待输出数据的数据类型对应的输出方式输出所述待输出数据。
本发明的上述技术能够通过不同的方式输出不同数据类型的待输出数据,可以对不同数据类型的待输出数据进行明显的区分,以使需要获取不同数据的人员可以更加清晰直观的获取到图像中包含的内容,进而提升针对图像分析处理的效率。
作为一种可选的实施方式,该装置的获取单元310可以包括:
处理子单元,用于对待处理图像进行预处理,得到所述待处理图像对应的结果图像;
所述处理子单元,还用于通过特征提取算法对所述结果图像进行处理,得到所述结果图像对应的特征点坐标数组。
其中,实施这种实施方式,可以对待处理图像进行预处理,进而得到待处理图像对应的特征点坐标数组,简化了对待处理图像的数据处理方式。
作为一种可选的实施方式,该装置的分析单元320可以包括:
分割子单元,用于按照预设方式对所述结果图像进行分割,得到所述结果图像对应的多个子矩阵;
获取子单元,用于从所述特征点坐标数组中获取各个所述子矩阵对应的特征点坐标子数组;
计算子单元,用于对多个所述特征点坐标子数组进行计算,得到各个所述子矩阵对应的特征点中心点,并将各个所述特征点中心点***与其对应的子矩阵特征点数组队列;
拟合子单元,用于分别对各个所述子矩阵特征点数组队列进行拟合,得到各个所述子矩阵特征点数组队列的拟合数据;
确定子单元,用于将所述特征点坐标数组、多个所述特征点坐标子数组、多个所述特征点中心点以及多个所述拟合数据确定为所述特征点坐标数组对应的待输出数据,其中,所述特征点坐标数组为特征点数组类型的待输出数据,所述特征点坐标子数组为特征点子数组类型的待输出数据,所述特征点中心点为中心点类型的待输出数据,所述拟合数据为拟合类型的待输出数据。
其中,实施这种实施方式,可以对图像进行分割,进而可以基于分割后的图像对应的多个子矩阵和特征点坐标数组计算得到多种数据类型的待输出数据,提升了待输出数据的多样性。
作为一种可选的实施方式,该装置的分割子单元可以包括:
转换模块,用于将所述结果图像转换为张量矩阵,并获取所述张量矩阵的矩阵宽和矩阵高;
分割模块,用于基于所述矩阵宽、所述矩阵高以及预设方式将所述张量矩阵进行分割,得到所述张量矩阵对应的多个子矩阵。
其中,实施这种实施方式,可以将结果图像先转换为张量矩阵,进而获取到张量矩阵的矩阵宽和矩阵高,之后基于矩阵宽和矩阵高对张量矩阵进行分割,由于同一个终端设备采集到的图像对应的张量图像的宽和高可以是相同的,因此,基于张量矩阵的矩阵宽和矩阵高对每张图像分割得到的多个子矩阵的格式可以是相同的,从而保证了不同图像对应的多个子矩阵的一致性。
作为一种可选的实施方式,该装置的拟合子单元可以包括:
拟合模块,用于通过二阶拟合方程分别对各个所述子矩阵特征点数组队列进行拟合,得到各个所述子矩阵特征点数组队列的拟合方程;
***模块,用于将各个所述拟合方程***与其对应的拟合队列,所述拟合队列与所述子矩阵特征点数组队列一一对应;
获取模块,用于从所述子矩阵特征点数组队列中获取特征点均值向量,并且从所述拟合队列中获取拟合向量,以及根据所述特征点均值向量和所述拟合向量计算得到均值向量L2范数和拟合向量L2范数;
确定模块,用于将多个所述拟合方程、所述均值向量L2范数以及所述拟合向量L2范数确定为拟合数据。
其中,实施这种实施方式,可以通过二阶拟合方程对子矩阵特征点数组队列进行拟合,进而得到拟合方程、均值向量L2范数以及拟合向量L2范数等数据,并将拟合方程、均值向量L2范数以及拟合向量L2范数确定为拟合数据,以使提升拟合数据的多样性。
作为一种可选的实施方式,该装置的获取模块可以包括:
存储子模块,用于从所述子矩阵特征点数组队列中获取特征点均值向量,并将所述特征点均值向量存储至第一临时向量;
所述存储子模块,还用于从所述拟合队列中获取拟合向量,并将所述拟合向量存储至第二临时向量;
计算子模块,用于根据预设范数计算公式对所述第一临时向量和所述第二临时向量进行计算,得到均值向量L2范数和拟合向量L2范数。
其中,实施这种实施方式,可以通过范数计算公式对从子矩阵特点队列中获取的第一临时向量以及从拟合队列中获取的第二临时向量进行计算,得到均值向量L2范数和拟合向量L2范数,提高了均值向量L2范数和拟合向量L2范数计算的准确性。
示例性介质
在介绍了本发明示例性实施方式的方法和装置之后,接下来,参考图4对本发明示例性实施方式的计算机可读存储介质进行说明,请参考图4,其示出的计算机可读存储介质为光盘40,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会实现上述方法实施方式中所记载的各步骤,例如,获取待处理图像中的特征点坐标数组;按照预设方式对所述特征点坐标数组进行分析,得到所述特征点坐标数组对应的待输出数据,其中,至少包含一种数据类型的待输出数据;通过所述待输出数据的数据类型对应的输出方式输出所述待输出数据;各步骤的具体实现方式在此不再重复说明。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,参考图5对本发明示例性实施方式的用于基于图像分析的数据输出的计算设备。
图5示出了适于用来实现本发明实施方式的示例性计算设备50的框图,该计算设备50可以是计算机***或服务器。图5显示的计算设备50仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算设备50的组件可以包括但不限于:一个或者多个处理器或者处理单元501,***存储器502,连接不同***组件(包括***存储器502和处理单元501)的总线503。
计算设备50典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算设备50访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器502可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)5021和/或高速缓存存储器5022。计算设备50可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,ROM5023可以用于读写不可移动的、非易失性磁介质(图5中未显示,通常称为“硬盘驱动器”)。尽管未在图5中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线503相连。***存储器502中可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块5024的程序/实用工具5025,可以存储在例如***存储器502中,且这样的程序模块5024包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块5024通常执行本发明所描述的实施例中的功能和/或方法。
计算设备50也可以与一个或多个外部设备504(如键盘、指向设备、显示器等)通信。这种通信可以通过输入/输出(I/O)接口605进行。并且,计算设备50还可以通过网络适配器506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图5所示,网络适配器506通过总线503与计算设备50的其它模块(如处理单元501等)通信。应当明白,尽管图5中未示出,可以结合计算设备50使用其它硬件和/或软件模块。
处理单元501通过运行存储在***存储器502中的程序,从而执行各种功能应用以及数据处理,例如,获取待处理图像中的特征点坐标数组;按照预设方式对所述特征点坐标数组进行分析,得到所述特征点坐标数组对应的待输出数据,其中,至少包含一种数据类型的待输出数据;通过所述待输出数据的数据类型对应的输出方式输出所述待输出数据。各步骤的具体实现方式在此不再重复说明。应当注意,尽管在上文详细描述中提及了基于图像分析的数据输出装置的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。