识别信号灯中异常灯色的方法、装置、路侧设备
文献发布时间:2023-06-19 10:00:31
技术领域
本申请涉及图像处理技术中的人工智能、智能交通领域,尤其涉及一种识别信号灯中异常灯色的方法、装置、路侧设备。
背景技术
信号灯在生活中随处可见,在信号灯中包括多个灯头。其中,以信号灯为红绿灯为例,红绿灯中具有三个灯头、分别为红色灯头、绿色灯头和黄色灯头。在对信号灯的视频流中的图像进行处理的时候,由于信号灯会出现两种以上的灯头同时点亮的情况,所以需要提取出视频流中的两种以上的灯头同时点亮的异常图像。
现有技术中,可以采用人工的对视频流进行标注的方式,得到异常图像(两种以上的灯头同时点亮的图像)。
但是上述方式中,人工标注的方式效率低下,使得提取异常图像的效率非常低,并且成本较高。
发明内容
本申请提供了一种识别信号灯中异常灯色的方法、装置、路侧设备,以解决现有技术中提取包括异常灯色的图像效率低的问题。
根据本申请的一方面,提供了一种信号灯的异常灯色识别方法,包括:
通过图像采集装置采集包括信号灯的图像;
根据当前帧图像的前多帧图像,确定当前帧图像的运动前景,其中,所述运动前景用于表征所述当前图像相对于所述当前图像的背景图像的变化;
根据当前帧图像的前一帧图像中每一个灯头的状态、以及所述运动前景,确定所述当前帧图像中的异常灯色情况。
根据本申请的另一方面,提供了一种信号灯的异常灯色识别装置,包括:
采集单元,用于通过图像采集装置采集包括信号灯的图像;
识别单元,用于根据当前帧图像的前多帧图像,确定当前帧图像的运动前景,其中,所述运动前景用于表征所述当前图像相对于所述当前图像的背景图像的变化;
异常确定单元,用于根据当前帧图像的前一帧图像中每一个灯头的状态、以及所述运动前景,确定所述当前帧图像中的异常灯色情况。
根据本申请的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的信号灯的异常灯色识别方法。
根据本申请的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如第一方面所述的信号灯的异常灯色识别方法。
根据本申请的第五方面,提供了一种路侧设备,所述路侧设备包括如第三方面所述的电子设备。
本申请提供的识别信号灯中异常灯色的方法、装置、路侧设备,包括:通过图像采集装置采集包括信号灯的图像;根据当前帧图像的前多帧图像,确定当前帧图像的运动前景,其中,运动前景用于表征当前图像相对于当前图像的背景图像的变化;根据当前帧图像的前一帧图像中每一个灯头的状态、以及运动前景,确定当前帧图像中的异常灯色情况。本申请提供的识别信号灯中异常灯色的方法、装置、路侧设备,可以通过在图像中识别前景的方式,将异常灯色识别问题转换为前景识别问题,从而能够在采集的信号灯图像中识别各个图像的异常灯色情况。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1A为一示例性实施例示出的信号灯;
图1B为另一示例性实施例示出的信号灯;
图2为本申请一示例性实施例示出的信号灯的异常灯色识别方法的流程图;
图3A为本申请一示例性实施例示出的应用场景图;
图3B为本申请一示例性实施例示出的通过图像采集装置采集的图像示意图;
图3C为本申请另一示例性实施例示出的通过图像采集装置采集的图像示意图;
图4为本申请另一示例性实施例示出的信号灯的异常灯色识别方法的流程图;
图5A为本申请一示例性实施例示出的待处理图像示意图;
图5B为本申请一示例性实施例示出的预设标注信息的示意图;
图5C为本申请一示例性实施例示出的在待处理图像中裁剪出包括信号灯的图像的示意图;
图5D为本申请一示例性实施例示出的图像处理流程图;
图5E为本申请一示例性实施例示出的前景识别结果的示意图;
图5F为本申请一示例性实施例示出的匹配区域的示意图;
图5G为本申请又一示例性实施例示出的灯色切换示意图;
图5H为本申请又一示例性实施例示出的灯色切换示意图;
图6为本申请一示例性实施例示出的信号灯的异常灯色识别装置的结构图;
图7为本申请另一示例性实施例示出的信号灯的异常灯色识别装置的结构图;
图8是本申请实施例示出的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在很多应用场景中都设置有信号灯,通过信号灯能够起到引导的作用。通过识别信号灯的灯色,可以更便于实现引导功能。在一些应用场景中,需要采集两种以上的灯头同时点亮的异常图像,从而基于这些异常图像进行数据处理。比如,为了训练模型采集数据时,除了正常的信号灯图像以外,还需要采集两种以上的灯头同时点亮的异常图像,从而使训练数据更加丰富,进而训练出识别结果更加准确的模型。
图1A为一示例性实施例示出的信号灯。如图1A所示,这种信号灯包括红灯11、黄灯12和绿灯13。图1B为另一示例性实施例示出的信号灯。如图1B所示,这种信号灯包括第一颜色的指示灯14、第二颜色的指示灯15、以及第三颜色的指示灯16。
可以对图1A或图1B中所示出的信号灯进行识别,确定该信号灯同时亮起两个或两个以上灯头的情况,从而可以识别出异常灯色的图像。
目前,可以通过人工标注的方式,标注出信号灯同时亮起两个或两个以上灯头的情况,但是,这种方式的效率低下,无法在短时间内获得大量的异常图像。
为了解决上述技术问题,本申请提供的方法可以根据当前帧图像的前多帧图像,确定当前帧图像的运动前景,再根据当前帧图像前的图像中各个灯头的状态,以及确定的运动前景,能够对当前帧图像进行识别,确定当前帧图像中是否存在异常灯色的情况。
图2为本申请一示例性实施例示出的信号灯的异常灯色识别方法的流程图。
如图2所示,本申请提供的信号灯的异常灯色识别方法,包括:
步骤201,通过图像采集装置采集包括信号灯的图像。
其中,本申请提供的方法可以由具备计算能力的电子设备来执行,比如可以是计算机、智能手机、路侧设备等。路侧设备可以设置在路边,比如安装在设置有红绿灯的道路附近。本申请中的各个实施例的执行主体也可以是与路侧计算设备连接的服务器设备,或是与路侧感知设备直接相连的服务器设备等;其中,本申请中服务器设备例如是云控平台、车路协同管理平台、中心子系统、边缘计算平台、云计算平台等。
具体的,还可以在信号灯附近设置图像采集装置,从而使用图像采集装置拍摄信号灯的图像,图像采集装置可以是摄像机,可以通过摄像机采集连续的包括信号灯的图像。
进一步的,图像采集装置可以将拍摄的图像发送给用于执行本实施例提供的方法的电子设备,由电子设备根据接收的图像进行灯色识别处理。
图3A为本申请一示例性实施例示出的应用场景图。
如图3A所示,可以在道路旁设置路侧设备31,路侧设备31与图像采集装置32连接,图像采集装置32可以拍摄到信号灯33的图像。
一种实施方式中,可以调节图像采集装置32的拍摄参数和拍摄角度,使其能够拍摄到仅包括信号灯33的图像。
图3B为本申请一示例性实施例示出的通过图像采集装置采集的图像示意图。
图像采集装置32可以采集如图3B所示的图像,并将图像发送给路侧设备31。路侧设备31可以直接对接收的图像进行异常灯色识别的处理。
图3C为本申请另一示例性实施例示出的通过图像采集装置采集的图像示意图。
图像采集装置32可以采集如图3C中34所示的图像,并将图像34发送给路侧设备31。
可以预先标注信号灯所在区域,路侧设备31可以根据预先标注信息对接收的图像34进行裁剪处理,得到如35所示出的仅包括信号灯的图像,并对该图像进行异常灯色识别的处理。
对仅包括信号灯的异常图像进行灯色识别处理,能够避免图像中信号灯以外的部分对异常灯色识别结果产生干扰。
在智能交通车路协同的系统架构中,路侧设备包括路侧感知设备和路侧计算设备,路侧感知设备(例如路侧相机)连接到路侧计算设备(例如路侧计算单元RSCU),路侧计算设备连接到服务器设备,服务器设备可以通过各种方式与自动驾驶或辅助驾驶车辆通信;在另一种系统架构中,路侧感知设备自身包括计算功能,则路侧感知设备直接连接到所述服务器设备。以上连接可以是有线或是无线;本申请中服务器设备例如是云控平台、车路协同管理平台、中心子系统、边缘计算平台、云计算平台等。
步骤202,根据当前帧图像的前多帧图像,确定当前帧图像的运动前景,其中,运动前景用于表征当前图像相对于当前图像的背景图像的变化。
其中,可以确定当前帧图像的运动前景。具体可以根据该当前帧图像的前多帧图像,确定当前帧图像的运动前景。比如,电子设备可以根据连续采集的多帧图像进行背景建模,确定出背景图像。再次接收到图像时,可以根据该背景图像在当前采集的图像中确定运动前景。当电子设备采集了新的图像后,可以根据该新的图像更新背景图像。
背景与前景是相对的概念,以信号灯为例,比如红灯灯头亮起时间较长时,红灯灯头所在的区域会被识别为背景图像的一部分。当红灯灯头从亮转为灭的时候,该红灯灯头会被识别为前景部分。
实际应用时,电子设备可以根据采集的连续多帧图像进行背景建模,确定背景图像。比如电子设备可以根据N帧图像进行背景建模,从而根据这些图像得到图像背景。
其中,可以根据N帧图像中各个像素点的像素信息,确定背景图像。比如,在N帧图像中同一个像素点的像素值都相同,则该像素点可以被识别为属于背景图像的像素点。
具体的,属于背景图像的像素点组合形成背景图像。比如,信号灯处于关闭状态时,各个灯头的灯色都不会发生变化,这种情况下,整个信号灯所在的区域都会被确定为背景图像。若图像中仅包括信号灯,则整幅图像都会被识别为背景。
进一步的,可以比对当前处理的图像与背景图像,将像素值与背景图像不一致的像素点作为属于运动前景的像素点。这些属于运动前景的像素点组成运动前景。
还可以通过识别背景的算法确定运动前景。比如,可以根据vibe算法确定背景图像,还可以基于vibe算法确定当前处理的图像中的运动前景。
步骤203,根据当前帧图像的前一帧图像中每一个灯头的状态、以及运动前景,确定当前帧图像中的异常灯色情况。
其中,可以根据当前帧图像中识别出的运动前景,确定该帧图像中灯色发生变化的灯头,再根据灯色发生变化的灯头以及上一帧图像中各个灯头的状态,确定当前帧图像中的异常灯色情况。
具体的,本申请提供的方案中,将灯色识别转换为运动前景的识别,从而降低识别异常灯色过程中的数据处理量。
进一步的,若信号灯的灯色发生变化,则可以将发生灯色变化的灯头区域识别为运动前景。比如,灯头由亮变灭,或者由灭变亮,则可以将该灯头识别为运动前景。
实际应用时,可以根据上一帧图像中各个灯头的状态,以及当前帧图像中发生灯色切换的灯头,确定当前帧图像中是否存在异常灯色情况。
例如,在上一帧图像中,第一灯头是灭掉的状态,第二灯头是亮起的状态。在当前帧图像中将第一灯头所在区域识别为运动前景,那么可以确定第一灯头发生了灯色切换,从灭掉切换为点亮,而第二灯头所在区域没有被识别为运动前景,那么第二灯头状态没有改变,仍然保持点亮状态,因此,可以确定当前帧图像中存在异常灯色情况。
再例如,还可以根据当前帧图像中识别出的运动前景确定该图像对应的灯色,从而确定该图像中是否存在异常灯色情况。
其中,若确定出整幅包括信号灯的图像为背景图像,根据该背景图像没有在当前帧图像中识别出前景图像,则可以认为当前帧图像中没有灯头发生灯色变化,因此,可以将上一帧图像中点亮的灯色确定为当前帧图像中点亮的灯色。若上一帧图像中没有异常灯色情况,则当前帧图像中也没有异常等色。
本申请提供的方案,可以确定当前帧图像中的运动前景,再根据该运动前景确定当前帧图像中的灯色切换情况,并结合上一帧图像中每一个灯头的状态,确定当前帧图像中是否包括异常灯色。本申请提供的方案不需要采用人工标注的方式,就能够在采集的信号灯图像中识别各个图像的异常灯色情况。
本申请提供的方法用于识别信号灯的异常灯色,该方法由设置有本实施例提供的方法的设备执行,该设备通常以硬件和/或软件的方式来实现。
本申请提供的信号灯的异常灯色识别方法,包括:通过图像采集装置采集包括信号灯的图像;根据当前帧图像的前多帧图像,确定当前帧图像的运动前景,其中,运动前景用于表征当前图像相对于当前图像的背景图像的变化;根据当前帧图像的前一帧图像中每一个灯头的状态、以及运动前景,确定当前帧图像中的异常灯色情况。本申请提供的方法,可以通过在图像中识别前景的方式,将异常灯色识别问题转换为前景识别问题,从而能够在采集的信号灯图像中识别各个图像的异常灯色情况。
图4为本申请另一示例性实施例示出的信号灯的异常灯色识别方法的流程图。
如图4所示,本申请提供的信号灯的异常灯色识别方法,包括:
步骤401,通过图像采集装置采集包括信号灯的待处理图像。
其中,本申请提供的方法可以由具备计算功能的电子设备来执行,该电子设备可以与图像采集装置连接。图像采集装置例如可以是摄像机。
具体的,图像采集装置可以拍摄待处理图像,并将待处理图像发送给电子设备。可以调整图像采集装置的拍摄角度,进而使图像采集装置拍摄的待处理图像中包括信号灯。
图5A为本申请一示例性实施例示出的待处理图像示意图。
如图5A所示,图像采集装置可以拍摄待处理图像,并将拍摄的待处理图像发送给电子设备。
步骤402,根据预设标注信息在待处理图像中裁剪出包括信号灯的目标区域,得到当前帧图像。
进一步的,若图像采集装置的位置不变,信号灯位置不变,那么图像采集装置采集的待处理图像中,信号灯的位置也不会变。因此,可以预先设置标注信息,用于标注待处理图像中信号灯所在区域。
图5B为本申请一示例性实施例示出的预设标注信息的示意图。
如图5B所示,可以通过图像采集装置采集一待处理图像,再在其中框选出信号灯所在的区域,从而得到预设标注信息51。
实际应用时,电子设备接收到图像采集装置发送的待处理图像后,可以根据该预设标注信息在接收的待处理图像中进行裁剪,从而得到包括信号灯的目标区域,可以将该目标区域的图像作为包括信号灯的图像。
图5C为本申请一示例性实施例示出的在待处理图像中裁剪出包括信号灯的图像的示意图。
如图5C所示,可以根据预设标注信息51在待处理图像52中裁剪出如53所示的图像。
电子设备可以根据剪裁出的图像进行数据处理。这种实施方式中,可以使电子设备对仅包括信号灯的图像进行处理,从而避免图像尺寸过大,导致电子设备进行识别时的数据处理量过大。
步骤403,根据当前帧图像前的多帧图像确定背景图像,根据背景图像在当前帧图像中确定运动前景。
实际应用时,电子设备可以根据采集的连续多帧图像进行背景建模,确定背景图像。比如电子设备可以根据N帧图像进行背景建模,从而根据这些图像得到背景图像。
其中,可以根据N帧图像中各个像素点的像素信息,确定背景图像。比如,在N帧图像中同一个像素点的像素值都相同,则该像素点可以被识别为属于背景图像的像素点。
具体的,属于背景图像的像素点组合形成背景图像。比如,信号灯处于关闭状态时,各个灯头的灯色都不会发生变化,这种情况下,整个信号灯所在的区域都会被确定为背景图像。若图像中仅包括信号灯,则整幅图像都会被识别为背景。
进一步的,可以利用确定的背景图像对采集的当前帧图像进行前景识别。比如,可以根据连续采集的N帧图像确定背景图像,再利用该背景图像对第N+1帧图像进行前景识别。
实际应用时,当前帧图像是指需要识别灯色的图像。当电子设备采集到一帧图像后,可以基于最新采集的N帧图像确定背景图像,再根据确定的背景图像对采集的下一帧图像(当前帧图像)进行前景识别。
本申请提供的方法可以根据当前帧图像之前的多帧图像进行背景建模,得到背景图像。从而根据确定的背景图像对当前帧图像进行处理。
具体的,可以基于混合高斯模型的或vibe算法对上述N帧图像进行处理,得到背景图像。这种基于多帧图像进行建模确定背景图像的实施方式可以参考历史图像数据,使得识别结果更加准确。
进一步的,连续的N帧图像可以是连续的图像,也可以是间隔预设数量帧的图像。比如对第1、2、3、4…N帧图像进行建模处理,也可以对第1、1+m、1+2m…1+(N-1)*m帧图像进行建模处理。
图5D为本申请一示例性实施例示出的图像处理流程图。
如图5D所示,当路侧设备采集到N帧图像后,可以根据这N帧图像确定背景图像,再根据该背景图像对第N+1帧图像进行前景识别。此后,路侧设备基于最新采集的N帧图像(第2-N+1帧图像)确定背景图像,此后,再根据该背景图像对新接收的第N+2帧图像进行前景识别。
具体的,可以比对当前帧图像与背景图像,将像素值与背景图像不一致的像素点作为属于运动前景的像素点。这些属于运动前景的像素点组成运动前景。
还可以通过识别背景的算法确定运动前景。比如,可以根据vibe算法确定背景图像,还可以基于vibe算法确定当前帧图像中的前景图像。
背景与前景是相对的概念,以信号灯为例,比如红灯灯头亮起时间较长时,红灯灯头所在的区域会被识别为背景图像的一部分。当红灯灯头从亮转为灭的时候,该红灯灯头会被识别为前景部分。
图5E为本申请一示例性实施例示出的前景识别结果的示意图。
如图5E中54所示,在t1-t2这段时间内信号灯中绿色灯头一直亮起,其他灯头处于灭的状态,这种情况下,图像中的每个像素点都被识别为属于背景图像的像素点,背景图像的识别结果如55(黑色像素点代表属于背景图像的像素点)。
此后,信号灯灯色切换,由绿灯亮转换为黄灯亮,绿灯由亮变灭,黄灯由灭变亮,两个灯头所属区域的像素信息会发生变化,此时,绿灯灯头所在区域以及黄灯灯头所在区域会被识别为前景。而红灯没有发生变化,因此,红灯灯头仍然会被识别为背景。
其中,通过连续多帧图像确定背景图像,再根据背景图像在当前帧图像中识别运动前景,这种方式充分考虑了历史数据,使得识别结果更加稳定。
根据背景图像在当前帧图像中确定运动前景,包括:
在当前帧图像中确定与背景图像相对应的匹配区域;
比对背景图像与匹配区域,根据比对结果在当前帧图像中确定运动前景。
其中,可以比对当前帧图像与背景图像。具体可以在当前帧图像中确定与背景图像的匹配区域,再进行比对。
图5F为本申请一示例性实施例示出的匹配区域的示意图。
如图5F所示,背景图像的识别结果如56(黑色像素点代表属于背景图像的像素点)。可以根据该背景图像在当前帧图像中确定匹配区域57。
可以比对背景图像与匹配区域,具体可以逐个像素的进行比对,若匹配区域中的像素点与背景图像中的像素点的像素信息不一致,则可以确定该像素点为前景像素点。
例如,可以提取背景图像像素点(x,y)周围的像素值及以前的像素值建立像素点的样本集,然后再将当前帧(x,y)处的像素值与样本集中的像素值进行比较,如果其与样本集中的像素值的距离大于某阈值的话,则认为该像素点为前景像素点,否则为背景像素点。
这种实施方式中,只需要检测当前帧图像相对于背景图像是否发生变化,就能够确定出运动前景,进而确定发生灯色变化的灯头,再结合上一帧图像中各个灯头的状态,就能够识别出当前帧图像中是否存在异常灯色。
这种方式只需要识别当前帧图像的匹配区域中是否存在运动前景,就能够快速的确定当前帧图像中是否存在异常灯色的情况,可以进一步的降低数据处理量。
步骤404,根据运动前景、当前帧图像的前一帧图像中每一个灯头的状态,在当前帧图像中确定点亮灯头。
具体的,可以获取上一帧图像中每个灯头的状态。比如,用户可以在拍摄信号灯的视频流的某一帧图像中,标记其中各个灯头的状态。电子设备在处理图像时,可以根据该标记信息确定下一帧图像中点亮的灯头。
此后,电子设备可以获取其在图像中确定的点亮灯头,并根据获取的信息对后续的图像帧进行处理。
进一步的,还可以根据图像中识别出的运动前景,确定图像中的灯色变化情况,进而确定各个灯头的状态。比如,在横向红绿灯中,第一个灯位红色,中间的灯头为黄色,第三个灯头位绿色。当黄色灯头由第一状态切换为第二状态,绿色灯头由第二状态切换为第一状态,则可以确定出第一状态为亮起状态,第二状态为灭掉的状态。
一种实施方式中,若背景图像的范围与当前帧图像一致,则根据当前帧图像的前一帧图像中每一个灯头的状态确定历史点亮灯头。
实际应用时,如果背景图像的范围与当前帧图像一致,则可以确定此前将整个图像都确定为背景图像,比如,信号灯中的第一信号灯亮起时间较长,则电子设备会将整个图像确定为背景图像。
其中,可以根据当前帧图像的前一帧图像中每一个灯头的状态确定历史点亮灯头,比如,可以根据前一帧图像中每个灯头的状态,确定上一帧图像中的历史点亮灯头。比如第一灯头是亮起状态。
若根据背景图像对当前帧图像进行处理时,运动前景在当前帧图像中对应的位置与历史点亮灯头的位置不一致,则可以确定当前帧图像中包括至少两个点亮灯头。
比如,根据多帧图像将整个图像都确定为背景图像,此后,若信号灯中的灯色存在切换情况,则电子设备能够将发生灯色切换的灯头识别为运动前景。若灯色切换的灯头不是历史点亮灯头,则可以认为该历史点亮灯头维持点亮状态,灯色切换的灯头状态改变,从灭到亮,因此,该当前帧图像中包括至少两个点亮灯头。
比如,若历史点亮灯头为第一灯头,在当前帧图像中识别的运动前景对应第二灯头,则可以认为在当前帧图像中,第二灯头状态改变,而第一灯头状态未改变,也就是第二灯头亮起,第一灯头仍然维持亮起状态,因此,该当前帧图像中存在两个点亮灯头。
5G为本申请又一示例性实施例示出的灯色切换示意图。
如图5G所示,信号灯中的第一灯头58亮起时间较长时,根据连续的图像确定的背景图像如59(黑色像素点代表属于背景图像的像素点)。当第一灯头58还没灭掉,但是第二灯头510已经亮起时,根据该帧图像、确定的背景图像59能够得到如511所示的运动前景(白色像素点代表属于运动前景的像素点)。此时,能够识别得到一个运动前景,该运动前景对应第二灯头的位置,而第一灯头为历史点亮灯头,即运动前景对应的位置与历史点亮灯头位置不一致。
这种实施方式中,可以识别出在灯色切换过程中信号灯同时点亮两种或两种以上灯头的情况。
一种情况下,还可能在当前帧图像中确定出多个与运动前景对应的灯头,比如,信号灯中的第一灯头又亮转灭,且第二灯头由灭转亮的情况,就会识别出第一灯头、第二灯头所在区域对应的运动前景。再比如,信号灯中的第一灯头由亮转为闪动,且第二灯头由灭转亮的情况,就会识别出第一灯头、第二灯头所在区域对应的运动前景。
若第一灯头为闪动状态,那么该灯头会被持续的识别为前景。而第二灯头也处于点亮状态的话,那么在这段时间内会存在第一灯头与第二灯头同时点亮的情况。
因此,若当前图像帧中识别出了多个运动前景,那么可以识别这些图像帧中的情况,确定出其中包括异常灯色的图像。
具体可以根据当前帧图像的前一帧图像中每一个灯头的状态确定历史点亮灯头。比如,可以根据前一帧图像中每个灯头的状态,确定上一帧图像中的历史点亮灯头。比如第一灯头是亮起状态。
进一步的,可以在当前帧图像中确定与运动前景对应、且与历史点亮灯头不同的目标灯头。
比如,历史点亮灯头为第一灯头,在当前帧图像中确定的与运动前景对应的灯头为第一灯头和第二灯头,因此,可以将第二灯头确定为目标灯头。
在当前帧图像中可以获取目标灯头图像、其他灯头图像,并根据目标灯头图像、其他灯头图像确定差分图像;再根据差分图像在当前帧图像中确定点亮灯头。
5H为本申请又一示例性实施例示出的灯色切换示意图。
如图5H所示,信号灯中的第一灯头58亮起时间较长时,背景图像的识别结果如59(黑色像素点代表属于背景图像的像素点)。当第一灯头57转变为闪动情况,但是第二灯头510已经亮起时,根据此时采集的图像、确定的背景图像59能够得到如511所示的运动前景(白色像素点代表属于运动前景的像素点)。此时,能够识别得到两个运动前景,分别对应第一灯头的位置和第二灯头的位置。
根据上一帧图像中各个灯头的点亮状态,可以确定历史点亮灯头为第一灯头。因此,可以将第二灯头确定为目标灯头。
可以在当前帧图像中获取目标灯头图像512、其他灯头图像513,并根据目标灯头图像512、其他灯头图像513确定差分图像,再根据差分图像确定当前帧图像中确定出点亮灯头。
这种实施方式中,能够在一个灯头处于闪动状态时,确定出当前帧图像中点亮的灯头,进而根据点亮的灯头确定图像中是否存在异常灯色的情况。
其中,若信号灯包括三个灯头,则可以确定出一个目标灯头和两个其他灯头。可以根据目标灯头图像、第一灯头图像确定第一差分图像;根据目标灯头图像、第二灯头图像确定第二差分图像。
具体的,可以对目标灯头图像与第一灯头图像中的相同位置的像素点的像素值相减,进而得到第一差分图像。还可以对目标灯头图像与第二灯头图像中的相同位置的像素点的像素值相减,进而得到第二差分图像。
进一步的,若信号灯包括两个灯头,则可以确定一个目标灯头,一个其他灯头。可以根据目标灯头图像、第一灯头图像确定第三差分图像。可以对目标灯头图像与第三灯头图像中的相同位置的像素点的像素值相减,进而得到第三差分图像。
这种实施方式中,使得本申请提供的方案能够应用在多种信号灯中,从而得到更广泛的应用。
实际应用时,若第一差分图像、第二差分图像中的任一差分图像的亮度均值小于阈值,则确定当前帧图像中存在多个点亮灯头。可以提取第一差分图像和第二差分图像中的亮度值,再根据该亮度值确定当前图像帧中点亮的灯头。
其中,目标灯头不是历史点亮灯头,且发生了灯色切换的情况,因此,目标灯头在当前帧图像中是点亮的状态。可以将其作为标准,确定另外两个灯头是亮起的状态还是灭掉的状态。
具体的,其他灯头图像与目标灯头图像间的亮度值越相近,差分图像的亮度值越小。因此,若第一差分图像、所述第二差分图像中的任一差分图像的亮度均值小于阈值,则可以认为当前帧图像中存在至少一个灯头的亮度与目标灯头相近,因此,当前帧图像中存在至少一个其他灯头是点亮的状态,进而可以确定当前帧图像中存在多个点亮灯头。
进一步的,若第三差分图像的亮度均值小于阈值,则确定当前帧图像中存在多个点亮灯头。若第三差分图像亮度均值小于阈值,则可以认为当前帧图像中其他灯头的亮度与目标灯头相近,因此,当前帧图像中的其他灯头是点亮的状态,进而可以确定当前帧图像中存在多个点亮灯头。
实际应用时,可以计算差分图像中像素点的平均像素值,比如将所有像素点的像素值相加,再除以像素点数量,得到差分图像的平均像素值。
这种实施方式中,可以基于灯头图像的亮度确定图像中是否存在多个点亮灯头,进而可以自动在图像中识别出异常灯色的情况。
步骤405,若在当前帧图像中确定了至少两个点亮灯头,则确定当前帧图像中存在异常灯色情况。
其中,如果在当前帧图像中确定了至少两个点亮灯头,则可以确定当前帧图像中存在异常灯色情况。
这种实施方式中,可以根据当前帧图像中确定的运动前景,以及前一帧图像中每个灯头的状态确定当前帧图像中点亮的灯头,从而无需通过人工标注的方式,就能够识别出图像中包括的异常灯色情况。
图6为本申请一示例性实施例示出的信号灯的异常灯色识别装置的结构图。
如图6所示,本实施例提供的信号灯的异常灯色识别装置,包括:
采集单元61,用于通过图像采集装置采集包括信号灯的图像;
识别单元62,用于根据当前帧图像的前多帧图像,确定当前帧图像的运动前景,其中,所述运动前景用于表征所述当前图像相对于所述当前图像的背景图像的变化;
异常确定单元63,用于根据当前帧图像的前一帧图像中每一个灯头的状态、以及所述运动前景,确定所述当前帧图像中的异常灯色情况。
本实施例提供的信号灯的异常灯色识别装置包括:采集单元,用于通过图像采集装置采集包括信号灯的图像;识别单元,用于根据当前帧图像的前多帧图像,确定当前帧图像的运动前景,其中,运动前景用于表征当前图像相对于当前图像的背景图像的变化;异常确定单元,用于根据当前帧图像的前一帧图像中每一个灯头的状态、以及运动前景,确定当前帧图像中的异常灯色情况。本申请提供的装置,可以通过在图像中识别前景的方式,将异常灯色识别问题转换为前景识别问题,从而能够在采集的信号灯图像中识别各个图像的异常灯色情况。
图7为本申请另一示例性实施例示出的信号灯的异常灯色识别装置的结构图。
如图7所示,本实施例提供的信号灯的异常灯色识别装置,其中,所述异常确定单元63,包括:
灯头确定模块631,用于根据所述运动前景、所述当前帧图像的前一帧图像中每一个灯头的状态,在所述当前帧图像中确定点亮灯头;
异常确定模块632,用于若在所述当前帧图像中确定了至少两个点亮灯头,则确定所述当前帧图像中存在所述异常灯色情况。
其中,所述灯头确定模块631包括第一子模块6311,用于:
若所述背景图像的范围与所述当前帧图像一致,则根据所述当前帧图像的前一帧图像中每一个灯头的状态确定历史点亮灯头;
若所述运动前景在所述当前帧图像中对应的位置与所述历史点亮灯头的位置不一致,则确定所述当前帧图像中包括至少两个所述点亮灯头。
其中,所述灯头确定模块631包括第二子模块6312,用于:
若在所述当前帧图像中确定了多个与运动前景对应的灯头,则根据所述当前帧图像的前一帧图像中每一个灯头的状态确定历史点亮灯头;
在所述当前帧图像中确定与所述运动前景对应、且与所述历史点亮灯头不同的目标灯头;
在所述当前帧图像中获取目标灯头图像、其他灯头图像,并根据所述目标灯头图像、所述其他灯头图像确定差分图像;
根据所述差分图像在所述当前帧图像中确定点亮灯头。
其中,所述第二子模块6312具体用于:
若所述信号灯包括三个灯头,则
根据所述目标灯头图像、第一灯头图像确定第一差分图像;
根据所述目标灯头图像、第二灯头图像确定第二差分图像;
若所述信号灯包括两个灯头,则
根据所述目标灯头图像、第一灯头图像确定第三差分图像。
其中,所述第二子模块6312具体用于:
若所述第一差分图像、所述第二差分图像中的任一差分图像的亮度均值小于阈值,则确定所述当前帧图像中存在多个点亮灯头;
若所述第三差分图像的亮度均值小于阈值,则确定所述当前帧图像中存在多个点亮灯头。
其中,所述识别单元62具体用于:
根据所述多帧图像确定背景图像,根据所述背景图像在所述当前帧图像中确定所述运动前景。
其中,所述识别单元62包括背景确定模块621,用于:根据所述多帧图像进行背景建模,确定所述背景图像。
其中,所述识别单元62包括前景识别模块622,用于:在所述当前帧图像中确定与所述背景图像相对应的匹配区域;
比对所述背景图像与所述匹配区域,根据比对结果在所述当前帧图像中确定所述运动前景。
其中,所述采集单元61,包括:
采集模块611,用于通过图像采集装置采集包括信号灯的待处理图像;
裁剪模块612,用于根据预设标注信息在所述待处理图像中裁剪出包括所述信号灯的目标区域,得到所述当前帧图像。
根据本申请的实施例,本申请还提供了一种路侧设备,该路侧设备中包括有图8提供的电子设备。
路侧设备例如有计算功能的路侧感知设备、与路侧感知设备相连接的路侧计算设备。
智能交通车路协同的系统架构中,路侧设备包括路侧感知设备和路侧计算设备,路侧感知设备(例如路侧相机)连接到路侧计算设备(例如路侧计算单元RSCU),路侧计算设备连接到服务器设备,服务器设备可以通过各种方式与自动驾驶或辅助驾驶车辆通信;在另一种系统架构中,路侧感知设备自身包括计算功能,则路侧感知设备直接连接到所述服务器设备。以上连接可以是有线或是无线;本申请中服务器设备例如是云控平台、车路协同管理平台、中心子系统、边缘计算平台、云计算平台等。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图8所示,是根据本申请实施例的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。
存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的信号灯的异常灯色识别方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的信号灯的异常灯色识别方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的信号灯的异常灯色识别方法对应的程序指令/模块(例如,附图6所示的采集单元61、识别单元62和异常确定单元63)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的信号灯的异常灯色识别方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
根据本申请的实施例,本申请还提供了一种路侧设备,该路侧设备中包括有图8提供的电子设备。
路侧设备例如有计算功能的路侧感知设备、与路侧感知设备相连接的路侧计算设备。
智能交通车路协同的系统架构中,路侧设备包括路侧感知设备和路侧计算设备,路侧感知设备(例如路侧相机)连接到路侧计算设备(例如路侧计算单元RSCU),路侧计算设备连接到服务器设备,服务器设备可以通过各种方式与自动驾驶或辅助驾驶车辆通信;在另一种系统架构中,路侧感知设备自身包括计算功能,则路侧感知设备直接连接到所述服务器设备。以上连接可以是有线或是无线;本申请中服务器设备例如是云控平台、车路协同管理平台、中心子系统、边缘计算平台、云计算平台等。
电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算机程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算机程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
- 识别信号灯中异常灯色的方法、装置、路侧设备
- 信号灯的异常识别方法、装置、电子设备和路侧设备