亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android平臺的車道線檢測系統(tǒng)設(shè)計

        2015-08-10 10:30:12黃惠迪官洪運
        電子設(shè)計工程 2015年15期
        關(guān)鍵詞:定義檢測系統(tǒng)

        黃惠迪,官洪運,鄧 昶,薛 節(jié)

        (東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)

        隨著社會的發(fā)展和交通工程的大量興起,車輛行駛安全問題也日益突出,并已今成為當今汽車行業(yè)的一個關(guān)鍵問題。用于智能車輛導(dǎo)航系統(tǒng)的開發(fā)越來越受到研究者和廠商的關(guān)注,其中,基于圖像處理的車道線檢測以及車道偏離預(yù)警占據(jù)了重要的一個環(huán)節(jié)。通常汽車安全輔助系統(tǒng)需要高成本硬件設(shè)備來實現(xiàn),使得安全駕駛輔助系統(tǒng)尚未廣泛普及[1]。

        作為移動設(shè)備搭載的主流操作系統(tǒng)之一,Android[1]是基于Linux平臺的開放性操作系統(tǒng)。它由多個組織推動標準,達到了相當高的開放程度,配置不同的硬件架構(gòu)都可以用以定制適用于自己的系統(tǒng),可以應(yīng)用與手機、平板電腦等多種移動智能終端設(shè)備之上。在Android系統(tǒng)對移動設(shè)備進行優(yōu)化之后,非常適合于系統(tǒng)內(nèi)存有限以及處理性能不高的移動芯片運行。因此,利用智能手持設(shè)備的便攜性,本文在Android平臺上,設(shè)計開發(fā)車道線檢測和偏離預(yù)警的輕量級輔助駕駛應(yīng)用,使人們可以直接利用自己的安卓手機便可達到智能駕駛,安全出行的目的。

        為了能夠在手機平臺上達到檢測準確性,必須考慮光照條件、路面狀況、實時性等難點。對此,本文對傳統(tǒng)的車道線的檢測算法也做出了相應(yīng)的改進,提高自適應(yīng)性與魯棒性。

        1 車道線檢測與跟蹤算法

        文中將利用OpenCV提供的函數(shù)庫實現(xiàn)車道線檢測的算法。先經(jīng)過色彩空間轉(zhuǎn)化、直方圖過均衡化、增強對比、去除噪聲、邊緣檢測等圖像預(yù)處理過程,隨后提出一種自適應(yīng)非監(jiān)督分類方法提取車道線。

        1.1 圖像預(yù)處理

        在圖像處理中,為了降低運算的復(fù)雜性,經(jīng)常采用的方式是首先將彩色圖像灰度處理,根據(jù)不同原色對視覺亮度的反應(yīng)情況,彩色圖像取灰度值 Y=0.3×R+0.59×G+0.11×B。

        在實際車輛行駛過程中會遇到光源太強致使整體畫面偏白,或者夜間行車光源太弱等情況降低車道線辨識度,本系統(tǒng)將會采用直方圖均衡化和高斯濾波去噪,使車道特征更明顯。

        如果檢測車道線時如果對整張圖像進行檢測,會受到大量背景雜物干擾增加系統(tǒng)計算量。考慮到車道線只出現(xiàn)在畫面下方,系統(tǒng)設(shè)置感興趣區(qū)域ROI范圍為圖像下方1/2矩形,在這個區(qū)域內(nèi)進行圖像邊緣檢測。

        通常把邊緣定義為圖像中灰度產(chǎn)生急劇變化的區(qū)域邊界,進行微分運算,求得二階導(dǎo)數(shù)或梯度的最大值為零的點,再選取適當?shù)拈撝祦硖崛∵吘?。常用的邊緣檢測算子有基于一階微分的如Sobel算子、Prewitt算子,基于二階階微分Laplace算子,還有Canny算子[2]。使用OpenCV中的Canny邊緣提取效果如圖 1(b)。

        車道線檢測中最常用的識別方法之一是基于Hough變換。其原理是利用圖像空間和Hough參數(shù)空間的點-線的對偶性,把圖像空間中的問題轉(zhuǎn)換到參數(shù)空間中去。OpenCV中提供了Hough的函數(shù)cvHoughLines2實現(xiàn)了用于直線檢測的Hough變換方法[3],將極坐標空間中局部峰值點予以返回。它支持標準Hough變換和累計概率Hough變換,其中累計概率Hough變換是在一定的范圍內(nèi)進行霍夫變換,從而減少計算量,縮短計算時間。 直線檢測效果如圖 1(c)和 1(d)。

        圖1 車道圖像預(yù)處理Fig.1 Image preprocessing

        1.2 基于非監(jiān)督直線分類器的車道線檢測

        上節(jié)由Hough變換獲取的一個直線集合中僅有部分來自于所需提取的車道線,其他則是干擾線。在使用Hough變換過程中設(shè)置參數(shù)將虛線尋找出來,其中經(jīng)計算虛線最大間距約有30像素。假設(shè)Hough變換結(jié)果表示為集合L:

        其中L是直線集合,r是元素總數(shù),Lx是點p0到pf點中的第x條直線。然后使用非監(jiān)督分類器尋找在集合L中的最優(yōu)直線。此處分類器共有兩個類,分別用于左右兩側(cè)車道線,相應(yīng)的定義為和C2,并對每個類的參數(shù)定義初始狀態(tài)。

        每個類各自有兩個參數(shù),第一個是直線中點,第二個是直線斜率。參數(shù)初始狀態(tài)定義如下:

        其中 Pmcx是 Cx 類的中點,Cx∈{C1,C2},Ix,max是圖像中的列數(shù),Iy,max是圖像中的行數(shù),Mcx是 Cx 類直線的斜率。公式(2)(3)中的比值系數(shù)由50張樣例圖像中計算均值得出。C1和C2兩個類與其參數(shù)相對應(yīng)的定義為:

        根據(jù)每一幀的變化,參數(shù)對于實際車道線做出調(diào)整。本文為此使用自適應(yīng)方法將類的參數(shù)更接近于實際值。如果直線lp滿足(8)即可歸類為類Cx,否則刪除

        dp,pmcx是直線 lp的中點與類 Cx的點 Pmcx之間的歐式距離,dP,Mcx是直線 lp的斜率與類 Cx的斜率 Mcx之間的差,dminpx是直線lp的中點與Pmcx之間最小距離,dminMx是斜率差的最小值。dminMx在這里設(shè)值為1.5,最小點間距是動態(tài)變化值,起始值設(shè)為對角線長度的85%。所用最小值均使用了啟發(fā)式方法定義,第二個值隨著下一幀的出現(xiàn)將會減小。參數(shù)Pmcx隨圖像變化而更新,由公式(9)獲得,

        決策因子 α 范圍為(0,1)并基于二次方程定義為(10)。它作為權(quán)值取決于當前處理的直線中點和類Cx中點之間距離當距離縮短時,該點權(quán)值將在類的下一參數(shù)中提高。反之當該點在較遠處時,這一點對于整體貢獻較小。

        為了避免在一些情況下可能出現(xiàn)對道路寬度估值增大,例如道路右側(cè)有一條分叉路導(dǎo)致在車道上出現(xiàn)一條新的直線,在(11)中定義了由直線中點間保持距離Dk的張量Tk,其中Dk由(12)表示。這里張量Tk通過點P1和P2定義,其中每一直線的中點pmcxk由ΔD檢查是否符合約束條件(13),ΔD為當前幀中求得的距離導(dǎo)數(shù),g是目前ΔD中的最小值。

        2 系統(tǒng)設(shè)計與實現(xiàn)

        2.1 系統(tǒng)開發(fā)環(huán)境

        系統(tǒng)在Windows7操作系統(tǒng)Eclipse IDE中,使用OpenCV-2.4.7-android-sdk,基于Android SDK進行開發(fā)。系統(tǒng)的核心算法代碼調(diào)用了底層基于C/C++語言的OpenCV開源庫來實現(xiàn)。雖然OpenCV提供了一部分支持Android環(huán)境的Java接口,但是考慮到優(yōu)化系統(tǒng)性能,本系統(tǒng)將在原生代碼上進行移植。系統(tǒng)開發(fā)時將會涉及C/C++與Java之間混合調(diào)用,解決方法是使用標準Java函數(shù)接口(JNI)來改寫原生C/C++代碼,隨后使用集成了交叉編譯器的Android NDK開發(fā)C/C++動態(tài)鏈接庫 (so),將動態(tài)鏈接庫文件和java應(yīng)用打包成Android應(yīng)用程序apk[4]。圖2顯示了代碼編譯和調(diào)用過程。

        圖2 Android應(yīng)用程序調(diào)用流程Fig.2 Android application implementation

        2.2 程序?qū)崿F(xiàn)

        OpenCV的庫將Android自身的與相機相關(guān)的庫進行了封裝,通過SurfaceView顯示在手機屏幕上,這里只需要繼承Android.app中的Activity類并實現(xiàn)OpenCV提供的接口CvCameraViewListener2。啟動時加載OpenCV庫,在回調(diào)函數(shù)onManagerConnected中 調(diào) 用 CameraBridgeViewBase.enableView()連接相機獲取圖像[5-6]。

        在NativeCameraView中的線程調(diào)用函數(shù)deliver And Draw Frame,更新其中發(fā)生變化的圖像??梢栽趏n Camera Frame(CvCameraViewFrame inputFrame)中實現(xiàn)系統(tǒng)所需的處理代碼。

        先將由CameraBridgeViewBase的setMaxFrameSize將輸入圖像inputFrame降低大小,隨后轉(zhuǎn)成灰度圖像,再用Imgproc提供的函數(shù)進一步直方圖均衡、平滑降噪、提取邊緣、設(shè)置ROI等處理。利用Java提供的并發(fā)處理機制,建立線程池,ExecutorService對左右車道同時進行處理。

        程序主要部分代碼:

        3 實驗結(jié)果

        測試硬件使用 Samsung GT-N7100,其 CPU為四核Quad-Core ARM Cortex-A9 主頻 1.8 GHz,GPU 為 ARM Mali-400 MP4@533 MHz,操作系統(tǒng)為Android4.3,圖像獲取速率為30 fps。圖3中(a)是對于第一幀車道線檢測結(jié)果,此時分類結(jié)果來自于上文所設(shè)的類參數(shù)初始值。位于正中相交的兩條直線左側(cè)為C1類,右側(cè)為C2類,圖中同時標出了對應(yīng)分類的直線中點位置。可以觀察到在圖像兩側(cè)邊緣處有若干未經(jīng)分類的直線中點。

        圖3中(b)是采集的第二幀圖像,從中可以明顯看出參數(shù)相對接近實際值,而在第四幀圖像(c)中估測直線以及幾乎與實際車道線重合。在實驗的下一幀圖像中,直線將更加接近于真實車道線。

        圖3 直線分類結(jié)果Fig.3 Result of lines classifier

        表1 不同環(huán)境下實驗結(jié)果對比Tab.1 Test result in different conditions

        表1是在各個實驗情景下車道線檢測結(jié)果。在路面干擾較少情況下可以達到10f ps以上圖像處理速度,光線較弱時判別率相對較低。而實驗中由未經(jīng)預(yù)處理的圖像直接經(jīng)Hough變換檢測得到的干擾線較多,且每秒處理圖像在5幀左右。

        4 結(jié) 論

        文中在Android平臺上利用OpenCV庫進行車道線檢測系統(tǒng)的開發(fā),充分說明了將車載安全預(yù)警系統(tǒng)移植到智能手機上的可行性。同時為解決在移動設(shè)備上圖像處理的性能問題,提出了自適應(yīng)的非監(jiān)督直線分類器。對直線車道線,包括彎道的直線部分,有快速準確的判別效果。實驗結(jié)果表明該算法與傳統(tǒng)方法相比處理速度較快,判斷正確率較高。

        [1]Milanés,Vicente.Intelligent automatic overtaking system using vision for vehicle detection[M].Expert Systems with Applications,2012,39(3):3362-3373.

        [2]Parker,Jim R.Algorithms for image processing and computer vision[M].John Wiley&Sons,2010.

        [3]Topal, Cihan, Cuneyt Akinlar,Yakup Gen.Edge drawing:a heuristic approach to robust real-time edge detection[C]//Pattern Recognition (ICPR), 2010 20th International Conference on.IEEE,2010.

        [4]Le,Quoc V.Building high-level features using large scale unsupervised learning [C]//Acoustics,Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on.IEEE,2013.

        [5]Deepthi R S,Sankaraiah S.Implementation of Real-Time Image Analyzer Graphical User Interface Using OpenCV on Android Mobile Phone[J].Advanced Science Letters,2013,19(8):2174-2179.

        [6]Baggio,Daniel Lélis. Mastering OpenCV with practical computer vision projects[M].Packt Publishing Ltd,2012.

        猜你喜歡
        定義檢測系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        小波變換在PCB缺陷檢測中的應(yīng)用
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        修辭學(xué)的重大定義
        99久久久无码国产aaa精品| 在线日本看片免费人成视久网| 久久婷婷五月综合色欧美 | 操风骚人妻沉沦中文字幕| 国产免费av片无码永久免费| 人妻无码中文人妻有码| 亚洲AV秘 无码一区二区久久| 九九精品国产亚洲av日韩| 玩弄放荡人妇系列av在线网站| aaaaa级少妇高潮大片免费看| 亚洲精品成人国产av| 亚洲成人av一区二区| 久久理论片午夜琪琪电影网| 台湾佬综合网| 美女极度色诱视频国产免费| 日韩美腿丝袜三区四区| 欧美丰满熟妇性xxxx| 久久tv中文字幕首页| 国产内射视频在线播放| 男奸女永久免费视频网站 | 中文字幕高清视频婷婷| 免费网站内射红桃视频| 国产精品视频一区二区三区四| 久久AⅤ无码精品色午麻豆| 极品一区二区在线视频| 把女邻居弄到潮喷的性经历| 国产啪精品视频网站丝袜| 亚洲天堂免费成人av| 中国一级特黄真人片久久| 色哟哟网站在线观看| 日产精品一区二区三区| 手机在线免费观看的av| 亚洲精品无码高潮喷水a片软| 93精91精品国产综合久久香蕉| 日本一区二区三深夜不卡| 日本久久伊人特级黄色| 国产精品美女久久久久| 97超级碰碰碰久久久观看| av网站免费在线浏览| 精品人妻无码视频中文字幕一区二区三区 | 日本强好片久久久久久aaa|