一种基于软件的确保相机图片对齐的方法转让专利

申请号 : CN202110634044.X

文献号 : CN113096128B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 史艺恒张宇阳

申请人 : 上海启迪睿视智能科技有限公司

摘要 :

本发明公开了一种基于软件的确保相机图片对齐的方法,包括如下步骤:S1,地形特征线提取,获取各相机内部的硬件时间戳,记录下对应的各感应器之间的时间差;步骤2、获取图像数据、检测图像数据合法性;步骤3、抛弃异常数据,同步图像数据;图像数据的合法性要求为同时满足下列要求:(1)相机图像的时间戳满足顺序触发,time(n)<time(n+k);(2)触发延迟满足触发时间偏差,∣time(n+k)‑time(n)‑S(n+k,n)∣≤Δ(n+k,n)。本发明解决了多相机分次采集图像易发生图像与产品对应关系错误和因此导致的系统持续性错误的问题,实现了异常自动处理并在处理后自动恢复系统的正常运行。

权利要求 :

1.一种基于软件的确保相机图片对齐的方法,其中采集相机图片的相机有若干个,用于启动所述相机的感应器有若干个,其特征在于:包括下列步骤:步骤1、获取各相机内部的硬件时间戳,记录下对应的各感应器之间的时间差;

步骤2、获取图像数据、检测图像数据合法性;

步骤3、抛弃异常数据,同步图像数据;

图像数据的合法性要求为同时满足下列要求:(1)相机图像的时间戳满足顺序触发,time(n)<time(n+k);

(2) 触发延迟满足触发时间偏差,∣time(n+k)‑time(n)‑S(n+k,n)∣≤Δ(n+k,n);

其中,k>0, camera(n)为先触发相机,camera(n+k)为后触发相机,time(n+k)为触发时间戳,S(n+k,n)是两个相机的标准触发延迟,Δ(n+k,n)是两个相机触发时间的最大偏差,所有不满足要求的图像数据都是异常数据,所述步骤2在检测合法性时将图像数据归入合法时序的产品实例或新创建的产品实例,合法时序的产品实例中包含的图像数据与检测合法性中的图像数据之间关系满足上述合法性要求;

相机中第一个进行图像采集的相机为初始相机,所述步骤2具体包括下列步骤:步骤2.1、每次获取图像数据均同时收到对相应图像数据的合法性检测请求,图像数据来源于初始相机时转向步骤2.2,否则转到步骤2.3;

步骤2.2、创建产品实例,将其状态设为处理中,将图像数据归入该产品实例,并启动算法定时器;

步骤2.3、进行之前合法时序的产品实例的匹配,当匹配到合法时序的产品实例时,转到步骤2.4,否则转到步骤2.5;

步骤2.4、当匹配到合法时序的产品实例时,将图像数据归入该合法时序的产品实例中,修改相应的产品实例的处理进度,启动异常定时器,合法时序的产品实例之前的产品实例的状态设为异常,将异常产品实例的检测结果汇报给执行机构,转到步骤2.3;

步骤2.5、启动异常定时器,将之前的产品实例设置为异常的同时将这些产品实例的检测结果汇报给执行机构,将检测合法性中的图像数据根据异常不满足合法性要求的原因进行处理;

如果图像数据不满足合法性要求的原因是time(n)>time(n+k),则在将之前的产品实例设置为异常的同时创建新的产品实例,并将检测合法性中的图像数据归入该产品实例并进行处理;如果图像数据不满足合法性要求的原因是∣time(n+k)‑time(n)‑S(n+k,n)∣>Δ(n+k,n),则不对检测合法性中的图像数据进行任何处理。

2.根据权利要求1所述的一种基于软件的确保相机图片对齐的方法,其特征在于:本方法还包括:

步骤4、对产品实例进行处理获得相应图像数据的算法处理结果将算法处理结果纳入到相应产品实例的检测结果中;

步骤5、若算法定时器未超时并收到所述算法处理结果,修改相应的产品实例的处理进度,之后判断产品实例中是否所有应包含的图像数据均得到处理,结果为是则转到步骤6,否则转到步骤4;

步骤6、将所有图像数据均得到处理的产品实例的检测结果汇报到执行机构,启动删除等待定时器;

