為了分揀2噸樂高積木,這位大牛搭建了一個GPU神經網路
面對分揀2噸樂高積木的挑戰,這位大牛搭建了一個基於GPU的神經網路,實現了「全自動化樂高分揀」。
對於許多人,尤其是理工生來說,樂高積木可以算是童年最美好的記憶之一了。那五顏六色的基礎版塊,層出不窮的創意,對於一個孩子來說,可謂極限是由想像力決定的!
其實,還有很多人已經把玩樂高的習慣帶進了成年生活,尤其是在國外。
我們今天要說的主人公,科技諮詢大牛Jacques Mattheij正是一位這樣的「大玩家」。在剛入坑後不久,由於在Ebay上盲目的參與了數個散裝樂高積木的競拍,他有一天早上醒來突然發現,竟然一夜間購買了總共2噸的散裝樂高。
圖丨2噸樂高是什麼概念呢?DT君沒有稱過,大約就是這樣堆積成山吧
面臨著2 噸未分類、混裝的積木,Mattheij肯定不能把它們就那樣放那兒。但是人工分類卻是完全不可能的(一個樂高積木平均重量是5克,2噸就是40萬個積木)。所以,作為技術大牛的Mattheij選擇使用科技的力量。
首先,他需要搭建一個分揀裝置。這部分雖然有些難度,但其實技術含量不高:一個皮帶會把積木從盒子裡帶到傳送帶上;傳送帶上一個個的將積木帶到一台與電腦連接的顯微鏡前進行識別;被識別後,一個氣槍將會把積木吹到對應的箱子里。
圖丨樂高積木傳送裝置
圖丨樂高積木的吹氣分類裝置
在Mattheij的系統中,最難的步驟當然要屬「識別」。他首先需要攻克的甚至都不是演算法,而是如何準確的把積木給拍下來。比如有些積木會因為過長過大而不能被一次性拍下來;有些積木的顏色與背景太相似等等。他在花費了好幾周時間調試圖像的自動縫合剪裁程序後,終於可以把所有種類的積木完整拍攝出來。
圖丨這張積木的圖片是由兩張照片縫合而成
至於最難的識別演算法,Mattheij進行了多種嘗試。他首先採取了OpenCV的機器視覺庫。通過輪廓匹配以及檢測,他的識別系統可以分辨基礎積木之間的區別,但是卻達不到更加細緻的識別了。
所以,他下一步嘗試的是貝葉斯分類(Bayesian classification):他選擇了一些可以區分積木的特徵,並把它們編寫成了檢測軟體。他所列出的18個特徵包括了高度,是否有洞,以及有幾個可見的柱子等。不過,雖然這個識別軟體有著極高的精準度,它卻有個致命的缺陷:速度。這款識別系統跟不上傳送裝置的速度!
在努力了6個月,進行了多次失敗的嘗試之後,Mattheij終於祭出了大殺器:神經網路。他使用了TensorFlow作為演算法庫,並且為了提高性能,選擇使用他的Nvidia GTX 1080 TI 顯卡(GPU)作為計算資源。
對TensorFlow稍微有些了解的讀者應該知道,它學起來簡直反人類。但是,它強大的功能使它極其受歡迎,因此,網上有不少幫助初學者使用TensorFlow的資源。Mattheij正是使用了其中之一的Keras:一個Python的語言庫,來作為TensorFlow的Wrapper,降低其使用難度。(對這個有興趣的讀者可以和Mattheij一樣,觀看Jeremy Howard 和Rachel Thomas的機器學習入門網課。)
在創建完神經網路之後,Mattheij所面臨的新問題就是如何找到一個足夠大的數據集來訓練它分辨超過1000種樂高積木。據他計算,自己手動對積木一一進行拍照標籤,慢慢的建成自己的數據集將會耗費超過6個月的時間,而這還是最樂觀的計算。
但是他為什麼要自己手動搭建訓練數據集呢?他的神經網路可以自己對積木圖片打上標籤。而他只需要把錯誤的標籤改正,讓機器學會就好。
隨著神經網路的學習,它出錯的次數也越來越少。Mattheij的原始訓練集是500張人工標籤的積木照片。在使用這些照片訓練神經網路後,它在首日分辨了2000個積木,其中大約一半是錯誤的,被手動糾正。而這2500個積木又成為了新的訓練集。在第二天,其分辨了4000個積木,準確率高達90%,所以Mattheij只需要手動再改正400個積木的標籤。就這樣,在2周之後,他的數據集已漲到2萬張標記的圖像。
圖丨神經網路分辨器
由於有些類型的積木比較罕見,所以它們在數據集中只佔極小的比例。對此,Mattheij需要手動增加這類積木的數量,比如把所有這類積木找出來,進行分類。他表示,一旦這個系統可以可靠的分辨所有類型的樂高,他將開始挖掘他那重達2噸的「樂高礦」。
為什麼這麼說呢?因為他最終的目的並不是玩,而是把積木賣給喜歡玩的人賺錢!
※孫正義投資的OneWeb「星座互聯網」計劃,獲美官方批准
※SpaceX周末「二連發」,成熟技術保障擴大太空競賽領先優勢
※谷歌聯手MIT,要將人類的多重感官賦予AI系統
※DeepMind的AI已經可以根據句子「作畫」了
※撥打9600多萬次詐騙電話的大騙子被罰了1.2億美元!
TAG:DeepTech深科技 |
※剪枝後這個深度神經網路速度提高了 3 倍,體積縮小了 4 倍
※谷歌自動重建了完整果蠅大腦神經圖:40萬億像素,可在線交互,用了數千塊TPU
※製造一個大腦神經網路需要分幾步?
※DNF:韓服轉甲要逆天,50萬加1個狗眼一件,神經病套天下第一
※驍龍8150安兔跑分超36萬 整合NPU神經網路運算單元
※我的第一個神經網路
※MIT開發了一種神經網路 可以在一秒內完成MRI掃描
※死一個少一個,成年以後,大腦或不再製造新的神經元
※6中0,NBA第一神經刀隊夢遊,湖人6大奇兵,合砍30分逆襲
※驍龍660AIE國產新機上手:搭載多核神經網路加速晶元
※NBA:聯盟出名的幾個神經刀,JR得了12057分,而他確只有8185分
※史無前例的高通AI芯驍龍720?或加入NPU神經網路計算單元
※JR生涯3大經典事件?神經刀這3個字,前2個字基本是對的!
※重大突破!MIT宣布新型神經網路晶元功耗降低95%
※重大突破:MIT宣布新型神經網路晶元功耗降低95%
※硬核NeruIPS 2018最佳論文,一個神經了的常微分方程
※性能提升19倍,DGL重大更新支持億級規模圖神經網路訓練
※最不愛哭的四大星座,金牛天秤上榜,第一名神經大條!
※深度學習不是萬靈藥!神經網路3D重建只是圖像分類
※DLL:一個炙手可熱的快速深度神經網路庫