• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于OpenCV和機器學(xué)習(xí)的違法停車檢測算法

      2018-07-11 08:28:26譚中慧
      關(guān)鍵詞:分類器灰度機器

      劉 海, 譚中慧

      (中遠(yuǎn)海運科技股份有限公司,上海 200135)

      0 引 言

      隨著城市車輛保有量的不斷增加,路邊車輛亂停放現(xiàn)象日益嚴(yán)重。近年來為消除該交通陋習(xí),我國出臺了一系列新的交通管理法規(guī),支撐了智能交通和電子警察行業(yè)的快速發(fā)展,特別是違法停車自動抓拍系統(tǒng)得以大面積推廣。

      目前,違法停車自動抓拍系統(tǒng)在國內(nèi)沿海發(fā)達城市和內(nèi)地部分省會城市推廣度較高,二、三線城市仍有較大缺口。違停自動抓拍系統(tǒng)推廣主要受到以下幾方面因素的制約:

      (1) 城市交通較為復(fù)雜,人、機動車及非機動車混行,自動抓拍難度較大;

      (2) 傳統(tǒng)的自動抓拍算法一般采用基于灰度和紋理特性的前景、背景比對等傳統(tǒng)檢測手段,對車輛的整體認(rèn)識不夠,且極易受光線和天氣因素影響,漏拍和錯拍問題較多,抓拍率和有效率難以滿足應(yīng)用需要;

      (3) 傳統(tǒng)方式兼顧面小,有的甚至采用局部小預(yù)置位輪巡方式,只能一機單用,不能滿足治安及刑偵視頻監(jiān)控復(fù)用需求。

      為解決傳統(tǒng)抓拍算法的局限和不足,在傳統(tǒng)前景、背景比對算法的基礎(chǔ)上,引入基于機器學(xué)習(xí)和OpenCV的檢測抓拍算法,建立一種以傳統(tǒng)檢測算法為輔,機器學(xué)習(xí)檢測算法為主的檢測抓拍算法模型,既能很好解決復(fù)雜交通路況下目標(biāo)的鎖定抓拍問題,也能解決單一機器學(xué)習(xí)算法對遠(yuǎn)端目標(biāo)的弱視缺陷。同時,通過正、負(fù)樣本訓(xùn)練得到的多級分類器,受光線、背景和目標(biāo)運動狀態(tài)的影響小,有效提高抓拍數(shù)量和效率。此外,基于機器學(xué)習(xí)的抓拍算法支持多角度及多方向預(yù)置位輪巡抓拍,能夠滿足監(jiān)督及抓拍共用的需求。

      1 基于前景、背景差分比對的傳統(tǒng)抓拍建模

      基于前景、背景比對的抓拍方式需將彩色視頻圖像灰度化,再進行背景圖像提取、背景圖片自動更新、視頻序列二值化和目標(biāo)判定等步驟完成抓拍。

      采用局部背景提取和自動更新算法獲取目標(biāo)區(qū)域背景圖像。設(shè)視頻圖像分辨率為M×N,違法停車抓拍區(qū)域分別為R1、R2、…、Rn,分別計算每個區(qū)域內(nèi)單位像素的時間波動曲線σi(t)(見圖1),當(dāng)σi(t)<某一特定常數(shù)σ時,表示該像素灰度值穩(wěn)定,可提取或更新當(dāng)前背景。背景提取和更新的公式為

      σi(t)=|yi(t)-yi(t-1)|

      (1)

      (2)

      式(1)和式(2)中:yi(t)和yi(t-1)分別為某像素相鄰兩時刻的灰度值;Bn(t)和Bn(t-1)分別為某一抓拍區(qū)域n相鄰時刻的背景圖像;yn(t)為抓拍區(qū)域n當(dāng)前時刻的灰度圖像。

      a) 違法停車抓拍區(qū)域

      b) 單位像素灰度值時間特性

      前景圖像與背景圖像相減后得到模型,并按照某一特定閾值d對幀差結(jié)果進行歸一化,獲取目標(biāo)像素的二值數(shù)據(jù),設(shè)前景圖像像素點i的灰度值為Yi,背景圖像對應(yīng)位置像素點的灰度值為Bi,則圖像二值化函數(shù)f(i)為

      (3)

      視頻圖像二值化結(jié)果見圖2。

      將二值化結(jié)果按照M×N大小為單位分成若干小塊,并以每小塊為單位,統(tǒng)計小塊內(nèi)二值化為1的點數(shù),以判定小塊內(nèi)是否有目標(biāo)。小塊內(nèi)出現(xiàn)目標(biāo),小塊計數(shù)器加1;沒有目標(biāo),小塊計數(shù)器減1。一段時間內(nèi)小塊計數(shù)器累加超過某一閾值,則表明該方格內(nèi)有目標(biāo)滯留。設(shè)第n小塊計數(shù)器為C(n),則其函數(shù)關(guān)系為

      (4)

      a) 實時視頻圖像

      b) 視頻圖像二值化

      a) 目標(biāo)分塊累加計數(shù)

      b) 目標(biāo)提取

      基于前景、背景圖像和二值化的傳統(tǒng)抓拍手段在背景圖像提取、實時更新等關(guān)鍵環(huán)節(jié)仍存在較多的技術(shù)瓶頸,在城市復(fù)雜交通流條件下很難達到實用要求。同時,城市道路人車混行,任何移動目標(biāo)都可能對目標(biāo)二值化處理及目標(biāo)分割造成影響,嚴(yán)重制約檢測效果。因此,傳統(tǒng)違法停車檢測算法不適合多方向及大流量城市交通違法停車的抓拍。

      2 機器學(xué)習(xí)抓拍建模

      為解決傳統(tǒng)算法的缺陷,在傳統(tǒng)目標(biāo)檢測的基礎(chǔ)上引入機器學(xué)習(xí)算法對車輛目標(biāo)進行檢測,基本思想是通過機器學(xué)習(xí)的方式,模仿人類大腦認(rèn)知事物的過程,通過海量的正、負(fù)目標(biāo)樣本,并通過選擇適當(dāng)?shù)奶卣鲄?shù),建立機器學(xué)習(xí)訓(xùn)練模型,訓(xùn)練出具有明顯特征的多級分類器,并將該分類器運用到實際檢測中,通過計算實時視頻圖像的特征參數(shù),與串聯(lián)的各級分類器進行比對搜索,進而進行目標(biāo)識別。該過程能以整體為單位對目標(biāo)進行識別,不需進行背景圖像提取及自動更新,也無需視頻圖像二值化和目標(biāo)分割,能很好的解決傳統(tǒng)圖像處理技術(shù)瓶頸。

      2.1 特征選取

      Haar特征可反映圖像的灰度變化和像素分模塊的求差值,分為邊緣特征、線性特征、中心和對角線特征等,組合成特征模板見圖4。

      車輛目標(biāo)相對于道路交通中其他目標(biāo)具有清晰的輪廓、線條和對稱性,因此,選用Haar特性進行分類器訓(xùn)練。

      2.2 分類器訓(xùn)練算法

      a) 邊緣特征

      b) 線性特征

      c) 中心對角特征

      采用Adaboost算法進行分類器訓(xùn)練,Adaboost是一種迭代算法,該算法的核心思想是針對同一個訓(xùn)練集中不同的分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個更強的最終分類器(強分類器)。該算法本身是通過改變數(shù)據(jù)分布來實現(xiàn)的,根據(jù)每次訓(xùn)練集中每個樣本的分類是否正確及上次的總體分類的準(zhǔn)確率,來確定每個樣本的權(quán)值。將修改過權(quán)值的新數(shù)據(jù)集送給下層分類器進行訓(xùn)練,再將每次訓(xùn)練得到的分類器進行融合,作為最后的決策分類器。

      3 基于OpenCV的Adaboost分類器訓(xùn)練及調(diào)用實現(xiàn)

      OpenCV是Intel資助的開源計算機視覺庫。它由一系列C函數(shù)和少量C++類構(gòu)成,實現(xiàn)了視頻圖像處理和計算機視覺方面的很多通用算法。OpenCV包含300多個C/C++函數(shù)的跨平臺的中、高層API,不依賴于其他外部庫,可獨立于操作系統(tǒng)、硬件和圖形管理器。

      分類器訓(xùn)練及調(diào)用分為樣本收集:預(yù)處理、樣本數(shù)據(jù)生成、分類器訓(xùn)練及檢測抓拍等關(guān)鍵幾步。OpenCV集成了用于Haar特征提取和Adaboost算法的全套系統(tǒng)函數(shù)及解決方案,提供用于支撐樣本數(shù)據(jù)的生成、分類器訓(xùn)練和機器視覺目標(biāo)檢測的所有接口。

      3.1 樣本收集及預(yù)處理

      Adaboost訓(xùn)練算法需輸入大量的正、負(fù)樣本圖片,車輛檢測中正樣本為各種車輛局部或整體圖片,負(fù)樣本為除車輛以外的其他圖片。

      由于車輛頭部和尾部都由擋風(fēng)玻璃及車燈等具有明顯特征的結(jié)構(gòu)組成,Haar特征明顯,故選取車頭和車尾圖片作為正樣本。分別調(diào)用OpenCV中cvLoadImage、cvResize和cvSaveImage函數(shù),將正樣本圖片尺寸全部歸一化為25×25像素大小。

      負(fù)樣本的選取多以路、路標(biāo)、行人、非機動車、行道樹及交通設(shè)施等交通相關(guān)目標(biāo)為主,尺寸不等。樣本集S計算公式為

      S=P∪N

      (5)

      式(5)中:P為正樣本集;N為負(fù)樣本集。P和N的計算公式為

      P=?(p1,p2,…,pn),pi.size=25×25

      (6)

      N=?(n1,n2,…,nm),ni.size=x×y

      (7)

      式(6)和式(7)中:pi為正樣本圖片;ni為負(fù)樣本圖片。25×25表示固定圖像分辨率,x×y表示任意圖像分辨率。樣本庫中部分訓(xùn)練樣本見圖5。

      3.2 樣本數(shù)據(jù)生成

      訓(xùn)練器不能直接處理采集的正、負(fù)樣本數(shù)據(jù),需根據(jù)圖片先行生成樣本數(shù)據(jù)。

      負(fù)樣本相對簡單,只需要先建立負(fù)樣本文件夾(Neg),將負(fù)樣本全部存放其中,并創(chuàng)建Neg.dat描述文件,將負(fù)樣本圖片名稱分別填入Neg.dat的每一行中(見圖6a)。

      正樣本放置于文件夾Pos中,建立正本描述文件Pos.dat見圖6b),調(diào)用OpenCV中的createsamples方法即可生成正樣本數(shù)據(jù)Pos.vec。

      3.3 分類器訓(xùn)練

      準(zhǔn)備好正、負(fù)樣本和各樣本數(shù)據(jù)后,調(diào)用OpenCV提供的分類器訓(xùn)練方法haartraining,輸入正、負(fù)樣本數(shù)據(jù)路徑、數(shù)量及尺寸,規(guī)定分類器層數(shù)等要求,進行分類器訓(xùn)練。訓(xùn)練過程以命令形式啟動,其命令格式見圖7。

      a) 正樣本

      b) 負(fù)樣本

      a) 負(fù)樣本描述文件

      b) 正樣本描述文件

      圖7 分類器訓(xùn)練過程啟動命令

      圖7中,“opencv_haartraining.exe”為OpenCV訓(xùn)練函數(shù);“-data data”為訓(xùn)練完后的生成文件,最終生成data.xml分類器文件;“pos.vec”和“neg.dat”分別表示正、負(fù)樣本描述文件;270和125分別表示正、負(fù)樣本圖片數(shù)量;22表示分類器最大級聯(lián)層數(shù);“-w 25”和“-h 25”表示正樣本大小尺寸;“minHitRate”為命中率,表示正樣本通過能力,該數(shù)值越逼近1越好;“minHitRate”為“虛警率”,表示負(fù)樣本通過率,越逼近0越好;“-mode ALL”表示級聯(lián)器支持類型,默認(rèn)即可;“-mem 1000”聲明訓(xùn)練過程需申請1 000 MB內(nèi)存空間。分類器訓(xùn)練過程時間由樣本集的圖片數(shù)量決定,訓(xùn)練完成后,生成.xml文件即為最終的分類器。

      3.4 停車檢測

      OpenCV提供了基于xml分類器的機器學(xué)習(xí)檢測方法全套接口函數(shù),將xml分類器及目標(biāo)尺寸等參數(shù)一同輸入cvHaarDetectObjects函數(shù),即可實現(xiàn)對車輛目標(biāo)的檢測。根據(jù)函數(shù)輸出的目標(biāo)車輛數(shù)量及位置等信息,結(jié)合時間及空間特性,可實現(xiàn)違法停車檢測及抓拍。

      OpenCV機器學(xué)習(xí)過程為

      F(&n,&rect)=f(img,xml,*s,w,h)

      (8)

      式(8)中:&n為檢測輸出目標(biāo)個數(shù);&rect為目標(biāo)位置,以矩形坐標(biāo)形式輸出;輸入?yún)?shù)中img為圖像數(shù)據(jù);xml為分類器;*s為一片預(yù)分配的內(nèi)存區(qū)域,用于存儲檢測出的目標(biāo)信息;w和h分別為檢測結(jié)果中目標(biāo)的最小寬度和高度尺寸。

      對檢測出的目標(biāo)車輛在時間序列上進行時間、空間關(guān)系計算和跟蹤,判斷目標(biāo)是否具有時間連續(xù)性和空間不變性,以實現(xiàn)停車檢測。停車檢測算法公式為

      (9)

      3.5 對傳統(tǒng)算法的改進

      基于OpenCV和機器學(xué)習(xí)的停車檢測算法對傳統(tǒng)算法的改進主要體現(xiàn)在算法思想、算法實現(xiàn)難易層度、算法抗干擾性和代碼的執(zhí)行效率等方面(見表1)。

      表1 OpenCV及機器學(xué)習(xí)算法對傳統(tǒng)算法的改進

      傳統(tǒng)檢測算法主要分析視頻圖像的灰度變化和紋理差異,具體細(xì)分到每一個像素點的灰度特性,為微觀圖像處理算法,缺乏對檢測目標(biāo)的整體認(rèn)識,是一個存在非辨別性的檢測。OpenCV和機器學(xué)習(xí)的停車檢測算法則以目標(biāo)整體為檢測對象,針對目標(biāo)整體的線性特征、以角特征和邊緣特征為研究對象,通過計算圖像內(nèi)物體的特征值,并與分類器做比對,進而區(qū)分目標(biāo)種類,實現(xiàn)可見、可辨的算法效果。

      在算法實現(xiàn)過程中,傳統(tǒng)算法需要實現(xiàn)背景圖像提取及自動更新等關(guān)鍵算法,目前對于復(fù)雜交通流仍存在技術(shù)瓶頸。機器學(xué)習(xí)算法可繞開以上技術(shù)瓶頸,只需建立合適的機器學(xué)習(xí)框架機制,采集適當(dāng)數(shù)量的正、負(fù)樣本,即可訓(xùn)練準(zhǔn)確的分類器,實現(xiàn)精準(zhǔn)檢測。

      基于OpenCV和機器學(xué)習(xí)的停車檢測算法能在大流量交通環(huán)境下正確識別目標(biāo),可有效解決車輛排隊及粘連等問題,同時能有效排除非機動車及行人等對目標(biāo)檢測的影響?;贠penCV的視頻圖像處理算法采用了成熟的開源接口函數(shù),不僅加速了代碼開發(fā)速度,同時受益于OpenCV的高效性,能最大程度提高算法的執(zhí)行效率。

      4 算法實驗

      以Visual C++ studio為開發(fā)環(huán)境,采用MFC程序開發(fā)框架,分別用720×576標(biāo)清視頻和1920×1080高清視頻對算法進行了測試,測試效果見圖8。

      a) 標(biāo)清視頻檢測效果

      b) 高清視頻檢測效果

      在上海市浦東新區(qū)沈家弄路近民生路口進行幾種算法違法停車自動抓拍比對測試,測試環(huán)境相同,測試時長8小時,測試數(shù)據(jù)見表2。

      表2 違停抓拍測試數(shù)據(jù)

      由測試對比可知,基于OpenCV和機器學(xué)習(xí)的違法停車檢測算法具有較好的抓拍效果和響應(yīng)速度,算法不受預(yù)置位限制,可實現(xiàn)多方位檢測,復(fù)雜路況下仍能實現(xiàn)有效的目標(biāo)分割。

      5 結(jié) 語

      對基于OpenCV和機器學(xué)習(xí)的車輛目標(biāo)檢測和抓拍算法進行研究,用機器學(xué)習(xí)的方式模擬人工智能,做到目標(biāo)整體特征計算。實現(xiàn)多級分類快速識別,從根本上區(qū)別于傳統(tǒng)前景、背景比對的檢測方式,較傳統(tǒng)方式具有更好的車輛感知能力和辨別能力,具有更好的抗干擾性能。

      猜你喜歡
      分類器灰度機器
      機器狗
      采用改進導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過濾技術(shù)
      機器狗
      基于灰度拉伸的圖像水位識別方法研究
      未來機器城
      電影(2018年8期)2018-09-21 08:00:06
      BP-GA光照分類器在車道線識別中的應(yīng)用
      電子測試(2018年1期)2018-04-18 11:52:35
      基于最大加權(quán)投影求解的彩色圖像灰度化對比度保留算法
      加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
      結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
      基于灰度線性建模的亞像素圖像抖動量計算
      新昌县| 西昌市| 临沧市| 石柱| 呈贡县| 永济市| 巴塘县| 广昌县| 临洮县| 佛坪县| 兴安盟| 江华| 枣强县| 晋城| 卢湾区| 天全县| 贵州省| 泾源县| 内乡县| 大化| 禹城市| 隆尧县| 铜梁县| 上思县| 黔江区| 贺兰县| 湖州市| 昭苏县| 洛隆县| 象山县| 南开区| 绥芬河市| 辉南县| 夏邑县| 津市市| 永丰县| 海阳市| 西峡县| 嘉荫县| 广灵县| 循化|