发明内容
本发明实施例所要解决的技术问题在于,提供一种用于产品测试视频链路的自动检测方法及装置,能够完整测试从摄像头前级输入,到主处理器的图像处理模块,以及图像输出的整条链路是否正确。
为解决上述问题,本发明的一个实施例提供了一种用于产品测试视频链路的自动检测方法,至少包括如下步骤:
通过通信链路判断当前是否有被测模块装入,若是,则通过该通信链路控制所述被测模块的工作模式;
根据被测模块输出对应的工作模式的视频流,通过预设软件算法自动判断当前输出图像与预设的基准图像是否一致;
若是,则驱动电脑发出测试正常的语音提示,以通知操作人员更换新的模块进行检测;
若否,则在电脑上弹出报警窗口,并驱动电脑发出测试失败的语音提示,并对该被测模块进行异常标记。
作为优选方案,所述用于产品测试视频链路的自动检测方法,还包括:
通过前端的4路摄像头采集当前被测模块的模拟图像,并输入至所述被测模块,以使被测模块将模拟图像合成为视频流。
作为优选方案,所述被测模块将模拟图像合成为视频流,具体为:
将4路具有特殊图案输出的摄像头模拟图像输入被测模块,由被测模块内部进行数模转换和编码处理,将数模转换后得到的数字信号输入至被测模块的主处理器进行处理;
所述主处理器将原始图像进行畸变校正和透视变换处理,并将该4路图像进行拼接合成后得到对应工作模式的视频流。
作为优选方案,所述被测模块将模拟图像合成为视频流,还包括:
在所述被测模块的主处理器进行图像处理时,同时检测被测模块的前级视频输入装置、主处理器、内存芯片、存储器和电源的运行状态,判断被测模块的视频输入输出链路是否处于正常运行状态。
作为优选方案,通过预设软件算法自动判断当前输出图像与预设的基准图像是否一致,具体包括:
逐像素计算当前输出图像与预设的基准图像的差值并取绝对值,得到第一图像;
取第一图像中每个像素的RGB差值的最大值,作为该像素位置的差值,得到单通道的差值图像;
将所述单通道的差值图像进行二值化处理,得到第二图像;
根据预设阈值对第二图像进行腐蚀处理,得到最终差值图像;
统计所述最终差值图像中的非零像素个数,计算非零像素个数与基准图像整个像素个数的比值;
判断所述比值是否小于预设阈值,若是,则判定当前输出图像为正常图像;若否,则判定当前输出图像为异常图像。
本发明的一个实施例提供了一种用于产品测试视频链路的自动检测装置,包括:
通信链路模块,用于通过通信链路判断当前是否有被测模块装入,若是,则通过该通信链路控制所述被测模块的工作模式;
图像判断模块,用于根据被测模块输出对应的工作模式的视频流,通过预设软件算法自动判断当前输出图像与预设的基准图像是否一致;
驱动模块,用于若判断当前输出图像与预设的基准图像一致,则驱动电脑发出测试正常的语音提示,以通知操作人员更换新的模块进行检测;若不一致,则在电脑上弹出报警窗口,并驱动电脑发出测试失败的语音提示,并对该被测模块进行异常标记。
作为优选方案,所述用于产品测试视频链路的自动检测装置,还包括:
前端采集模块,用于通过前端的4路摄像头采集当前被测模块的模拟图像,并输入至所述被测模块,以使被测模块将模拟图像合成为视频流。
作为优选方案,所述用于产品测试视频链路的自动检测装置,还包括:
链路检测模块,用于在所述被测模块的主处理器进行图像处理时,同时检测被测模块的前级视频输入装置、主处理器、内存芯片、存储器和电源的运行状态,判断被测模块的视频输入输出链路是否处于正常运行状态。
本发明的一个实施例提供了一种用于产品测试视频链路的自动检测的终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的用于产品测试视频链路的自动检测方法。
本发明的一个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上所述的用于产品测试视频链路的自动检测方法。
实施本发明实施例,具有如下有益效果:
本发明实施例提供的一种用于产品测试视频链路的自动检测方法及装置,所述方法包括:通过通信链路判断当前是否有被测模块装入,若是,则通过该通信链路控制所述被测模块的工作模式;根据被测模块输出对应的工作模式的视频流,通过预设软件算法自动判断当前输出图像与预设的基准图像是否一致;若是,则驱动电脑发出测试正常的语音提示,以通知操作人员更换新的模块进行检测;若否,则在电脑上弹出报警窗口,并驱动电脑发出测试失败的语音提示,并对该被测模块进行异常标记。
与现有技术相比,本发明实施例提供的一种用于产品测试视频链路的自动检测方法及装置,通过设备和软件自动化检测的方式,完整地测试了从摄像头前级输入,到主处理器的图像处理模块,以及图像输出的整条链路是否正确,包括图像的色彩、形状等,同时还将该条链路完整运行起来的软硬件支撑系统也一并完备地做了测试,解决人工操作容易漏检、误检的问题,保证出货产品的品质一致性,并且提高产品检测的效率。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
首先介绍本发明可以提供的应用场景,如自动检测产品视频输入输出链路是否正常。
本发明第一实施例:
请参阅图1-3。
如图1所示,本实施例提供了一种用于产品测试视频链路的自动检测方法,至少包括如下步骤:
通过通信链路判断当前是否有被测模块装入,若是,则通过该通信链路控制所述被测模块的工作模式;
根据被测模块输出对应的工作模式的视频流,通过预设软件算法自动判断当前输出图像与预设的基准图像是否一致;
若是,则驱动电脑发出测试正常的语音提示,以通知操作人员更换新的模块进行检测;
若否,则在电脑上弹出报警窗口,并驱动电脑发出测试失败的语音提示,并对该被测模块进行异常标记。
具体的,通过运行于该电脑上的测试软件,首先通过通信链路判断当前是否有被测模块装入,若有被测模块装入,则通过该链路控制被测模块工作于不同的模式(不同的模式:一般选取不同的视图,选定的视图包含了全部的4路摄像头图像),并且接收来自于被测模块输出的视频流,将不同模式下的视频流与预置的基准图像比对(该基准图像在量产前设定),通过软件算法自动判断图像是否正常,如图案位置是否正确,颜色是否正常,是否有残缺,以及是否有异常的黑线等等,若判断图像正常,则驱动电脑以轻缓的声音通知工人测试正常完成,可以更换被测模块,若判断图像异常,则在电脑上弹出报警窗口,并驱动电脑以急促的声音通知工人测试失败,工人将该板标记为NG(测试不通过)。
在优选的实施例中,如图2所示,所述用于产品测试视频链路的自动检测方法,还包括:
通过前端的4路摄像头采集当前被测模块的模拟图像,并输入至所述被测模块,以使被测模块将模拟图像合成为视频流。
具体的,通过前端的4路摄像头替代实际产品中安装于车身前后左右的4个摄像头,但此摄像头为特殊定制的摄像头,不论外界环境如何变化,均输出固定的彩条图案(与普通的摄像头图像跟随环境变化而变化不同)。前级摄像头特殊固定的图案输出保证了后级电脑软件自动判断输出图像的可行性。若摄像头采用普通的摄像头,图像将随着工况的位置、灯光等变化而变化,后级电脑端的软件无法有效判别;
在优选的实施例中,所述被测模块将模拟图像合成为视频流,具体为:
将4路具有特殊图案输出的摄像头模拟图像输入被测模块,由被测模块内部进行数模转换和编码处理,将数模转换后得到的数字信号输入至被测模块的主处理器进行处理;
所述主处理器将原始图像进行畸变校正和透视变换处理,并将该4路图像进行拼接合成后得到对应工作模式的视频流。
具体的,被测模块的NVP6158接收前端的4路摄像头输入图像,将4路模拟图像经过A/D转换和编码后,以数字形式输入到主处理器T7(也可以是其它的处理器),T7将这些原始的图像,执行相关的畸变校正、透视变换以及将该4路图像拼接合成后,得到最终被测模块所需的输出,该输出再给到测试电脑,进行下一级的判断和控制。
在优选的实施例中,所述被测模块将模拟图像合成为视频流,还包括:
在所述被测模块的主处理器进行图像处理时,同时检测被测模块的前级视频输入装置、主处理器、内存芯片、存储器和电源的运行状态,判断被测模块的视频输入输出链路是否处于正常运行状态。
具体的,被测模块即实际待测的产品,完全按照实际的产品功能运行,被测模块的内部结构包括前级视频输入装置、主处理器、内存芯片、存储器和电源。主处理器T7在进行图像处理时,因T7的系统运行需要用到DDR3和eMMC,以及对应的电源模块,这些核心器件辅助T7能正常运行,若这些器件存在异常,则电脑无法获得正确的图像。因此若电脑能够获得正确的图像,则说明被测模块的前级视频输入(NVP6158)、主处理器(T7),以及支撑系统运行的DDR3、eMMC和电源都是正常的,即该产品的视频输入输出链路是正常的。
在优选的实施例中,通过预设软件算法自动判断当前输出图像与预设的基准图像是否一致,具体包括:
逐像素计算当前输出图像与预设的基准图像的差值并取绝对值,得到第一图像;
取第一图像中每个像素的RGB差值的最大值,作为该像素位置的差值,得到单通道的差值图像;
将所述单通道的差值图像进行二值化处理,得到第二图像;
根据预设阈值对第二图像进行腐蚀处理,得到最终差值图像;
统计所述最终差值图像中的非零像素个数,计算非零像素个数与基准图像整个像素个数的比值;
判断所述比值是否小于预设阈值,若是,则判定当前输出图像为正常图像;若否,则判定当前输出图像为异常图像。
具体的,判断图像是否正常,主要是判断当前输出图像与量产前预设的基准图像是否一致,算法如下:
设:预设的基准图像为I0,当前输出图像为I1,图像分辨率均为mxn,彩色图像(RGB三通道):
(1)、先逐像素计算两个图像的差值并取绝对值,得到图像Idiff_abs:
Idiff_abs=abs(I0-I1)
注意Idiff_abs大小也是mxn,RGB三通道彩色图像。
(2)、取每个像素的RGB差值中的最大值,作为该像素位置的差值,得到单通道的差值图像:
Idiff_gray=max逐像素rgb差值(Idiff_abs)
注意此时Idiff_gray虽然大小也是mxn,但成了单通道的灰度图像。
(3)、将Idiff_gray二值化,得到Idiff_bin。给定阈值t,一般取5~10,对Idiff_gray中的每个像素:
(4)、对Idiff_gray进行腐蚀,以消除一些杂乱的噪点,腐蚀算法如下:
对于卷积核K:
用该卷积核K对Idiff_gray图像做卷积,若卷积值大于等于5,则该将值置1,否则置0,得到最终的差值图像Idiff。通过这种方法,可以有效去除一些零散的噪点图像。
(5)、统计I
diff中非零像素个数,记为N。显然,N为当前输出图像与基准图像不一致的像素点个数(当前图像与基准图像不相似度,或称为差异度)。计算N与整个像素个数的比值
r越大,则说明当前输出图像与基准图像差异越大。给定阈值thres,若r<thres,则认为图像正常,否则可认为整个视频输入输出链路异常,测试不通过。thres值视判定的松紧而定,若希望严格保证图像输出质量,则将thres设小,否则设大。一般在0.08~0.15之间。
如图3所示,本实施例还提供了用于产品测试视频链路的自动检测方法的一种实施方式,具体步骤包括:检测是否有被测模块装入,若是,则控制被测模块的工作模式,捕获被测模块输出的视频流,通过算法自动识别图像是否正常,若是,则电脑发出轻缓声音通知测试人员更换被测模块,若否,则电脑通过弹窗警告,并以急促声音通知测试人员NG;判断图像后,检测被测模块是否取出,若是,则重复上述步骤,直至所有产品测试完毕。上述测试系统中,完整地测试了从摄像头前级输入,到主处理器的图像处理模块,以及图像输出的整条链路是否正确,包括图像的色彩、形状等,以及将该条链路完整运行起来的软硬件支撑系统(如主处理器软硬件系统,DDR3,eMMC等)也一并完备地做了测试。
本实施例提供的一种用于产品测试视频链路的自动检测方法,至少包括如下步骤:通过通信链路判断当前是否有被测模块装入,若是,则通过该通信链路控制所述被测模块的工作模式;根据被测模块输出对应的工作模式的视频流,通过预设软件算法自动判断当前输出图像与预设的基准图像是否一致;若是,则驱动电脑发出测试正常的语音提示,以通知操作人员更换新的模块进行检测;若否,则在电脑上弹出报警窗口,并驱动电脑发出测试失败的语音提示,并对该被测模块进行异常标记。
与现有技术相比,本实施例具有以下有益效果:
通过设备和软件自动化的措施,解决人工操作容易漏检、误检的问题,保证出货产品的品质一致性;极大提升检测效率,工人只需要更换被测板,无需盯着当前测试板看是否正常,因此一个工人可以同时负责多块板的测试。以本案为例,之前用传统的方案批量测试,测一套设备需要2.5分钟,每个工人同时只能测一套设备,且存在漏检导致不良品流出的风险,实施此套系统后,虽然测单套设备仍需要2.5分钟,但由于工人只需要负责放入和拿出被测设备,中间流程由系统全自动完成,因此一个工人可以同时兼顾5套设备,效率是原来的5倍,大大提升测试效率。
本发明第二实施例:
请参阅图4-5。
如图4所示,本实施例提供了一种用于产品测试视频链路的自动检测装置,包括:
通信链路模块,用于通过通信链路判断当前是否有被测模块装入,若是,则通过该通信链路控制所述被测模块的工作模式;
图像判断模块,用于根据被测模块输出对应的工作模式的视频流,通过预设软件算法自动判断当前输出图像与预设的基准图像是否一致;
驱动模块,用于若判断当前输出图像与预设的基准图像一致,则驱动电脑发出测试正常的语音提示,以通知操作人员更换新的模块进行检测;若不一致,则在电脑上弹出报警窗口,并驱动电脑发出测试失败的语音提示,并对该被测模块进行异常标记。
具体的,通过运行于该电脑上的测试软件,首先通过通信链路判断当前是否有被测模块装入,若有被测模块装入,则通过该链路控制被测模块工作于不同的模式(不同的模式:一般选取不同的视图,选定的视图包含了全部的4路摄像头图像),并且接收来自于被测模块输出的视频流,将不同模式下的视频流与预置的基准图像比对(该基准图像在量产前设定),通过软件算法自动判断图像是否正常,如图案位置是否正确,颜色是否正常,是否有残缺,以及是否有异常的黑线等等,若判断图像正常,则驱动电脑以轻缓的声音通知工人测试正常完成,可以更换被测模块,若判断图像异常,则在电脑上弹出报警窗口,并驱动电脑以急促的声音通知工人测试失败,工人将该板标记为NG(测试不通过)。
在具体的实施例中,对于用于产品测试视频链路的自动检测装置,主要有4路摄像头、被测模块,以及电脑,以及相互间的通信链路组成。4路摄像头输入被测模块,模拟360环视系统中的安装于车身前后左右的4个摄像头,被测模块执行360环视系统的合成算法后,将合成后的图像传入电脑中。电脑通过通信链路(如UART接口)控制被测模块工作于不同的模式。
在优选的实施例中,如图5所示,所述用于产品测试视频链路的自动检测装置,还包括:
前端采集模块,用于通过前端的4路摄像头采集当前被测模块的模拟图像,并输入至所述被测模块,以使被测模块将模拟图像合成为视频流。
链路检测模块,用于在所述被测模块的主处理器进行图像处理时,同时检测被测模块的前级视频输入装置、主处理器、内存芯片、存储器和电源的运行状态,判断被测模块的视频输入输出链路是否处于正常运行状态。
本实施例提供的一种用于产品测试视频链路的自动检测装置,包括:通信链路模块、图像判断模块、驱动模块、前端采集模块和链路检测模块,通过设备和软件自动化检测的方式,完整地测试了从摄像头前级输入,到主处理器的图像处理模块,以及图像输出的整条链路是否正确,包括图像的色彩、形状等,同时还将该条链路完整运行起来的软硬件支撑系统也一并完备地做了测试,解决人工操作容易漏检、误检的问题,保证出货产品的品质一致性,并且提高产品检测的效率。
本发明的一个实施例提供了一种用于产品测试视频链路的自动检测的终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的用于产品测试视频链路的自动检测方法。
本发明的一个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上所述的用于产品测试视频链路的自动检测方法。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述模块的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变形,这些改进和变形也视为本发明的保护范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。