本技术提供了一种基于单相机的红绿灯状态检测方法及系统,包括:图像采集模块采集原始图像,在原始图像上设置感兴趣区;目标检测模块检测感兴趣区图像中是否存在红绿灯;状态检测模块检测感兴趣区图像中红绿灯的状态,并输出结果;同时,检测红绿灯是否在感兴趣区图像的中心,若是,则感兴趣区参数不变,若否,则参数精调模块对感兴趣区参数进行调节;判断连续未检出红绿灯的感兴趣区图像累计帧数是否超过阈值,若否,则感兴趣区参数不变,若是,则对感兴趣区参数调节。本发明使用单个大分辨率相机对长短焦相机进行替代,减少了设备成本、简化了检测算法,同时精调和粗调结合的感兴趣区滑窗方法,避免了大分辨率图像带来的模型数据量增加的问题。
背景技术
在自动驾驶技术中,为保障自动驾驶车辆能够安全通过路口,需要自动驾驶车辆能够实时检测路口红绿灯状态,并识别红灯、绿灯和黄灯,得到这些灯的状态后,输出给后台的自动驾驶车辆的控制系统,由控制系统根据灯的状态发出通过或者停止的命令。
现有技术中自动驾驶车辆在检测红绿灯时基于单个或多个相机进行采集和检测工作,原有的单相机采集和检测红绿灯存在无法兼具视场角和有效距离两个方面问题视场角越大对同一个目标成像越小,使图像检测难度增大;若视场角越小对同一个目标成像越大,图像检测难度变低,但是带来的问题是相机视野小,红绿灯很容易偏出视野,造成无人车无法检测到前方红绿灯的状态;但是多个相机进行检测不仅成本高,而且检测逻辑也更加复杂,耗费更多的计算资源;使用自动曝光在晚上会导致图像产生大光晕以及拖影,成像速度更慢,并且红绿灯的成像与白天相差太大,不利于进行有效的检测。
中国专利CN110542931B公开了一种《红绿灯检测方法、装置、电子设备及计算机可读介质》,其技术方案:包括实时对车辆的当前位置信息进行检测;如果根据当前位置信息确定车辆到达预设路口,则启动红绿灯检测模块并基于深度学习检测预设路口的红绿灯;如果红绿灯检测模块的检测结果为未检测到红绿灯,则基于深度学习的步长对红绿灯检测模块的角度信息进行调整,直到红绿灯检测模块检测到红绿灯。该方法根据不同红绿灯路口的情况,在未检测到红绿灯时及时对红绿灯检测模块的角度信息进行调整,直到红绿灯检测模块检测到红绿灯,解决自动驾驶设备在某些路口无法检测红绿灯状态的问题,但是上述技术方案需要车辆先到达预设路口,然后再进行检测,当第一时间检测不到红绿灯时,还需要调节检测模块,直到检测到红绿灯为止,存在检测时间过长,导致车辆需要在路口长时间等待的问题,且存在一定的安全隐患。
中国专利CN113947769A公开了一种《基于长短焦双摄像头的红绿灯检测方法、设备和存储介质》,其技术方案:在车辆的行驶过程中对长焦摄像头采集的第一图像顺次进行红绿灯检测,得到第一包围框;将第一包围框变换到短焦摄像头的像素坐标系中得到第二包围框,并在短焦摄像头的像素坐标系中预测第二包围框在下一时刻的位置;当在第一图像中首次未检测到红绿灯时,对短焦摄像头采集的第二图像进行红绿灯检测,得到红绿灯在第二图像中的第三包围框;如果第三包围框与预测的第二包围框在当前时刻的位置匹配,则确定第三包围框检测到红绿灯,其存在,成本高,而且检测逻辑复杂,耗费更多的计算资源。
通过使用多个相机(长短焦)对目标进行检测,长焦能看清则用长焦检测,长焦看不清则用短焦(广角)相机进行检测,通常为200万或500万像素的相机进行检测,并且使用自动曝光模式。
使用两个或者多个相机进行检测不仅成本高,而且会耗费更多的计算资源,检测逻辑也更加复杂;使用自动曝光在晚上会导致图像产生大光晕以及拖影,成像速度更慢,并且红绿灯的成像与白天相差太大,不利于检测模块进行有效的检出。
现有方案使用多个相机产生成本高,计算资源使用率高,多个相机导致算法逻辑比较复杂。自动曝光导致的拖影、光晕问题,导致的夜间红绿灯成像质量差,使得检测难度增加。
因此,需要提出一种技术方案以改善上述技术问题。
实现思路