CN111382718A - 一种夜间行人检测系统及基于该系统的行人检测方法 - Google Patents
一种夜间行人检测系统及基于该系统的行人检测方法 Download PDFInfo
- Publication number
- CN111382718A CN111382718A CN202010187304.9A CN202010187304A CN111382718A CN 111382718 A CN111382718 A CN 111382718A CN 202010187304 A CN202010187304 A CN 202010187304A CN 111382718 A CN111382718 A CN 111382718A
- Authority
- CN
- China
- Prior art keywords
- image
- pixel
- hsl
- formula
- night
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 75
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 34
- 230000007797 corrosion Effects 0.000 claims description 19
- 238000005260 corrosion Methods 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 17
- 240000007651 Rubus glaucus Species 0.000 claims description 14
- 235000011034 Rubus glaucus Nutrition 0.000 claims description 14
- 235000009122 Rubus idaeus Nutrition 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000003708 edge detection Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 9
- 239000013598 vector Substances 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 230000003628 erosive effect Effects 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 7
- 238000006073 displacement reaction Methods 0.000 claims description 6
- 238000005530 etching Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 5
- 230000036544 posture Effects 0.000 claims description 5
- 230000003321 amplification Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 230000000873 masking effect Effects 0.000 claims description 3
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 230000010339 dilation Effects 0.000 claims description 2
- 230000000877 morphologic effect Effects 0.000 claims description 2
- 206010039203 Road traffic accident Diseases 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation 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/267—Segmentation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/48—Extraction of image or video features by mapping characteristic values of the pattern into a parameter space, e.g. Hough transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种夜间行人检测系统,由图像采集模块、处理器、电源模块、显示模块和存储模块组成,图像采集模块、电源模块、显示模块和存储模块均与处理器电性连接,发明的图像采集模块用于采集夜间图像,电源模块用于供电,显示模块用于显示夜间图像,存储模块用于存储数据,处理器通过处理夜间图像然后检测出行人,与PC相比,体积小,移动方便,便于携带,另外,提供一种夜间行人检测方法,降低了行人检测的误报数量,也降低了行人检测算法的工作量,在视频显示上,采取隔帧检测的视频处理方法优化了视频的流畅度,提高了用户的使用体验。
Description
技术领域
本发明涉及一种检测系统和方法,特别是一种夜间行人检测系统及基于该系统的行人检测方法。
背景技术
人们生活水平的提高,中等收入人口基数的增加,中国已成为全球主要的汽车市场之一,越来越多的家庭选择汽车作为主要的出行工具,随之而来的交通安全问题越发严峻。道路交通伤害中死亡人数居世界前列,世界卫生组织表示,到2020年需要实现全球公路交通事故造成的死伤人数减半的一项重要目标。根据国家交通部统计,交通事故在夜间行车中发生的概率较高,相比于白天行车,夜间行车事故中高达60%的事故死亡率。相比于白天,夜间行车时由于夜间能见度低,灯光复杂,驾驶员视线有限,注意力不集中,交通事故多发生在夜间,为了降低交通事故需要强化道路交通安全。
随着在电子信息技术的迅速发展下,计算机视觉技术、图像识别技术以及人工智能可以为夜间驾驶安全问题提供新的解决方法,智能辅助驾驶设备越来越受到关注,其中行人检测是当下研究的热点,行人作为道路上弱势群体更需要受到重视,目前许多汽车公司大力研究驾驶辅助系统(ADAS),如车载行人预警系统、后端碰撞预警系统和自适应驱动梁(ADB)等。
然而,大多数需要对行人进行检测的系统中,存在误报率高和数据计算量大的问题,导致相关设备的性能不理想,因此,通过使用高性能算法系统来改善夜间行车场景和降低事故发生率具有重要意义,特别是在夜间交通事故急剧增加的背景之下。
另外,目前大多数的行人检测系统的运行平台是PC机,PC机虽然具备强大的计算性能,但是由于体积比较大,难以用于车载场景。
发明内容
为了克服现有技术的不足,本发明的第一个目的是提供一种检测正确率高、误报率低、实时性好、成本较低,同时兼顾了便携性和兼容性的夜间行人检测系统,第二个目的是提供一种准确率高的基于夜间行人检测系统的行人检测方法。
本发明解决其技术问题所采用的技术方案是:
一种夜间行人检测系统,该系统由图像采集模块、处理器、电源模块、显示模块和存储模块组成,所述图像采集模块、电源模块、显示模块和存储模块均与所述处理器电性连接。
所述处理器为树莓派,所述树莓派的型号是3B+,所述树莓派安装有LINUX系统,LINUX系统安装有OpenCV库和Numpy库。
所述图像采集模块为红外摄像头。
所述红外摄像头的焦距范围是6mm至12mm,,所述红外摄像头的红外发射管的波长是940nm。
所述显示模块为显示器,所述存储模块为存储卡。
本发明的第二个目的是提供一种检测正确率高、误报率低、实时性好、成本较低,同时兼顾了便携性和兼容性的基于上文所述夜间行人检测系统的的行人检测方法。
一种基于上文所述夜间行人检测系统的行人检测方法,利用红外摄像头采集夜间图像,夜间图像经过色度转换,得出HSL图像,然后使用图像形态学处理HSL图像以滤除噪点,再对HSL图像进行区域划分得出存在行人的区域,对存在行人的区域进行行人检测,提取行人的HOG特征,SVM分类器根据行人的HOG特征从数据库存储的夜间图像中识别出行人,不断训练训练SVM分类器,以提高夜间行人检测系统的准确率和抗干扰能力。
行人检测方法包括以下步骤:
步骤S1、视频流畅性优化;红外摄像头在夜间采集RGB图像,树莓派读取每一帧RGB图像,为每帧RGB图像分配一个顺序编号,顺序编号从1至30,同时计算图像的帧数,每读入30帧RGB图像,顺序编号清零然后重新计数,处理每帧RGB图像前先识别其顺序编号,如果顺序编号为奇数,则执行步骤S2,如果该帧RGB图像的顺序编号为偶数,那么直接输出该帧RGB图像,不再执行步骤S2;
步骤S2、图像预处理,本步骤包括以下两个子步骤:
步骤S200、行人图像色度转换,夜间图像属于RGB图像,夜间图像经过色度转换后输出HSL图像,具体步骤如下,
提取夜间图像的三种颜色分量,这三种颜色分量分别是R颜色分量、G颜色分量、B颜色分量,然后对夜间图像的三种颜色分量分别归一化,然后扫描夜间图像的每行每列,将夜间图像的三种颜色分量换算为与之一一对应的HSL值,直到夜间图像的最后一个像素转换完毕,从而将夜间图像转换为HSL图像;
RGB图像转HSL图像用到变量公式1、变量公式2和变量公式3,变量公式1的变量公式为:
变量公式2为:
变量公式3为:
h表示色调,l表示亮度,s表示饱和度,max和min分别表示RGB三种颜色分量中的最大值和最小值,色度转换之后,根据变量公式3的计算结果记录下最大亮度的像素坐标,并将其设置为计算中心目标点(X,Y),便于对图像进行掩码操作,
使用中心目标点(X,Y)作为结构元素来腐蚀经过变量公式2处理的图像,创建一个3x3卷积核作为掩模,并使用HSL阈值来创建一个掩码,原始图像和掩模以(X,Y)为起点S执行按位运算,对于源图像数据f(x,y),卷积算子为3×3,邻域平均掩模的计算公式为:在该公式中,x表示图像的水平坐标,y表示图像的垂直坐标,
腐蚀公式2为:
此公式表示使用结构元素B对A进行腐蚀,并且与被其覆盖的二值图像做“与”操作,A被B腐蚀是所有位移Z的集合,
还需要用到膨胀公式,膨胀公式为:
此膨胀公式表示用结构元素B扫描图像A的每一个元素,并且与被其覆盖的二值图像做“或”操作,A被B膨胀是所有位移z的集合,
结合变量公式2和腐蚀公式,根据起点S左右下上四个方向的像素点得出以下公式:
其中,max和min分别表示取函数的最大值和最小值,再结合式腐蚀公式得出以下公式1和公式2,其中,
公式1为,
公式2为:
n1,n2,n3,n4分别表示四个方向边界与中心(X,Y)的距离,
然后,在高亮度区域中使图像平滑,如邻域平均掩模的计算公式所示,遍历高亮度区域并使用当前像素作为参考点来确定在3×3的四个方向上是否存在至少一个值为0的像素区域,如变量公式3。若存在则该参考点是边界点,记录该边界点的坐标,直到找到边界点为止。最后,由公式2得到左、右、上和下边界点的坐标,分别是(xmin,Y)、(xmax,Y)、(X,ymin)和(X,ymax),初步确定图像上的高亮区域的中心坐标和边界坐标以及中心与边界的距离,为了进一步区分行人和其他高亮物体,对行人形状进行分析,一般情况下行人为直立姿态,以长方体作为模型设立了基本条件,设定长方体的长宽比范围在2:1至5:1,长方体的长宽比公式为:5min(n1+n2,n3+n4)>max(n1+n2,n3+n4)>2min(n1+n2,n3+n4),其中,min表示取n1+n2和n3+n4中的最小值,max表示取n1+n2和n3+n4中的最大值;
步骤S201、图像形态学处理HSL图像;
图像形态学处理HSL图像包括腐蚀操作和膨胀操作,腐蚀操作需要调用OpenCV和Numpy库,腐蚀操作的具体过程是产生一个3×3的像素模版,通过像素模版扫描HSL图像中的所有像素点以及每个像素点的像素值,在遍历整个HSL图像的过程中,像素模版上的一个位置与HSL图像上的一个位置对应,像素模版的像素值与HSL图像上被像素模版覆盖的像素值进行与操作,当像素模版上的像素值与HSL图像上被像素模版所覆盖的像素值均为1时,所得到的腐蚀结果对应位置为1,否则,当像素模版上的像素值或HSL图像上被像素模版所覆盖的像素值为0时,所得到的腐蚀结果对应位置为0;膨胀操作调用OpenCV和Numpy库,膨胀操作通过一个3×3的像素模版遍历整个图像,像素模版中的像素值与HSL图像上被像素模版覆盖的像素值一一进行或操作,当像素模版上的像素值与HSL图像上被像素模版所覆盖的像素值都为0时,所得到的膨胀结果对应位置为0,否则,当像素模版上的像素值或HSL图像上被像素模版所覆盖的像素值为1时,结果为1;
步骤S3、图像区域划分处理;
本步骤包括以下两个子步骤:
步骤S300、图像区域静态划分,
具体步骤如下:在HSL图像中作水平线LINE1和水平线LINE2,水平线LINE2先设置在HSL图像竖直方向的二分之一处,水平线LINE1的下面部分是有效区域和实际识别范围,其需要树莓派的处理器操作,水平线LINE2将HSL图像划分为上半区和下半区,上半区位于水平线LINE2的上方,上半区为天空,下半区位于水平线LINE2的下方,下半区为地面,下半区为存在行人的区域,水平线LINE1位于水平线LINE2的上方,水平线LINE1和水平线LINE2之间的间距等于HSL图像宽度的十分之一,
步骤S301、检测车道线,然后根据车道线调整水平线LINE2的位置,一旦检测到车道线,则进行图像区域动态划分,然后输出图像,图像区域动态划分是指先找到车道线最靠近HSL图像上边沿的像素点,过车道线最靠近HSL图像上边沿的像素点作水平线LINE2,
检测车道线的具体步骤如下:
(1)读取HSL图像,并对HSL图像进行灰度转换;
(2)对处理后的HSL图像进行边缘检测。通过OpenCV中的Canny算子可以做边缘检测运算,canny函数是:
cv2.Canny(Input,Minval,Maxval),
其中,Input代表HSL图像,Minval代表最小阈值,Maxval代表最大阈值,最小阈值和最大阈值的设定直接影响到边缘提取的效果,为了确定真正的边界,设定的两个阈值Minval和Maxval,阀值范围是Minval至Maxval,当HSL图像的像素点A梯度高于阈值Maxval时可以认为是真的边界点,像素点C虽然低于Maxval,但高于Minval,同时与像素点A在同一条连续的线上,因此也可以认为是真正的边界点,而像素点B介于两阈值之间且不存在与其它超出阈值范围线相连,因此像素点B不是真正的边界点,具体地,阈值范围为50至120,边缘HSL图像edges=cv2.Canny(gray,50,120);
(3)对边缘检测后的HSL图像进行概率霍夫变换得到多条直线,通过OpenCV中的统计函数cv2.HoughLinesP(dst,lines,rho,theta,threshold,minLineLength,maxLineGap),计算上述的边缘HSL图像,其中,dst为输入的二值化图像,lines表示储存检测到直线的参数,rho表示参数极坐标上半径ρ以像素值为单位的分辨率,theta表示参数极坐标上角度θ以弧度为单位的分辨率,threshold表示阈值的设定,即一条直线所需最少的曲线交点,minLineLength表示最少可以组成一条直线的点数量,点数量不足的直线被排除,maxLineGap表示一条目标直线上点的最大距离,具体地,检测直线lines=cv2.HoughLinesP(edges,1,np.pi/180,100,10,10,30);
(4)对直线进行分组,根据直线斜率的条件进行判别是否为车道线,斜率无限大或不存在的直线为电线杆,直线倾斜并存在斜率为车道线,车道线用较细的白色线标识出来,从而根据斜率判断电线杆和车道线;
(5)获取车道线最靠近HSL图像上边沿的像素点的y坐标值,过该像素点作水平线LINE2,水平线LINE2表示实际天空与地面的水平分界线,由此完成水平线Line2的定位;
步骤S4、对HSL图像的下半区进行行人检测,行人检测采用滑动窗口法提取ROI待检测窗口,滑动窗口法利用滑动窗口对HSL图像的下半区进行一定步长的扫描,滑动窗口缩放改变窗口的尺寸,扫描完毕后,获得可能是行人的ROI待检测窗口,具体步骤如下:
步骤S401、读取HSL图像的下半区;
步骤S402、创建滑动窗口,计算缩放因子对应的滑动窗口大小和步长;
步骤S403、根据步长,滑动窗口遍历HSL图像的下半区,直到获取待检测窗口;
步骤S404、待检测窗口经过检测获取行人的位置;
步骤S5、行人特征提取,将待检测窗口分割成若干细胞单元,每个细胞单元有八行,每行有八个像素点,对每个细胞单元进行梯度计算和边缘直方图处理,将细胞单元的直方图组合构成图像的特征,将上下左右相邻的四个细胞单元组合成块单元,梯度的方向设置有九个区间,角度范围为0~180度,每隔20度为一个区间,利用块单元遍历整个图像,利用HSL图像的梯度和边缘的方向密度分部表示图像的局部形状特征,HOG特征(行人特征)的提取过程:
①Gamma归一化,对图像进行规范化,降低局部阴影及背景的影响,Gamma归一化的公式为:
I(x,y)=I(x,y)gamma,
②计算图像梯度,主要是计算图像横坐标和纵坐标方向的梯度信息,并且计算每个像素位置的梯度方向值,
最终得到行人轮廓和边缘信息,HSL图像中的像素点(x,y)的梯度公式为:
Gx(x,y)=H(x+1,y)-H(x-1,y)
Gy(x,y)=H(x,y+1)-H(x,y-1),
其中Gx(x,y)、Gy(x,y)、H(x,y)分别表示输入图像中像素点(x,y)处的水平方向梯度、垂直方向梯度和像素值,像素点(x,y)处的梯度增幅和梯度方向如下列公式所示:
③划分cell,构建每个cell单元的梯度方向直方图,将图像分成若干个“单元格cell”,一张64×128的图像,每8×8的像素组成一个cell,每2×2个cell组成一个block作为扫描窗口,以8个像素为距离长度进行扫描,共有7个扫描窗口在水平方向上,垂直方向上共有15个扫描窗口,总共有36×7×15=3780个特征;
④归一化梯度直方图,把每个单元格cell所对应的方向统计数据转换为单维向量,即对方向梯度个数进行编码,例如(8,10,6,12,4,5,8,6,14),得到单个cell的9个特征,每个block(扫描窗口)包含2×2个cell也就是2×2×9=36个特征,最后所得到的特征数为36×7×15=3780;
⑤收集HOG特征,最后将检测窗口中所有重叠的block进行HOG特征的收集,将它们合并为最后的特征向量,最后将这些特征向量提供给分类器使用,进行样本训练和测试;
步骤S6、设置分类器,由步骤S5中的HOG特征作为样本,在训练数据库中设置多张夜间图像,利用训练数据库训练分类器,分类器根据HOG特征识别训练数据库中各种姿态的行人。
本发明的有益效果是:本发明的图像采集模块用于采集夜间图像,电源模块用于供电,显示模块用于显示夜间图像,存储模块用于存储数据,处理器通过处理夜间图像然后检测出行人,与PC相比,体积小,移动方便,便于携带。
另外,在优化夜间行人检测的方法上,利用图像形态学滤波的方法优化夜间图像,同时针对夜间道路干扰物众多的情况,创新性地提出了图像的区域划分算法,该算法通过分析图像中天空与路面的水平线分界线位置,将图像划分为上下区域,在车道线存在的情况下,增加对车道线的检测,以车道线延伸的最远点作为划分依据,区域划分的分界线可根据不同的道路情况进行上下动态调整,可以适应不同道路情况,如上坡和下坡,目的在于排除路灯、树木和广告牌等非行人物体的干扰,同时只需要对图像上大约一半的区域执行行人检测算法,降低了行人检测的误报数量,也降低了行人检测算法的工作量,在视频显示上,采取隔帧检测的视频处理方法优化了视频的流畅度,提高了用户的使用体验。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的系统框图;
图2是RGB图像转HSL图像的流程图;
图3是本发明的夜间图像;
图4是二值化的图像;
图5是腐蚀操作后的图像;
图6是膨胀操作后的图像;
图7是本发明的区域划分示意图;
图8是区域划分的实际场景图;
图9是图像区域划分的流程图;
图10是其中一幅原图;
图11是灰度转换后的图像;
图12是边界线图;
图13是结果图;
图14是另一幅原图;
图15是结果图;
图16是水平线Line2的定位流程图;
图17是Canny阈值示意图;
图18是灰度图;
图19是结果图;
图20是直线检测结果图;
图21是直线判别结果图;
图22是直线判别结果图;
图23是ROI窗口检测的流程图;
图24是ROI窗口扫描的示意图;
图25是样本图1;
图26是样本图2;
图27是本发明的第一张梯度特征图;
图28是本发明的第二张梯度特征图;
图29是细胞与块的关系图;
图30是本发明的流程图;
图31是本发明的数据对比图。
具体实施方式
参照图1至图31,一种夜间行人检测系统,该系统由图像采集模块、处理器、电源模块、显示模块和存储模块组成,所述图像采集模块、电源模块、显示模块和存储模块均与所述处理器电性连接,图像采集模块用于采集夜间图像,电源模块用于供电,显示模块用于显示夜间图像,所述存储模块用于存储数据(比如采集的图像以及存储LINUX系统),处理器通过处理夜间图像然后检测出行人,与PC相比,体积小,移动方便,便于携带。
所述处理器为树莓派,所述树莓派的型号是3B+,所述树莓派安装有LINUX系统(比如,Debian系统),LINUX系统安装有OpenCV库和Numpy库。
由于采集的是夜间图像,一般的图像采集模块难以在晚上采集图像,因此,所述图像采集模块为红外摄像头。
为了采集到尽量大的视野范围,同时兼顾采集的夜间图像的清晰度,所述红外摄像头的焦距范围是6mm至12mm,,所述红外摄像头的红外发射管的波长是940nm(允许可见光和波长为940nm的光线通过,图像为彩色,偏色情况较轻)。
所述显示模块为显示器,所述存储模块为存储卡,容量是16GB。
一种基于上文所述夜间行人检测系统的行人检测方法,利用红外摄像头采集夜间图像,夜间图像经过色度转换,得出HSL图像,然后使用图像形态学处理HSL图像以滤除噪点,再对HSL图像进行区域划分得出存在行人的区域,对存在行人的区域进行行人检测,提取行人的HOG特征,SVM分类器根据行人的HOG特征从数据库存储的夜间图像中识别出行人,不断训练SVM分类器,以提高夜间行人检测系统的准确率和抗干扰能力,利用图像形态学滤波的方法优化夜间图像,同时针对夜间道路干扰物众多的情况,创新性地提出了图像的区域划分算法,该算法通过分析图像中天空与路面的水平线分界线位置,将图像划分为上下区域,在车道线存在的情况下,增加对车道线的检测,以车道线延伸的最远点(位于HSL图像的内侧)作为划分依据,区域划分的分界线可根据不同的道路情况进行上下动态调整,可以适应不同道路情况,如上坡和下坡,目的在于排除路灯、树木和广告牌等非行人物体的干扰,同时只需要对图像上大约一半的区域执行行人检测算法,降低了行人检测的误报数量,也降低了行人检测算法的工作量,在视频显示上,采取隔帧检测的视频处理方法优化了视频的流畅度,提高了用户的使用体验(数据库是一种管理存储内容的软件,安装在LINUX系统上)。
行人检测方法包括以下步骤:
步骤S1、视频流畅性优化;红外摄像头在夜间采集RGB图像,树莓派读取每一帧RGB图像,为每帧RGB图像分配一个顺序编号,顺序编号从1至30,同时计算图像的帧数,每读入30帧RGB图像,顺序编号清零然后重新计数,处理每帧RGB图像前先识别其顺序编号,如果顺序编号为奇数,则执行步骤S2,如果该帧RGB图像的顺序编号为偶数,那么直接输出该帧RGB图像,不再执行步骤S2;
步骤S2、图像预处理,本步骤包括以下两个子步骤:
步骤S200、行人图像色度转换,夜间图像属于RGB图像,夜间图像经过色度转换后输出HSL图像,具体步骤如下,
提取夜间图像的三种颜色分量,这三种颜色分量分别是R颜色分量(R颜色分量代表红色颜色分量)、G颜色分量(G颜色分量代表绿色颜色分量)、B颜色分量(B颜色分量代表蓝色颜色分量),然后对夜间图像的三种颜色分量分别归一化(图像归一化),然后扫描夜间图像的每行每列,将夜间图像的三种颜色分量换算为与之一一对应的HSL值,直到夜间图像的最后一个像素转换完毕,从而将夜间图像转换为HSL图像;
RGB图像转HSL图像用到变量公式1、变量公式2和变量公式3,变量公式1的变量公式为:
变量公式2为:
变量公式3为:h表示色调,l表示亮度,s表示饱和度,max和min分别表示RGB三种颜色分量中的最大值和最小值,色度转换之后,根据变量公式3的计算结果记录下最大亮度的像素坐标,并将其设置为计算中心目标点(X,Y),便于对图像进行掩码操作,
使用中心目标点(X,Y)作为结构元素来腐蚀经过变量公式2处理的图像,创建一个3x3卷积核作为掩模,并使用HSL阈值来创建一个掩码,原始图像和掩模以(X,Y)为起点S执行按位运算,对于源图像数据f(x,y),卷积算子为3×3,邻域平均掩模的计算公式为:
在该公式中,x表示图像的水平坐标,y分别图像的垂直坐标,
腐蚀公式2为:
此公式表示使用结构元素B对A进行腐蚀,并且与被其覆盖的二值图像做“与”操作,A被B腐蚀是所有位移Z的集合,
还需要用到膨胀公式,膨胀公式为:
此膨胀公式表示用结构元素B扫描图像A的每一个元素,并且与被其覆盖的二值图像做“或”操作,A被B膨胀是所有位移z的集合,
结合变量公式2和腐蚀公式,根据起点S左右下上四个方向的像素点得出以下公式:
其中,max和min分别表示取函数的最大值和最小值,再结合式腐蚀公式得出以下公式1和公式2,其中,
公式1为,
公式2为:
n1,n2,n3,n4分别表示四个方向边界与中心(X,Y)的距离,
然后,在高亮度区域中使图像平滑,如邻域平均掩模的计算公式所示,遍历高亮度区域并使用当前像素作为参考点来确定在3×3的四个方向上是否存在至少一个值为0的像素区域,如变量公式3。若存在则该参考点是边界点,记录该边界点的坐标,直到找到边界点为止。最后,由公式2得到左、右、上和下边界点的坐标,分别是(xmin,Y)、(xmax,Y)、(X,ymin)和(X,ymax),初步确定图像上的高亮区域的中心坐标和边界坐标以及中心与边界的距离,为了进一步区分行人和其他高亮物体,对行人形状进行分析,一般情况下行人为直立姿态,以长方体作为模型设立了基本条件,设定长方体的长宽比范围在2:1至5:1,长方体的长宽比公式为:
5min(n1+n2,n3+n4)>max(n1+n2,n3+n4)>2min(n1+nx,n3+n4)
,其中,min表示取n1+n2和n3+n4中的最小值,max表示取n1+n2和n3+n4中的最大值;
步骤S201、图像形态学处理HSL图像;
图像形态学处理HSL图像包括腐蚀操作和膨胀操作,腐蚀操作需要调用OpenCV和Numpy库,腐蚀操作的具体过程是产生一个3×3的像素模版,通过像素模版扫描HSL图像中的所有像素点以及每个像素点的像素值,在遍历整个HSL图像的过程中,像素模版上的一个位置与HSL图像上的一个位置对应,像素模版的像素值与HSL图像上被像素模版覆盖的像素值进行与操作,当像素模版上的像素值与HSL图像上被像素模版所覆盖的像素值均为1时,所得到的腐蚀结果对应位置为1,否则,当像素模版上的像素值或HSL图像上被像素模版所覆盖的像素值为0时,所得到的腐蚀结果对应位置为0;膨胀操作调用OpenCV和Numpy库,膨胀操作通过一个3×3的像素模版遍历整个图像,像素模版中的像素值与HSL图像上被像素模版覆盖的像素值一一进行或操作,当像素模版上的像素值与HSL图像上被像素模版所覆盖的像素值都为0时,所得到的膨胀结果对应位置为0,否则,当像素模版上的像素值或HSL图像上被像素模版所覆盖的像素值为1时,结果为1;
步骤S3、图像区域划分处理;
本步骤包括以下两个子步骤:
步骤S300、图像区域静态划分,
具体步骤如下:在HSL图像中作水平线LINE1和水平线LINE2,水平线LINE2先设置在HSL图像竖直方向的二分之一处,水平线LINE1的下面部分是有效区域和实际识别范围,其需要树莓派的处理器操作,水平线LINE2将HSL图像划分为上半区和下半区,上半区位于水平线LINE2的上方,上半区为天空,下半区位于水平线LINE2的下方,下半区为地面,下半区为存在行人的区域,水平线LINE1位于水平线LINE2的上方,水平线LINE1和水平线LINE2之间的间距等于HSL图像宽度的十分之一,
步骤S301、检测车道线,然后根据车道线调整水平线LINE2的位置,一旦检测到车道线,则进行图像区域动态划分,然后输出图像,图像区域动态划分是指先找到车道线最靠近HSL图像上边沿的像素点,过车道线最靠近HSL图像上边沿的像素点作水平线LINE2,
检测车道线的具体步骤如下:
(1)读取HSL图像,并对HSL图像进行灰度转换;
(2)对处理后的HSL图像进行边缘检测。通过OpenCV中的Canny算子可以做边缘检测运算,canny函数是:
cv2.Canny(Input,Minval,Maxval),
其中,Input代表HSL图像,Minval代表最小阈值,Maxval代表最大阈值,最小阈值和最大阈值的设定直接影响到边缘提取的效果,为了确定真正的边界,设定的两个阈值Minval和Maxval,阀值范围是Minval至Maxval,当HSL图像的像素点A梯度高于阈值Maxval时可以认为是真的边界点,像素点C虽然低于Maxval,但高于Minval,同时与像素点A在同一条连续的线上,因此也可以认为是真正的边界点,而像素点B介于两阈值之间且不存在与其它超出阈值范围线相连,因此像素点B不是真正的边界点,具体地,阈值范围为50至120,边缘HSL图像edges=cv2.Canny(gray,50,120);
(3)对边缘检测后的HSL图像进行概率霍夫变换得到多条直线,通过OpenCV中的统计函数cv2.HoughLinesP(dst,lines,rho,theta,threshold,minLineLength,maxLineGap),计算上述的边缘HSL图像,其中,dst为输入的二值化图像,lines表示储存检测到直线的参数,rho表示参数极坐标上半径ρ以像素值为单位的分辨率,theta表示参数极坐标上角度θ以弧度为单位的分辨率,threshold表示阈值的设定,即一条直线所需最少的曲线交点,minLineLength表示最少可以组成一条直线的点数量,点数量不足的直线被排除,maxLineGap表示一条目标直线上点的最大距离,具体地,检测直线lines=cv2.HoughLinesP(edges,1,np.pi/180,100,10,10,30),霍夫变换是一种特征检测(feature extraction),被广泛应用在图像分析(image analysis)、计算机视觉(computervision)以及数位影像处理(digital image processing)。霍夫变换是用来辨别找出物件中的特征,例如:线条。他的算法流程大致如下,给定一个物件、要辨别的形状的种类,算法会在参数空间(parameter space)中执行投票来决定物体的形状,而这是由累加空间(accumulator space)里的局部最大值(local maximum)来决定;
(4)对直线进行分组,根据直线斜率的条件进行判别是否为车道线,斜率无限大或不存在的直线为电线杆,直线倾斜并存在斜率为车道线,车道线用较细的白色线标识出来,从而根据斜率判断电线杆和车道线,较粗的白线表示错误识别的电线杆;
(5)获取车道线最靠近HSL图像上边沿的像素点的y坐标值,过该像素点作水平线LINE2,水平线LINE2表示实际天空与地面的水平分界线,由此完成水平线Line2的定位;
步骤S4、对HSL图像的下半区进行行人检测,行人检测采用滑动窗口法提取ROI待检测窗口,滑动窗口法利用滑动窗口对HSL图像的下半区进行一定步长的扫描,滑动窗口缩放改变窗口的尺寸,扫描完毕后,获得可能是行人的ROI待检测窗口,具体步骤如下:
步骤S401、读取HSL图像的下半区;
步骤S402、创建滑动窗口,计算缩放因子对应的滑动窗口大小和步长(滑动窗口经过缩放因子缩放后扫描HSL图像的下半区,步长即滑动窗口扫描完HSL图像的下半区所用到的次数);
步骤S403、根据步长,滑动窗口遍历HSL图像的下半区,直到获取待检测窗口;
步骤S404、待检测窗口经过检测获取行人的位置;
步骤S5、行人特征提取,将待检测窗口分割成若干细胞单元,每个细胞单元有八行,每行有八个像素点,对每个细胞单元进行梯度计算和边缘直方图处理,将细胞单元的直方图组合构成图像的特征,将上下左右相邻的四个细胞单元组合成块单元,梯度的方向设置有九个区间,角度范围为0~180度,每隔20度为一个区间,利用块单元遍历整个图像,利用HSL图像的梯度和边缘的方向密度分部表示图像的局部形状特征,HOG特征(行人特征)的提取过程:
①Gamma归一化,对图像进行规范化,降低局部阴影及背景的影响,Gamma归一化的公式为:
I(x,y)=I(x,,y)gamma,
②计算图像梯度,主要是计算图像横坐标和纵坐标方向的梯度信息,并且计算每个像素位置的梯度方向值,最终得到行人轮廓和边缘信息,HSL图像中的像素点(x,y)的梯度公式为:
Gx(x,y)=H(x+1,y)-H(x-1,y),
Gy(x,y)=H(x,y+1)-H(x,y-1),
其中Gx(x,y)、Gy(x,y)、H(x,y)分别表示输入图像中像素点(x,y)处的水平方向梯度、垂直方向梯度和像素值,像素点(x,y)处的梯度增幅和梯度方向如下列公式所示:
③划分cell,构建每个cell单元的梯度方向直方图,将图像分成若干个“单元格cell”,一张64×128的图像,每8×8的像素组成一个cell,每2×2个cell组成一个block作为扫描窗口,以8个像素为距离长度进行扫描,共有7个扫描窗口在水平方向上,垂直方向上共有15个扫描窗口,总共有36×7×15=3780个特征。
④归一化梯度直方图,把每个单元格cell所对应的方向统计数据转换为单维向量,即对方向梯度个数进行编码,例如(8,10,6,12,4,5,8,6,14),得到单个cell的9个特征,每个block(扫描窗口)包含2×2个cell也就是2×2×9=36个特征,最后所得到的特征数为36×7×15=3780;
⑤收集HOG特征,最后将检测窗口中所有重叠的block进行HOG特征的收集,将它们合并为最后的特征向量,最后将这些特征向量提供给分类器使用,进行样本训练和测试;
步骤S6、设置SVM分类器,由步骤S5中的HOG特征作为样本,在训练数据库中设置多张夜间图像,利用训练数据库训练SVM分类器,SVM分类器根据HOG特征识别训练数据库中各种姿态的行人。
为了验证上述结果,本系统在相似的夜间场景进行行人检测并统计数据,数据表明:在光线条件为良好情况下检测的正确率最高,达到91.8%;其次是光照较弱的情况,正确率为90.1%;最低的是无光的情况,正确率为81.2%,因此,夜间光线条件越好,系统的检测性能越高。
本发明的行人检测方法作为方法1,与基于FPGA的行人检测系统的行人检测方法作为方法2,基于PC机的行人检测系统(SVM)的行人检测方法作为方法3,基于PC机的行人检测系统(AdaBoost)的行人检测方法作为方法4,在正确率上,本发明的行人检测方法优于方法2和方法3,正确率达到了92.4%,误报率降至3.8%,显示帧率上优于方法2,达到22帧/s,由于PC机的便携性较差并不适合用于车载场景中,而本发明的体积小可以满足车载场景的需要,,因此,本发明的总体性能优于其他方法。
在误报率上,最高是光线较弱的情况,证实了路灯在暗光环境下对系统的检测效果影响较大,需要对系统做进一步优化,由于在实际场景使用上,大多数的道路场景都存在路灯和车灯,光线条件多数处于光线较弱和光线良好之间,因此,本系统对夜间环境的适应性较强。
以上的实施方式不能限定本发明创造的保护范围,专业技术领域的人员在不脱离本发明创造整体构思的情况下,所做的均等修饰与变化,均仍属于本发明创造涵盖的范围之内。
Claims (7)
1.一种夜间行人检测系统,其特征在于该系统由图像采集模块、处理器、电源模块、显示模块和存储模块组成,所述图像采集模块、电源模块、显示模块和存储模块均与所述处理器电性连接。
2.根据权利要求1所述的夜间行人检测系统,其特征在于所述处理器为树莓派,所述树莓派的型号是3B+,所述树莓派安装有LINUX系统,LINUX系统安装有OpenCV库和Numpy库。
3.根据权利要求2所述的夜间行人检测系统,其特征在于所述图像采集模块为红外摄像头。
4.根据权利要求3所述的夜间行人检测系统,其特征在于所述红外摄像头的焦距范围是6mm至12mm, 所述红外摄像头的红外发射管的波长是940nm。
5.根据权利要求4所述的夜间行人检测系统,其特征在于所述显示模块为显示器,所述存储模块为存储卡。
6.一种基于权利要求1-5任一所述的夜间行人检测系统的行人检测方法,其特征在于利用红外摄像头采集夜间图像,夜间图像经过色度转换,得出HSL图像,然后使用图像形态学处理HSL图像以滤除噪点,再对HSL图像进行区域划分得出存在行人的区域,对存在行人的区域进行行人检测,提取行人的HOG特征,SVM分类器根据行人的HOG特征从数据库存储的夜间图像中识别出行人,不断训练训练SVM分类器,以提高夜间行人检测系统的准确率和抗干扰能力。
7.根据权利要求6所述的基于夜间行人检测系统的行人检测方法,包括以下步骤:
步骤S1、视频流畅性优化;红外摄像头在夜间采集RGB图像,树莓派读取每一帧RGB图像,为每帧RGB图像分配一个顺序编号,顺序编号从1至30,同时计算图像的帧数,每读入30帧RGB图像,顺序编号清零然后重新计数,处理每帧RGB图像前先识别其顺序编号,如果顺序编号为奇数,则执行步骤S2,如果该帧RGB图像的顺序编号为偶数,那么直接输出该帧RGB图像,不再执行步骤S2;
步骤S2、图像预处理,
本步骤包括以下两个子步骤:
步骤S200、行人图像色度转换,夜间图像属于RGB图像,夜间图像经过色度转换后输出HSL图像,具体步骤如下,
提取夜间图像的三种颜色分量,这三种颜色分量分别是R颜色分量、G颜色分量、B颜色分量,然后对夜间图像的三种颜色分量分别归一化,然后扫描夜间图像的每行每列,将夜间图像的三种颜色分量换算为与之一一对应的HSL值,直到夜间图像的最后一个像素转换完毕,从而将夜间图像转换为HSL图像;
RGB图像转HSL图像用到变量公式1、变量公式2和变量公式3,变量公式1的变量公式为:
变量公式2为:
变量公式3为:
h表示色调,表示亮度,s表示饱和度,max和min分别表示RGB三种颜色分量中的最大值
和最小值,色度转换之后,根据变量公式3的计算结果记录下最大亮度的像素坐标,并将其
设置为计算中心目标点(X,Y),便于对图像进行掩码操作,
使用中心目标点(X,Y)作为结构元素来腐蚀经过变量公式2处理的图像,先创建一个3x3卷积核作为掩模,并使用HSL阈值来创建一个掩码,原始图像和掩模以(X,Y)为起点S执行按位运算,对于源图像数据f(x, y),卷积算子为3×3,邻域平均掩模的计算公式为:
在该公式中,x 表示图像的水平坐标,y分别表示图像的垂直坐标,
腐蚀公式2为:
此公式表示使用结构元素B对A进行腐蚀,并且与被其覆盖的二值图像做“与”操作,A被B腐蚀是所有位移Z的集合,
还需要用到膨胀公式,膨胀公式为:
此膨胀公式表示用结构元素B扫描图像A的每一个元素,并且与被其覆盖的二值图像做“或”操作,A被B膨胀是所有位移z的集合,
结合变量公式2和腐蚀公式,根据起点S左右下上四个方向的像素点得出以下公式:
其中,max和min分别表示取函数的最大值和最小值,再结合式腐蚀公式得出以下公式1和公式2,其中,公式1为,
公式2 为:
n1,n2,n3,n4分别表示四个方向边界与中心(X,Y)的距离,
然后,在高亮度区域中使图像平滑,如邻域平均掩模的计算公式所示,遍历高亮度区域
并使用当前像素作为参考点来确定在3×3的四个方向上是否存在至少一个值为0的像素区
域,如变量公式3,若存在则该参考点是边界点,记录该边界点的坐标,直到找到边界点为
止,最后,由公式2得到左、右、上和下边界点的坐标,分别是(xmin,Y)、(xmax,Y)、(X,ymin)
和(X,ymax), 初步确定图像上的高亮区域的中心坐标和边界坐标以及中心与边界的距离,
为了进一步区分行人和其他高亮物体,对行人形状进行分析,一般情况下行人为直立姿态,
以长方体作为模型设立了基本条件,设定长方体的长宽比范围在2:1至5:1,长方体的长宽
比公式为: ,其中,min
表示取n1+n2和n3+n4中的最小值,max表示取n1+n2和n3+n4中的最大值;
步骤S201、图像形态学处理HSL图像;
图像形态学处理HSL图像包括腐蚀操作和膨胀操作,
腐蚀操作需要调用OpenCV和Numpy库,腐蚀操作的具体过程是产生一个3×3的像素模版,通过像素模版扫描HSL图像中的所有像素点以及每个像素点的像素值,在遍历整个HSL图像的过程中,像素模版上的一个位置与HSL图像上的一个位置对应,像素模版的像素值与HSL图像上被像素模版覆盖的像素值进行与操作,当像素模版上的像素值与HSL图像上被像素模版所覆盖的像素值均为1时,所得到的腐蚀结果对应位置为1,否则,当像素模版上的像素值或HSL图像上被像素模版所覆盖的像素值为0时,所得到的腐蚀结果对应位置为0;
膨胀操作调用OpenCV和Numpy库,膨胀操作通过一个3×3的像素模版遍历整个图像,像素模版中的像素值与HSL图像上被像素模版覆盖的像素值一一进行或操作,当像素模版上的像素值与HSL图像上被像素模版所覆盖的像素值都为0时,所得到的膨胀结果对应位置为0,否则,当像素模版上的像素值或HSL图像上被像素模版所覆盖的像素值为1时,结果为1;
步骤S3、图像区域划分处理;
本步骤包括以下两个子步骤:
步骤S300、图像区域静态划分,
具体步骤如下:在HSL图像中作水平线LINE1和水平线LINE2, 水平线LINE2先设置在HSL图像竖直方向的二分之一处,水平线LINE1的下面部分是有效区域和实际识别范围,其需要树莓派的处理器操作,水平线LINE2将HSL图像划分为上半区和下半区,上半区位于水平线LINE2的上方,上半区为天空,下半区位于水平线LINE2的下方,下半区为地面,下半区为存在行人的区域, 水平线LINE1位于水平线LINE2的上方, 水平线LINE1和水平线LINE2之间的间距等于HSL图像宽度的十分之一;
步骤S301、检测车道线,然后根据车道线调整水平线LINE2的位置,一旦检测到车道线,则进行图像区域动态划分,然后输出图像, 图像区域动态划分是指先找到车道线最靠近HSL图像上边沿的像素点,过车道线最靠近HSL图像上边沿的像素点作水平线LINE2,
检测车道线的具体步骤如下:
(1)读取HSL图像,并对HSL图像进行灰度转换;
(2)对处理后的HSL图像进行边缘检测,通过OpenCV中的Canny算子可以做边缘检测运算,canny函数是:
其中,Input代表HSL图像,Minval代表最小阈值,Maxval代表最大阈值,最小阈值和最大阈值的设定直接影响到边缘提取的效果,为了确定真正的边界,设定的两个阈值Minval和Maxval,阀值范围是Minval 至Maxval,当HSL图像的像素点A梯度高于阈值Maxval时可以认为是真的边界点,像素点C虽然低于Maxval,但高于Minval,同时与像素点A在同一条连续的线上,因此也可以认为是真正的边界点,而像素点B介于两阈值之间且不存在与其它超出阈值范围线相连,因此像素点B不是真正的边界点,具体地,阈值范围为50至120,边缘HSL图像edges = cv2.Canny(gray, 50, 120);
(3)对边缘检测后的HSL图像进行概率霍夫变换得到多条直线, 通过OpenCV中的统计函数cv2.HoughLinesP(dst, lines, rho, theta, threshold, minLineLength,maxLineGap),计算上述的边缘HSL图像,其中,dst为输入的二值化图像,lines表示储存检测到直线的参数,rho表示参数极坐标上半径ρ以像素值为单位的分辨率,theta表示参数极坐标上角度θ以弧度为单位的分辨率,threshold表示阈值的设定,即一条直线所需最少的曲线交点,minLineLength表示最少可以组成一条直线的点数量,点数量不足的直线被排除,maxLineGap表示一条目标直线上点的最大距离,具体地,检测直线lines =cv2.HoughLinesP(edges, 1, np.pi / 180, 100, 10, 10, 30);
(4)对直线进行分组,根据直线斜率的条件进行判别是否为车道线,斜率无限大或不存在的直线为电线杆,直线倾斜并存在斜率为车道线,车道线用较细的白色线标识出来,从而根据斜率判断电线杆和车道线;
(5)获取车道线最靠近HSL图像上边沿的像素点的y坐标值,过该像素点作水平线LINE2,水平线LINE2表示实际天空与地面的水平分界线,由此完成水平线Line2的定位;
步骤S4、对HSL图像的下半区进行行人检测,行人检测采用滑动窗口法提取ROI待检测窗口,滑动窗口法利用滑动窗口对HSL图像的下半区进行一定步长的扫描,滑动窗口缩放改变窗口的尺寸,扫描完毕后,获得可能是行人的ROI待检测窗口,具体步骤如下:
步骤S401、读取HSL图像的下半区;
步骤S402、创建滑动窗口,计算缩放因子对应的滑动窗口大小和步长;
步骤S403、根据步长,滑动窗口遍历HSL图像的下半区,直到获取待检测窗口;
步骤S404、待检测窗口经过检测获取行人的位置;
步骤S5、行人特征提取,将待检测窗口分割成若干细胞单元,每个细胞单元有八行,每行有八个像素点,对每个细胞单元进行梯度计算和边缘直方图处理,将细胞单元的直方图组合构成图像的特征,将上下左右相邻的四个细胞单元组合成块单元,梯度的方向设置有九个区间,角度范围为0~180度,每隔20度为一个区间,利用块单元遍历整个图像, 利用HSL图像的梯度和边缘的方向密度分部表示图像的局部形状特征,HOG特征的提取过程:
Gamma归一化,对图像进行规范化,降低局部阴影及背景的影响,Gamma归一化的公式为:
计算图像梯度,主要是计算图像横坐标和纵坐标方向的梯度信息,并且计算每个像素位置的梯度方向值,最终得到行人轮廓和边缘信息,HSL图像中的像素点(x,y)的梯度公式为:
其中Gx(x,y)、Gy(x,y)、H(x,y)分别表示输入图像中像素点(x,y)处的水平方向梯度、垂直方向梯度和像素值,像素点(x,y)处的梯度增幅和梯度方向如下列公式所示:
划分cell,构建每个cell单元的梯度方向直方图,将图像分成若干个“单元格cell”,一张64×128的图像,每8×8的像素组成一个cell,每2×2个cell组成一个block作为扫描窗口,以8个像素为距离长度进行扫描,共有7个扫描窗口在水平方向上,垂直方向上共有15个扫描窗口,总共有36×7×15=3780个特征;
归一化梯度直方图,把每个单元格cell所对应的方向统计数据转换为单维向量,即对方向梯度个数进行编码,例如(8,10,6,12,4,5,8,6,14),得到单个cell的9个特征,每个block(扫描窗口)包含2×2个cell也就是2×2×9=36个特征,最后所得到的特征数为36×7×15=3780;
收集HOG特征,最后将检测窗口中所有重叠的block进行HOG特征的收集,将它们合并为最后的特征向量,最后将这些特征向量提供给分类器使用,进行样本训练和测试;
步骤S6、设置SVM分类器,由步骤S5中的HOG特征作为样本,在训练数据库中设置多张夜间图像,利用训练数据库训练SVM分类器,SVM分类器根据HOG特征识别训练数据库中各种姿态的行人。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010187304.9A CN111382718B (zh) | 2020-03-17 | 2020-03-17 | 一种夜间行人检测系统及基于该系统的行人检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010187304.9A CN111382718B (zh) | 2020-03-17 | 2020-03-17 | 一种夜间行人检测系统及基于该系统的行人检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111382718A true CN111382718A (zh) | 2020-07-07 |
CN111382718B CN111382718B (zh) | 2023-08-11 |
Family
ID=71215494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010187304.9A Active CN111382718B (zh) | 2020-03-17 | 2020-03-17 | 一种夜间行人检测系统及基于该系统的行人检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111382718B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111998257A (zh) * | 2020-08-11 | 2020-11-27 | 杭州晶一智能科技有限公司 | 可进行坐姿提醒的护眼智能台灯 |
CN114332683A (zh) * | 2021-12-11 | 2022-04-12 | 南京行者易智能交通科技有限公司 | 一种基于深度学习自动选择区域的行人检测方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198332A (zh) * | 2012-12-14 | 2013-07-10 | 华南理工大学 | 一种实时鲁棒的远红外车载行人检测方法 |
CN103902976A (zh) * | 2014-03-31 | 2014-07-02 | 浙江大学 | 一种基于红外图像的行人检测方法 |
CN104778453A (zh) * | 2015-04-02 | 2015-07-15 | 杭州电子科技大学 | 一种基于红外行人亮度统计特征的夜间行人检测方法 |
-
2020
- 2020-03-17 CN CN202010187304.9A patent/CN111382718B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198332A (zh) * | 2012-12-14 | 2013-07-10 | 华南理工大学 | 一种实时鲁棒的远红外车载行人检测方法 |
CN103902976A (zh) * | 2014-03-31 | 2014-07-02 | 浙江大学 | 一种基于红外图像的行人检测方法 |
CN104778453A (zh) * | 2015-04-02 | 2015-07-15 | 杭州电子科技大学 | 一种基于红外行人亮度统计特征的夜间行人检测方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111998257A (zh) * | 2020-08-11 | 2020-11-27 | 杭州晶一智能科技有限公司 | 可进行坐姿提醒的护眼智能台灯 |
CN114332683A (zh) * | 2021-12-11 | 2022-04-12 | 南京行者易智能交通科技有限公司 | 一种基于深度学习自动选择区域的行人检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111382718B (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109886896B (zh) | 一种蓝色车牌分割与矫正方法 | |
CN110619750B (zh) | 面向违停车辆的智能航拍识别方法及系统 | |
CN103116751B (zh) | 一种车牌字符自动识别方法 | |
CN101334836B (zh) | 一种融合色彩、尺寸和纹理特征的车牌定位方法 | |
CN101408942B (zh) | 一种复杂背景下的车牌定位方法 | |
CN102364496B (zh) | 一种基于图像分析的汽车车牌自动识别方法及系统 | |
CN109726717B (zh) | 一种车辆综合信息检测系统 | |
CN108197523B (zh) | 基于图像转换及轮廓邻域差异的夜间车辆检测方法及系统 | |
CN103208185A (zh) | 一种基于车灯识别的夜间车辆检测方法及系统 | |
WO2024037408A1 (zh) | 一种基于图像融合和特征增强的煤矿井下行人检测方法 | |
CN106128115A (zh) | 一种基于双摄像机检测道路交通信息的融合方法 | |
CN102842037A (zh) | 一种基于多特征融合的车辆阴影消除方法 | |
CN112949398A (zh) | 车道线检测方法、测距方法及对应装置 | |
CN110427979B (zh) | 基于K-Means聚类算法的道路水坑识别方法 | |
CN103324958B (zh) | 一种复杂背景下基于投影法和svm的车牌定位方法 | |
CN111667655A (zh) | 基于红外图像的高速铁路安全区入侵警报装置及方法 | |
CN111382718B (zh) | 一种夜间行人检测系统及基于该系统的行人检测方法 | |
CN111881832A (zh) | 车道目标检测方法、装置、设备及计算机可读存储介质 | |
CN106407951A (zh) | 一种基于单目视觉的夜间前方车辆检测方法 | |
CN112287861A (zh) | 基于夜间环境感知的道路信息增强与驾驶预警方法 | |
CN109800693B (zh) | 一种基于颜色通道混合特征的夜间车辆检测方法 | |
CN111666811A (zh) | 一种提取交通场景图像中交通标志牌区域方法及系统 | |
CN113989771A (zh) | 一种基于数字图像处理的交通信号灯识别方法 | |
CN106529533A (zh) | 一种基于多尺度分析和匹配排序的复杂天气车牌定位方法 | |
CN112836619A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |