迷你自動駕駛汽車深度學習特徵映射的可視化

本文為 AI 研習社編譯的技術博客,原標題 :

Visualization of Deep Learning Feature Maps in Mini Autonomous Vehicles

作者 | Nelson Fernandez

翻譯 | 劉劉1126

校對、審核 | 醬番梨       整理 | Pita

原文鏈接:

https://towardsdatascience.com/displaying-convnets-feature-maps-on-real-time-video-with-keras-and-opencv-418b986adda7

幾個月前,我們開始製造Axionaut,一種小型自動無線電控制(RC)汽車,並且在巴黎參加了一些比賽。到目前為止一切順利,我們已經取得了不錯的成績。儘管如此,大家總是對控制汽車的卷積神經網絡內部發生了什麼感到好奇。

我們看到一些關於如何顯示特徵映射和過濾器方面很好的文章,它們在理解和編寫神經網絡特徵映射時非常有用。我們還看到了一些很酷的Nvidia視頻,視頻展示了自動駕駛汽車上神經網絡實時激活的樣子(但是,它們是怎麼做到的呢?)。

所以我們決定從頭開始,嘗試在原型中複製這種體驗。為此,我們使用了預先訓練過的Keras Convnet自動駕駛模型,還有一些在訓練和比賽時拍攝的視頻。

有了這個良好的開端,我們花了幾天時間來尋找一些經典問題的答案,比如「網絡是如何看待世界的」和「網絡實際上到底關注什麼」。

我們把體驗的結果顯示在這裡,請用科學的方法訪問:

https://youtu.be/YC13O-U5MnY


  實現

如果你對我們是如何做到這一點感到好奇的話,首先你需要了解卷積層的特徵映射在檢測視野內相關特徵時是如何激活的。這方面Harsh Pokharna的某篇文章做了很好的解釋。

在這種情況下,我們的汽車變成了一個檢測車道的「專家

就像人一樣,在不考慮其他因素(其他車輛、路標、行人或目的地)的情況下,車道會給我們提供如何做出正確決策的相關信息。我們應該向左轉?向右轉?繼續直行?

好吧,讓我們回到正題。我們需要做的第一件事是找到感興趣的卷積層,並且繪製需要激活的熱圖。為此,我們使用了這個龐大的存儲庫的一個稍微修改過的版本。

完全重建一次激活意味着要考慮到這裡提到的「深」卷積層的作用。

為了簡化,我們要估算出單個卷積層的激活量,這裡使用三次樣條插值法,而不是逆卷積。在對網絡上所有特徵映射進行可視化檢測后,我們選擇了第二個卷積層。 

我們將結果顯示在這裡:


輸入的圖像

第二層卷積的特徵映射

在這一點上,很明顯網絡主要是在響應車道。下一步是將原始輸入圖像與激活重疊,以一種不損壞原始圖像形狀和顏色的方式將響應高的區域清晰地疊加在一起。

這裡要用到OpenCV!首先創建一個二進制掩碼,用來分割出激活最高的部分,同時棑除掉其他的。由於激活映射的區域較小,我們還需要向上採樣。然後,使用按位運算獲得最終合併的圖像。

最先要做的按位運算是將二進制掩碼和激活映射進行「與」運算。該操作可以用OpenCV輕鬆實現,並且分割出映射里激活最高的部分。

二進制掩碼


按位運算中掩碼和特徵向量的「與」運算

就像預期的那樣,我們最終得到了一條完全由卷積神經網絡切割出來的、清晰的車道。

現在我猜你已經想到了,為了要完成最終的圖像,我們需要做的第二步按位運算:與運算。圖像中的冷藍色是由於Matplotlib (RGB)和OpenCV (BGR)顏色格式不同導致的。你可以搗騰這個會變色的色圖來得到不同的顏色。

就這樣,我們在對網絡激活做合理估算的基礎上,將輸入圖像與特徵映射做最後整合。

最終整合后的圖像

現在,讓我們用一段視頻來呈現這個結果吧。



  問題

如果您有任何疑問,我將很樂意在評論中回答。 此處提供了指向公共存儲庫的鏈接,包括所有代碼和數據庫。 不要忘記在Twitter上關注我們。


想要繼續查看該篇文章相關鏈接和參考文獻?

長按鏈接點擊打開或點擊【迷你自動駕駛汽車深度學習特徵映射的可視化】:

https://ai.yanxishe.com/page/TextTranslation/1206


AI研習社每日更新精彩內容,觀看更多精彩內容:雷鋒網雷鋒網雷鋒網

CVPR 2018 最牛逼的十篇論文

深度學習目標檢測算法綜述

迷你自動駕駛汽車深度學習特徵映射的可視化

在2018年用「笨辦法」學數據科學體會分享

等你來譯:

如何在神經NLP處理中引用語義結構 

(Python)用Mask R-CNN檢測空閑車位

高級DQNs:利用深度強化學習玩吃豆人遊戲

深度強化學習新趨勢:谷歌如何把好奇心引入強化學習智能體 



想在手機閱讀更多程式設計資訊?下載【香港矽谷】Android應用
分享到Facebook
技術平台: Nasthon Systems