[發(fā)明專利]一種夜間行人檢測系統(tǒng)及基于該系統(tǒng)的行人檢測方法有效
| 申請?zhí)枺?/td> | 202010187304.9 | 申請日: | 2020-03-17 |
| 公開(公告)號: | CN111382718B | 公開(公告)日: | 2023-08-11 |
| 發(fā)明(設(shè)計(jì))人: | 易子川;白鵬飛;陳志斌;水玲玲;遲鋒;張智;張崇富 | 申請(專利權(quán))人: | 電子科技大學(xué)中山學(xué)院 |
| 主分類號: | G06V40/10 | 分類號: | G06V40/10;G06V20/58;G06V20/56;G06V10/20;G06V10/26;G06V10/30;G06V10/44;G06V10/48;G06V10/50;G06V10/764;G06V10/94 |
| 代理公司: | 廣東雅商律師事務(wù)所 44652 | 代理人: | 杜海江 |
| 地址: | 528400 *** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 夜間 行人 檢測 系統(tǒng) 基于 方法 | ||
1.一種夜間行人檢測系統(tǒng)的行人監(jiān)測方法,該夜間行人檢測系統(tǒng)由圖像采集模塊、處理器、電源模塊、顯示模塊和存儲模塊組成,所述圖像采集模塊、電源模塊、顯示模塊和存儲模塊均與所述處理器電性連接;
其特征在于:
利用紅外攝像頭采集夜間圖像,夜間圖像經(jīng)過色度轉(zhuǎn)換,得出HSL圖像,然后使用圖像形態(tài)學(xué)處理HSL圖像以濾除噪點(diǎn),再對HSL圖像進(jìn)行區(qū)域劃分得出存在行人的區(qū)域,對存在行人的區(qū)域進(jìn)行行人檢測,提取行人的HOG特征,SVM分類器根據(jù)行人的HOG特征從數(shù)據(jù)庫存儲的夜間圖像中識別出行人,不斷訓(xùn)練訓(xùn)練SVM分類器,以提高夜間行人檢測系統(tǒng)的準(zhǔn)確率和抗干擾能力;
包括以下步驟:
步驟S1、視頻流暢性優(yōu)化;紅外攝像頭在夜間采集RGB圖像,樹莓派讀取每一幀RGB圖像,為每幀RGB圖像分配一個(gè)順序編號,順序編號從1至30,同時(shí)計(jì)算圖像的幀數(shù),每讀入30幀RGB圖像,順序編號清零然后重新計(jì)數(shù),處理每幀RGB圖像前先識別其順序編號,如果順序編號為奇數(shù),則執(zhí)行步驟S2,如果該幀RGB圖像的順序編號為偶數(shù),那么直接輸出該幀RGB圖像,不再執(zhí)行步驟S2;
步驟S2、圖像預(yù)處理,
本步驟包括以下兩個(gè)子步驟:
步驟S200、行人圖像色度轉(zhuǎn)換,夜間圖像屬于RGB圖像,夜間圖像經(jīng)過色度轉(zhuǎn)換后輸出HSL圖像,具體步驟如下,
提取夜間圖像的三種顏色分量,這三種顏色分量分別是R顏色分量、G顏色分量、B顏色分量,然后對夜間圖像的三種顏色分量分別歸一化,然后掃描夜間圖像的每行每列,將夜間圖像的三種顏色分量換算為與之一一對應(yīng)的HSL值,直到夜間圖像的最后一個(gè)像素轉(zhuǎn)換完畢,從而將夜間圖像轉(zhuǎn)換為HSL圖像;
RGB圖像轉(zhuǎn)HSL圖像用到變量公式1、變量公式2和變量公式3,變量公式1的變量公式為:
變量公式2為:
變量公式3為:
h表示色調(diào),l表示亮度,s表示飽和度,max和min分別表示RGB三種顏色分量中的最大值和最小值,色度轉(zhuǎn)換之后,根據(jù)變量公式3的計(jì)算結(jié)果記錄下最大亮度的像素坐標(biāo),并將其設(shè)置為計(jì)算中心目標(biāo)點(diǎn)(X,Y),便于對圖像進(jìn)行掩碼操作,
使用中心目標(biāo)點(diǎn)(X,Y)作為結(jié)構(gòu)元素來腐蝕經(jīng)過變量公式2處理的圖像,先創(chuàng)建一個(gè)3x3卷積核作為掩模,并使用HSL閾值來創(chuàng)建一個(gè)掩碼,原始圖像和掩模以(X,Y)為起點(diǎn)S執(zhí)行按位運(yùn)算,對于源圖像數(shù)據(jù)f(x,y),卷積算子為3×3,鄰域平均掩模的計(jì)算公式為:
在該公式中,x表示圖像的水平坐標(biāo),y分別表示圖像的垂直坐標(biāo),
腐蝕公式2為:
此公式表示使用結(jié)構(gòu)元素B對A進(jìn)行腐蝕,并且與被其覆蓋的二值圖像做“與”操作,A被B腐蝕是所有位移Z的集合,
還需要用到膨脹公式,膨脹公式為:
此膨脹公式表示用結(jié)構(gòu)元素B掃描圖像A的每一個(gè)元素,并且與被其覆蓋的二值圖像做“或”操作,A被B膨脹是所有位移z的集合,
對Z中的集合A和B,使用B對A進(jìn)行膨脹,用表示,
結(jié)合變量公式2和腐蝕公式,根據(jù)起點(diǎn)S左右下上四個(gè)方向的像素點(diǎn)得出以下公式:
其中,max和min分別表示取函數(shù)的最大值和最小值,再結(jié)合式腐蝕公式得出以下公式1和公式2,其中,公式1為,
公式2為:
n1,n2,n3,n4分別表示四個(gè)方向邊界與中心(X,Y)的距離,
然后,在高亮度區(qū)域中使圖像平滑,遍歷高亮度區(qū)域并使用當(dāng)前像素作為參考點(diǎn)來確定在3×3的四個(gè)方向上是否存在至少一個(gè)值為0的像素區(qū)域,若存在則該參考點(diǎn)是邊界點(diǎn),記錄該邊界點(diǎn)的坐標(biāo),直到找到邊界點(diǎn)為止,最后,由公式2得到左、右、上和下邊界點(diǎn)的坐標(biāo),分別是(xmin,Y)、(xmax,Y)、(X,ymin)和(X,ymax),初步確定圖像上的高亮區(qū)域的中心坐標(biāo)和邊界坐標(biāo)以及中心與邊界的距離,為了進(jìn)一步區(qū)分行人和其他高亮物體,對行人形狀進(jìn)行分析,以長方體作為模型設(shè)立了基本條件,設(shè)定長方體的長寬比范圍在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、圖像形態(tài)學(xué)處理HSL圖像;
圖像形態(tài)學(xué)處理HSL圖像包括腐蝕操作和膨脹操作,腐蝕操作需要調(diào)用OpenCV和Numpy庫,腐蝕操作的具體過程是產(chǎn)生一個(gè)3×3的像素模版,通過像素模版掃描HSL圖像中的所有像素點(diǎn)以及每個(gè)像素點(diǎn)的像素值,在遍歷整個(gè)HSL圖像的過程中,像素模版上的一個(gè)位置與HSL圖像上的一個(gè)位置對應(yīng),像素模版的像素值與HSL圖像上被像素模版覆蓋的像素值進(jìn)行與操作,當(dāng)像素模版上的像素值與HSL圖像上被像素模版所覆蓋的像素值均為1時(shí),所得到的腐蝕結(jié)果對應(yīng)位置為1,否則,當(dāng)像素模版上的像素值或HSL圖像上被像素模版所覆蓋的像素值為0時(shí),所得到的腐蝕結(jié)果對應(yīng)位置為0;
膨脹操作調(diào)用OpenCV和Numpy庫,膨脹操作通過一個(gè)3×3的像素模版遍歷整個(gè)圖像,像素模版中的像素值與HSL圖像上被像素模版覆蓋的像素值一一進(jìn)行或操作,當(dāng)像素模版上的像素值與HSL圖像上被像素模版所覆蓋的像素值都為0時(shí),所得到的膨脹結(jié)果對應(yīng)位置為0,否則,當(dāng)像素模版上的像素值或HSL圖像上被像素模版所覆蓋的像素值為1時(shí),結(jié)果為1;
步驟S3、圖像區(qū)域劃分處理;
本步驟包括以下兩個(gè)子步驟:
步驟S300、圖像區(qū)域靜態(tài)劃分,
具體步驟如下:在HSL圖像中作水平線LINE1和水平線LINE2,水平線LINE2先設(shè)置在HSL圖像豎直方向的二分之一處,水平線LINE1的下面部分是有效區(qū)域和實(shí)際識別范圍,其需要樹莓派的處理器操作,水平線LINE2將HSL圖像劃分為上半?yún)^(qū)和下半?yún)^(qū),上半?yún)^(qū)位于水平線LINE2的上方,上半?yún)^(qū)為天空,下半?yún)^(qū)位于水平線LINE2的下方,下半?yún)^(qū)為地面,下半?yún)^(qū)為存在行人的區(qū)域,水平線LINE1位于水平線LINE2的上方,水平線LINE1和水平線LINE2之間的間距等于HSL圖像寬度的十分之一;
步驟S301、檢測車道線,然后根據(jù)車道線調(diào)整水平線LINE2的位置,一旦檢測到車道線,則進(jìn)行圖像區(qū)域動態(tài)劃分,然后輸出圖像,圖像區(qū)域動態(tài)劃分是指先找到車道線最靠近HSL圖像上邊沿的像素點(diǎn),過車道線最靠近HSL圖像上邊沿的像素點(diǎn)作水平線LINE2,
檢測車道線的具體步驟如下:
(1)讀取HSL圖像,并對HSL圖像進(jìn)行灰度轉(zhuǎn)換;
(2)對處理后的HSL圖像進(jìn)行邊緣檢測,通過OpenCV中的Canny算子可以做邊緣檢測運(yùn)算,canny函數(shù)是:
cv2.Canny(Input,
其中,Input代表HSL圖像,Minval代表最小閾值,Maxval代表最大閾值,最小閾值和最大閾值的設(shè)定直接影響到邊緣提取的效果,為了確定真正的邊界,設(shè)定的兩個(gè)閾值Minval和Maxval,閥值范圍是Minval至Maxval,當(dāng)HSL圖像的像素點(diǎn)A梯度高于閾值Maxval時(shí)可以認(rèn)為是真的邊界點(diǎn),像素點(diǎn)C雖然低于Maxval,但高于Minval,同時(shí)與像素點(diǎn)A在同一條連續(xù)的線上,因此也可以認(rèn)為是真正的邊界點(diǎn),而像素點(diǎn)B介于兩閾值之間且不存在與其它超出閾值范圍線相連,因此像素點(diǎn)B不是真正的邊界點(diǎn),具體地,閾值范圍為50至120,邊緣HSL圖像edges=cv2.Canny(gray,50,120);
(3)對邊緣檢測后的HSL圖像進(jìn)行概率霍夫變換得到多條直線,通過OpenCV中的統(tǒng)計(jì)函數(shù)cv2.HoughLinesP(dst,lines,rho,theta,threshold,minLineLength,maxLineGap),計(jì)算上述的邊緣HSL圖像,其中,dst為輸入的二值化圖像,lines表示儲存檢測到直線的參數(shù),rho表示參數(shù)極坐標(biāo)上半徑ρ以像素值為單位的分辨率,theta表示參數(shù)極坐標(biāo)上角度θ以弧度為單位的分辨率,threshold表示閾值的設(shè)定,即一條直線所需最少的曲線交點(diǎn),minLineLength表示最少可以組成一條直線的點(diǎn)數(shù)量,點(diǎn)數(shù)量不足的直線被排除,maxLineGap表示一條目標(biāo)直線上點(diǎn)的最大距離,具體地,檢測直線lines=cv2.HoughLinesP(edges,1,np.pi/180,100,10,10,30);
(4)對直線進(jìn)行分組,根據(jù)直線斜率的條件進(jìn)行判別是否為車道線,斜率無限大或不存在的直線為電線桿,直線傾斜并存在斜率為車道線,車道線用較細(xì)的白色線標(biāo)識出來,從而根據(jù)斜率判斷電線桿和車道線;
(5)獲取車道線最靠近HSL圖像上邊沿的像素點(diǎn)的y坐標(biāo)值,過該像素點(diǎn)作水平線LINE2,水平線LINE2表示實(shí)際天空與地面的水平分界線,由此完成水平線Line2的定位;
步驟S4、對HSL圖像的下半?yún)^(qū)進(jìn)行行人檢測,行人檢測采用滑動窗口法提取ROI待檢測窗口,滑動窗口法利用滑動窗口對HSL圖像的下半?yún)^(qū)進(jìn)行一定步長的掃描,滑動窗口縮放改變窗口的尺寸,掃描完畢后,獲得可能是行人的ROI待檢測窗口,具體步驟如下:
步驟S401、讀取HSL圖像的下半?yún)^(qū);
步驟S402、創(chuàng)建滑動窗口,計(jì)算縮放因子對應(yīng)的滑動窗口大小和步長;
步驟S403、根據(jù)步長,滑動窗口遍歷HSL圖像的下半?yún)^(qū),直到獲取待檢測窗口;
步驟S404、待檢測窗口經(jīng)過檢測獲取行人的位置;
步驟S5、行人特征提取,將待檢測窗口分割成若干細(xì)胞單元,每個(gè)細(xì)胞單元有八行,每行有八個(gè)像素點(diǎn),對每個(gè)細(xì)胞單元進(jìn)行梯度計(jì)算和邊緣直方圖處理,將細(xì)胞單元的直方圖組合構(gòu)成圖像的特征,將上下左右相鄰的四個(gè)細(xì)胞單元組合成塊單元,梯度的方向設(shè)置有九個(gè)區(qū)間,角度范圍為0~180度,每隔20度為一個(gè)區(qū)間,利用塊單元遍歷整個(gè)圖像,利用HSL圖像的梯度和邊緣的方向密度分部表示圖像的局部形狀特征,HOG特征的提取過程:
①Gamma歸一化,對圖像進(jìn)行規(guī)范化,降低局部陰影及背景的影響,Gamma歸一化的公式為:
I(x,y)=I(x,y)gamma,
②計(jì)算圖像梯度,主要是計(jì)算圖像橫坐標(biāo)和縱坐標(biāo)方向的梯度信息,并且計(jì)算每個(gè)像素位置的梯度方向值,最終得到行人輪廓和邊緣信息,HSL圖像中的像素點(diǎn)(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)分別表示輸入圖像中像素點(diǎn)(x,y)處的水平方向梯度、垂直方向梯度和像素值,像素點(diǎn)(x,y)處的梯度增幅和梯度方向如下列公式所示:
③劃分cell,構(gòu)建每個(gè)cell單元的梯度方向直方圖,將圖像分成若干個(gè)“單元格cell”,一張64×128的圖像,每8×8的像素組成一個(gè)cell,每2×2個(gè)cell組成一個(gè)block作為掃描窗口,以8個(gè)像素為距離長度進(jìn)行掃描,共有7個(gè)掃描窗口在水平方向上,垂直方向上共有15個(gè)掃描窗口,總共有36×7×15=3780個(gè)特征;
④歸一化梯度直方圖,把每個(gè)單元格cell所對應(yīng)的方向統(tǒng)計(jì)數(shù)據(jù)轉(zhuǎn)換為單維向量,即對方向梯度個(gè)數(shù)進(jìn)行編碼,(8,10,6,12,4,5,8,6,14),得到單個(gè)cell的9個(gè)特征,每個(gè)block包含2×2個(gè)cell也就是2×2×9=36個(gè)特征,最后所得到的特征數(shù)為36×7×15=3780;
⑤收集HOG特征,最后將檢測窗口中所有重疊的block進(jìn)行HOG特征的收集,將它們合并為最后的特征向量,最后將這些特征向量提供給分類器使用,進(jìn)行樣本訓(xùn)練和測試;
步驟S6、設(shè)置SVM分類器,由步驟S5中的HOG特征作為樣本,在訓(xùn)練數(shù)據(jù)庫中設(shè)置多張夜間圖像,利用訓(xùn)練數(shù)據(jù)庫訓(xùn)練SVM分類器,SVM分類器根據(jù)HOG特征識別訓(xùn)練數(shù)據(jù)庫中各種姿態(tài)的行人。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于電子科技大學(xué)中山學(xué)院,未經(jīng)電子科技大學(xué)中山學(xué)院許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010187304.9/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