步骤7、若算法定时器超时,更新指定的产品实例状态为异常,向执行机构汇报该产品实例的检测结果,启动异常定时器,异常的产品实例在步骤3会被抛弃;

步骤8、当删除等待定时器或异常定时器超时后删除当前产品实例,该产品实例的处理过程结束。

3.根据权利要求2所述的一种基于软件的确保相机图片对齐的方法,其特征在于:所述产品实例处理中不同相机采集的图像数据通过不同的算法线程分别进行处理,各个算法线程得到的算法处理结果异步通知主线程,所述产品实例的检测结果和产品实例列表通过主线程处理。

4.根据权利要求1所述的一种基于软件的确保相机图片对齐的方法,其特征在于:本方法中出现同一个产品触发了后面的相机,没有触发前面相机的情况,则当前面的相机被后续产品触发拍照而进行检测时,导致不满足合法性要求的原因是time(n)>time(n+k),步骤3中应抛弃之前被设为异常的产品实例的数据,即部分触发相机拍照产生的不完整图片组,而后续产品触发拍照产生的所述图像数据则归入新创建的产品实例中。

5.根据权利要求1所述的一种基于软件的确保相机图片对齐的方法,其特征在于:本方法中,传送带延迟导致的后续相机触发慢的情况,导致不满足合法性要求的原因是∣time(n+k)‑time(n)‑S(n+k,n)∣>Δ(n+k,n),步骤3中应抛弃之前被设为异常的产品实例的数据和检测合法性中的图像数据,而异常消失后采用本方法的系统仍正常进行检测和处理。

6.根据权利要求1所述的一种基于软件的确保相机图片对齐的方法,其特征在于:所述相机的数目大于所述感应器的数目,所述相机分组后一组相机由一个所述感应器控制。

说明书 :

一种基于软件的确保相机图片对齐的方法

技术领域

[0001] 本发明属于工业检测领域,涉及一种基于软件的确保相机图片对齐的方法。

背景技术

[0002] 在工业检测领域中,产品特征很多,系统需要多个相机采集图像,并对不同种类图像提供相应算法,才能满足检测需求。在流水的产线上,一旦一个产品计数出错,会导致后
面所有的结果都出错。而实际使用中如果检测的产品所需相机较少,可以一次启动所有相
机采集,但当所需相机较多,且采集图像的要求无法在一次采集时完成,就要求多个相机要
分开采集图像。多个相机常常会由多个光电开关来硬触发使相机出图。一个产品由多个光
电开关来触发,可能会有对触发或少触发的问题,多触发是因为电路干扰,会有多个电信
号;少触发是因为多个产品距离太近,超出了光电开关的感知范围。相机图片对齐的方法即
如何保证图像数据与相应产品的对应关系,从而令该产品的多个图像数据的处理结果形成
与该产品对应的检测结果的一种方法。而现有的技术方案缺乏能够在不增加硬件复杂度的
前提下,在图像数据采集数量错误的情况下,减少并修正图像数据与产品件对应关系的方
法。

发明内容

