OpenCV AI Kit (OAK) 創始人Brandon Gilles訪談全記錄

本文中,咱們採訪了PyImageSearch的忠實讀者、OpenCV AI Kit (OAK)創始人——Brandon Gilles,他帶來的OAK完全顛覆了人們應用嵌入式計算機視覺和深度學習的方式。編程

爲了慶祝OpenCV庫成立20週年,Brandon與OpenCV.org官方合做,建立了OpenCV AI Kit——獲MIT認證許可的開源軟件API以及Myriad X-based嵌入式主板/攝像頭。緩存

OAK分爲兩種:安全

  1. OAK-1: 標準的OpenCV AI板,可以執行神經網絡推理、目標跟蹤、April Tags識別、特徵檢測,以及基本的圖像處理操做等。
  2. OAK-D: 除包含OAK-1中的全部功能外,還具備立體深度攝像頭、3D目標定位、以及3D空間內的目標追蹤功能。

在通過Brandon和OpenCV團隊的贊成後,提早獲取了OpenCV AI Kit的一手資料,讓咱們一塊兒期待往後PyImageSearch博客上的OAK教程吧。網絡

OpenCV AI Kit將完全改變嵌入式計算機視覺和深度學習的執行方式,我已經火燒眉毛地想要上手了。下面讓咱們熱烈歡迎Brandon Gilles來分享一下他的故事吧。架構

OpenCV AI Kit (OAK) 創始人Brandon Gilles訪談全記錄
在這裏插入圖片描述
Brandon Gilles:OpenCV AI Kit (OAK)的首席架構師。

機器學習

**記者:**能夠向你們介紹一下你本身嗎?函數

**Brandon:**我是一名電氣工程師,是Luxonis的創始人兼首席執行官。一直以來,我都想本身進行創業,而且但願本身的工做能對世界產生積極的影響。但有點好笑的是,我又老是想要規避風險。因此我花了十多年的時間夢想着能創立本身的公司,卻從未真正付諸於行動。因此這是我第一次嘗試盡心盡力地去推出一款產品,並白手起家建立屬於本身的公司。學習

記者: 你有什麼計算機視覺和深度學習方面的經歷背景嗎?又是如何開始對這個領域感興趣的呢?測試

Brandon: 和大多數電氣工程師同樣,我在大學中學習了計算機視覺的課程(如今看來那已是16年前了!),在線性系統等課程中瞭解了傳統的計算機功能。可是起初,個人職業發展軌跡和計算機視覺或深度學習領域沒有任何的交集,但當個人導師從咱們共同就任的公司離職時,一切都變了。優化

我很喜歡當時的工做,他也很喜歡(他當時是公司的天線設計師),因此他的離職就更讓人以爲匪夷所思。

我曾問過他爲何要離職,他告訴我說:「AI和深度學習將會顛覆全部的行業,這或許是我職業生涯中最大的機會——我必需要搏一次!」

那時候我還不太瞭解深度學習,上一次提到「人工智能」這個詞仍是2004年的時候。當時個人大學室友在Lisp中嘗試了人工智能技術,但結果卻很不理想。因此從2004年到2016年年中,我一直覺得人工智能模型是「毫無用處」的。

後來,當這位我十分尊敬的導師離開了咱們都很喜歡的工做,並全身心地投入到人工智能/機器學習/深度學習工做中時,我感到無比震驚,這才睜開眼睛從新審視這個領域。

那天我回到家,在谷歌上搜索了「深度學習」、「機器學習」、「人工智能」等關鍵詞。而後在接下來的一年裏,我都沉迷其中,把全部的空閒時間(甚至連上廁所的時間都不放過)都花在了PyImageSearch上,學習網站上的教程,並密切關注TowardsDataScience、MIT Technology上的評論。

圖片: https://uploader.shimo.im/f/qP6h3OrdIIvbA9EQ.png
OpenCV AI Kit (OAK)。OAK-D具有立體深度(左圖)功能,而便宜一點的OAK-1(右圖)相對體積較小,但沒有深度功能

