vSLAM開發指南:從技術框架、開源算法到硬體選型!

2021-02-23 智東西公開課

出品 | 智東西公開課

講師 | 小覓智能 CTO 楊瑞翾

編輯 | 王鑫

提醒 | 點擊上方藍字關注我們,並回復關鍵詞 CV06,即可獲取課件。

10月17日,「智東西公開課」策劃推出計算機視覺應用系列課第二季第3講,主題為《如何利用vSLAM幫助機器人實現不同場景下的精準導航避障》,由小覓智能CTO楊瑞翾直播講解。

在本次講解中,楊瑞翾老師從vSLAM發展歷程開始講解,對不同相機展開介紹,同時對技術原理及不同算法實現進行剖析,提出了不同場景下的解決辦法,並舉出vSLAM在機器人上的應用案例。

本文為此次公開課的實錄

大家好,我是小覓智能CTO楊瑞翾,很高興有機會跟大家一起交流學習!先介紹下我們公司,小覓智能是一家專注於雙目視覺傳感器vSLAM算法及解決方案的公司,現在已經推出了多款適用於vSLAM的相機。

今天要和大家分享的主題是《如何利用vSLAM幫助機器人實現不同場景下的精準導航避障》。我將從以下四個方面來和大家分享:

1、vSLAM發展歷程

2、vSLAM技術原理及不同算法實現

3、vSLAM在不同場景下的應用挑戰與解決辦法

4、vSLAM在機器人實時導航避障中的應用實踐

vSLAM的發展歷程也可以說是視覺傳感器的進化史,兩者是相互依賴的。最早誕生的是單目相機,於是有了單目的vSLAM算法,XBox的Kinect相機把結構光和ToF都變成了消費類電子產品,並得到了大規模的量產。單目相機加上一組深度相機,於是有了RGB-D的SLAM,也有把深度圖轉換為Laser-Scan當雷射來使用去做鑑圖的。

雙目相機由於對算力的要求比較高,得益於近些年來CPU和GPU的算力越來越高,逐步發展成了主流的傳感器。視覺裡程計對於視覺和IMU的同步精度要求是比較高的,所以我們也做了專門的雙目慣導相機。多目相機可以簡單的理解為是多組的雙目,對視角和不同方向進行了擴充。

下面我簡單介紹一下每個相機的特點:

-單目相機

單目相機的最大的問題是沒有尺度信息,比如圖片裡的比例關係,人之所以可以區分是因為我們經過了大量的訓練,類似於深度學習。但是機器視覺是不能從一張圖中得到空間關係的,這就需要對相機進行移動來估計不同位姿下的圖像關係,從而得到尺度信息,相當於這就是一個可變基線的雙目相機。

-結構光相機

結構光相機是靠投射出一些紅外的圖案,再利用IR攝像頭接收到圖像的形變來計算出來深度,IR的發射器和接收器之間的距離也類似於雙目的基線,測距的關係、原理也類似於三角測量。用到的圖案也有各式各樣的,比如條紋狀圖案等。在Kinect中用的是隨機的散斑,Kinect也提供了三種不同距離下的三種不同尺寸的散斑,用於測量不同的區間。

-ToF相機

ToF相機是通過發射連續的光脈衝,然後利用傳感器接收反射光,通過光飛行的時間推算出距離。ToF相機現在的解析度普遍不高,基本上是QVGA(QuarterVGA),當然現在也有VGA解析度的,但是隨著它的解析度的提升,成本也會越來越高。

-雙目相機

雙目相機的原理類似於人眼,我們人眼是通過左眼和右眼看到物體的不同視差,來得到深度信息,雙目相機也是同樣的原理。

這張圖展示的是一個雙目三角測距的簡化模型,P代表被測的物體,z代表物體和相機之間的距離,b代表基線,f代表焦距,d代表視差。通過相似三角形的原理:z/f=b/d。實際上雙目視差的算法要更複雜一些,像OpenCV中就有BM算法和SGBM算法。

