神經網路與樂高積木——人工智慧是處理2噸未分類塑料積木的唯一方式
小時候,我常常除了玩樂高什麼都不做。後來我有了孩子,他們有一套漂亮的樂高系列,但積木都不需要用器械來分類。到丹麥樂高樂園一游之後,情況發生了變化。
我看到成年人在樂園裡購買了大量價格不菲的樂高玩具。即使是專門網站上按零件出售或是eBay上按盒裝和散裝出售的二手樂高也不便宜。我注意到,散裝未分類樂高的售價約為每公斤10歐元,盒裝的售價為每公斤40歐元,珍稀收藏和樂高機械組(用於搭建複雜的機械作品)的售價為每公斤幾百歐元。因此,有一類家庭手工業人群,他們購買新產品套系和散裝樂高,然後將所有的積木手工分類為更有價值的組合。
我覺得參與一下將十分有趣。我在睡前參與了eBay上大量本地樂高現貨的競拍。第二天一早醒來後,我收到了好多封eBay賣家發來的競拍成功的祝賀郵件(eBay第一課:如果你贏得了許多拍賣,就表示你的報價太高了)。
於是,我收到了拍賣得來的許多樂高,車庫上上下下都堆滿了箱子和盒子,總共約有2噸重。手工分類是不可能的。我決定做一個裝置來對每個積木進行掃描和分類。
我遇到的第一個難題是,將樂高送入安裝在傳送帶上方的料斗意外艱難。我在尋找一種很寬又很深的裝置,讓隨機落下的樂高混合積木不會在入口處堆成一座橋。因此,我先用一個慢速傳送帶將積木從料斗中拉出來,然後投放到更快的傳送帶上。高速傳送帶將積木送到一個放大照相機(30美元)下進行識別,照相機通過USB與電腦相連。
識別後,還必須將積木從傳送帶上送到正確的箱子里。在進行了一些實驗之後,我決定將空氣噴嘴放在傳送帶旁邊。噴嘴定時噴氣,將積木噴入所期望的箱子里。
最大的挑戰當然是識別。首先,我必須拍攝每一塊積木的高清圖像。這方面有各種各樣的問題。例如,積木可能比圖像框長、可能非常接近背景色等。我花了幾個星期的時間才能可靠地自動拼接和裁剪掃描圖像,以便生成包含完整樂高積木的圖像。
然後是真正艱難的工作:識別每一塊積木。樂高積木有著成千上萬種不同的形狀和100多種顏色(你只需問某人小時候的樂高有多少種顏色,就可以大概說出此人的年齡)。最初,我試圖用OpenCV計算機視覺庫進行分類。系統的輪廓匹配和圓形檢測等工具可以識別基本樂高積木之間的差異,但作用也僅限於此。
接下來,我嘗試了貝葉斯分類:我選擇了一些區分特徵,並為各種特徵構建了軟體探測器。我想出了大約18種特徵,包括積木的高度、是否有洞、有多少可見螺柱等。
構建和測試探測器花了很長時間,但最終我能夠以很高的精確度識別積木。但系統太慢,難以跟上機械傳送帶的速度。我又花了6個月的時間嘗試其他方法,但全都失敗了,然後我決定嘗試神經網路。我選擇了TensorFlow,這是由谷歌大腦團隊開發的大型開源軟體庫。TensorFlow可以在CPU上運行,但是為了大幅提高速度,我用700美元的英偉達GTX1080 Ti顯卡提升了圖形處理單元的並行計算能力。
TensorFlow有一個陡峭的學習曲線,但最終我採用了弗朗索瓦?喬萊(Fran?ois Chollet)的Python語言庫——Keras。Keras就相當於TensorFlow的封裝器,能讓其更易於使用,特別是在觀看了傑里米?霍華德(Jeremy Howard)和雷切爾?托馬斯(Rachel Thomas)有關機器學習的優秀入門課程之後。
我開始認真建立我的神經網路系統。幾天之後,分揀機可以工作了,並且第一次能處理好幾類積木。
樂高機械姬:慢速傳送帶從料斗(頂圖)輸送積木。相機拍攝單個積木的圖像(圖二),然後交由神經網路進行識別(圖三)。閥門(底圖)通過噴氣使分類好的積木進入料倉。
下一步是給我的神經網路配備一個大型訓練集,來處理1000多種樂高積木。起初有一個問題似乎無法解決:我不知道怎樣才能手動拍攝並標註足夠多的樣本積木。即便最樂觀地計算,完成這項工作也需要6個月或更長時間。
然後我意識到,訓練集不需要全靠我自己完成。「機器」可以拍照並標註圖像。我要做的只是揀出機器標錯的圖像,然後修正標註。隨著神經網路不斷學習,錯誤越來越少,標註圖像的工作量也越來越少。
第一天我標註了大約500個混合掃描件作為起始訓練集。用這些起始訓練集去訓練網路,第二天機器分類了2000多個積木,其中大約有一半標註錯誤,我進行了修改;然後以這2500塊積木為基礎進行下一輪訓練。機器又分揀出了4000塊積木,這次機器標註的正確率達到了90%!也就是說,我只要修改400塊積木的標註即可。兩周後,我得到了一個包含2萬個正確標註圖像的訓練數據集。
訓練集中的某些類別數量依然不多,所以我需要增加這些類別的積木數量。我可能會利用一個只包含那些類別積木的樣本繼續進行訓練。一旦該軟體能夠對我車庫中的全部積木類型進行可靠分類,2噸積木中剩下的部分就可以全部實現歸類。到時候,我就可以開始出售我的產品了!
作者:Jacques Mattheij
————
※新型探測器將去搜尋來自時間起點的引力波-螺旋天線探索古老宇宙
TAG:科技縱覽 |