2018-10-16 深度神經(jīng)網(wǎng)絡(luò)的入門學(xué)習(xí)之旅

好久沒有更新沦疾。最近又學(xué)到不少知識(shí)侵蒙,記錄一下造虎。8月份,試用了?end-to-end 的 DCNN 來學(xué)習(xí)人類駕駛纷闺。但最終的比賽中累奈,仍是 rule-based 結(jié)合 深度神經(jīng)網(wǎng)絡(luò)效果是最快的。

CNN

為了識(shí)別路牌急但,學(xué)習(xí)了CNN澎媒。使用這個(gè)網(wǎng)絡(luò)可以很好的對(duì)圖片進(jìn)行分類。

1. 數(shù)據(jù)的準(zhǔn)備

2. 訓(xùn)練和驗(yàn)證

3. 性能測(cè)量

4. 用于目標(biāo)檢測(cè)


Faster R-CNN

這個(gè)是為了目標(biāo)檢測(cè)波桩。從知道這個(gè)技術(shù)到跑通戒努,只用了大約兩天的時(shí)間。身后有狗镐躲,就是跑的快储玫。

跑通這個(gè)網(wǎng)絡(luò)的主要要解決的問題是:如何使用自己的數(shù)據(jù),建立 Fster R-CNN模型萤皂。網(wǎng)上有不少人寫出來自己的過程撒穷,我寫出我的過程。

1. 找到合適的開源代碼

https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3.5

需要在Windows下運(yùn)行裆熙,并使用的是TensorFlow端礼。支持這個(gè)要求的只有這個(gè)項(xiàng)目禽笑。

2. 建立環(huán)境

這個(gè)開源項(xiàng)目必須要使用Python 3.5.0。手工安裝后蛤奥,在安裝相關(guān)的 pip 包時(shí)佳镜,遇到問題。一個(gè)包沒有合適的源凡桥。所以蟀伸,轉(zhuǎn)而使用 Anaconda。

Anaconda 最新的版本里缅刽,建立 Python 3.5 環(huán)境時(shí)啊掏,安裝的已經(jīng)是 Python 3.5.X,而不是 3.5.0衰猛。 所以又向前找 Anaconda 的舊的版本迟蜜。它的 2.4.0 和 2.5.0 里安裝的是 Python 3.5.0。

3. 明確需要準(zhǔn)備哪些數(shù)據(jù)

為了降低工作量腕侄,也就是說小泉,不要修改代碼芦疏,我們最好順從項(xiàng)目本身對(duì)數(shù)據(jù)規(guī)格的要求冕杠。包括,文件名酸茴,XML文件的格式分预,目錄結(jié)構(gòu)等。對(duì)于 Faster R-CNN來說薪捍,有兩套數(shù)據(jù)集笼痹,也就對(duì)應(yīng)了兩套數(shù)據(jù)格式: MS Coco 和 VOC2007。

這個(gè)項(xiàng)目支持的是后者酪穿。那我們就按后者要求的數(shù)據(jù)格式來凳干。

Faster R-CNN,需要下面的數(shù)據(jù):

預(yù)訓(xùn)練的 VGG16模型 或是 Res101被济,或是基它的特征抽取模式救赐。(這個(gè)項(xiàng)目支持的是 VGG16)

訓(xùn)練用的圖片

每個(gè)圖片對(duì)應(yīng)的區(qū)域標(biāo)注數(shù)據(jù)(以文件形式。VOC2007是XML文件只磷,還有一種是TXT)

4. 準(zhǔn)備數(shù)據(jù)的過程

預(yù)訓(xùn)練模型在開源項(xiàng)目Faster-RCNN-TensorFlow-Python3.5的網(wǎng)頁上有下載地址经磅,可以直接下載。5xxMB

訓(xùn)練用的圖片就需要自己收集 或是 采集钮追。大約180張左右预厌。

標(biāo)注數(shù)據(jù),可以使用這個(gè)開源軟件 labelImg 來制作元媚。軟件會(huì)為每個(gè)圖片單獨(dú)生成一個(gè)xml文件轧叽。

圖片數(shù)據(jù)按上面的目錄結(jié)構(gòu)安放苗沧。

Annotations 放 XML 文件。

ImageSets 放 索引文件(文本)犹芹,指明那些文件是用于訓(xùn)練崎页,那些是用來評(píng)估。

JPEGImages目錄下放 jpg文件腰埂。文件名最好是000001.jpg ~ 999999.jpg飒焦。

另外一個(gè)注意點(diǎn)是,數(shù)據(jù)的完全絕對(duì)路徑中不要用中文屿笼。

上圖中有一個(gè) gen_main.py 程序牺荠,這個(gè)是用來生成 ImageSets 中的索引文件的。這些索引文件格式很簡(jiǎn)單驴一,就是一個(gè)純文本的列表文件休雌。



文件內(nèi)容就是一行一行的文件名(不帶擴(kuò)展名)。訓(xùn)練程序根據(jù)這些文件的指引肝断,加載圖片杈曲。

5. 訓(xùn)練和驗(yàn)證

在開始前,注意要修改代碼中的 class 數(shù)量胸懈。比如担扑,我這里只有一個(gè)類,就需要把代碼中的設(shè)置為1趣钱。

執(zhí)行 項(xiàng)目?Faster-RCNN-TensorFlow-Python3.5-master 中的 train.py 就可以開始訓(xùn)練了涌献。

執(zhí)行項(xiàng)目中的 demo.py 就是驗(yàn)證。

生成的模型會(huì)在下面的目錄中:? ??


6. 解決性能問題

在 Faster-RCNN-TensorFlow-Python3.5-master\lib\config 里的 config.py 文件中首有,是有很多參數(shù)可以修改的燕垃。通常我們不需要修改。

為了性能的需求井联,我修改了下面的幾個(gè)參數(shù):

rpn_top_n? 卜壕,這個(gè)是 用來評(píng)估的?proposals 的數(shù)量。越大烙常,就意味著越多的計(jì)算轴捎。設(shè)置小了,可能會(huì)不準(zhǔn)確军掂。

最初轮蜕,這個(gè)值是300,分析一個(gè)圖片蝗锥,需要1.9秒跃洛。把這個(gè)參數(shù)設(shè)置為1,需要0.9秒终议。但仍不滿足要求汇竭。


DQN 與 Deepmind

以上兩個(gè)葱蝗,都是為了圖像識(shí)別。這個(gè)則是為了解決打牌的問題细燎。讓AI自己學(xué)習(xí)如何打紅心两曼,并自行訓(xùn)練,提高自己的戰(zhàn)力玻驻。類似與 Alphamaster悼凑,就是 AlphaGo的升級(jí)版,可以自我對(duì)戰(zhàn)璧瞬,學(xué)習(xí)户辫,提高。

目前比賽中嗤锉,水平最高的渔欢,已知其使用的是MCTS算法。算是輕度AI了瘟忱。我使用DQN寫的奥额,戰(zhàn)力很弱,也許需要訓(xùn)練1億輪才行访诱?目前一天只能練150萬輪垫挨。當(dāng)然,這是我的猜測(cè)盐数。


總結(jié)

以上棒拂,都是知其然伞梯,而不知其所以然玫氢,不過,DL 或者說 深度神經(jīng)網(wǎng)絡(luò) 最終一定是演變成 engine or SDK谜诫。軟件工程師只需要使用它們就好漾峡。可以解決問題就OK喻旷。

參考

https://www.corelan.be/index.php/2011/07/14/mona-py-the-manual/


optiva-framework? -? scan tools



https://blog.csdn.net/hongxingabc/article/details/79039537

https://blog.csdn.net/gvfdbdf/article/details/52214008

https://blog.csdn.net/sinat_30071459/article/details/50723212

https://blog.csdn.net/j497205974/article/details/80074494

https://blog.csdn.net/weixin_40920228/article/details/79561524

https://cloud.tencent.com/developer/article/1010754

http://blog.leanote.com/post/braveapple/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E8%87%AA%E5%B7%B1%E6%95%B0%E6%8D%AE%E9%9B%86%E8%AE%AD%E7%BB%83Faster-RCNN%E6%A8%A1%E5%9E%8B

https://www.jiqizhixin.com/articles/2018-02-23-3

https://zhuanlan.zhihu.com/p/31772360

https://blog.csdn.net/weixin_31200719/article/details/81220924

https://medium.com/@jonathan_hui/object-detection-speed-and-accuracy-comparison-faster-r-cnn-r-fcn-ssd-and-yolo-5425656ae359

https://zhuanlan.zhihu.com/p/32230004

https://zhuanlan.zhihu.com/p/32404424

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末生逸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子且预,更是在濱河造成了極大的恐慌槽袄,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锋谐,死亡現(xiàn)場(chǎng)離奇詭異遍尺,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)涮拗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門乾戏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來迂苛,“玉大人,你說我怎么就攤上這事鼓择∪茫” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵呐能,是天一觀的道長(zhǎng)念搬。 經(jīng)常有香客問我,道長(zhǎng)摆出,這世上最難降的妖魔是什么锁蠕? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮懊蒸,結(jié)果婚禮上荣倾,老公的妹妹穿的比我還像新娘。我一直安慰自己骑丸,他們只是感情好舌仍,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著通危,像睡著了一般铸豁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上菊碟,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天节芥,我揣著相機(jī)與錄音,去河邊找鬼逆害。 笑死头镊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的魄幕。 我是一名探鬼主播相艇,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼纯陨!你這毒婦竟也來了坛芽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤翼抠,失蹤者是張志新(化名)和其女友劉穎咙轩,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體阴颖,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡活喊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了膘盖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胧弛。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡尤误,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出结缚,到底是詐尸還是另有隱情损晤,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布红竭,位于F島的核電站尤勋,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏茵宪。R本人自食惡果不足惜最冰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望稀火。 院中可真熱鬧暖哨,春花似錦、人聲如沸凰狞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赡若。三九已至达布,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間逾冬,已是汗流浹背黍聂。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留身腻,地道東北人产还。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像霸株,于是被迫代替她去往敵國(guó)和親雕沉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子集乔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容