因為雙目的視差計算是不依賴於其它傳感器的,所以雙目相機在室內和室外都可以很好應用。上圖就是在室內應用中看到的效果。對於一些弱紋理的表面,比如白牆或者沒有紋理的桌面等,我們可以通過疊加一些IR結構光的紋理去增強它表面的紋理信息,這樣可以方便計算出雙目視差。

上面是雙目相機在室外的效果,結構光的相機主要發射和接受IR光,太陽光裡有大量的IR光會被覆蓋掉,所以大部分結構光相機和ToF相機在室外都不能很好的工作,但是雙目沒有這個問題,所以現在很多汽車的ADAS裡都用到了雙目相機。

我們把雙目結構光再加上IMU融合到一個相機裡叫雙目結構光慣導相機,通過多傳感器融合和互補來達到雙目在室內、室外不同的紋理,即使在旋轉的情況下也可以達到很好的應用效果。

下面為大家介紹一下vSLAM的技術原理和一些開源的VSLAM算法的實現。vSLAM的技術框架主要包含了傳感器的預處理、前端、後端、迴環檢測、建圖等。

-傳感器

傳感器部分我們經常用到的就是單目、雙目和RGBD。由於單目相機尺度的不確定性,所以初始化的時間一般比較長,而且估計的位姿會有累積的誤差;而雙目相機本身是有尺度信息的,所以初始化很快,但是對標定有一定的要求;RGBD相機主要受室外陽光的影響比較大,包括反光物體的表面對RGBD相機的幹擾也是比較大的,如果再加入IMU,就需要考慮IMU和圖像之間同步的問題。

 -前端

前端又稱為視覺裡程計,主要是做一些相鄰幀的圖像估算,還有幀間相機的運動,其實是解決了定位的問題,裡邊又涉及到特徵提取和位姿估計的算法。

這裡提到的視覺裡程計只能做相鄰幀的運動,相當於做一個局部的估計,運行時間長了會有累積的誤差,因此需要後端的優化和迴環檢測去做閉環處理。

-後端

後端優化主要有兩類算法:基於濾波理論的優化和非線性的優化。近些年來基於非線性優化的vSLAM越來越多,而且逐漸成為主流的方法,但是實際上基於濾波理論的發展時間比較長,而且之前也有很好的應用案例,所以也是非常有生命力的。

-迴環檢測

迴環檢測和我們人類用眼睛來判斷兩個地方是否相同是一樣的道理,檢測到了相同的點就會做一次迴環修正。但是這裡有一個問題需要注意,由於場景裡邊可能出現高度相似的情況導致錯誤的閉環,比如貼著相同重複紋理的牆紙,這種情況我們需要增加一些其他的約束來避免它的錯誤閉環。

-建圖

vSLAM建立的地圖有幾種

(1)比如特徵地圖會把幾何特徵點和一些關鍵幀存儲起來,這些可以做定位導航用,也可以保存成地圖載入做導航。

(2)拓撲地圖也叫統計地圖,它是一種保持點與線相對位置關係正確但是不關心面積距離和方向是否正確的一種抽象地圖。

(3)柵格地圖就是加入了尺寸信息的一種二維地圖,比如大家可以看到上面圖片背景的小格子,每一個格子就代表1個固定單位的尺寸信息,整個地圖都是按照尺寸去描述的。二維的地圖實際上比較適用於在地面運動且沒有太多高度的機器人。

(4)三維地圖可以把三維的環境和場景進行還原,比如Octomap或者是點雲的地圖,有了這個地圖,我們就可以做空間的三維重建或者路徑規劃,比如無人機的路徑規劃和導航。

下面為大家快速介紹幾種開源的SLAM:

-ORB_SLAM