[0003] 本发明的目的在于提供一种基于软件的确保相机图片对齐的方法,以在不增加硬件复杂度的前提下,解决现有技术中多相机分次采集图像易发生图像与产品对应关系错误
和因此导致的系统持续性错误的技术问题。
[0004] 所述的一种基于软件的确保相机图片对齐的方法,其中采集相机图片的相机有若干个,用于启动所述相机的感应器有若干个,本方法包括下列步骤:
[0005] 步骤1、获取各相机内部的硬件时间戳,记录下对应的各感应器之间的时间差;
[0006] 步骤2、获取图像数据、检测图像数据合法性;
[0007] 步骤3、抛弃异常数据,同步图像数据;
[0008] 图像数据的合法性要求为同时满足下列要求:
[0009] (1)相机图像的时间戳满足顺序触发,time(n)<time(n+k);
[0010] (2) 触发延迟满足触发时间偏差,∣time(n+k)‑time(n)‑S(n+k,n)∣≤Δ(n+k,n);
[0011] 其中,k>0, camera(n)为先触发相机,camera(n+k)为后触发相机,time(n+k)为触发时间戳,S(n+k,n)是两个相机的标准触发延迟,Δ(n+k,n)是两个相机触发时间的最大
偏差,所有不满足要求的图像数据都是异常数据,所述步骤2在检测合法性时将图像数据归
入合法时序的产品实例或新创建的产品实例,合法时序的产品实例中包含的图像数据与检
测合法性中的图像数据之间关系满足上述合法性要求。
[0012] 优选的,相机中第一个进行图像采集的相机为初始相机,所述步骤2具体包括下列步骤:
[0013] 步骤2.1、每次获取图像数据均同时收到对相应图像数据的合法性检测请求,图像数据来源于初始相机时转向步骤2.2,否则转到步骤2.3;
[0014] 步骤2.2、创建产品实例,将其状态设为处理中,将图像数据归入该产品实例,并启动算法定时器;
[0015] 步骤2.3、进行之前合法时序的产品实例的匹配并根据匹配结果对之前的产品实例和检测合法性中的图像数据进行处理。
[0016] 优选的,所述步骤2.3中当匹配到合法时序的产品实例时,转到步骤2.4,否则转到步骤2.5;所述步骤2还包括:
[0017] 步骤2.4、当匹配到合法时序的产品实例时,将图像数据归入该合法时序的产品实例中,修改相应的产品实例的处理进度,启动异常定时器,合法时序的产品实例之前的产品
实例的状态设为异常,将异常产品实例的检测结果汇报给执行机构,转到步骤2.3;
[0018] 步骤2.5、启动异常定时器,将之前的产品实例设置为异常的同时将这些产品实例的检测结果汇报给执行机构,将检测合法性中的图像数据根据异常不满足合法性要求的原
因进行处理。
[0019] 优选的,所述步骤2.5中,如果图像数据不满足合法性要求的原因是time(n)>time(n+k),则在将之前的产品实例设置为异常的同时创建新的产品实例,并将检测合法性
中的图像数据归入该产品实例并进行处理;如果图像数据不满足合法性要求的原因是∣
time(n+k)‑time(n)‑S(n+k,n)∣>Δ(n+k,n),则不对检测合法性中的图像数据进行任何处
理。
[0020] 优选的,本方法还包括:
[0021] 步骤4、对产品实例进行处理获得相应图像数据的算法处理结果将算法处理结果纳入到相应产品实例的检测结果中;
[0022] 步骤5、若算法定时器未超时并收到所述算法处理结果,修改相应的产品实例的处理进度,之后判断产品实例中是否所有应包含的图像数据均得到处理,结果为是则转到步
骤6,否则转到步骤4;
[0023] 步骤6、将所有图像数据均得到处理的产品实例的检测结果汇报到执行机构,启动删除等待定时器;
[0024] 步骤7、若算法定时器超时,更新指定的产品实例状态为异常,向执行机构汇报该产品实例的检测结果,启动异常定时器,异常的产品实例在步骤3会被抛弃;
[0025] 步骤8、当删除等待定时器或异常定时器超时后删除当前产品实例,该产品实例的处理过程结束。
[0026] 优选的,所述产品实例处理中不同相机采集的图像数据通过不同的算法线程分别进行处理,各个算法线程得到的算法处理结果异步通知主线程,所述产品实例的检测结果
和产品实例列表通过主线程处理。
[0027] 优选的,本方法中出现同一个产品触发了后面的相机,没有触发前面相机的情况,则当前面的相机被后续产品触发拍照而进行检测时,导致不满足合法性要求的原因是time
(n)>time(n+k),步骤3中应抛弃之前被设为异常的产品实例的数据,即部分触发相机拍照
产生的不完整图片组,而后续产品触发拍照产生的所述图像数据则归入新创建的产品实例
中。
[0028] 优选的,本方法中,传送带延迟导致的后续相机触发慢的情况,导致不满足合法性要求的原因是∣time(n+k)‑time(n)‑S(n+k,n)∣>Δ(n+k,n),步骤3中应抛弃之前被设为异
常的产品实例的数据和检测合法性中的图像数据,而异常消失后采用本方法的系统仍正常
进行检测和处理。
[0029] 优选的,所述相机的数目大于所述感应器的数目,所述相机分组后一组相机由一个所述感应器控制。
[0030] 本发明的优点在于:(1)本方法能够正确处理这些异常,在处理异常后将相关的产品实例标注为异常,并在步骤3通过异常处理模块将抛弃设定为异常的产品实例,以保证不
会因为这些异常导致持续性错误,异常消失后系统正常工作。所谓持续性错误即当这些异
常消失后,软件检测仍持续报错。
[0031] (2)本发明针对检测时可能遇到的具体问题进行相应区分和判断,从而保证使用者能根据产生异常的原因进行分别对待,并选择相应的软件处理方式,避免采用错误的处
理方法,影响本方法的有效性。
[0032] (3)本发明采用分组的方法,将位置相近的某几个相机使用一个光电开关来触发,使相机拍照的产品位置准确,并利用光电开关触发的时间差来确保每组的图片为一个产品
的,这样减少了光电开关的数量,而系统硬件的复杂性没有明显增加。