記者: 咱們來聊聊這次OpenCV AI Kit 在Kickstarter上的活動吧。我記得你第一次跟我提到這個項目是在2018年,不過當時它還叫「DepthAI」。你是經過什麼樣的契機提出的DepthAI呢?又是如何對其進行驗證,並最終成長爲OpenCV AI Kit的呢?

Brandon: 過程確實有點曲折,它中途換過好幾回名字(我對此也感到很抱歉)。當時我身邊的朋友和家人遇到了一些情況,致使我想作一些事情以提供力所能及的幫助。

當時我本來想運用新技術作一款激光槍戰遊戲(對玩家、牆壁、建築物等進行強化)。因此在2017年,我從原公司離職,開啓了本身的全職CV/ML工做生涯,想要經過技術突破來設計出一款可以適配現有激光槍戰設備的多玩家 AR系統。

但就在那個時候,先後大約一週的時間裏,我家人和朋友的身邊(他們的朋友、親戚、或同事)發生了不少起交通意外。雖然事故並無發生在我最親近的人身上,但這些故事仍是對我產生的巨大的影響。

我父親最好的朋友被車從後面撞倒,致使背部、股骨和臀部多處骨折,傷情十分嚴重,在牀上躺了9個月消腫後才進行了手術;同時,我好朋友的生意夥伴也遇到了相似的經歷;而我大學時一塊兒滑雪的夥伴也遭遇了一樣的意外,甚至還受了腦外傷;我所在的黑客空間創始人的合做夥伴也死於交通事故(被汽車的後視鏡擊中了脖子,當場死亡)。

因此忽然間,我感受本身設計的這個加強現實激光系統彷佛不太合時宜。鑑於我已經花了數年時間研究計算機視覺、機器學習、深度學習以及其餘新興技術,因此我開始思考如何能構建一個預防此類事故的嵌入式系統。

若是在事故發生前汽車能靠左行駛12英寸的話,就能夠避免悲劇的發生了。幾年前我曾見識過Jonathan Lansey的LOUD Bicycle 在Kickstarter上衆籌的效果,那正是我想要的!我要設計一個可以爲騎行者和汽車司機提供警示的系統,從而防止交通悲劇的發生。

在我看來,若是計算機視覺和深度學習可以在分析CT掃描圖像方面賽過醫生;在圖像分類、目標檢測、3D感知等方面賽過人腦,那麼也必定有方法能創造出保障人們生命安全的設備。

在個人構想中,這款設備就至關因而騎行在你身後的朋友,當後面有汽車可能會撞向你時,他就會閃起LED強光;當車輛真的要撞上來的時候,他會提早開始鳴笛(但實際音量很是小),留出避讓的時間。此後,我利用從PyImageSearch上學到的知識,以及從Github上獲取的Katsuya Hyodo (PINTO0309)製做出了第一款可以實現上述目標的原型:

圖片: https://uploader.shimo.im/f/4YHXezwmBf0eI4ra.png
Brandon對往後OpenCV AI Kit的最初靈感

雖然這個原型體積巨大,也不夠美觀,但它卻能達到最初的設計目的!我在原型設計和測試的過程當中學到了一件很是重要的事情:

深度+適度對象檢測能簡化問題的解決過程,而且在減小代碼/工做量的基礎上順利運行。

如今,當初的構想已經實現了,可以經過各類反饋來爲騎車的人們提供警示,如閃爍的led燈,甚至還有超級大聲的喇叭。這教會了我第二件重要的事:

儘管有單獨的組件(深度攝像頭、AI處理器、嵌入式CPU等),但仍沒法將其構建成小型的嵌入式產品(因爲體積太大、過於笨重,因此沒辦法將其放置在自行車座椅下,並且成本也較高)。