ORB_SLAM的核心是使用ORB作為vSLAM的核心特徵,是一個完整的SLAM系統,包含了視覺裡程計、跟蹤、閉環檢測,是一種完全基於稀疏特徵點的單目SLAM系統。同時也有單目、雙目和RGBD相機的接口。

ORB特徵實際上是將FAST特徵的檢測方法和BRIEF特徵描述子的結合起來的,並在他們原來的基礎上做了改進和優化,在效果和速度上都有很大的提升。上面的地址是我們的雙目產品接入了ORB_SLAM後的一個歷程,ORB_SLAM並沒有加入IMU的計算。

ORB的作者發了一篇基於慣導的單目vSLAM的文章,可以解決純旋轉的問題,國內的大神王京把它進行了簡單的實現,但是這個僅僅是驗證性質的,裡邊還存在一些Bug,下圖裡有代碼地址,大家可以去學習下。

-VINS

VINS-Mono和VINS-Mobile是香港科技大學的沈劭劼老師團隊開源的單目視覺慣導SLAM方案,也是非常經典而且我個人非常推薦的一個單目VIO的項目。對整體算力的要求不高,精度也不錯,尤其是VINS-Mobile可以在iOS系統運行。

VINS-Fusion是香港科技大學VINS-Mono的一個擴展,它支持多傳感器的整合,包括單目+IMU、雙目+IMU甚至純雙目,同時也提供了增加GPS的版本,也非常有幸我們和秦通大神一起探討傳感器在VINS上面的優化,在這方面提供了優化方案和支持,這個也幫助VINS在前期發布的時候有一個很好的傳感器。

-OKVIS

OKVIS是蘇黎世聯邦理工學院發布的一個雙目VIO項目,這也是一個非常經典的雙目VIO,但是它只輸出六自由度的位姿,並沒有迴環檢測和地圖,因此嚴格意義上說並不是一個完整的SLAM,雖然它精度不錯,但是如果長時間靜止會出現位姿飄走的情況,這也是該項目裡的一個問題。

OKVIS的代碼結構框架是非常清晰的,但只限於定位功能這一部分,當然它也包含了緊耦合和多傳感器融合,代碼也是非常推薦大家去學習。

-maplab

maplab是蘇黎世理工大學繼OKVIS之後推出的另一個vSLAM框架,它包含了兩部分,一部分是ROVIO,另一部分是SLAM離線處理的console.

-MSCKF

MSCKF是一個經典的基於濾波理論優化的vSLAM,它的優點是對算力要求不高,而且精度也不錯。

下面主要是針對幾種常見的VIO的性能做一些對比介紹,以及傳感器選型時的一些注意事項。

測試對比用到的機型分別是Intel NUC、Odroid XU4、Up Board。這裡NUC和UpBoard都是X86架構的,XU4使用的是一個ARM架構的主板。

在這幅圖裡橫坐標代表了位姿的誤差,這個誤差越小越好,縱坐標分別是CPU的佔用率、內存的佔用率和處理的時間。從這個結果來看VINS、OKVIS和ROVIO的表現效果還是不錯的,隨著一些新的算法推出,也會有一些新的評測,大家可以關注一下。

-圖像傳感器

對於vSLAM全局快門要比捲簾快門好,因為全局快門一次是曝光一整幅圖像,而捲簾快門是按行去做曝光。這裡可能有個誤區,有人會覺得全局快門不會模糊,其實並不是這樣的,是否模糊跟曝光時間的長短有關係,如果是在比較暗的環境,並且自動曝光時間拉長的情況下,即使移動也是會模糊的,這個和圖像傳感器的感光面積、鏡頭的光圈等因素有關,全局快門實際上主要解決的是果凍效應問題。

-鏡頭

對於鏡頭來講,視場角對於SLAM系統來說越大越好,因為視野裡信息越多,能抓的特徵點就越多,但是在選擇大廣角的鏡頭時,畫面的畸變不能太怪異,需要匹配標定和矯正的模型才可以使用。

