成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

從零開始的無人駕駛 1

marek / 682人閱讀

摘要:霍夫變化是圖像變化中的經(jīng)典算法,主要用來尋找圖像中符合某種特征的集合,說白了就是檢測直線圓橢圓。定向梯度直方圖相比于之前的特征,特征更加健壯,并且無視顏色的影響。行為克隆算是的一種。

Lanes Finding with Computer Vision

利用計(jì)算機(jī)視覺進(jìn)行道路檢測,一般包括6部分:攝像頭校正(camera calibration)、圖像失真校正(distortion correction)、色彩/梯度二值化(color/gradient threshold)、視角轉(zhuǎn)換 Perspective transform 、行道線檢測(Detect lane lines)、 道路彎度測量(Determine the lane curvature)

Calibration 校正

首先要對(duì)失真的程度進(jìn)行測量,然后根據(jù)measurement的結(jié)果進(jìn)行undistort


這個(gè)東西叫做chessboard pattern, 用的時(shí)候從不同的角度拍這個(gè)chessboard,利用的是每個(gè)方塊的corner去校正 (圖像要記得轉(zhuǎn)成灰度圖)

得到的結(jié)果其實(shí)只跟拍照的相機(jī)有關(guān)。對(duì)于每個(gè)的鏡頭,要多帶帶做一遍這種校正。

Distorition 圖像失真

理論上,只要不是針孔攝像機(jī),基本都會(huì)存在圖像失真的問題(透鏡成像更快點(diǎn),針孔相機(jī)這點(diǎn)上比不了)

圖像失真會(huì)影響到道路檢測(將直線判斷成曲線),車輛檢測(用CNN檢測的時(shí)候,識(shí)別出來的車比實(shí)際更大或者更?。?br>

由透鏡引起的失真主要是兩個(gè):

徑向畸變(Radial Distortion)
原因是光線穿過透鏡的邊緣時(shí)發(fā)生的偏轉(zhuǎn)大于穿過中心發(fā)生的偏轉(zhuǎn)

切線畸變(Tangential Distortion)

原因是光線穿過透鏡之后并沒有垂直打在成像平面上

ROI (Region of Interest)

道路檢測要先從攝像頭視角獲取道路信息,然后選取ROI(目標(biāo)區(qū)域), 包括選顏色和選區(qū)域。

選顏色比較接近直覺, 路上的線也就兩種顏色,要么白線,要么黃線。
白線其實(shí)比較好找

但是黃線的話就不能直接用原圖了。要先把原圖分成RGB三層

而黃色的線在藍(lán)色那層是看不到的

(因?yàn)槭腔パa(bǔ)色)

選區(qū)域是可以直接利用CV解決的問題。

從車頭視角向前看,大部分像素都是沒有用的。尤其是天空的部分。對(duì)于自動(dòng)駕駛來說差不多等價(jià)于干擾信號(hào),基本上可以直接過濾掉

Color Space 色彩空間

在RGB色彩空間(以RGB建立三維空間)中,白色是由紅綠藍(lán)三種顏色的最大值組成的。

因此想獲得白線,可以通過設(shè)置RGB值的閾值

但是這種情況下,會(huì)丟失黃線的信息。一般的處理方式是使用別的色彩空間,比如HSV, HLS, LUV...

其中HSV(色相、飽和度、明度)和HLS(色相、亮度、飽和度)使用最多

HLS (hue, saturation, lightness)

也叫HSL,甚至叫HSL的還更多點(diǎn)。

其實(shí)圖像本身在光亮條件下變化最大,HS信道一般倒是不怎么變。所以我們把圖像按照HSL拆分,在S信道下黃線非常明顯

Canny Edge Detection

下一步是使用邊緣檢測算法尋找邊線。如果我們把視圖當(dāng)成一張灰度圖來看待,那么每一條邊其實(shí)都在明暗塊交替的位置

通過計(jì)算亮度的變化,可以把原圖轉(zhuǎn)化成一張?zhí)荻葓D

然后再將結(jié)果銳化,得到亮度數(shù)值變化最大的像素點(diǎn)

實(shí)際上,在做Canny算法之前,要對(duì)圖像做高斯平滑(Gaussian smoothing / Gaussian Blur) ,消除噪聲和偽梯度點(diǎn)

(題外話) Sobel Operator 索伯算子

首先,為什么卷積神經(jīng)網(wǎng)絡(luò)會(huì)有卷積(convolution)這種操作…

看完Sobel算子總算懂了,卷積這種運(yùn)算講究的是一個(gè)信號(hào)疊加。相比于Canny邊緣檢測,Sobel邊緣檢測其實(shí)更容易理解(然而還是Canny效果好)。

Hough Transform 霍夫變化

Hough Transform是圖像變化中的經(jīng)典算法,主要用來尋找圖像中符合某種特征的集合,說白了就是檢測直線、圓、橢圓。


Hough變化要將笛卡爾坐標(biāo)下的點(diǎn)變化到霍夫極坐標(biāo)系,原來的點(diǎn)共線問題會(huì)由此轉(zhuǎn)化計(jì)算成曲面在極坐標(biāo)下的共點(diǎn),效果上就是該算法對(duì)邊緣間斷不敏感。大致上是這個(gè)意思,實(shí)際操作的時(shí)候是統(tǒng)計(jì)累加空間里的局部最大值(峰值),以該峰值作為結(jié)果(所以說抗噪能力還是很強(qiáng)的)。

總結(jié)一下就是:

原圖 -> 灰度圖 -> 邊緣檢測 -> 直線檢測 -> 過濾掉斜率過低的直線 -> 將最后結(jié)果疊加回原圖

Perspective Transform

由于Perspective的存在,2D圖像存在近大遠(yuǎn)小的現(xiàn)象

這樣會(huì)導(dǎo)致原本平行的行道線,出現(xiàn)匯聚的趨勢

因此需要把視角轉(zhuǎn)換成俯視

將行道線還原到平行

Lane Curvature

解決道路彎曲(Lane Curvature)問題,實(shí)際上比較復(fù)雜。先要依次校正原圖

選取ROI

然后要進(jìn)行視角轉(zhuǎn)換(Perspective Transform)

最后根據(jù)俯視圖(Top-down view) 用二次函數(shù)擬合行道線

Sliding windows 滑動(dòng)窗口

在檢測弧線的過程中,首先在圖像底部選取一小段,在垂直方向做直方圖

將頂點(diǎn)連接,變成峰值圖

出現(xiàn)峰值的地方是行道線的位置

以此為起點(diǎn),使用逐步向上移動(dòng),每次處理一小段圖像

這種檢測模式叫做滑動(dòng)窗口

一旦擁有了第一幀的行道線位置,在隨后的檢測中可以利用邊緣檢測 + ROI 的方式獲得之后的行道線

得到道路的二次函數(shù)并沒有用,從駕駛的角度來看,真正需要的是當(dāng)前的轉(zhuǎn)彎弧度。所以需要求出圖片組的曲率半徑(radius of curvature),在對(duì)應(yīng)計(jì)算出現(xiàn)實(shí)中的曲率半徑

最后

還有一些小的細(xì)節(jié),包括Offset, Sanity Check, Look-Ahead Filter, etc. 懶得講


Vehicle Detection 車輛檢測

CNN (Convolutional Neural Networks 卷積神經(jīng)網(wǎng)絡(luò)) 普遍運(yùn)用之前,車輛檢測是通過使用條件隨機(jī)場或者SVM(支持向量機(jī))來實(shí)現(xiàn)的。操作上分為兩步,先是從圖像上提取特征,然后基于特征建立模型,判斷車輛位置。

template matching 模板匹配

對(duì)于圖像上的每一塊顏色,計(jì)算與背景圖的distance

甚至更硬核一點(diǎn),直接把各種可能的車輛圖片存起來,然后跟相機(jī)視角的圖片進(jìn)行比較

這類解決方案統(tǒng)稱 template matching

Color Histogram

template matching的缺陷也很明顯,對(duì)于沒有預(yù)存過的模板,自然無從識(shí)別。因此出現(xiàn)了 Color Histogram方案

將車輛的模板轉(zhuǎn)換成顏色直方圖,運(yùn)算時(shí)比較目標(biāo)物體與預(yù)存直方圖的相似度。優(yōu)點(diǎn)是同一個(gè)物體在不同角度仍可識(shí)別。比如對(duì)于一輛紅色的車,從不同方向看過去,模板匹配無法很好地識(shí)別,而利用Color Histogram則不受影響。

HOG

Histogram of Oriented Gradients (定向梯度直方圖), 相比于之前的特征,HOG特征更加健壯,并且無視顏色的影響。

操作的時(shí)候,首先捕捉圖像的輪廓與紋理信息

然后將圖像劃分為多個(gè)cell。對(duì)每個(gè)cell計(jì)算梯度方向

統(tǒng)計(jì)每個(gè)cell的局部直方圖

將結(jié)果歸一化,得到的主方向?qū)⒊蔀榫植刻卣魈荻确较?br>
匯總每個(gè)cell得到的局部信息,就可以得到HOG特征

Features Combination

首先是數(shù)據(jù)預(yù)處理,這里主要是進(jìn)行特征組合。

比如HOG特征是針對(duì)梯度信息的特征,HSV特征則是針對(duì)顏色信息的特征

可以直接將二者拼接,得到顏色+梯度的組合信息

這里面有一些要注意的地方,一般多個(gè)特征擁有不同的模量,所以數(shù)字上相差很大

那么就需要進(jìn)行正則化,將數(shù)據(jù)對(duì)齊

還可以利用決策樹等方法,舍棄影響不大的變量

Sliding Windows

使用滑動(dòng)窗口進(jìn)行車輛檢測,在這種場景下有一些機(jī)巧

首先還是ROI, 車輛其實(shí)只會(huì)出現(xiàn)在圖片的下半塊區(qū)域

其次可以預(yù)先設(shè)定好車輛可能的最大寬度和最小寬度

