echo??? 衣帶漸寬終不悔绽快,為伊消得人憔悴
2015年5月??
在此處? http://matthewearl.github.io/2016/05/06/cnn-anpr/#rd
尋覓出 使用TenserFlow的車牌號(hào)識(shí)別 技術(shù)。
感覺很有必要看看宏邮。于是我把作者的這個(gè)翻譯了一下碎绎。
Created byMatthew Earlon May 06, 2016.Discuss on reddit!?
(104 points / 13 comments)
Introduction
在過去的一段時(shí)間里,我深深的陷入了深度學(xué)習(xí)之中,尤其是卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks)。最近一篇論文脫穎而出---google的“來自街景的數(shù)字識(shí)別”(Google’sMulti-digit Number Recognition from Street View.)唇辨。這篇論文表述一個(gè)用于提取街景的數(shù)字的系統(tǒng)。該系統(tǒng)使用了一個(gè)端到端的神經(jīng)網(wǎng)絡(luò)能耻。然后作者繼續(xù)解釋相同的網(wǎng)絡(luò)如何可以用人類層面的準(zhǔn)確性 打敗Google自己的CAPTCHA system 赏枚。(原句:The authors then go on to explain how the same network can be applied to breaking Google’s own CAPTCHA system with human-level accuracy.)
為了實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)中獲取實(shí)踐經(jīng)驗(yàn),我決定設(shè)計(jì)一個(gè)系統(tǒng)用于解決相似的問題:汽車的車牌識(shí)別(識(shí)別美國的車牌)晓猛。我做這件事情的理由有三 :
1. 我應(yīng)該使用與google論文 相同或者相似的網(wǎng)絡(luò)架構(gòu)饿幅。google的架構(gòu)被證明同樣可以很好的解決CAPTCHAs , 這就有理由去假設(shè)它在識(shí)別車牌方面表現(xiàn)的也很好戒职。擁有一個(gè)很好的網(wǎng)絡(luò)架構(gòu)會(huì)極大的簡(jiǎn)化栗恩。我把這看作學(xué)習(xí)的繩子。
2. 我可以很輕松的生成訓(xùn)練數(shù)據(jù)洪燥。在訓(xùn)練神經(jīng)網(wǎng)絡(luò)的時(shí)候磕秤,主要的問題是: 要求對(duì)大量數(shù)據(jù)進(jìn)行標(biāo)簽。成千上萬的標(biāo)簽過的圖像往往需要一個(gè)合適的訓(xùn)練網(wǎng)絡(luò)捧韵。幸運(yùn)的是英國車牌的統(tǒng)一性標(biāo)志著我可以合成訓(xùn)練數(shù)據(jù)市咆。
3.好奇心。傳統(tǒng)的ANPR系統(tǒng)依靠手寫體算法對(duì)車牌進(jìn)行定位纫版、歸一化床绪、分割、字符識(shí)別等其弊。這些系統(tǒng)趨向于成千上萬條線長(zhǎng)癞己。這很有趣。我可以用最少的專業(yè)領(lǐng)域知識(shí)梭伐、最少的代碼來開發(fā)好的系統(tǒng)痹雅。
對(duì)于這個(gè)progject , 我使用了 Python 糊识, TensorFlow 绩社,openCV 和Numpy 。源代碼在這里(https://github.com/matthewearl/deep-anpr)
Inputs, outputs and windowing
(輸入赂苗、輸出和加窗)
為了簡(jiǎn)化(simplify) 生成的訓(xùn)練圖像和減少計(jì)算消耗愉耙,作者決定神經(jīng)網(wǎng)絡(luò)的操作對(duì)象是128*64的灰度圖像。
128*64是作為輸入分辨率(resolution)拌滋。這是允許的訓(xùn)練時(shí)間和適度的資源下朴沿,所允許的最小的分辨率。但同時(shí)也是車牌號(hào)最大可讀性的分辨率:(圖像大小如下)
使不同尺度的滑動(dòng)窗口的方法探測(cè)較大圖像的車牌號(hào)(原句:In order to detect number plates in larger images a sliding window approach is used at various scales)
右側(cè)的圖像大小是128*64 , 這是在神經(jīng)元中見到的輸入赌渣。而左側(cè)顯示的是原始圖像的滑動(dòng)窗口的輸入魏铅。
網(wǎng)絡(luò)的每一個(gè)窗口應(yīng)該輸出:
1. 輸入圖像中可能是車牌的窗口圖像(就像上圖動(dòng)畫中綠色邊框標(biāo)記的那樣。)
2.每一個(gè)數(shù)字可能出現(xiàn)的位置坚芜。 即:在這7字符(PS:車牌號(hào)有7位)的每一個(gè)位置上返回一個(gè)36字符的概率分布览芳。(對(duì)于這個(gè)project,我們假定車牌剛好只有七位數(shù)字鸿竖,這與大多數(shù)的英國車牌一樣)
以下是當(dāng)且僅當(dāng)車牌存在的情況(A plate is considered present if and only if:):
1.車牌完全落在圖像里面沧竟。
2.圖像中車牌的寬度要小于圖像的80% ,而且車牌的高度要小于圖像的87.5%千贯。
3.車牌的寬度要大于圖像寬度的60%屯仗, 車牌的高度要大于圖像寬度的60%。
我們可以用一個(gè)滑動(dòng)窗口每次移動(dòng)8個(gè)像素搔谴,并且放大 圖像魁袜,每次方法的級(jí)別在√2 (根號(hào)2)倍內(nèi),這樣不會(huì)錯(cuò)過任何車牌而且在同時(shí)不會(huì)產(chǎn)生多余匹配的車牌敦第。(PS:原文:With these numbers we can use a sliding window that moves 8 pixels at a time, and zooms in2√2times between zoom levels and be guaranteed not to miss any plates, while at the same time not generating an excessive number of matches for any single plate.)所出現(xiàn)的副本會(huì)在后序的步驟中做出解釋峰弹。
Synthesizing images(合成圖像)
訓(xùn)練任何一個(gè)神經(jīng)網(wǎng)絡(luò)都需要提供合適的訓(xùn)練集合。在本案例中芜果,將會(huì)輸出像素為128*64大小的圖像集合鞠呈。以下是為project的訓(xùn)練數(shù)據(jù)中的幾個(gè)訓(xùn)練數(shù)據(jù)的例子:
預(yù)計(jì)的輸出由兩部分組成(如上所示)右钾。第一部分是網(wǎng)絡(luò)中應(yīng)該(should)產(chǎn)生的輸出蚁吝,第二部分是代表刪除結(jié)果是否存在。對(duì)于已經(jīng)標(biāo)簽的數(shù)據(jù)卻被視為不存在的原因舀射,我已經(jīng)在上面的括號(hào)里面描述了這些情況窘茁。
以下是產(chǎn)生案例圖像的過程:
車牌號(hào)的文本選在和調(diào)色板都是隨機(jī)選擇的,但是文筆的顏色一定會(huì)比體哦啊色斑的顏色深脆烟。之所以這樣做山林,是為了木房現(xiàn)實(shí)世界中光纖的變化⌒细幔“噪聲”是在最后一個(gè)階段添加的驼抹,不僅僅考慮到了實(shí)際的生活中傳感器中存在的噪聲,而且還避免了神經(jīng)網(wǎng)絡(luò)過度依賴大幅邊緣定義拜鹤,而將其看做一片輸入框冀。(原文but also to avoid the network depending too much on sharply defined edges as would be seen with an out-of-focus input image).
----續(xù)寫部分---------
2017年3月
PS ?時(shí)隔一年年,敏簿,明也,,
給車牌設(shè)置一個(gè)背景很重要, 因?yàn)橛辛吮尘爸?就意味著神經(jīng)網(wǎng)絡(luò)必須學(xué)會(huì)去識(shí)別車牌的邊界 , 而不能被欺騙. ?假設(shè)我們車牌的背景僅僅是黑色的話 , 網(wǎng)絡(luò)學(xué)習(xí)了基于非黑色識(shí)別板位置,這顯然不能與汽車的真實(shí)圖片一起使用诡右。(P.S.: 因?yàn)檎鎸?shí)的車牌照片的背景絕對(duì)不是純黑色的)
背景圖片來源于SUN 數(shù)據(jù)集, 該數(shù)據(jù)集合中有超過100,000多張圖片. ?龐大數(shù)量的圖片可以避免網(wǎng)絡(luò)對(duì)背景圖片的"記憶"效應(yīng).
對(duì)車牌的變換(以及掩飾)主要是基于隨機(jī)的滾動(dòng)、調(diào)節(jié)轻猖、偏移帆吻、反轉(zhuǎn)等操作。每個(gè)參數(shù)是根據(jù)能看到的車牌大小來選擇每個(gè)參數(shù)的方位的咙边。例如:yaw所允許的變化范圍多于roll范圍猜煮。(這樣你可能會(huì)看到一個(gè)車在轉(zhuǎn)彎時(shí)侯的車牌,而不是車的側(cè)面)败许。
生成圖像的代碼相當(dāng)?shù)暮?jiǎn)潔(大約300行左右)王带, 詳情參看gen.py
The network
以下是使用的網(wǎng)絡(luò)結(jié)構(gòu):
有關(guān)CNN 構(gòu)建部分的摘要,詳情參見維基百科市殷。以上的網(wǎng)絡(luò)是根據(jù)Stark等人寫的這篇論文進(jìn)行修改的愕撰。它比Google的論文更詳細(xì)地介紹了所使用的架構(gòu)。
輸出層有一個(gè)節(jié)點(diǎn)(如上圖所示)醋寝,可用于存在指示器(the presence indicator)搞挣。其余的節(jié)點(diǎn)代表指定車牌編碼的概率: 每一列會(huì)顯示相應(yīng)車牌的號(hào)碼上的數(shù)字(PS:這個(gè)有點(diǎn)像多個(gè)one-hot組合),并且會(huì)給出現(xiàn)字母的概率音羞。例如囱桨,節(jié)點(diǎn)值位于第二列的第三行,那么就意味著第二數(shù)字字母是C. (c在字母表中排第3)
所有的都是使用標(biāo)準(zhǔn)的深度學(xué)習(xí)網(wǎng)絡(luò)嗅绰,只有輸出層使用了ReLU activation?激勵(lì)函數(shù)舍肠;一般節(jié)點(diǎn)的激勵(lì)函數(shù)使用輸出二進(jìn)制結(jié)果的S型激勵(lì)函數(shù)( sigmoid activation)。其他輸出節(jié)點(diǎn)之間使用softmax(也就是說每一列中的概率總和為1)窘面,這里離散建模的標(biāo)準(zhǔn)方法翠语。
關(guān)于定義網(wǎng)絡(luò)的代碼在model.py中給出。
損失函數(shù)根據(jù)標(biāo)簽和網(wǎng)絡(luò)輸出結(jié)果的交叉熵定義民镜。為了數(shù)值穩(wěn)定性啡专,最后一層的的使用的激勵(lì)函數(shù)是softmax_cross_entropy_with_logits和sigmoid_cross_entropy_with_logits。關(guān)于交叉熵的詳細(xì)介紹可以參看Michael Nielsen的免費(fèi)書籍(A. Nielsen’sfree online book. PS: 現(xiàn)在已經(jīng)有人把中文翻譯過來了制圈,可以在網(wǎng)上搜到)们童。
Output Processing(輸出的預(yù)處理)
暫時(shí)更新到這里吧。鲸鹦。慧库。
- 文/潘曉璐 我一進(jìn)店門卿泽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人滋觉,你說我怎么就攤上這事签夭。” “怎么了椎侠?”我有些...
- 文/不壞的土叔 我叫張陵第租,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我我纪,道長(zhǎng)慎宾,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任宣羊,我火速辦了婚禮璧诵,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘仇冯。我一直安慰自己之宿,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布苛坚。 她就那樣靜靜地躺著比被,像睡著了一般。 火紅的嫁衣襯著肌膚如雪泼舱。 梳的紋絲不亂的頭發(fā)上等缀,一...
- 文/蒼蘭香墨 我猛地睜開眼股毫,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼膳音!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起铃诬,我...
- 序言:老撾萬榮一對(duì)情侶失蹤祭陷,失蹤者是張志新(化名)和其女友劉穎苍凛,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體兵志,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡醇蝴,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了想罕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哑蔫。...
- 正文 年R本政府宣布,位于F島的核電站逮走,受9級(jí)特大地震影響鸠蚪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜师溅,卻給世界環(huán)境...
- 文/蒙蒙 一茅信、第九天 我趴在偏房一處隱蔽的房頂上張望芹血。 院中可真熱鬧哲戚,春花似錦、人聲如沸囚戚。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至嗡载,卻和暖如春窑多,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背洼滚。 一陣腳步聲響...
- 正文 我出身青樓千康,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親挪哄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吧秕,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 你以為朋友之間開點(diǎn)玩笑沒事 你以為尋求別人幫助時(shí)語氣應(yīng)該和善謙遜 …… 但是颠毙,那只是你以為的。