但巧的是,當時Myriad X剛開始發售,它具有的CV/AI功能恰好能夠解決上述問題,但必需要有U盤或PCIE卡,但是兩者都沒法嵌入使用,也都不適用深度引擎以及其餘CV加速功能(運動估計、邊緣檢測、目標跟蹤、特徵跟蹤、視頻編碼、等等)。因此U盤/PCIE沒法應用於嵌入式或神經推理之外的應用程序。

在面對這個問題的時候,我和我背後的團隊要麼就選擇完全放棄,要麼就主動去建造一個新平臺。咱們選擇去構建新平臺——當時將其稱爲DepthAI。在進行過一段時間的初步銷售後(你當時也發佈了有關咱們平臺的推特),OpenCV 的Mallick博士找到咱們,想要接管這個平臺,並將其做爲解決此類嵌入式CV&AI問題的OpenCV的核心部分。

**記者:**咱們來聊一下OpenCV AI Kit背後的硬件吧。是什麼推進了這款嵌入式設備的製做呢?做爲深刻學習/計算機視覺從業者,咱們又爲何要了解OpenCV AI 呢?

Brandon: 咱們選擇Myriad X的緣由是,它在低能耗的芯片中知足了咱們所需的一切功能。
1. 實時神經推理(幾乎涵蓋了全部的網絡)
2. 立體深度
3. 特徵跟蹤,包括運動估計和平臺運動估計
4. 對象跟蹤
5. H.265/H.264編碼(用於記錄事件,或單純的進行記錄)
6. JPEG 編碼
7. 16x高效矢量處理器,用於將全部功能組合在一塊兒並運行加速CV函數(能夠將其視爲連接嵌入式特定視覺GPU)。






做爲一名電氣工程師,我說:「那太好了,我只要有芯片和SDK就夠了!」我發現,該芯片惟一的SDK是用於神經推理的……市場上的其餘產品(計算棒、PCIE卡等)都沒法使用其餘功能,只能進行推理。

全部這些功能結合在一塊兒,最終使其成爲了咱們的不二之選。在U盤或PCIE中的應用其實只發揮了它1/7的功能(若是加上其餘被我忘記的功能的話,也就只發揮了1/10的樣子)。

至此,咱們有了芯片,而且得到了所需的功能。簡而言之,咱們發掘了Myriad X的真正潛力——它將全部功能結合在一塊兒,能夠解決Spatial AI的問題。

Spatial AI是藉助人工智能來得到物理座標的功能——肯定目標的位置(以米爲單位)。這正是咱們要進行實時監控和跟蹤車輛3D軌跡時所須要的功能。

記者: 這樣看來,OpenCV AI Kit不只僅是一個嵌入式人工智能板。它仍是一個API,對嗎?那用戶是如何與API進行交互的呢?它與Python和OpenCV兼容嗎?

Brandon: 問得好。人們關於這個平臺的最大困惑是「它不過就是另外一個主板而已」。雖然硬件很重要(由於它能爲Myriad X提供所需的支持),但更關鍵的是API,以及咱們配置Myriad X硬件塊的新方式:以簡單的方式提供全部功能。咱們花了大量的時間來優化緩存、芯片內部通訊系統和DDR通訊,進行了大量的重寫,最終讓Myriad X可以實現上述功能。

咱們經過一個簡單的API公開了這一消息:兼容Python和OpenCV。它其實是藉助pybind11用C++編寫而成的(也是開源的,所以可以在能夠編譯OpenCV的任何平臺上進行編譯),提供了Python中的API功能。簡而言之,C++接口和直接編程也能夠完成。

Kickstarter側重於OAK的USB接口版,但咱們正在作SPI接口版的後臺……這樣一來,就能夠鏈接到其餘系統,例如沒有操做系統的微控制器。該項目可能會在Kickstarter活動結束時實現開源。

