CN113283273A - 基于视觉技术的前方障碍物实时检测方法及系统 - Google Patents

基于视觉技术的前方障碍物实时检测方法及系统 Download PDF

Info

Publication number
CN113283273A
CN113283273A CN202010310169.2A CN202010310169A CN113283273A CN 113283273 A CN113283273 A CN 113283273A CN 202010310169 A CN202010310169 A CN 202010310169A CN 113283273 A CN113283273 A CN 113283273A
Authority
CN
China
Prior art keywords
module
target
obstacle
semantic segmentation
target detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010310169.2A
Other languages
English (en)
Inventor
曲伟强
王志伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Sharp Rail Equipment Co ltd
Original Assignee
Shanghai Sharp Rail Equipment Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Sharp Rail Equipment Co ltd filed Critical Shanghai Sharp Rail Equipment Co ltd
Priority to CN202010310169.2A priority Critical patent/CN113283273A/zh
Publication of CN113283273A publication Critical patent/CN113283273A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L23/00Control, warning, or like safety means along the route or between vehicles or vehicle trains
    • B61L23/04Control, warning, or like safety means along the route or between vehicles or vehicle trains for monitoring the mechanical state of the route
    • B61L23/041Obstacle detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Abstract

本发明公开了一种基于视觉技术的前方障碍物实时检测方法及系统,所述前方障碍物实时检测方法包括:获取目标图片;通过目标检测模型识别所述目标图片中的前方障碍物,以得到所述前方障碍物的类别及坐标;通过语义分割模型识别所述目标图片中的目标区域,以得到所述目标区域的图形矩阵;判断所述前方障碍物的是否属于关键物体,若是,则判断所述关键物体是否位于所述图形矩阵内,若位于,则产生报警信号。本发明通过将目标检测模型与语义分割模型有效的结合起来,可以实现对障碍物位置的判断,通过对关键物体的报警处理可以在提升用户体验的同时避免事故的发生。

Description