附图说明

[0033] 图1为本发明中方法的流程示意图。

具体实施方式

[0034] 下面对照附图,通过对实施例的描述,对本发明具体实施方式作进一步详细的说明,以帮助本领域的技术人员对本发明的发明构思、技术方案有更完整、准确和深入的理
解。
[0035] 现有系统对若干产品进行多相机采集图像,一个产品需要具有若干相机采集的图像数据,各个图像数据通过相应算法处理后综合得到检测结果。由于传送带持续输送产品
时启动软件、传送带延迟导致的后续相机触发慢等多种情况会导致图像数据与产品的对应
关系发生异常,为了及时发现和处理这些异常情况,并保证不会因为这些异常导致持续性
错误,本发明提供了本发明提供了一种基于软件的确保相机图片对齐的方法,如图1所示。
[0036] 首先该方法应用的系统中采集相机图片的相机有若干个,用于启动所述相机的感应器有若干个,相机中第一个进行图像采集的相机为初始相机。所述相机的数目大于所述
感应器的数目,所述相机分组后一组相机由一个所述感应器控制。
[0037] 本方法包括下列步骤:
[0038] 步骤1、获取各相机内部的硬件时间戳,记录下对应的各感应器之间的时间差。
[0039] 步骤2、获取图像数据、检测图像数据合法性。
[0040] 图像数据的合法性要求为同时满足下列要求:
[0041] (1)相机图像的时间戳满足顺序触发,time(n)<time(n+k) 。
[0042] (2)触发延迟满足触发时间偏差,∣time(n+k)‑time(n)‑S(n+k,n)∣≤Δ(n+k,n) 。
[0043] 其中,k>0, camera(n)为先触发相机,camera(n+k)为后触发相机,time(n+k)为触发时间戳,S(n+k,n)是两个相机的标准触发延迟,Δ(n+k,n)是两个相机触发时间的最大
偏差,所有不满足要求的图像数据都是异常数据,所述步骤2在检测合法性时将图像数据归
入合法时序的产品实例或新创建的产品实例,合法时序的产品实例中包含的图像数据与检
测合法性中的图像数据之间关系满足上述合法性要求。
[0044] 步骤2具体包括下列步骤:
[0045] 步骤2.1、每次获取图像数据均同时收到对相应图像数据的合法性检测请求,图像数据来源于初始相机时转向步骤2.2,否则转到步骤2.3。
[0046] 步骤2.2、创建产品实例,将其状态设为处理中,将图像数据归入该产品实例,并启动算法定时器。
[0047] 步骤2.3、进行之前合法时序的产品实例的匹配,当匹配到合法时序的产品实例时,转到步骤2.4,否则转到步骤2.5。
[0048] 步骤2.4、当匹配到合法时序的产品实例时,将图像数据归入该合法时序的产品实例中,修改相应的产品实例的处理进度,启动异常定时器,合法时序的产品实例之前的产品
实例的状态设为异常,将异常产品实例的检测结果汇报给执行机构,转到步骤2.3。
[0049] 步骤2.5、启动异常定时器,将之前的产品实例设置为异常的同时将这些产品实例的检测结果汇报给执行机构,将检测合法性中的图像数据根据异常不满足合法性要求的原
因进行处理。
[0050] 如果图像数据不满足合法性要求的原因是time(n)>time(n+k),则在将之前的产品实例设置为异常的同时创建新的产品实例,并将检测合法性中的图像数据归入该产品实
例并进行处理;如果图像数据不满足合法性要求的原因是∣time(n+k)‑time(n)‑S(n+k,n)∣
>Δ(n+k,n),则不对检测合法性中的图像数据进行任何处理。
[0051] 步骤3、抛弃异常数据,同步图像数据。
[0052] 步骤4、对产品实例进行处理获得相应图像数据的算法处理结果将算法处理结果纳入到相应产品实例的检测结果中。
[0053] 所述产品实例处理中不同相机采集的图像数据通过不同的算法线程分别进行处理,各个算法线程得到的算法处理结果异步通知主线程,所述产品实例的检测结果和产品
实例列表通过主线程处理。
[0054] 步骤5、若算法定时器未超时并收到所述算法处理结果,修改相应的产品实例的处理进度,之后判断产品实例中是否所有应包含的图像数据均得到处理,结果为是则转到步
骤6,否则转到步骤4。
[0055] 步骤6、将所有图像数据均得到处理的产品实例的检测结果汇报到执行机构,启动删除等待定时器。
[0056] 步骤7、若算法定时器超时,更新指定的产品实例状态为异常,向执行机构汇报该产品实例的检测结果,启动异常定时器,异常的产品实例在步骤3会被抛弃。
[0057] 步骤8、当删除等待定时器或异常定时器超时后删除当前产品实例,该产品实例的处理过程结束。
[0058] 本方法中出现同一个产品触发了后面的相机,没有触发前面相机的情况,则当前面的相机被后续产品触发拍照而进行检测时,导致不满足合法性要求的原因是time(n)>
time(n+k),步骤3中应抛弃之前被设为异常的产品实例的数据,即部分触发相机拍照产生
的不完整图片组,而后续产品触发拍照产生的所述图像数据则归入新创建的产品实例中,
系统能继续对其后的图像数据进行检测和处理。
[0059] 本方法中,传送带延迟导致的后续相机触发慢的情况,导致不满足合法性要求的原因是∣time(n+k)‑time(n)‑S(n+k,n)∣>Δ(n+k,n),步骤3中应抛弃之前被设为异常的产
品实例的数据和检测合法性中的图像数据,而异常消失后采用本方法的系统仍正常进行检
测和处理。
[0060] 相机触发慢存在下列可能的情况(其中time*表示当前产品,time1表示下一个产品,time2表示后续第二个产品):(1)两个产品挨得非常近,后续相机只触发了一次,这时有
如下情况:∣time*(n+k)‑time*(n)‑S(n+k,n)∣>Δ(n+k,n),∣time*(n+k)‑time1(n)‑S(n+
k,n)∣≤Δ(n+k,n),这时存在异常的当前产品对应的产品实例被标记为异常,相应的图像
数据被抛弃掉,但下一个产品合法性检测为正常,因此系统在处理异常后能正常接收并处
理下一个产品的图像数据。
[0061] (2)两个产品挨得非常近,后续相机只触发了一次,但受前一个产品的影响,后一个产品的延迟也超出范围,这时有如下情况:
[0062] ∣time*(n+k)‑time*(n)‑S(n+k,n)∣>Δ(n+k,n),∣
[0063] time*(n+k)‑time1(n)‑S(n+k,n)∣>Δ(n+k,n),∣
[0064] time1(n+k)‑time2(n)‑S(n+k,n)∣≤Δ(n+k,n)
[0065] 对于当前产品和下一个产品二者对应的产品实例被标记为异常,相应的图像数据被抛弃掉,但对于此后第二个产品合法性检测为正常,因此系统在处理异常后能正常接收
并处理下一个产品的图像数据。
[0066] 由上可知,采用本方法后,对于上述原因导致的异常情况,本方法最多抛弃两个产品对应的图像数据,就能继续对后续的产品进行图像检测和处理,该产品无异常情况时,系
统就能恢复正常的检测处理过程,不会导致持续性错误。
[0067] 上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的发明构思和技术方案进行的各种非实质性的改进,或未经改
进将本发明构思和技术方案直接应用于其它场合的,均在本发明保护范围之内。