記者: 你在嵌入式系統、主板設計和製造方面有着豐富的經驗,那在製造OpenCV AI Kit的過程當中,遇到的最大難題是什麼?又是如何解決的呢?

Brandon:最具挑戰性的實際上是零部件採購,特別是攝像頭的採購。過去的幾十年裏,咱們見證了各個領域的信息透明化趨勢以及組件購買便捷性趨勢,但這波浪潮尚未進入攝像頭模塊市場,該市場仍然很是不透明且固化。在我看來,市場已經瀕臨瓦解。

在這種狀況下,咱們須要花費大量的時間與供應商進行溝通、下訂單、進行協商談判。除此之外,製造過程和供應鏈一直都運行順利。在Kickstarter衆籌以前,咱們在試運行中得到了99.7%的收益率,這一結果仍是很振奮人心的。

圖片: https://uploader.shimo.im/f/eE3IIOjnPKT2yBD6.png
圖4:若是你想學習如何在本身的數據集上訓練深度學習模型,能夠看一看《Deep Learning for Computer Vision with Python》

記者:你做爲PyImageSearch的忠實讀者和用戶,也讀過《Raspberry Pi for Computer Vision》和《Deep Learning for Computer Vision with Python》兩本書。那麼你是如何使用這些書來幫助本身開發OpenCV AI Kit的呢?

Brandon:其實咱們團隊會一塊兒團購大家的每一本書(其中大部分都是在咱們合做以前就買了的)。

PyImageSearch能幫助咱們縮短構建原型所需的時間。有了大家的教程和書,咱們只須要20秒就能夠解決本來可能要花10個小時才能搞清楚的問題。由於書中對各種代碼庫和機器學習技術的運行方法都進行了詳細說明。

因此,PyImageSearch能幫助咱們快速構建原型,瞭解藉助計算機視覺解決此類問題的可行性。正因如此,咱們才發現:並不是全部人均可以使用Myriad X的功能。PyImageSearch幫助咱們瞭解自身的任務,並協助任務的順利運行,避免沒必要要的麻煩。

**記者:**你會向其餘想要學習計算機視覺和深度學習的開發人員、學生、研究員推薦《Raspberry Pi for Computer Vision》和《Deep Learning for Computer Vision with Python》嗎?

**Brandon:**固然會!我以前徹底不瞭解本身的想法在技術層面是否可行,但PyImageSearch向我展現了其可行性,並協助我實現系統的順利運行。

若是你對這個行業感興趣的話,這兩本書必定能夠幫助你加深瞭解,並掌握解決實際問題的方法。

**記者:**對於那些想追隨你的腳步,學習計算機視覺和深度學習,而後在CV/DL領域推出產品的人,你有什麼建議嗎?

Brandon:你們能夠從PyImageSearch教程入手。我曾花大量的時間來閱讀理論知識和最新技術進展信息,但後來我才發現,只有當我開始真正着手運行PyImageSearch代碼,並經過修改代碼來解決實際問題時,一切才真正開始。

**記者:**若是有PyImageSearch的讀者想和你聊一聊的話,有沒有什麼能夠聯繫你的方式呢?

**Brandon:**我一直堅信工程師是一個須要與他人進行直接交流的職業,所以咱們開通了幾種交流途徑:首先,能夠在咱們的社區頻道(https://luxonis-community.slack.com/)找到我。只要我醒着,就常常會出如今那裏。此外,還能夠經過咱們的網絡論壇(https://discuss.luxonis.com/)與我進行交流。你們也能夠隨時給我發郵件,郵箱地址是:brandon@luxonis.com。
總結

以上即是咱們對身爲企業家、PyImageSearch 讀者及用戶、OpenCV AI Kit 建立者的Brandon Gilles的採訪全記錄。

本文轉載自:https://www.pyimagesearch.com/2020/07/20/an-interview-with-brandon-gilles-creator-of-the-opencv-ai-kit-oak/ 做者:Adrian Rosebrock

相關文章
相關標籤/搜索