ADVERTISEMENT
有件事情一直令人感到好奇:都2021年了,現在有自動駕駛船在海上行駛嗎?如果你在Google上輸入「 Autonomous ship 」,出現的結果可能會改變你的認知:完全無人的自動駕駛輪船今年將橫渡大西洋;零排放的自動駕駛輪船正在研發中……
除了實驗室裡的成果,其商業化進度更是超出大家的想像。原來,早在2018年,RR(也就是勞斯萊斯)曾用自動駕駛輪船成功跨海運送了80名VIP客戶的汽車。
RR的技術來自一家挪威公司—— Kongsberg Maritime(康斯博格海事)。他們運用雷達和攝影鏡頭檢測並避開障礙物,在途中自動行駛,駛入港口後自動停泊。
之後,RR商業海事部門於2019年4月被Kongsberg收購。
而這家Kongsberg,正是前面提到的開發零排放自動駕駛船舶的航海巨頭。
在Kongsberg的技術藍圖裡,未來挪威公司生產的化肥將在三個港口之間裝船、航行和卸貨。整個過程完全無需人工現場干預。
按照國際海事組織(IMO)的定義,現在的自動駕駛輪船技術正在從L2向L3演進。
至此,剩下的問題是:輪船是如何自動駕駛?
自動駕駛汽車使用的技術和晶片五花八門,有堅持只用圖像辨識的,也有結合光學雷達的;有自主研發晶片的,也有購買第三方運算平台的。
Kongsberg用的是什麼方案?
和大多數無人車類似,Kongsberg的方案採用了多種感測器:雷達探測遠距離物體,光學雷達對船體附近區域進行高精度分析,高解析度攝影鏡頭拍攝船舶前方海域180度視野景象。
這就是他們首款上市的全自動駕駛船解決方案Intelligent Awareness(智慧意識)。
三種感測器收集到的訊息,經過演算法處理後顯示在螢幕上,船員可以透過儀錶盤看到高亮顯示的潛在危險區域。
按照,Kongsberg的說法,「智慧意識」可幫助降低航海者的風險,尤其是在黑暗環境、惡劣天氣條件下,或是擁擠海域,以及進出船塢之時。
當然,其中用的圖像辨識與分類比自動駕駛汽車要復雜得多。
因為海面上的搜尋距離更大,因此圖像中物體的縮放比例是一個巨大挑戰。相同物體在不同距離上呈現的大小有天壤之別,可能最小10個像素塊、最大10萬個像素塊。
這必然對硬體有很高的要求。
他們居然只用CPU
然而令人吃驚的是,Kongsberg在這套方案裡沒有使用AI推理加速硬體,例如獨立的GPU或NPU,而是完全依賴於Intel的CPU(和內部整合GPU)。
即使在運算量更小的自動駕駛車上,不使用專門的AI晶片都是不可想像的。
況且Kongsberg過去的AI方案也不是沒使用過GPU,為什麼在輪船上反而不用了?令人費解。
後來,這家公司的一位專案經理Saarela在採訪中道出了緣由:
其中一個重要原因是海事認證問題。如果不用GPU,我們的伺服器會更容易通過認證。而且,我們還想降低功耗。
我們理想的方案是使用差不多相同的通用伺服器系統。我們並不是每台伺服器都需要GPU,所有伺服器都不用GPU會更好,這樣我們就獲得了更多的彈性,能在任何伺服器上執行任何應用程式。
工業領域嚴苛的認證體系,商業用戶節約成本的需求,讓全CPU方案成為了「自動駕駛輪船」的首選方案。
實際上, CPU也是完全可以勝任AI推理的。
在這套方案中,Kongsberg使用兩個Intel至強鉑金8153處理器,每個處理器有16個核心。每個核心可處理兩個線程,所以總共可並行處理64個模型。
硬體規格絕對夠豪華。問題是,CPU能滿足自動駕駛的運算需求嗎?
對於這一點,就連專案經理Saarela本人最初也沒有信心。
如果CPU處理圖像的速度不夠快,那麼自動駕駛輪船就可能撞到其他高速移動的船隻。對於商業海運來說,這種事故造成的經濟損失不容小覷。
誰說CPU不適合AI推理
為了解決這個難題,Kongsberg找來CPU供應商Intel聯手優化了「智慧意識」解決方案。
Kongsberg負責提供預先訓練好的人工智慧模型供Intel使用。而Intel則提供OpenVINO 「加速包」”,在不降低準確度的情況下幫助提升數據處理速度。
OpenVINO(開放式視覺推理和神經網路優化)是Intel於2018年推出的深度學習優化與部署開源工具包,幫助開發者更方便地在Intel硬體平台上部署AI模型。
OpenVINO支持Caffe、TensorFlow、MXNet、ONNX等主流深度學習框架,而PyTorch、PaddlePaddle等支持轉換為ONNX的框架也可以間接使用,覆蓋了絕大多數AI開發者。
當然,用TensorFlow開發自動駕駛輪船的Kongsberg也不例外。
OpenVINO將訓練好的模型透過模型優化器轉換為中間表示(IR)文件(*.bin和*.xml)。
由於去除了模型中任何僅與訓練相關的運算,並將部分推理運算融合在一起,所以大大加快了推理計算的速度。
下圖展示了OpenVINO(深藍色)在模型中的作用,它就像假設在深度學習框架(淺藍色)和用戶應用(橙色)之間的橋樑。
OpenVINO將訓練後的模型針對Intel硬體進行深度優化,再重新部署,而且這個過程中無需重新訓練AI模型。
經優化後,在Kongsberg的一個目標辨識基準專案上,CPU每秒處理的圖片數量提升了4.8倍。
看到這個結果後,Kongsberg的專案經理Saarela表示:
結果讓我十分震驚。我原以為我們永遠都擺脫不了GPU,但這些結果改變了我的想法,讓我看到了使用CPU的可能性。
打開OpenVINO的介紹頁面,你會發現,這套工具給IntelCPU帶來了巨大的AI技術加成。
最新的2021.2版功能已十分強大,支援圖像分類、語義分割、目標檢測、人臉辨識、單眼深度估計、圖像修補等幾乎所有CV應用模型。
而作為一款可以放心用於工業領域的工具包,Intel也考慮到穩定性提供LTS版,保證了性能、連接埠向下相容性、7x24穩定性以及壓力測試。
搭配上Intel配套提供的Python分發版,只需微調程式碼即可提高Python應用程式的性能,加速NumPy、SciPy和Scikit-learn等科學計算、機器學習庫。
在官方檔案中,Python分發版最高可以帶來數倍的性能提升。
現在,我終於明白,Kongsberg為什麼只用CPU也能開發自動駕駛輪船了。
其實不僅是輪船,類似的場合還很多。就拿很多個人開發者來說,一台開發電腦可能沒有獨立顯示卡,但是絕對不能沒有CPU。
而有了OpenVINO工具包的加持,受限的硬體環境一樣能發揮出AI的性能。
說到這裡,突然讓人想到之前在Intel開發者活動上抽中的獎品——第二代神經計算棒,這傢伙放在我抽屜裡很久了。
- 本文授權轉載自量子位
有件事情一直令人感到好奇:都2021年了,現在有自動駕駛船在海上行駛嗎?如果你在Google上輸入「 Autonomous ship 」,出現的結果可能會改變你的認知:完全無人的自動駕駛輪船今年將橫渡大西洋;零排放的自動駕駛輪船正在研發中……
除了實驗室裡的成果,其商業化進度更是超出大家的想像。原來,早在2018年,RR(也就是勞斯萊斯)曾用自動駕駛輪船成功跨海運送了80名VIP客戶的汽車。
RR的技術來自一家挪威公司—— Kongsberg Maritime(康斯博格海事)。他們運用雷達和攝影鏡頭檢測並避開障礙物,在途中自動行駛,駛入港口後自動停泊。
之後,RR商業海事部門於2019年4月被Kongsberg收購。
而這家Kongsberg,正是前面提到的開發零排放自動駕駛船舶的航海巨頭。
在Kongsberg的技術藍圖裡,未來挪威公司生產的化肥將在三個港口之間裝船、航行和卸貨。整個過程完全無需人工現場干預。
按照國際海事組織(IMO)的定義,現在的自動駕駛輪船技術正在從L2向L3演進。
至此,我對自動駕駛輪船的商業化進程已經有大致的了解,那麼剩下的問題來了。
輪船如何自動駕駛?
自動駕駛汽車使用的技術和晶片五花八門,有堅持只用圖像辨識的,也有結合光學雷達的;有自主研發晶片的,也有購買第三方運算平台的。
Kongsberg用的是什麼方案?
和大多數無人車類似,Kongsberg的方案採用了多種感測器:雷達探測遠距離物體,光學雷達對船體附近區域進行高精度分析,高解析度攝影鏡頭拍攝船舶前方海域180度視野景象。
這就是他們首款上市的全自動駕駛船解決方案Intelligent Awareness(智慧意識)。
三種感測器收集到的訊息,經過演算法處理後顯示在螢幕上,船員可以通過儀錶盤看到高亮顯示的潛在危險區域。
按照,Kongsberg的說法,「智慧意識」可幫助降低航海者的風險,尤其是在黑暗環境、惡劣天氣條件下,或是擁擠海域,以及進出船塢之時。
當然,其中用的圖像辨識與分類比自動駕駛汽車要復雜得多。
因為海面上的搜尋距離更大,因此圖像中物體的縮放比例是一個巨大挑戰。相同物體在不同距離上呈現的大小有天壤之別,可能最小10個像素塊、最大10萬個像素塊。
這必然對硬體有很高的要求。
他們居然只用CPU
然而令人吃驚的是,Kongsberg在這套方案裡沒有使用AI硬體加速,例如獨立的GPU或NPU,而是完全依賴於Intel的CPU(和內部整合GPU)。
即使在運算量更小的自動駕駛車上,不使用專門的AI晶片都是不可想像的。
況且Kongsberg過去的AI方案也不是沒使用過GPU,為什麼在輪船上反而不用了?令人費解。
後來,這家公司的一位專案經理Saarela在採訪中道出了緣由:
其中一個重要原因是海事認證問題。如果不用GPU,我們的伺服器會更容易通過認證。而且,我們還想降低功耗。
我們理想的方案是使用差不多相同的通用伺服器系統。我們並不是每台伺服器都需要GPU,所有伺服器都不用GPU會更好,這樣我們就獲得了冗餘,能在任何伺服器上運行任何應用程式。
工業領域嚴苛的認證體系,商業用戶節約成本的需求,讓全CPU方案成為了「自動駕駛輪船」的首選方案。
實際上, CPU也是完全可以勝任AI推理的。
在這套方案中,Kongsberg使用兩個Intel至強鉑金8153處理器,每個處理器有16個核心。每個核心可處理兩個線程,所以總共可並行處理64個模型。
硬體規格絕對夠豪華。問題是,CPU能滿足自動駕駛的運算需求嗎?
對於這一點,就連專案經理Saarela本人最初也沒有信心。
如果CPU處理圖像的速度不夠快,那麼自動駕駛輪船就可能撞到其他高速移動的船隻。對於商業海運來說,這種事故造成的經濟損失不容小覷。
誰說CPU不適合AI推理
為了解決這個難題,Kongsberg找來CPU供應商Intel聯手優化了「智慧意識」解決方案。
Kongsberg負責提供預先訓練好的人工智慧模型供Intel使用。而Intel則提供OpenVINO「加速包」,在不降低準確度的情況下幫助提升數據處理速度。
OpenVINO(開放式視覺推理和神經網路優化)是Intel於2018年推出的深度學習優化與部署開源工具包,幫助開發者更方便地在Intel硬體平台上部署AI模型。
OpenVINO支持Caffe、TensorFlow、MXNet、ONNX等主流深度學習框架,而PyTorch、PaddlePaddle等支持轉換為ONNX的框架也可以間接使用,覆蓋了絕大多數AI開發者。
當然,用TensorFlow開發自動駕駛輪船的Kongsberg也不例外。
OpenVINO將訓練好的模型通過模型優化器轉換為中間表示(IR)文件(*.bin和*.xml)。
由於去除了模型中任何僅與訓練相關的運算,並將部分推理運算融合在一起,所以大大加快了推理計算的速度。
下圖展示了OpenVINO(深藍色)在模型中的作用,它就像假設在深度學習框架(淺藍色)和用戶應用(橙色)之間的橋樑。
OpenVINO將訓練後的模型針對Intel硬體進行深度優化,再重新部署,而且這個過程中無需重新訓練AI模型。
經優化後,在Kongsberg的一個目標辨識基準專案上,CPU每秒處理的圖片數量提升了4.8倍。
看到這個結果後,Kongsberg的專案經理Saarela表示:
結果讓我十分震驚。我原以為我們永遠都擺脫不了GPU,但這些結果改變了我的想法,讓我看到了使用CPU的可能性。
打開OpenVINO的介紹頁面,你會發現,這套工具給IntelCPU帶來了巨大的AI技術加成。
最新的2021.2版功能已十分強大,支持圖像分類、語義分割、目標檢測、人臉辨識、單眼深度估計、圖像修補等幾乎所有CV應用模型。
而作為一款可以放心用於工業領域的工具包,Intel也考慮到穩定性提供LTS版,保證了性能、連接埠向下相容性、7x24穩定性以及壓力測試。
搭配上Intel配套提供的Python分發版,只需微調程式碼即可提高Python應用程式的性能,加速NumPy、SciPy和Scikit-learn等科學計算、機器學習庫。
在官方檔案中,Python分發版最高可以帶來數倍的性能提升。
其實不僅是輪船,類似的場合還很多。就拿很多個人開發者來說,一台開發電腦可能沒有獨立顯示卡,但是絕對不能沒有CPU。
而有了OpenVINO工具包的加持,受限的硬體環境一樣能發揮出AI的性能。
- 本文授權轉載自量子位
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!