-雙目傳感器

另外,雙目傳感器一定要注意雙目之間的同步,左目和右目必須在同一時間內曝光,曝光的同時也要有相同的AE(自動白平衡)和AWE(自動曝光)。

-圖像+IMU

圖像和IMU之間的同步也有嚴格要求,最好的情況是IMU和圖像能夠完全的對齊,就像第一種情況,這種實際上是很難的,但是我們的傳感器基本上已經可以做到了,這也是我們在市面上比一些競品做得好的一個非常重要的原因;

第二種情況是Sensor和IMU的時鐘同步,由於二者時鐘是同步的,所以它的offset相對來說是固定的,這種也是可以用的,因為在初始化的時候,我們能夠把offset估計出來然後固定化;但是第三種情況是不同步的,這對於vSLAM來說是致命問題,是不能使用的。

在產品化的過程中,實際上我們還要對算法進行加速,包括CPU指令集的加速、GPU裡CUDA或者Open CL的加速以及FPGA、DSP、ASIC等晶片的加速。這裡有一個誤區,很多公司希望通過開源項目稍加修改來實現產品化,但這是非常困難的。因為算法需要對場景進行優化,對不同傳感器進行融合,同時也要對於特定的平臺去做加速和優化,降低一些主機的配置降低成本,才有可能把產品做好。

我們在Jetson TX 2上面也跑過VINS相關的算法,而且值得一提的是,VINS有一個專門的項目是VINS-Fusion對於GPU的優化項目,大家可以看一下,這也使得其在英偉達的GPU產品上能有更好的表現。

vSLAM發展到現在,在很多領域都有了很成熟的應用。下邊我們看一下vSLAM在哪些產品中都得到了應用?

對於現在市面上不同的定位導航和避障方案來講,雙目+IMU的產品逐漸成為大家選型的主流方向,因為它的精度和布置成本相對來說都比較好,同時也能提供視覺傳感器裡的識別等部分。

像AR、VR之前基本上是使用外部設備進行定位的,或者在環境中部署一些二維碼,但是對於環境和部署的要求比較高。

現在一些新的VR、AR定位產品都在使用VIO技術,讓頭盔能夠實現自主定位,主要關注的是圖像的高幀率,定位的幀率要高,傳感器不能太重,而且功耗也不能太高。定位的高幀率,和頭盔的圖像刷新率有關,因為它要有很好的響應速度,才不會讓人感到眩暈。

 -無人機避障

針對於無人機的避障現在也越來越多的方案用到了雙目,因為雙目能夠很好的去用作室外的一些避障和導航,並且解析度越高,對於物體的檢測效果會越好。

-無人駕駛

在無人駕駛的應用裡大部分都是在藉助於多傳感器融合的方案,裡面包含了高精度的GPS、毫米波雷達、相機、雷射雷達、慣導等傳感器。對於裡面的視覺部分,我們比較關心圖像的動態範圍,可以讓相機在低光或者背光的環境下(比如隧道)能有很好的表現。同時也希望相機能夠用到這種車規級的傳感器,因為在夏天陽光直射的情況下,車內的溫度會非常高。

下圖是VINS融合GPS做的數據集的定位導航,可以看到雙目+GPS也可以達到很好的效果。

安防機器人我們用到了掃地機的一種底盤,然後使用我們的雙目相機做定位、導航和避障,最上面有一個2D的雷射雷達去做建圖,同時還有一個三攝像頭的全景相機做全景圖像的採集,下面我們說一下不同傳感器在這套系統裡邊起到的作用。

-超聲波傳感器

超聲波傳感器實際上是一個精度不高的傳感器,而且易受外界環境的幹擾,在這裡的主要是解決視覺和雷射以及一些傳感器對於玻璃等透明物體識別無效的問題,超聲波可以很好的探測到玻璃。

-雙目傳感器