這樣在檢測時(shí)進(jìn)行有限的multi-scale window

減小搜索空間

Multiple Detection

最后對(duì)于同一車輛的Multiple Detection

建立heat-map,計(jì)算中心位置

Build Model & Tracking


模型的選取倒是比較簡單,SVM, Decision Tree, Nerual Network, etc. 這些都是常見的選擇

針對(duì)每一幀圖像,檢測車輛位置,形成連續(xù)追蹤


Behavior Cloning 行為克隆

使用神經(jīng)網(wǎng)絡(luò)進(jìn)行無人駕駛的理論基礎(chǔ)來源于Imitation Learning (模仿學(xué)習(xí))。行為克隆算是Imitation Learning的一種。思路倒是很簡單,將人類駕駛作為基礎(chǔ)數(shù)據(jù)全部收集下來,然后讓神經(jīng)網(wǎng)絡(luò)去擬合數(shù)據(jù)。目前Tesla主要采用的就是Behavior Cloning.

這類端到端的解決方案基本上是一個(gè)路子,優(yōu)點(diǎn):簡單且有效,缺點(diǎn):受限于收集的數(shù)據(jù)。因?yàn)橛?xùn)練集總是有限的,如果出現(xiàn)了神經(jīng)網(wǎng)絡(luò)之前沒見過的數(shù)據(jù),那么效果就會(huì)很差。

一個(gè)比較經(jīng)典的條件是天氣,下雨天的路面跟晴天的路面不一樣,有霧的天氣下道路能見度也會(huì)對(duì)攝像頭收集的數(shù)據(jù)有很大影響。


原發(fā)布于掘金。2019年初遷移至思否

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/19935.html

相關(guān)文章

  • 從零開始無人駕駛 2

    摘要:對(duì)于無人駕駛系統(tǒng)而言,多傳感器已經(jīng)是默認(rèn)配置卡爾曼濾波經(jīng)常運(yùn)用于無人駕駛系統(tǒng)中感知模塊,用于目標(biāo)狀態(tài)估計(jì)。所以利用一階泰勒展開,用局部的線性系統(tǒng)接近整個(gè)非線性系統(tǒng)。 Sensor 對(duì)于無人駕駛系統(tǒng)而言,多傳感器已經(jīng)是默認(rèn)配置showImg(https://segmentfault.com/img/remote/1460000018252000?w=5120&h=2880); Kalma...

    Caicloud 評(píng)論0 收藏0
  • Js實(shí)現(xiàn)點(diǎn)擊查看全文(類似今日頭條、知乎日報(bào)效果)

    摘要:這篇文章主要為大家詳細(xì)介紹了原生仿今日頭條知乎日報(bào)點(diǎn)擊查看全文的效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下移動(dòng)端展示王者榮耀攻略網(wǎng)需要設(shè)置過最大高度然后把超出部分隱藏。 這篇文章主要為大家詳細(xì)介紹了原生JS+css仿QQ今日頭條、知乎日報(bào)點(diǎn)擊查看全文的效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下.showImg(https://segmentfault.com/i...

    habren 評(píng)論0 收藏0
  • GitChat · 人工智能 | 自動(dòng)駕駛技術(shù)架構(gòu)和生態(tài)發(fā)展

    摘要:目前每年全球有萬人死于車禍,損失,相關(guān)于很多國家的,自動(dòng)駕駛可以很大效率的減少車禍,拯救生命。美國汽車工程師協(xié)會(huì)和美國高速公路安全局將自動(dòng)駕駛技術(shù)進(jìn)行了分級(jí)。特定場所的高度自動(dòng)駕駛。這叫基于規(guī)則的一種自動(dòng)駕駛,簡單的。 來自 GitChat 作者:劉盼更多IT技術(shù)分享,盡在微信公眾號(hào):GitChat技術(shù)雜談 進(jìn)入 GitChat 閱讀原文我們先以汽車在現(xiàn)代科技領(lǐng)域的演進(jìn)來開始這次的ch...

    X1nFLY 評(píng)論0 收藏0
  • 駕駛腦”上云,同濟(jì)大學(xué)智能無人車實(shí)現(xiàn)L4高自動(dòng)駕駛

    摘要:年來,途靈智能無人車實(shí)驗(yàn)室一直致力于研發(fā)級(jí)全自動(dòng)駕駛系統(tǒng)。目前,同濟(jì)大學(xué)途靈智能無人車實(shí)驗(yàn)室正在攻克的課題就是提高級(jí)自動(dòng)駕駛技術(shù)突破環(huán)境局限的能力,這種突破需要將駕駛腦放置在仿真模擬場景下進(jìn)行大量的極限訓(xùn)練。車水馬龍的道路上,各種車輛交錯(cuò)匯聚,各種道路狀況頻出。從行駛緩慢的環(huán)衛(wèi)車到疾駛搶道的出租車、因施工臨時(shí)封閉的道路、突發(fā)的交通事故現(xiàn)場。作為路面上的車輛,是互不相讓,還是借道通過,又或者是...

    Tecode 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<