摘要:但令 West 感到沮喪的是, 他的 AI 樂高分揀機用假圖像進行訓練後,卻無法識別出真正的部件。收集訓練數據集不易,West 還特地撰寫了文章 (原文鏈接:http://985.so/f5G8) ,詳細介紹了他如何製作 10 萬張的帶標籤樂高積木訓練圖片。

樂高現在幾乎已經是優質玩具的代名詞,該品牌旗下最爲知名的,莫過於樂高積木。其豐富的形狀與多樣的玩法,無論大人小孩都喜歡。但是,這些繁雜多樣的零件,分類收納起來卻也是個大難題。一位軟件工程師藉助 AI 技術,建造了一臺樂高分揀機,爲廣大樂高愛好者帶來了福音。

如果你沒有玩過樂高,也可能聽過樂高。樂高集團於 1932 年誕生於丹麥,此後很快, 「LEGO」 這個商標就成爲了優質玩具的代名詞。

1934 年,創始人 Ole Kirk Christiansen 用「LEGO」命名他的公司,圖爲 LEGO 的 logo 變化

LEGO 旗下最爲知名的樂高積木,於 1949 年問世,距今已有  70 年曆史

論樂高分類有多難

樂高積木因複雜多樣、想象空間大等特點,對兒童充滿吸引力,令很多玩家癡迷,甚至成爲很多教育機構的教具。但是,部件種類的豐富,也讓熱愛樂高的朋友常常陷入分類歸納的困擾中。就目前而言,樂高積木共有 119 個系列,111 種顏色 ,而每個系列就包含 幾百個甚至幾千個部件

曾有一位樂高愛好者,在 eBay 上的一次拍賣活動中,收穫了 2 噸的樂高積木。剁手一時爽,但面對如此大規模的樂高,他傻眼了,「要把這些都整理好,得花上幾輩子的時間。」他在博客中寫道。

這款霍格沃茲城堡包含 6020 塊積木磚塊

很多玩家對樂高的歸類整理問題也做了一番研究。有位對計算機視覺感興趣的澳大利亞軟件工程師 Daniel West,把這個令人「頭禿」的問題交給了 AI。

一位知乎答主對 lego 分類整理頗有研究

世界上第一臺通用 AI 樂高分揀機

對於人類來說,只要看一眼積木塊,就能輕鬆識別它的形狀顏色等特徵,甚至即使一兩歲的小孩子,在幾次嘗試後都可以區分例如 2×1 紅色積木塊、4×1 綠色積木塊和那些小鏈子積木之間的差異。

但是如果把分類歸納的任務交給機器去做呢?似乎就並沒那麼簡單了。

早在 2011 年 ,日本的一位樂高愛好者  akiyuky ,就爲解決這個問題發明了樂高分揀機。不過他的數據庫圖像較少,分揀速度也較慢。

akiyuky 2011 年設計的樂高分揀機

受到 akiyuky 的啓發,同樣熱愛樂高與機器的 澳大利亞軟件工程師 Daniel West  想設計一個更智能、分揀更迅速的樂高分揀機。

於是,他便花費了兩年時間,用 超過 10000 塊樂高積木 ,建成了一個通用的樂高積木分揀機,這臺分揀機 藉助計算機視覺算法,可以分揀出任何樂高零件 。設備還帶有 6 個樂高電機和 9 個伺服電機,爲傳送樂高零件的傳送帶和攪拌器提供動力。

West 稱,這臺機器能夠 將 2927 種樂高積木分類到 18 個不同的歸納箱 ,而且 每 2 秒 就可以分一塊積木。這效率,很可以了吧?

雖然這不是世界上第一個樂高分類機,但 West 稱它爲 世界上第一臺通用樂高分類機 ,「因爲它使用了最先進的人工智能技術,能夠識別和分類任何已經生產出來的樂高部件。」West 也計劃在將來發布該代碼。

分類工作,流程總共分三步

這臺能幹的設備具體怎麼工作呢?總體來說,似乎並不複雜,總共分三步。

第一步:放入積木。

將一大堆樂高積木倒進機器頂部的滑槽中,然後將積木置於振動帶,經過晃動,積木被分散成單獨的積木塊。

第二步:拍照分類。

積木塊由 Raspberry Pi(樹莓派)計算機傳送。Raspberry Pi 計算機包含一個照相機,當積木經過時,它會拍下一系列照片,然後把這些照片傳送到 CNN 模型 ResNet-50  上進行分類。

第三步:歸類入箱

分類結果反饋到該設備後,輸送帶上的不同小閘門會把積木引導到所屬的箱子中。

技術實現「一波三折」

由於樂高的零部件有成千上百種類型,顏色多樣,並且從不同角度看形狀也不一樣。因此, 收集正確的訓練數據集是整個工作中最難的一部分

Daniel West 最初讓設備運行了幾天收集到了約 30 萬張未標記的 LEGO 圖像

West 說,他起初試圖對樂高積木進行模擬。他從  LDraw Part Library (一個讓發燒友可以虛擬構建樂高的開源程序)中獲取了樂高零件的  3D 模型 ,並將其用免費的動畫軟件 Blender 渲染。

小哥哥 Twitter 上還展示了他用於訓練 AI 模型的 3D 渲染圖像示例

然後他可以在不同的旋轉角度和顏色下模擬 3D 模型積木。這些單獨的圖像被收集到一個包含了 超過 2500 萬張圖片 的合成數據集中。

但令 West 感到沮喪的是, 他的 AI 樂高分揀機用假圖像進行訓練後,卻無法識別出真正的部件 。他說:「我當時幾乎完全放棄了這個項目。我花了幾個月的時間來實現一種,將合成圖像轉換成真實圖像的複雜方法,但收效甚微。」

之後,他轉向了另一種常用的技術,以幫助減少仿真與現實之間的差距: 域隨機化

域隨機化能夠訓練模型識別更多的數據變化。 該系統不僅學習了樂高積木的不同旋轉角度和顏色,還學會了考慮各種燈光效果,紋理和噪音

爲了進一步提高樂高分類器的性能,West 還整合了一個更小的數據集,其中包含真實樂高部件的快照。他說:「真實的數據集只包含我個人收藏中的零件,最終只有 544 種不同類型的零件。」這些零件是在樂高系列中更常見的類型,而合成數據集則是一些較少見的類型。

Daniel West 的樂高分揀機高約 80 釐米,有 18 個分類箱

通過對這兩個數據集進行訓練,從理論上講,West 的樂高分揀機上的攝像機應該能夠識別出它實際上從未見過的零件。不過,模型在不同數據集上的實際表現還是有差別的:在識別 真實數據集 中的零件時,準確度爲  93% ,而識別 合成數據集 中的零件,準確率則爲  74%

收集訓練數據集不易,West 還特地撰寫了文章 (原文鏈接:http://985.so/f5G8) ,詳細介紹了他如何製作 10 萬張的帶標籤樂高積木訓練圖片。文中提到,他主要利用樣本生成法、簡化流程以及使用 AI 輔助註釋來完成海量圖片標記的任務。

夢想借力 AI 走進現實

West 熱愛樂高,他的夢想也與樂高有關,他說, 他將最終實現畢生的夢想:建造一個真正能工作的樂高分揀機 ,同時獲得設計和部署人工智能系統的現實經驗。

Daniel West 在 YouTube 上發佈的內容都是樂高積木相關

興趣是最好的老師,也是最大的驅動力。同時,技術的發展,也成爲興趣、夢想的助推器,讓大大小小的夢想都能夠更加快速、完美地實現。如今,AI 都會幫你分揀樂高了,還有什麼不能做的呢?

—— 完 ——

相關文章