雙目傳感器主要用來提供位姿信息,包括避障的點雲和深度,同時也可以做迴環檢測。主要起到定位、導航和避障的作用。

-IMU傳感器

IMU傳感器:我們是和視覺做了一些融合,也放到了vSLAM VIO的相關算法裡,我們用到的IMU實際上只是這種消費級的IMU,精度並不是很高,但是達到了非常好的效果。

-雷射雷達

現在的產品裡大多數用的都是單線雷射雷達,因為多線的雷射雷達價格太高,雷射雷達在這種建圖的精度上和一些特殊場景上有很好的表現。至於這套系統要做多少傳感器的冗餘和配合,需要結合應用場景和產品的定位來決定,在一些場景裡邊可以完全不用雷射雷達也能得到很好的效果。

-底盤裡程針

另外,要注意的是底盤裡程計,相對來說,底盤輪子的轉動是比較精確的,但是打滑或者地面有坑坑窪窪的情況除外,這種情況需要一個多傳感器融合的方案。

-主機

對於主機現在比較常見的是GPU或X86的主機,我們用到的基本是NVIDIA的嵌入式平臺,通過ARM+GPU的優化方式,把我們的算法放進去。同時對於低成本的要求,我們也會去別的平臺做一些移植和優化。

相關焦點

  • 谷歌開源了量子算法框架Cirq,「軟硬兼施」擁抱量子霸權時代
    谷歌的計劃是,5年實現量子技術的商業化。當然,這個計劃裡不能只有硬體,算法也要跟上。開源框架,為NISQ而生於是,谷歌開源了Cirq框架,這是專為NISQ算法打造的框架。還有應用示例與Cirq框架一同發布的,還有OpenFermion-Cirq,這是一個基於Cirq的應用示例。介紹一下,OpenFermion是一個量子算法開發平臺,專註解決化學問題。OpenFermion-Cirq則是一個開源庫,把量子模擬算法編譯成Cirq能用的樣子。
  • 輕量級部署,騰訊優圖開源深度學習推理框架TNN
    6 月 10 日,騰訊優圖實驗室宣布正式開源新一代移動端深度學習推理框架 TNN,通過底層技術優化實現在多個不同平臺的輕量級部署落地。該框架性能優異、簡單易用。基於 TNN,開發者能夠將深度學習算法輕鬆移植到手機端並高效執行,開發人工智慧 APP,真正將 AI 帶到指尖。
  • 重磅發布開源框架、生物計算平臺螺旋槳,百度飛槳交了年終成績單
    本屆峰會,百度飛槳帶來八大全新發布與升級,有支持前沿技術探索和應用的生物計算平臺 PaddleHelix 螺旋槳,開發更加便捷的飛槳開源框架 2.0 RC 版,端雲協同的 AI 集成開發環境 BML CodeLab,支持更強大分布式訓練的業界首個通用異構參數伺服器架構,開源算法庫增至 200+,飛槳企業版 EasyDL 智能數據服務升級,飛槳硬體生態路線圖以及攜手全球開發者開啟
  • React Native、開源:MDCC平臺與技術Android專場全揭秘!
    今年大會設置了以「萬物互聯,移動為先」為主題的主會,以及平臺與技術(iOS)、平臺與技術(Android)、平臺與技術(跨平臺)、產品與設計、硬體開發與技術、嵌入式開發、遊戲開發、虛擬實境、企業移動化9大技術專場。
  • 微軟開源用於 Azure 數據壓縮的算法、硬體和源碼
    微軟正在向 OCP(開源計算項目,Open Compute Project)發布 「Project Zipline」 數據壓縮算法
  • 前端框架選型指南
    最高票回答是你應該使用jQuery插件,jQuery插件可以做任何事情。 歷史總是在重演,以前是jQuery,現在可能是react或vue。不同的框架有不同的應用場景,殺雞不要用牛刀。框架決定了什麼時候調用庫,決定了什麼時候要求代碼去執行特定功能而實際上,一個庫有時也可以稱之為框架,而庫裡面集成的方法稱之為庫框架和庫的區別不由實際大小決定,而由思考角度來決定。
  • 好看書單·Arduino&Raspberry開源硬體技術|共18部
    本書內容由總到分、先思考後實踐,創新思維與實踐案例相結合,以供不同人員的需求。對於從事物聯網、創新開發和設計的專業技術人員,也可以作為主要的技術參考書。本書配套提供項目設計的硬體電路圖、程序代碼、實現過程中出現的問題及解決方法,可供讀者舉一反三,二次開發。
  • 華為開源自研AI框架MindSpore!一次訓練,可多場景部署
    乾明 發自 凹非寺量子位 報導 | 公眾號 QbitAI華為的開源AI框架,來了!剛剛,華為宣布正式開源自研深度學習框架MindSpore,代碼已經上線。而且,通過實現AI算法即代碼,MindSpore可以顯著減少模型開發時間。MindSpore為什麼能夠實現這些能力?伴隨著開源,它更多的特性,正在顯露出來。
  • 員工竊取前東家算法,還拿到 PyTorch 開源?Facebook 被 MIT 教授...
    GitHub 開源了,而開源的恰恰是深度學習框架 PyTorch 的一個關鍵庫。 他們的核心技術之一,是包含在編譯器中的一套算法,這些算法具有很大潛力,它允許複雜的數學函數在 CPU 上就能高效運行,不需要使用 GPU 這樣的專門硬體;還允許研究科學家使用比通常大得多的數據集,可以用在醫療保健、癌症篩查、電子商務等方面,讓人工智慧應用降低花費和硬體成本,更加普及。亞歷山大·茲拉特斯基早先是 MIT 的博士後,作為第一個正式員工加入了神經魔法。
  • 35 萬行代碼,曠視重磅開源天元深度學習框架 ,四大特性實現簡單開發
    全球AI開發框架又添一員,曠視開源「天元」  曠視天元開源之時,正值深度學習框架百花齊放的時代。  自2007年Theano誕生以來,經過十餘年發展,深度學習技術與應用突飛猛進,深度學習框架也處在不斷迭代與進化的過程;另一方面,開源的概念在全球範圍內越來越深入人心,這使得人工智慧開發依賴的環境安裝、部署、測試,以及不斷迭代改進準確性和性能調優的工作變得更加簡單,在人工智慧領域,開源深度學習框架已經成為開發者離不開的平臺和工具。
  • 2020,國產AI開源框架「亮劍」TensorFlow、PyTorch
    深度學習開源框架領域的一個既定事實是,TensorFlow、PyTorch基本兩分天下,從技術能力到生態建設,它們能給AI落地提供有力支撐,可以滿足大部分企業在其中構建自己的AI應用。隨著深度學習新技術的出現,任務複雜度不斷提高,由於架構設計和不斷擴充等原因,導致這些主流框架系統變得複雜,架構優化和移植愈加困難,新模型的實際性能還有待提升。發現這一優化空間後,清華大學計算機系圖形實驗室的博士生團隊希望能有一個在保持高效的同時能適應各種智能硬體,有較強通用性和可擴展性的深度學習平臺。
  • 開源大咖齊聚2020啟智開發者大會 共探深度學習技術未來趨勢
    主論壇上,百度飛槳總架構師於佃海發表《飛槳:以技術創新和開源開放夯實產業智能化基座》主題演講,從技術創新與開源開放兩方面分享了飛槳在功能研發與生態建設領域的進展。當前,開源開放的深度學習技術引領了人工智慧熱潮,而深度學習開源框架正在成為AI技術研發和應用的核心基礎設施。
  • 解密華為最新AI生態布局,開源AI計算框架,三大頂會密集發論文81篇
    華為處理器不直接對外銷售,而是以雲服務和模塊、板卡、小站、伺服器、集群等形式面向客戶,協同硬體框架、資料庫、AI計算框架,加速合作夥伴的AI開發及應用。華為計算產業發展的策略是「硬體開放,軟體開源,使能合作夥伴」。而在剛落幕的華為開發者大會2020中,這一策略的存在感相當爆棚。
  • 深度學習——你需要了解的八大開源框架
    作為當下最熱門的話題,Google、Facebook、Microsoft等巨頭都圍繞深度學習重點投資了一系列新興項目,他們也一直在支持一些開源深度學習框架。(SWIG—Simplified Wrapper and Interface Generator, 是一個非常優秀的開源工具,支持將 C/C++ 代碼與任何主流腳本語言相集成。)最優化表現:  充分利用硬體資源,TensorFlow可以將graph的不同計算單元分配到不同設備執行,使用TensorFlow處理副本。
  • Facebook 開源 Glow 支持一系列硬體加速器
    近日,Facebook宣布將Glow編譯器開源,並且希望通過合作夥伴支持,打造面向機器學習的硬體生態系統。本次推出的Glow目的在於為機器學習實現硬體加速。我們希望PyTorch之類的深度學習框架迅速普及開來,因此需要提供種種優化的編譯器,加速各種硬體平臺上的推理性能,從而支持行業對於AI和機器學習越來越多的需求。」
  • java快速開發框架工作流程引擎比較
    隨著信息化的深入發展,越來越多的企業和政府部門將業務延伸到網際網路,或基於網際網路,使得如今WEB應用不斷豐富和發展。為了快速高效地開發出WEB應用系統,我們一般都會選擇某些合適的快速開發框架,將對項目的效率至關重要。而java多用於企業應用。
  • Firefly人工智慧開源硬體系列:融合軟硬體與AI技術的開放平臺
    隨著人工智慧的迅速發展,AI產品層出不窮,推動著行業的發展,Firefly開源團隊推出的人工智慧硬體系列,融合了軟硬體與AI技術,提供了專業的開放平臺,以及一站式解決方案,加速AI產品落地。Firefly推出基於RK3399Pro的人工智慧開源主板瑞芯微發布了性能超強的AI處理器RK3399Pro,內置NPU(神經網絡處理器),運算性能高達2.4TOPs,支持8Bit/16Bit運算,具有高性能、低功耗、開發容易等優勢。
  • 微軟開源ONNX Runtime,想用什麼深度學習框架任你選!
    此前,為了推進AI框架標準化,更好地支持PyTorch和TensorFlow等框架,微軟甚至降低了對自家CNTK框架的宣傳調門,可謂「用心良苦」。當地時間12月4日,微軟在GitHub上宣布ONNX Runtime開源 。
  • GOTC 「AI、大數據與數字經濟開源技術論壇」精彩回顧
    演講的開始,Ibrahim Haddad 就表示,現在進入 AI 領域的阻礙已經以之前小了許多,這要歸功於開源軟體。開源知識庫、框架、平臺、工具可以帶來雙向的饋贈:一方面,開源使得每個人都可以更輕鬆地了解和走進 AI;另一方面,公司可以從社區獲得好處,藉助個人貢獻者的力量更好地進行 open AI 應用探索。
  • 開發者必備:基於Linux生態的十大AI開源框架盤點
    H2O(即水的化學式)是一個開源、快速、可擴展的分布式機器學習框架,同時提供了大量的算法實現。Apache Mahout:Hadoop廣泛採用的機器學習開源框架Oryx 2.0關注於大規模機器學習/預測分析基礎框架的實時表現,它基於Apache Spark和Apache Kafka框架開發,並重新設計了Lambda架構,使得層次之間的復用性更強。2.0版相比之前實現了更多算法,包括ALS協同過濾、隨機森林、以及K-means++等。官網:http://oryx.io/8.