基于视觉技术的前方障碍物实时检测方法及系统
技术领域
本发明涉及计算机视觉及图像处理领域,特别涉及一种基于视觉技术的前方障碍物实时检测方法及系统。
背景技术
计算机视觉是使用计算机及相关设备对生物视觉的一种模拟。它的主要任务就是通过对采集的图片或视频进行处理以获得相应场景。计算机视觉现阶段主要研究的内容有图像分类,目标检测,文本识别,人脸识别等。利用计算机视觉做目标检测目前应用较为广泛;
但现有的计算机识别对硬件要求高,通常需要达到较好的识别效果需要具备较强计算能力的硬件设备;并且现有的技术识别到的物品的范围及精度有限,如需实现高精度的识别功能也需要很高的成本。
发明内容
本发明要解决的技术问题是为了克服现有技术中图像识别技术无法兼顾低成本硬件及高精度的识别度的缺陷,提供一种基于视觉技术的前方障碍物实时检测方法及系统。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供了一种基于视觉技术的前方障碍物实时检测方法,所述前方障碍物实时检测方法包括:
获取目标图片;
通过目标检测模型识别所述目标图片中的前方障碍物,以得到所述前方障碍物的类别及坐标;
通过语义分割模型识别所述目标图片中的目标区域,以得到所述目标区域的图形矩阵;
判断所述前方障碍物的是否属于关键物体,若是,则判断所述关键物体是否位于所述图形矩阵内,若位于,则产生报警信号。
其中,所述关键物体包括站立的行人、蹲立的行人、躺卧的行人、箱子、石头、列车等。
较佳地,所述目标检测模型及所述语义分割模型部署在NVIDIAJETSON TX2(一种嵌入式计算平台)上;
所述NVIDIAJETSON TX2包括Jetson TX2(一种微型计算机)模块及电源模块;
所述Jetson TX2模块用于运行所述目标检测模型及所述语义分割模型;
所述电源模块用于提供电源。
较佳地,所述NVIDIAJETSON TX2还包括有以太网接口,所述以太网接口用于连接网络摄像头;
所述前方障碍物实时检测方法还包括有:
通过所述网络摄像头采集前方视频,所述前方视频包括实时视频流及离线视频;
其中,所述实时视频流包括RTSP(实时流传输协议)视频流。
将所述前方视频发送至Jetson TX2模块,所述Jetson TX2模块对所述前方视频进行解码以得到所述目标图片;
所述NVIDIAJETSON TX2还包括Micro USB(一种通用串行总线接口)模块及USBType A(一种通用串行总线接口)模块,所述Micro USB模块用于连接外接设备以部署所述NVIDIAJETSON TX2,所述USB Type A模块用于连接外接设备以调试目标检测算法及语义分割算法;
其中,所述Micro USB模块可以连接包括主机在内的外接设备,通过其连接的外接设备给所述NVIDIA JETSON TX2进行刷机,所述USB Type A模块可以连接包括鼠标、键盘在内的外接设备,通过其连接的外接设备来调试目标检测算法及语义分割算法。
较佳地,所述以太网接口连接有两个网络摄像头,所述两个网络摄像头分别用于采集前方不同距离范围的视频。
其中,两个网络摄像头分别对应一个端口地址,远路摄像头的拍摄距离在150m-200m之间,近路摄像头拍摄范围在50m内。
较佳地,
所述目标检测模型通过下述步骤获得:
预设第一损失函数,所述第一损失函数包括第一阈值;
将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法;
计算所述目标检测算法的运算结果与真实的所述障碍物的第一相符程度;
判断所述第一相符程度是否达到所述第一阈值,若是,则得到所述目标检测模型,若否,则继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法,或,调整所述损失函数的参数后继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法;
所述语义分析模型通过下述步骤获得:
预设第二损失函数,所述第二损失函数包括第二阈值;
将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
计算所述语义分割算法的运算结果与真实区域的第二相符程度;
判断所述第二相符程度是否达到所述第二阈值,若是,则得到所述语义分割模型,若否,则继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法,或,调整所述损失函数的参数后继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
其中,所述目标检测算法包括YOLOv3(一种算法),第一损失函数的参数包括学习率、batchsize(批尺寸)等等,所述语义分割算法包括ESPNet(一种算法);
其中,所述目标检测模型为预先训练好的模型,该模型通过预先设定好第一损失函数,使用不同种类不同场景下的障碍物图片作为训练集,将训练集图片输入算法,将算法的预测结果与真实结果进行不断拟合,进行几十万甚至几百万次迭代后使得通过第一损失函数得到的值不断接近设定的第一阈值,当模型的预测结果接近真实结果,则训练得到了所述目标检测模型。
同样地,所述语义分割模型也是通过预先将不同场景下的区域图片作为训练集输入算法,再进行几十万甚至几百万次迭代后使得通过第二损失函数得到的值不断接近设定的第一阈值,,当模型的预测结果接近真实结果,则训练得到了所述语义分割模型。
和/或,
所述前方障碍物实时检测方法还包括:
将所述报警信号传送至RCU(雷达控制单元)以进行报警处理;
和/或,
所述前方障碍物实时检测方法还包括:
将所述前方障碍物的类别及坐标传输至TLCD(触摸屏)主机;
通过TLCD主机显示所述前方障碍物的信息,所述信息包括所述前方障碍物的位置及类别;
和/或,
通过目标检测模型识别所述目标图片中的前方障碍物的步骤中,
通过采用C++接口调用所述目标检测模型;
和/或,
通过目标检测模型识别所述目标图片中的前方障碍物的步骤包括:
通过去除所述卡尔曼滤波跟踪函数的目标检测模型识别所述目标图片中的前方障碍物;
和/或,
获取目标图片的步骤中,所述目标图片为当前视频帧;
通过语义分割模型识别所述目标图片中的目标区域的步骤中,所述目标区域为铁轨。
本发明还提供了一种基于视觉技术的前方障碍物实时检测系统,所述前方障碍物实时检测系统包括:获取模块、障碍物识别模块、目标区域识别模块及判断模块;
所述获取模块用于获取目标图片;
所述障碍物识别模块用于通过目标检测模型识别所述目标图片中的前方障碍物,以得到所述前方障碍物的类别及坐标;
所述目标区域识别模块用于通过语义分割模型识别所述目标图片中的目标区域,以得到所述目标区域的图形矩阵;
所述判断模块用于判断所述前方障碍物的是否属于关键物体,若是,则判断所述关键物体是否位于所述图形矩阵内,若位于,则产生报警信号。
其中,所述关键物体包括关键物体包括站立的行人、蹲立的行人、躺卧的行人、箱子、石头、列车等。
较佳地,
所述目标检测模型及所述语义分割模型部署在NVIDIAJETSON TX2上;
所述NVIDIA JETSON TX2包括Jetson TX2模块及电源模块;
所述Jetson TX2模块用于运行所述目标检测模型及所述语义分割模型;
所述电源模块用于提供电源。
较佳地,所述NVIDIA JETSON TX2还包括有以太网接口,所述以太网接口用于连接网络摄像头;
所述前方障碍物实时检测系统还包括有:采集模块及发送模块,
所述采集模块用于通过所述网络摄像头采集前方视频,所述前方视频包
括实时视频流及离线视频;
其中,所述实时视频流包括RTSP视频流。
所述发送模块用于将所述前方视频发送至Jetson TX2模块,所述JetsonTX2模块对所述前方视频进行解码以得到所述当前视频帧;
所述NVIDIA JETSON TX2还包括Micro USB模块及USB Type A模块,
所述Micro USB模块用于连接外接设备以部署所述NVIDIA JETSONTX2,所述USBType A模块用于连接外接设备以调试目标检测算法及语义分割算法;
其中,所述Micro USB模块可以连接包括主机在内的外接设备,通过其连接的外接设备给所述NVIDIA JETSON TX2进行刷机,所述USB Type A模块可以连接包括鼠标、键盘在内的外接设备,通过其连接的外接设备来调试目标检测算法及语义分割算法。
较佳地,所述以太网接口连接有两个网络摄像头,所述两个网络摄像头分别用于采集前方不同距离范围的视频。
其中,两个网络摄像头分别对应一个端口地址,远路摄像头的拍摄距离在150m-200m之间,近路摄像头拍摄范围在50m内。
较佳地,所述检测系统还包括目标检测模块及语义分割模块,
所述目标检测模块用于获得所述目标检测模型,所述目标检测模块包括有第一预设单元、第一训练单元、第一计算单元及第一阈值判断单元;
所述第一预设单元用于预设第一损失函数,所述第一损失函数包括第一阈值;
所述第一训练单元用于将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法;
所述第一计算单元用于计算所述目标检测算法的运算结果与真实的所述障碍物的第一相符程度;
所述第一阈值判断单元用于判断所述第一相符程度是否达到所述第一阈值,若是,则得到所述目标检测模型,若否,则继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法,或,调整所述损失函数的参数后继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法;
所述语义分割模块用于获得所述语义分割模型,所述语义分割模块包括有第二预设单元、第二训练单元、第二计算单元及第二阈值判断单元;
所述第二预设单元用于预设第二损失函数,所述第二损失函数包括第二阈值;
所述第二训练单元用于将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
所述第二计算单元用于计算所述语义分割算法的运算结果与真实的区域的第二相符程度;
所述第二阈值判断单元用于判断所述第二相符程度是否达到所述第二阈值,若是,则得到所述语义分割模型,若否,则继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法,或,调整所述损失函数的参数后继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
其中,所述目标检测算法包括YOLOv3,第一损失函数的参数包括学习率、batchsize等等,所述语义分割算法包括ESPNet;
其中,所述目标检测模型为预先训练好的模型,该模型通过预先设定好第一损失函数,使用不同种类不同场景下的障碍物图片作为训练集,将训练集图片输入算法,将算法的预测结果与真实结果进行不断拟合,进行几十万甚至几百万次迭代后使得通过第一损失函数得到的值不断接近设定的第一阈值,当模型的预测结果接近真实结果,则训练得到了所述目标检测模型。
同样地,所述语义分割模型也是通过预先将不同场景下的铁轨图片作为训练集输入模型,再进行几十万甚至几百万次迭代后使得通过第二损失函数得到的值不断接近设定的第二阈值,当模型的预测结果接近真实结果,则训练得到了所述语义分割模型。和/或,
所述前方障碍物实时检测系统还包括:
报警模块,用于将报警信号传送至RCU雷达系统以进行报警处理;
和/或,
所述前方障碍物实时检测系统还包括:传输模块及显示模块;
所述传输模块用于将所述前方障碍物的类别及坐标传输至TLCD主机;
所述显示模块用于通过TLCD主机显示所述前方障碍物的信息,所述信息包括所述前方障碍物的位置及类别;
和/或,
所述障碍物识别模块通过采用C++接口调用所述目标检测模型;
和/或,
障碍物识别模块包括:识别单元,
所述识别单元用于通过去除所述卡尔曼滤波跟踪函数的目标检测模型识别所述目标图片中的前方障碍物。
和/或,
所述目标图片为当前视频帧,所述目标区域为铁轨。
本发明的积极进步效果在于:本发明通过在NVIDIAJETSON TX2上部署目标检测模型及语义分割模型来实时识别前方的障碍物,从而可以实现在低成本硬件的情况下对前方障碍物的实时高精度识别,通过将语义分割算法和目标检测算法有效的结合起来,可以实现对障碍物位置的判断,通过对障碍物的可视化显示及对关键物体的报警处理可以在提升用户体验的同时避免事故的发生。
附图说明
图1为实施例1的基于视觉技术的前方障碍物实时检测方法的流程图。
图2为实施例2的基于视觉技术的前方障碍物实时检测方法的流程图。
图3为实施例2中的NVIDIA JETSON TX2模块的模块示意图。
图4为实施例3中的基于视觉技术的前方障碍物实时检测方法运用到实际场景中的效果示意图。
图5为实施例4的基于视觉技术的前方障碍物实时检测系统的模块示意图。
图6为实施例5的基于视觉技术的前方障碍物实时检测系统的模块示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供了一种基于视觉技术的前方障碍物实时检测方法,图1为所述检测方法的流程图,如图1所示,所述检测方法包括:
步骤11、获取目标图片;
步骤12、通过目标检测模型识别所述目标图片中的前方障碍物;
步骤13、通过语义分割模型识别所述目标图片中的目标区域;
步骤14、判断所述前方障碍物的是否属于关键物体,若是,则执行步骤15,若否,则返回步骤11;
步骤15、判断所述关键物体是否位于所述图形矩阵内,若位于,则执行步骤16、产生报警信号,若不位于,则不产生报警信号。
其中,所述目标检测模型为预先训练好的模型,所述目标检测模型通过下述步骤获得:
预设第一损失函数,所述第一损失函数包括第一阈值;
将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法;
计算所述目标检测算法的运算结果与真实的所述障碍物的第一相符程度;
判断所述第一相符程度是否达到所述第一阈值,若是,则得到所述目标检测模型,若否,则继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法,或,调整所述损失函数的参数后继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法,其中,所述参数包括学习率、batchsize、损失函数的定义等等;
其中,通过将不同场景下的障碍物图片作为训练集输入至目标检测模型,从而得到预测结果,通过将预测结果与真实结果进行不断拟合,进行几十万甚至几百万次迭代后使得其得到的第一损失函数的值不断接近设定的第一阈值,直至其满足阈值的要求,则训练得到想要的目标检测模型,所述目标检测算法包括YOLOv3,
所述语义分析模型通过下述步骤获得:
预设第二损失函数,所述第二损失函数包括第二阈值;
将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
计算所述语义分割算法的运算结果与真实区域的第二相符程度;
判断所述第二相符程度是否达到所述第二阈值,若是,则得到所述语义分割模型,若否,则继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法,或,调整所述损失函数的参数后继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
同样地,所述语义分割模型也是通过预先将不同场景下的区域图片作为训练集输入算法,将算法的预测结果与真实结果进行不断拟合,再进行几十万甚至几百万次迭代后使得其得到的第一损失函数的值不断接近设定的第二阈值,直至其满足阈值的要求,则训练得到想要的目标检测模型,所述语义分割算法包括ESPNet。
为了使所述检测方法运行速度更快,本实施例中,通过用C++接口调用所述目标检测模型,以及用C++接口实现目标检测模型与语义分割模型的交互通信。为了减少不必要内存的占用,使所述检测方法运行更优效率,本实施例中可以限制输入目标检测模型及所述语义分割模型图片的大小。如为了使得检测精度更高,可以采用608*608的分辨率尺寸的输入图片进行检测,但是考虑到检测速度,可以改为416*416的分辨率尺寸的输入图片进行检测可以使得检测精度和实时性都比较满意。输入图片的尺寸范围在320*320的分辨率尺寸到608*608之间。又如,语义分割算法的输入图片尺寸一般不超过512*1024的分辨率尺寸。
其中,本实施例中设置步骤14中的关键物体包括有站立的行人、蹲立的行人、躺卧的行人、列车、箱子、石头等,可以根据实际需要自行添加相应尺寸的物体加以训练并识别。如可以设定50*50大小的某种箱子进行训练,则在后续的测试中模型便可识别出该类型的箱子。
本实施例中,通过结合目标检测模型及语义分割模型,可以识别前方的障碍物及位置,并且通过C++语言调用目标检测模型比一般的通过Python语言调用目标检测模型更能提高检测速度,并且通过在一定的范围内限制输入目标检测模型及语义分割模型的图片的大小也可以提升检测速度,另外,通过去除掉原目标检测算法中的一些非必要功能函数可以精简模型、优化内存。
本实施例中,通过预先设定好第一损失函数与第二损失函数,通过训练目标检测模型及语义分割模型使其分别不断拟合第一损失函数与第二损失函数从而可以分别得到可以识别障碍物的目标检测模型及可以识别目标区域的语义分割模型,通过上述模型,可以高效地判断出前方障碍物是否属于关键物体,且是否位于目标区域范围内。通过对关键物体的报警从而起到提醒相关人员、避免事故发生的目的。
实施例2
本实施例提供了另一种基于视觉技术的前方障碍物实时检测方法,图2为所述检测方法的流程图,如图2所示,所述检测方法包括:
步骤21、通过网络摄像头采集前方视频;
步骤22、将所述前方视频发送至Jetson TX2模块;
步骤23、通过所述Jetson TX2模块解码所述前方视频以得到目标图片;
步骤24、通过目标检测模型识别所述目标图片中的前方障碍物;
步骤25、通过语义分割模型识别所述目标图片中的目标区域;
步骤26、通过TLCD主机显示所述前方障碍物的信息;
其中,在显示所述前方障碍物的信息之前,需将所述前方障碍物的类别及坐标传输至TLCD主机;
步骤27、判断所述前方障碍物的是否属于关键物体,若是,则执行步骤28,若否,则返回步骤21;
步骤28、判断所述关键物体是否位于所述图形矩阵内,若位于,则执行步骤29、产生报警信号,若不位于,则不产生报警信号。
步骤30、将所述报警信号传送至RCU雷达系统以进行报警处理。
其中,所述目标检测模型及所述语义分割模型部署在NVIDIAJETSONTX2上,可以根据需求,在NVIDIAJETSON TX2上设置不同的模块,如图3所示,本实施例中,NVIDIAJETSONTX2包括Jetson TX2模块31、以太网接口32、电源模块33、Micro USB模块34及USB Type A模块35。
Jetson TX2模块31用于运行所述目标检测模型及所述语义分割模型。
其中,所述目标检测模型为预先训练好的模型,所述目标检测模型通过下述步骤获得:
预设第一损失函数,所述第一损失函数包括第一阈值;
将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法;
计算所述目标检测算法的运算结果与真实的所述障碍物的第一相符程度;
判断所述第一相符程度是否达到所述第一阈值,若是,则得到所述目标检测模型,若否,则继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法,或,调整所述损失函数的参数后继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法,其中,所述参数包括学习率、batchsize、损失函数的定义等等;
其中,通过将不同场景下的障碍物图片作为训练集输入至目标检测模型,从而得到预测结果,通过将预测结果与真实结果进行不断拟合,进行几十万甚至几百万次迭代后使得其得到的第一损失函数的值不断接近设定的第一阈值,直至其满足阈值的要求,则训练得到想要的目标检测模型,所述目标检测算法包括YOLOv3,
所述语义分析模型通过下述步骤获得:
预设第二损失函数,所述第二损失函数包括第二阈值;
将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
计算所述语义分割算法的运算结果与真实区域的第二相符程度;
判断所述第二相符程度是否达到所述第二阈值,若是,则得到所述语义分割模型,若否,则继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法,或,调整所述损失函数的参数后继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
同样地,所述语义分割模型也是通过预先将不同场景下的区域图片作为训练集输入算法,将算法的预测结果与真实结果进行不断拟合,再进行几十万甚至几百万次迭代后使得其得到的第一损失函数的值不断接近设定的第二阈值,直至其满足阈值的要求,则训练得到想要的目标检测模型,所述语义分割算法包括ESPNet。
其中,为了使目标检测模型及所述语义分割模型所占用内存更小,更易于在Jetson TX2模块31中跑起来,本实施例中,通过用C++接口调用目标检测模型并且去除掉目标检测模型中的非必要功能函数,如,卡尔曼滤波跟踪函数,另外,也可以通过限制输入目标检测模型及所述语义分割模型图片的大小以降低内存使用率。
以太网接口32用于连接网络摄像头,本实施例中,为了使本检测方法能够实现的检测范围更广,在步骤21中,使用远近两个网络摄像头来采集前方视频,所述两个网络摄像头分别用于采集前方不同距离范围的视频,其中,两个网络摄像头分别对应一个端口地址,远路摄像头的拍摄距离在150m-200m之间,近路摄像头拍摄范围在50m内。
本实施例中,网络摄像头和JETSON TX2板卡是在一个局域网中的,网络摄像头通过以太网总线发送RTSP(实时流传输协议)协议的视频给JetsonTX2板,Jetson TX2的VPU(视觉处理器)会对视频流解码,可支持MJPG(一种视频编码格式)格式的压缩编码或无压缩编码,解码软件为Gstreamer(一种解码软件)。
电源模块33用于提供电源。
Micro USB模块34用于连接外部主机以给Jetson TX2刷机,即通过将各模块打包好成安装包,并且可以直接通过该安装包以给Jetson TX2重装系统;USB Type A模块35用于连接外接设备,如鼠标、键盘,以调试所述目标检测算法及所述语义分割算法。
本实施例中,通过在NVIDIAJETSON TX2添加不同的USB模块,从而可以方便对本实施例中的检测方法的调试及系统镜像刷机,并且可以根据实际需求在NVIDIAJETSON TX2添加不同的模块,如,可以添加HDMI(高清晰度多媒体接口)以外接显示屏进行结果显示,从而使本实施例更具有延展性、适用面更广。
本实施例中,通过将目标检测模型及语义分割模型部署在NVIDIAJETSON TX2,大大节约了成本,并且改良后的目标检测模型及语义分割模型也使运行速度更快、占用系统内存更小,满足了实际场景下的功能需求。
其中,在步骤24中,可以得到目标图片中障碍物的类别及坐标,本实施例设计了多种可识别的障碍物,充分考虑到了前方可能出现的障碍物类别。但根据本实施例中的设计要求,必须检测出的关键物体包括站立的行人、蹲立的行人、躺卧的行人、箱子、石头、列车等,另外,也可以自行设定关键物体的尺寸,如可以设定50*50大小的某种类型的箱子,50*50大小的指定石头等。也可以根据实践中的需求规定不同的设计要求,指定不同的关键物体。
其中,为了获得检测出的障碍物具体在目标图片中的位置信息,在执行完步骤24后需执行步骤25,来根据目标区域的位置及障碍物的位置来判断障碍物是否在目标区域内,若在,则继续执行步骤26、通过TLCD主机显示所述前方障碍物的信息。另外,目标区域可以根据实际情况适当向外延伸一些距离。
其中,步骤26为本实施例的优选方案,也可以不执行步骤26,在执行完步骤25后直接跳到执行步骤27。步骤26是为了以可视化的形式显示前方障碍物,显示主机TLCD是独立于NVIDIAJETSON TX2板卡的。算法在JETSON TX2上进行计算,然后将计算结果发送给TLCD进行显示,显示内容是根据得到的障碍物坐标将所有检测到的障碍物以可视化的形式框出来。
本实施例中,必须执行步骤27,即判断前方障碍物是否为关键物体,如果检测出来的障碍物不是关键物体,则不需要报警;如果检测出来的是关键物体,则继续执行步骤28、判断所述关键物体是否位于所述图形矩阵内,如在铁轨上,则执行步骤29、产生报警信号,若所述关键物体不在图形矩阵,则不产生报警信号。
其中,在执行完步骤29后,再执行步骤30、将报警信号传送至RCU雷达系统以进行报警处理。本实施例中,最终的报警信号可以以字符串形式通过TCP通信发送给雷达系统。信息格式为:摄像头id+o+坐标+报警标志。其中摄像头id用来区分远、近距离两个镜头,a为远距离摄像头,b为近距离摄像头;o表示后面为目标物体信息;坐标为该目标物体的位置信息共16位;报警标志为关键物体的标记区分位,分别有n、e或w三种,e为人,w为非人,n为不在轨道。
本实施例中,实际运行时,需要先开启和TLCD显示主机的通信连接程序,开启语义分割算法,最后开启目标检测算法程序(主程序)。语义分割算法和目标检测算法之间通过soket(一种网络协议)协议实现通讯,二者通信无误后,视频流同时进到两个算法进行检测,各自检测到障碍物和铁轨掩码,检测完铁轨掩码后,通过cv2.imencode(一种函数)将目标区域图片格式转换(编码)成流数据,赋值到内存缓存中,方便后续通过网络传输给目标检测程序。目标检测程序接收到流数据后,通过cv2.imdecode()函数从指定的内存缓存中读取数据,并把数据转换(解码)成图像格式,恢复出铁轨图像,进行后续判断障碍物是否在铁轨上。本实施例中判断是否在目标区域上的依据是:障碍物的坐标框右下角或者左下角在目标区域掩码范围内。
本实施例中,通过目标检测算法及语义分割算法之间的通信交流从而可以实现关键物体是否在目标区域的判断,从而可以有效地判断前方障碍是否影响通行。
本实施例中,通过检测关键物体并判断该关键物体是否在目标区域的图形矩阵内从而可以检测到前方的危险障碍物,并通过对前方危险障碍物的报警处理,可以防止危险事故的发生。
为了更好地理解本实施例,下面通过一具体实例对本实施例进行进一步地解释:
首先启动摄像头、障碍物检测系统客户端和ARM(一种嵌入式开发板)板上的服务端。障碍物检测系统的神经网络模型加载大约30秒,在所有启动完成后,才开始目标检测流程。
读入视频流,摄像头通过以太网总线发送RTSP协议的视频流给JetsonTX2板,Jetson TX2的VPU视频处理器会对视频流解码,可支持MJPG格式的压缩编码或无压缩编码,解码软件为Gstreamer。
目标检测:解码完毕后,OpenCV(开放源代码计算机视觉类库)读入图片到CPU(中央处理器)主机的内存中,向Jetson TX2的GPU(图形处理单元)发送图片,GPU的CUDA(一种通用并行计算架构)程序通过深度卷积神经网络进行语义特征的提取,然后识别出目标,进行NMS(非极大值抑制)过滤,最终输出目标的类别和目标边框的左上角坐标(x,y)和坐标框宽高(w,h)。可实现对摄像头可拍摄范围内的目标检测,如10米至200米处的列车检测;对5米至200米处的行人静止站立的检测;对5米至100米处的行人静止蹲立的检测;对5米至100米处的行人静止躺卧的检测;对100米处轨道外侧行人站立、蹲立、躺卧的检测;对5米至50米处的指定类型的石头、箱子的检测。
目标区域定位:通过语义分割算法,对读入的图片进行检测,得到目标区域的掩码。
综合判断:当目标出现在掩码上,则判定为出现在目标区域上,不出现在目标区域上的任何物体通信报警标志位标记为n;若出现在目标区域上的物体为关键物体(例如,人),则在通信报警标志位标记为e;若不为关键物体,则在通信报警标志位标记为w。
通信:将所有识别出的物体发送到TLCD,信息格式为:摄像头id+o+坐标+报警标志。其中摄像头id用来区分远、近距离两个镜头,a为远距离摄像头,b为近距离摄像头;o表示后面为目标物体信息;坐标为该目标物体的位置信息共16位;报警标志为n,e或w,
例如ao0100020003000400eo0100020003000400wo0100020003000400n,坐标为四个四位数。
本实施例中,通过将改良后的目标检测算法及语义分割算法部署在NVIDIAJETSONTX2上,不仅仅可以使算法所占内存更小,系统运行速度更块,也大大节约了硬件成本,使得所述前方障碍物实时检测方法更具有市场前景,通过对前方障碍物中的目标物体进行报警从而不但可以预防危险事故的发生,也可以起到提升检测效率的目的。
实施例3
本实施例与实施例2基本相同,不同之处仅在于将实施例2中的目标图片替换成视频帧,将实施例2中的目标区域替换成铁轨,另外,本实施例中的关键物体为在铁轨上的可能会导致危险事故发生的危险物体,如各种姿势的人、指定的箱子、指定的石头等等。
为了更好的理解本实施例,下面通过一具体实例对其进行解释,图4示出了本实施例中的基于视觉技术的前方障碍物实时检测方法运用到实际场景中的效果示意图。如图4所示,61代表铁轨,62、63、64、65及66都为在视频帧中识别出来的物品,本实施例中的目标区域不限于铁轨61的实际区域,而是将铁轨61向外延伸了一小段距离,因此在本实施例中,即使63在铁轨以外,但由于63所处的的位置仍为本实施例中铁轨设置的延伸距离的范围内,因此,在本实施例中,识别出63为关键物体人,因此需要报警,而具体实践中,目标区域的具体范围,是否需要向外延伸,又需要延伸多少,可以根据实际需求进行设定。如图4所示,本实施例中,64的指定的箱子、62的人及63的人都是属于目标区域内,并且也都为关键物体,因此都需要进行报警,但65的石头虽然也处于目标区域的范围内,但在本实施例中,由于其尺寸小于本实施例中设定的关键物体的尺寸(50*50的石头),因此,其并不为关键物体,从而不需要报警,而在其它的实施例中对于关键物体可以按需求设计与训练,如设置超出其它尺寸的石头、箱子等也需要报警,,本实施例中,66的车不属于目标区域,因此,也无需报警。在实践中,为了提升用户体验,可以增加一些视觉效果,如可以将识别出来的不同类型的物体通过不同颜色的边框给标记出来,如可以设置白色掩码为铁轨区域、红框边框为铁轨范围内的关键物体,需报警;绿框为不在铁轨范围内的关键物体或非关键物体,不需报警;黄框为在铁轨范围内的非关键物体,不需报警,具体怎样设置可以根据实际中的需求进行相应的改变。
本实施例中,通过获取高速运行列车下的视频,通过将视频解码成视频帧以进行进一步障碍物分析,通过优化并结合目标检测模型及语义分割模型并且在NVIDIAJETSONTX2上部署上述模型,从而可以有效地判断铁轨上是否存在危险障碍物,不仅可以避免危险事故的发生,也降低了系统运行的内存、节约了成本,也更进一步使得本发明更具有市场前景。
实施例4
本实施例提供了一种基于视觉技术的前方障碍物实时检测系统,图5为所述检测系统的模块示意图,如图4所示,所述检测系统包括:获取模块41、障碍物识别模块42、目标区域识别模块43及判断模块44;
获取模块41用于获取目标图片;
障碍物识别模块42用于通过目标检测模型识别所述目标图片中的前方障碍物,以得到所述前方障碍物的类别及坐标;
目标区域识别模块43用于通过语义分割模型识别所述目标图片中的目标区域,以得到所述目标区域的图形矩阵;
判断模块44用于判断所述前方障碍物的是否属于关键物体,若是,则继续判断所述关键物体是否位于所述图形矩阵内,若否则返回执行获取模块41,若所述关键物体位于所述图形矩阵,则产生报警信号,若不位于,则不产生报警信号。
本实施例中的检测系统还包括有目标检测模块及语义分割模块,
所述目标检测模块用于获得所述目标检测模型,所述目标检测模块包括有第一预设单元、第一训练单元、第一计算单元及第一阈值判断单元;
所述第一预设单元用于预设第一损失函数,所述第一损失函数包括第一阈值;
所述第一训练单元用于将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法;
所述第一计算单元用于计算所述目标检测算法的运算结果与真实的所述障碍物的第一相符程度;
所述第一阈值判断单元用于判断所述第一相符程度是否达到所述第一阈值,若是,则得到所述目标检测模型,若否,则继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法,或,调整所述损失函数的参数后继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法;
所述语义分割模块用于获得所述语义分割模型,所述语义分割模块包括有第二预设单元、第二训练单元、第二计算单元及第二阈值判断单元;
所述第二预设单元用于预设第二损失函数,所述第二损失函数包括第二阈值;
所述第二训练单元用于将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
所述第二计算单元用于计算所述语义分割算法的运算结果与真实的区域的第二相符程度;
所述第二阈值判断单元用于判断所述第二相符程度是否达到所述第二阈值,若是,则得到所述语义分割模型,若否,则继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法,或,调整所述损失函数的参数后继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
其中,所述目标检测算法包括YOLOv3,第一损失函数的参数包括学习率、batchsize等等,所述语义分割算法包括ESPNet;
其中,所述目标检测模型为预先训练好的模型,该模型通过预先设定好第一损失函数,使用不同种类不同场景下的障碍物图片作为训练集,将训练集图片输入算法,将算法的预测结果与真实结果进行不断拟合,进行几十万甚至几百万次迭代后使得通过第一损失函数得到的值不断接近设定的第一阈值,直至其满足阈值的要求,则训练得到了所述目标检测模型。
同样地,所述语义分割模型也是通过预先将不同场景下的区域图片作为训练集输入算法,将算法的预测结果与真实结果进行不断拟合,再进行几十万甚至几百万次迭代后使得通过第二损失函数得到的值不断接近设定的第二阈值,当模型的预测结果接近真实结果,则训练得到了所述语义分割模型。
为了使所述目标检测模型运行速度更快、占用内存更小,本实施例中,障碍物识别模块42中的目标检测模型为优化精简过的目标检测模型。
为了使所述检测方法运行速度更快。本实施例中,通过用C++接口调用障碍物识别模块42中的目标检测模型,以及用C++接口实现目标检测模型与语义分割模型的交互通信。
为了减少不必要内存的占用,使所述检测方法运行更优效率,本实施例中可以限制输入目标检测模型及所述语义分割模型图片的大小。如为了使得检测精度更高,可以采用608*608的分辨率尺寸的输入图片进行检测,但是考虑到检测速度,可以改为416*416的分辨率尺寸的输入图片进行检测可以使得检测精度和实时性都比较满意。输入图片的尺寸范围在320*320的分辨率尺寸到608*608之间。又如,语义分割算法的输入图片尺寸一般不超过512*1024的分辨率尺寸。
其中,本实施例中判断模块44中的关键物体包括有站立的行人、蹲立的行人、躺卧的行人、箱子、石头、列车等,另外,也可以根据实际需要自行添加相应尺寸的物体加以训练并识别。如可以设定50*50大小的某种箱子进行训练,则在后续的测试中模型便可识别出该类型的箱子。
本实施例中,通过结合目标检测模型及语义分割模型,可以有效地识别前方的障碍物,并且通过C++接口调用目标检测模型比一般的通过Python接口调用目标检测模型更能提高检测速度,并且通过在一定的范围内限制输入目标检测模型及语义分割模型的图片的大小也可以提升检测速度,另外,通过去除掉原目标检测算法中的一些非必要功能函数可以精简模型、优化内存。
本实施例中,通过获取模块中使用不同种类不同场景下的障碍物的图片以及不同场景下的目标区域图片,通过目标检测模块及语义分割模块进行几十万甚至几百万次迭代,可以分别训练得到适于实用的目标检测模型及语义分割模型,通过上述模型,可以判断出前方障碍物是否属于关键物体,是否位于目标区域范围内。通过对关键物体的报警从而起到提醒相关人员、避免事故发生的目的。
实施例5
本实施例提供了另一种基于视觉技术的前方障碍物实时检测系统,图6为所述检测系统的模块示意图,如图5所示,所述检测系统包括:采集模块51、发送模块52、解码模块53、障碍物识别模块54、铁轨区域识别模块55、显示模块56、关键物体判断模块57、位置判断模块58及报警模块59。
采集模块51用于通过所述网络摄像头采集前方视频。
发送模块52用于将所述前方视频发送至Jetson TX2模块。
解码模块53用于通过Jetson TX2模块对所述前方视频进行解码以得到所述目标图片。
障碍物识别模块54用于通过目标检测模型识别所述目标图片中的前方障碍物,以得到所述前方障碍物的类别及坐标。
目标区域识别模块55用于通过语义分割模型识别所述目标图片中的目标区域,以得到所述目标区域的图形矩阵。
显示模块56用于通过TLCD主机显示所述前方障碍物的信息,所述信息包括所述前方障碍物的位置及类别。
其中,所述检测系统还可以包括传输模块(图中未示出),用于将所述前方障碍物的类别及坐标传输至TLCD主机。
关键物体判断模块57用于判断所述前方障碍物的是否属于关键物体,若是,则执行位置判断模块,若否,则执行采集模块51。
位置判断模块58用于判断所述关键物体是否位于所述图形矩阵内,若位于,则产生报警信号,若否,则不产生报警信号。
报警模块59用于将报警信号传送至RCU雷达系统以进行报警处理。
其中,所述目标检测模型及所述语义分割模型部署在NVIDIAJETSONTX2上,可以根据需求,在NVIDIAJETSON TX2上设置不同的模块,本实施例中,NVIDIAJETSON TX2包括Jetson TX2模块、以太网接口、电源模块、Micro USB模块及USB Type A模块。
Jetson TX2模块用于运行所述目标检测模型及所述语义分割模型。
所述检测系统还包括目标检测模块及语义分割模块,
所述目标检测模块用于获得所述目标检测模型,所述目标检测模块包括有第一预设单元、第一训练单元、第一计算单元及第一阈值判断单元;
所述第一预设单元用于预设第一损失函数,所述第一损失函数包括第一阈值;
所述第一训练单元用于将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法;
所述第一计算单元用于计算所述目标检测算法的运算结果与真实的所述障碍物的第一相符程度;
所述第一阈值判断单元用于判断所述第一相符程度是否达到所述第一阈值,若是,则得到所述目标检测模型,若否,则继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法,或,调整所述损失函数的参数后继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法;
所述语义分割模块用于获得所述语义分割模型,所述语义分割模块包括有第二预设单元、第二训练单元、第二计算单元及第二阈值判断单元;
所述第二预设单元用于预设第二损失函数,所述第二损失函数包括第二阈值;
所述第二训练单元用于将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
所述第二计算单元用于计算所述语义分割算法的运算结果与真实的区域的第二相符程度;
所述第二阈值判断单元用于判断所述第二相符程度是否达到所述第二阈值,若是,则得到所述语义分割模型,若否,则继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法,或,调整所述损失函数的参数后继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
其中,所述目标检测算法包括YOLOv3,第一损失函数的参数包括学习率、batchsize等等,所述语义分割算法包括ESPNet;
其中,所述目标检测模型为预先训练好的模型,该模型通过预先设定好第一损失函数,使用不同种类不同场景下的障碍物图片作为训练集,将训练集图片输入算法,将算法的预测结果与真实结果进行不断拟合,进行几十万甚至几百万次迭代后使得通过第一损失函数得到的值不断接近设定的第一阈值,当模型的预测结果接近真实结果,则训练得到了所述目标检测模型。
同样地,所述语义分割模型也是通过预先将不同场景下的铁轨图片作为训练集输入模型,再进行几十万甚至几百万次迭代后使得通过第二损失函数得到的值不断接近设定的第二阈值,当模型的预测结果接近真实结果,则训练得到了所述语义分割模型。
其中,为了使目标检测模型及所述语义分割模型所占用内存更小,更易于在Jetson TX2模块中跑起来,本实施例中,障碍物识别模块54通过用C++接口调用目标检测模型,并且障碍物识别模块54中的还包括有函数去除单元及识别单元,所述函数去除单元用于去除非必要功能函数如,卡尔曼滤波跟踪函数;所述识别单元用于使用去除了非必要功能函数的目标检测模型识别所述目标图片中的前方障碍物。另外,也可以限制输入目标检测模型及所述语义分割模型图片的大小以降低内存使用率。
以太网接口用于连接网络摄像头,本实施例中,为了使本检测方法能够实现的检测范围更广,本实施例中,采集模块51可以使用远近两个网络摄像头来采集前方视频,所述两个网络摄像头分别用于采集前方不同距离范围的视频,其中,两个网络摄像头分别对应一个端口地址,远路摄像头的拍摄距离在150m-200m之间,近路摄像头拍摄范围在50m内。
本实施例中,网络摄像头和JETSON TX2板卡是在一个局域网中的,网络摄像头通过以太网总线发送RTSP协议的视频给Jetson TX2板,Jetson TX2的VPU会对视频流解码,可支持MJPG格式的压缩编码或无压缩编码,解码软件为Gstreamer。
电源模块用于提供电源。
Micro USB模块
用于连接外部主机以给Jetson TX2刷机,即通过将各模块打包好成镜像系统,再将镜像系统烧录进Jetson TX2;USB Type A模块35用于连接外接设备,如鼠标、键盘,以调试所述目标检测算法及所述语义分割算法。
本实施例中,通过在NVIDIAJETSON TX2添加不同的USB模块,从而可以方便对本实施例中的检测方法的调试及系统镜像刷机,并且可以根据实际需求在NVIDIAJETSON TX2添加不同的模块,如,可以添加HDMI以外接显示屏进行结果显示,从而使本实施例更具有延展性、适用面更广。
本实施例中,通过将目标检测模型及语义分割模型部署在NVIDIAJETSON TX2,大大节约了成本,并且改良后的目标检测模型及语义分割模型也使运行速度更快、占用系统内存更小,满足了实际场景下的功能需求。
其中,在障碍物识别模块54中,可以得到目标图片中障碍物的类别及坐标,本实施例设计了多种可识别的障碍物,充分考虑到了前方可能出现的障碍物类别。但根据本实施例中的设计要求,必须检测出的关键物体包括站立的行人、蹲立的行人、躺卧的行人、箱子、石头、列车等,另外,也可以设定关键物体的尺寸,如可以设定50*50大小的某种类型的箱子,50*50大小的指定石头等。也可以根据实践中的需求规定不同的设计要求,指定不同的关键物体。
其中,为了获得检测出的障碍物具体在目标图片中的位置信息,在执行完障碍物识别模块54后需执行目标区域识别模块55,来根据目标区域的位置及障碍物的位置来判断障碍物是否在目标区域内,若在,则继续执行显示模块56、通过TLCD主机显示所述前方障碍物的信息。另外,目标区域包括铁轨。
其中,执行显示模块56为本实施例的优选方案,也可以不执行显示模块56,在执行完目标区域识别模块55后直接跳到执行关键物体判断模块57。显示模块56是为了以可视化的形式显示前方障碍物,显示主机TLCD是独立于NVIDIAJETSON TX2板卡的。算法在JETSONTX2上进行计算,然后将计算结果发送给TLCD进行显示,显示内容是根据得到的障碍物坐标将所有检测到的障碍物以可视化的形式框出来。
本实施例中,必须执行关键物体判断模块57来判断前方障碍物是否为关键物体,如果检测出来的障碍物不是关键物体,则不需要执行报警模块59;如果检测出来的是关键物体,则继续执行位置判断模块58来判断所述关键物体是否位于所述图形矩阵内,如铁轨上,若在,则执行报警模块59、产生报警信号,若所述关键物体不在图形矩阵,则不产生报警信号。
本实施例中,最终的报警信号可以以字符串形式通过TCP通信发送给雷达系统。信息格式为:摄像头id+o+坐标+报警标志。其中摄像头id用来区分远、近距离两个镜头,a为远距离摄像头,b为近距离摄像头;o表示后面为目标物体信息;坐标为该目标物体的位置信息共16位;报警标志为关键物体的标记区分位,分别有n、e或w三种,e为人,w为非人,n为不在轨道。
本实施例中,实际运行时,需要先开启和TLCD显示主机的通信连接程序,开启语义分割算法,最后开启目标检测算法程序。语义分割算法和目标检测算法之间通过soket协议实现通讯,二者通信无误后,视频流同时进到两个算法进行检测,各自检测到障碍物和铁轨掩码,检测完铁轨掩码后,通过cv2.imencode将铁轨图片格式转换(编码)成流数据,赋值到内存缓存中,方便后续通过网络传输给目标检测程序。目标检测程序接收到流数据后,通过cv2.imdecode()函数从指定的内存缓存中读取数据,并把数据转换(解码)成图像格式,恢复出铁轨图像,进行后续判断障碍物是否在铁轨上。判断是否在铁轨上的依据是:障碍物的坐标框右下角或者左下角在铁轨掩码内。
本实施例中,通过障碍物识别模块54及目标区域识别模块55之间的通信交流从而可以实现关键物体是否在目标区域的判断,从而可以高效地判断前方障碍是否影响通行。
本实施例中,通过关键物体判断模块57及位置判断模块58检测关键物体并判断该关键物体是否在目标区域的图形矩阵内从而可以检测到前方障碍物,并通过报警模块59对前方障碍物的报警处理,可以防止危险事故的发生。
为了更好的理解本实施例,下面通过一具体实例对本本实施例进行进一步地解释:
首先启动摄像头、障碍物检测系统客户端和ARM(板上的服务端。障碍物检测系统的神经网络模型加载大约30秒,在所有启动完成后,才开始目标检测流程。
读入视频流,摄像头通过以太网总线发送RTSP协议的视频给Jetson TX2板,Jetson TX2的VPU视频处理器会对视频流解码,可支持MJPG格式的压缩编码或无压缩编码,解码软件为Gstreamer。
目标检测:解码完毕后,OpenCV读入图片到CPU主机的内存中,向Jetson TX2的Gpu发送图片,Gpu的Cuda程序通深度卷积神经网络进行语义特征的提取,然后识别出目标,进行NMS过滤,最终输出目标的类别和目标边框的左上角坐标(x,y)和坐标框宽高(w,h)。可实现对10米至200米处的列车检测;对2米至200米处的行人静止站立的检测;对2米至100米处的行人静止蹲立的检测;对2米至100米处的行人静止躺卧的检测;对100米处轨道外侧行人站立、蹲立、躺卧的检测;对2米至100米处的石头、箱子的检测。
目标区域定位:通过语义分割算法,对读入的图片进行检测,得到目标区域的掩码。当目标出现在掩码上,则判定为出现在目标区域上,不出现在目标区域上的任何物体通信报警标志位标记为n;若出现在目标区域上的物体为关键物体(例如,人),则在通信报警标志位标记为e;若不为关键物体,则在通信报警标志位标记为w。
通信:将所有识别出的物体发送到TLCD,信息格式为:摄像头id+o+坐标+报警标志。其中摄像头id用来区分远、近距离两个镜头,a为远距离摄像头,b为近距离摄像头;o表示后面为目标物体信息;坐标为该目标物体的位置信息共16位;报警标志为n,e或w,
例如ao0100020003000400eo0100020003000400wo0100020003000400n,坐标为四个四位数。
本实施例中,通过将改良后的目标检测算法及语义分割算法部署在NVIDIAJETSON TX2上,不仅仅可以使算法所占内存更小,系统运行速度更快,也大大节约了硬件成本,使得所述前方障碍物实时检测方法更具有市场前景,通过对前方障碍物中的目标物体进行报警从而可以预防危险事故。
实施例6
本实施例与实施例5基本相同,不同之处仅在于将实施例5中的目标图片替换成视频帧,将实施例2中的目标区域替换成铁轨,另外,本实施例中的关键物体为在铁轨上的可能会导致危险事故发生的危险物体,如各种姿势的人、指定的箱子、指定的石头等等。
本实施例中,通过采集模块采集高速运行列车下的视频,通过解码模块将视频解码成视频帧以进行进一步障碍物分析,通过障碍物识别模块优化并结合目标检测模型及语义分割模型并且在在NVIDIAJETSON TX2上部署上述模型,从而可以有效地判断铁轨上是否存在危险障碍物,不仅可以避免危险事故的发生,也降低了系统运行的内存、节约了成本,也更进一步使得本发明更具有市场前景。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (10)

1.一种基于视觉技术的前方障碍物实时检测方法,其特征在于,所述前方障碍物实时检测方法包括:
获取目标图片;
通过目标检测模型识别所述目标图片中的前方障碍物,以得到所述前方障碍物的类别及坐标;
通过语义分割模型识别所述目标图片中的目标区域,以得到所述目标区域的图形矩阵;
判断所述前方障碍物是否属于关键物体,若是,则判断所述关键物体是否位于所述图形矩阵内,若位于,则产生报警信号。
2.如权利要求1所述的前方障碍物实时检测方法,其特征在于,所述目标检测模型及所述语义分割模型部署在NVIDIA JETSON TX2上;
所述NVIDIA JETSON TX2包括Jetson TX2模块及电源模块;
所述Jetson TX2模块用于运行所述目标检测模型及所述语义分割模型;
所述电源模块用于提供电源。
3.如权利要求2所述的前方障碍物实时检测方法,其特征在于,所述NVIDIA JETSONTX2还包括有以太网接口,所述以太网接口用于连接网络摄像头;
所述前方障碍物实时检测方法还包括有:
通过所述网络摄像头采集前方视频,所述前方视频包括实时视频流及离线视频;
将所述前方视频发送至Jetson TX2模块,所述Jetson TX2模块对所述前方视频进行解码以得到所述目标图片;
所述NVIDIA JETSON TX2还包括Micro USB模块及USB Type A模块,所述Micro USB模块用于连接外接设备以部署所述NVIDIA JETSON TX2,所述USB Type A模块用于连接外接设备以调试目标检测算法及语义分割算法。
4.如权利要求3所述的前方障碍物实时检测方法,其特征在于,所述以太网接口连接有两个网络摄像头,所述两个网络摄像头分别用于采集前方不同距离范围的视频。
5.如权利要求1所述的前方障碍物实时检测方法,其特征在于,
所述目标检测模型通过下述步骤获得:
预设第一损失函数,所述第一损失函数包括第一阈值;
将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法;
计算所述目标检测算法的运算结果与真实的所述障碍物的第一相符程度;
判断所述第一相符程度是否达到所述第一阈值,若是,则得到所述目标检测模型,若否,则继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法,或,调整所述损失函数的参数后继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法;
所述语义分割模型通过下述步骤获得:
预设第二损失函数,所述第二损失函数包括第二阈值;
将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
计算所述语义分割算法的运算结果与真实区域的第二相符程度;
判断所述第二相符程度是否达到所述第二阈值,若是,则得到所述语义分割模型,若否,则继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法,或,调整所述损失函数的参数后继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
和/或,
所述前方障碍物实时检测方法还包括:
将所述报警信号传送至RCU雷达系统以进行报警处理;
和/或,
所述前方障碍物实时检测方法还包括:
将所述前方障碍物的类别及坐标传输至TLCD主机;
通过TLCD主机显示所述前方障碍物的信息,所述信息包括所述前方障碍物的位置及类别;
和/或,
通过目标检测模型识别所述目标图片中的前方障碍物的步骤中,
通过采用C++接口调用所述目标检测模型;
和/或,
通过目标检测模型识别所述目标图片中的前方障碍物的步骤包括:
通过去除卡尔曼滤波跟踪函数的目标检测模型识别所述目标图片中的前方障碍物;
和/或,
获取目标图片的步骤中,所述目标图片为当前视频帧;
通过语义分割模型识别所述目标图片中的目标区域的步骤中,所述目标区域为铁轨。
6.一种基于视觉技术的前方障碍物实时检测系统,其特征在于,所述前方障碍物实时检测系统包括:获取模块、障碍物识别模块、区域识别模块及判断模块;
所述获取模块用于获取目标图片;
所述障碍物识别模块用于通过目标检测模型识别所述目标图片中的前方障碍物,以得到所述前方障碍物的类别及坐标;
所述区域识别模块用于通过语义分割模型识别所述目标图片中的目标区域,以得到所述目标区域的图形矩阵;
所述判断模块用于判断所述前方障碍物的是否属于关键物体,若是,则判断所述关键物体是否位于所述图形矩阵内,若位于,则产生报警信号。
7.如权利要求6所述的前方障碍物实时检测系统,其特征在于,所述目标检测模型及所述语义分割模型部署在NVIDIA JETSON TX2上;
所述NVIDIA JETSON TX2包括Jetson TX2模块及电源模块;
所述Jetson TX2模块用于运行所述目标检测模型及所述语义分割模型;
所述电源模块用于提供电源。
8.如权利要求7所述的前方障碍物实时检测系统,其特征在于,所述NVIDIA JETSONTX2还包括有以太网接口,所述以太网接口用于连接网络摄像头;
所述前方障碍物实时检测系统还包括有:采集模块及发送模块,
所述采集模块用于通过所述网络摄像头采集前方视频,所述前方视频包括实时视频流及离线视频;
所述发送模块用于将所述前方视频发送至Jetson TX2模块,所述Jetson TX2模块对所述前方视频进行解码以得到所述目标图片;
所述NVIDIA JETSON TX2还包括Micro USB模块及USB Type A模块,所述Micro USB模块用于连接外接设备以部署所述NVIDIA JETSON TX2,所述USB Type A模块用于连接外接设备以调试目标检测算法及所述语义分割算法。
9.如权利要求8所述的前方障碍物实时检测系统,其特征在于,所述以太网接口连接有两个网络摄像头,所述两个网络摄像头分别用于采集前方不同距离范围的视频。
10.如权利要求6所述的前方障碍物实时检测系统,其特征在于,
所述检测系统还包括目标检测模块及语义分割模块,
所述目标检测模块用于获得所述目标检测模型,所述目标检测模块包括有第一预设单元、第一训练单元、第一计算单元及第一阈值判断单元;
所述第一预设单元用于预设第一损失函数,所述第一损失函数包括第一阈值;
所述第一训练单元用于将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法;
所述第一计算单元用于计算所述目标检测算法的运算结果与真实的所述障碍物的第一相符程度;
所述第一阈值判断单元用于判断所述第一相符程度是否达到所述第一阈值,若是,则得到所述目标检测模型,若否,则继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法,或,调整所述损失函数的参数后继续将不同场景下不同种类的障碍物图片作为训练集并且将所述训练集输入至目标检测算法;
所述语义分割模块用于获得所述语义分割模型,所述语义分割模块包括有第二预设单元、第二训练单元、第二计算单元及第二阈值判断单元;
所述第二预设单元用于预设第二损失函数,所述第二损失函数包括第二阈值;
所述第二训练单元用于将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
所述第二计算单元用于计算所述语义分割算法的运算结果与真实的区域的第二相符程度;
所述第二阈值判断单元用于判断所述第二相符程度是否达到所述第二阈值,若是,则得到所述语义分割模型,若否,则继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法,或,调整所述损失函数的参数后继续将不同场景下不同的区域图片作为训练集并且将所述训练集输入至语义分割算法;
和/或,
所述前方障碍物实时检测系统还包括:
报警模块,用于将报警信号传送至RCU雷达系统以进行报警处理;
和/或,
所述前方障碍物实时检测系统还包括:传输模块及显示模块;
所述传输模块用于将所述前方障碍物的类别及坐标传输至TLCD主机;
所述显示模块用于通过TLCD主机显示所述前方障碍物的信息,所述信息包括所述前方障碍物的位置及类别;
和/或,
所述障碍物识别模块通过采用C++接口调用所述目标检测模型;
和/或,
障碍物识别模块包括:识别单元,
所述识别单元用于通过去除卡尔曼滤波跟踪函数的目标检测模型识别所述目标图片中的前方障碍物;
和/或,
所述目标图片为当前视频帧,所述目标区域为铁轨。
CN202010310169.2A 2020-04-17 2020-04-17 基于视觉技术的前方障碍物实时检测方法及系统 Pending CN113283273A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010310169.2A CN113283273A (zh) 2020-04-17 2020-04-17 基于视觉技术的前方障碍物实时检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010310169.2A CN113283273A (zh) 2020-04-17 2020-04-17 基于视觉技术的前方障碍物实时检测方法及系统

Publications (1)

Publication Number Publication Date
CN113283273A true CN113283273A (zh) 2021-08-20

Family

ID=77275608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010310169.2A Pending CN113283273A (zh) 2020-04-17 2020-04-17 基于视觉技术的前方障碍物实时检测方法及系统

Country Status (1)

Country Link
CN (1) CN113283273A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114882452A (zh) * 2022-05-17 2022-08-09 张弛 轨道线路安全监测方法、列车运行控制方法及控制系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107458306A (zh) * 2017-07-28 2017-12-12 奇瑞汽车股份有限公司 车辆安全预警方法及装置
CN109034018A (zh) * 2018-07-12 2018-12-18 北京航空航天大学 一种基于双目视觉的低空小型无人机障碍物感知方法
CN109188460A (zh) * 2018-09-25 2019-01-11 北京华开领航科技有限责任公司 无人驾驶异物检测系统及方法
CN109269478A (zh) * 2018-10-24 2019-01-25 南京大学 一种基于双目视觉的集装箱码头场桥障碍物检测方法
CN109410496A (zh) * 2018-10-25 2019-03-01 北京交通大学 入侵预警方法、装置及电子设备
CN208665057U (zh) * 2018-08-22 2019-03-29 北京新能源汽车股份有限公司 一种用于探测车身近距离的障碍物探测感知系统及汽车
CN109552366A (zh) * 2018-12-24 2019-04-02 西安思科赛德电子科技有限公司 机车车载铁道障碍物智能探测报警系统及其预警方法
CN109697424A (zh) * 2018-12-19 2019-04-30 浙江大学 一种基于fpga和深度学习的高速铁路异物侵限检测装置及方法
CN110738081A (zh) * 2018-07-19 2020-01-31 杭州海康威视数字技术股份有限公司 异常路况检测方法及装置
CN210047483U (zh) * 2019-04-19 2020-02-11 黑龙江御林湾科技有限公司 一种列车防撞预警装置
CN110827197A (zh) * 2019-10-08 2020-02-21 武汉极目智能技术有限公司 一种基于深度学习检测和识别车辆环视目标的方法和装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107458306A (zh) * 2017-07-28 2017-12-12 奇瑞汽车股份有限公司 车辆安全预警方法及装置
CN109034018A (zh) * 2018-07-12 2018-12-18 北京航空航天大学 一种基于双目视觉的低空小型无人机障碍物感知方法
CN110738081A (zh) * 2018-07-19 2020-01-31 杭州海康威视数字技术股份有限公司 异常路况检测方法及装置
CN208665057U (zh) * 2018-08-22 2019-03-29 北京新能源汽车股份有限公司 一种用于探测车身近距离的障碍物探测感知系统及汽车
CN109188460A (zh) * 2018-09-25 2019-01-11 北京华开领航科技有限责任公司 无人驾驶异物检测系统及方法
CN109269478A (zh) * 2018-10-24 2019-01-25 南京大学 一种基于双目视觉的集装箱码头场桥障碍物检测方法
CN109410496A (zh) * 2018-10-25 2019-03-01 北京交通大学 入侵预警方法、装置及电子设备
CN109697424A (zh) * 2018-12-19 2019-04-30 浙江大学 一种基于fpga和深度学习的高速铁路异物侵限检测装置及方法
CN109552366A (zh) * 2018-12-24 2019-04-02 西安思科赛德电子科技有限公司 机车车载铁道障碍物智能探测报警系统及其预警方法
CN210047483U (zh) * 2019-04-19 2020-02-11 黑龙江御林湾科技有限公司 一种列车防撞预警装置
CN110827197A (zh) * 2019-10-08 2020-02-21 武汉极目智能技术有限公司 一种基于深度学习检测和识别车辆环视目标的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114882452A (zh) * 2022-05-17 2022-08-09 张弛 轨道线路安全监测方法、列车运行控制方法及控制系统

Similar Documents

Publication Publication Date Title
CN112216049B (zh) 一种基于图像识别的施工警戒区监测预警系统及方法
CN102750709B (zh) 利用视频检测打架行为的方法和装置
CN106384106A (zh) 一种基于三维扫描的反欺诈人脸识别系统
KR102122859B1 (ko) 교통 영상감시시스템의 멀티 표적 추적 방법
CN112153334B (zh) 用于安全管理的智能视频盒子设备及相应的智能视频分析方法
CN109544870B (zh) 用于智能监控系统的报警判断方法与智能监控系统
CN107145821A (zh) 一种基于深度学习的人群密度检测方法和系统
CN110781964A (zh) 一种基于视频图像的人体目标检测方法及系统
CN113191699A (zh) 一种配电施工现场安全监管方法
CN111047824B (zh) 一种室内儿童看护联动控制预警方法及系统
CN112528861A (zh) 应用于铁路隧道内道床的异物检测方法及装置
CN114202711A (zh) 一种列车车厢内异常行为智能监测方法、装置及监控系统
CN112287823A (zh) 一种基于视频监控的面部口罩识别方法
CN111985373A (zh) 基于交通路口识别的安全预警方法、装置及电子设备
CN110598596A (zh) 一种危险行为监测方法、装置及电子设备
US11455785B2 (en) System and method for use in object detection from video stream
CN113505704B (zh) 图像识别的人员安全侦测方法、系统、设备及存储介质
CN113283273A (zh) 基于视觉技术的前方障碍物实时检测方法及系统
CN106803937B (zh) 一种具有文本日志的双摄像头视频监控方法、系统和监控装置
CN114529979A (zh) 人体姿势辨识系统、人体姿势辨识方法以及非暂态计算机可读取储存媒体
CN113486885A (zh) 一种车牌识别方法、装置、电子设备及存储介质
TK et al. An experiment analysis on tracking and detecting the vehicle speed using machine learning and iot
CN111291728A (zh) 违规翻越传输带行为的检测系统及检测设备、检测方法
CN105574499B (zh) 一种基于soc的人数检测统计方法及系统
CN116152906A (zh) 图像识别方法、装置、通信设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination