不只國外有棋藝高超的AlphaGo,打遍天下無敵手,臺灣近來也出現一臺很會下西洋棋的機器人,至今除了已經連戰連勝超過200場,這臺機器人還有著不少AlphaGo所沒有的下棋功能,而且全程不用幫手,自己就能親自下場下棋,對奕過程也能隨時為對手遞上咖啡,甚至結束後還會幫忙收拾棋子。這臺機器人其實是由工研院耗時1年所打造的最新一臺智慧視覺機器人,最近也首度在Computex活動公開展示應用成果。

工研院表示,這次打造的這臺智慧視覺機器人,不只是會下棋,還知道怎麼擺棋、收棋,甚至還能知道對手走錯棋,靠的是利用他們開發一套智慧視覺系統(Intelligent Vision System),透過機器學習,甚至是深度學習,來持續進行棋子辨識的訓練,讓機器人可以快速辨識每個西洋棋子及其位置,並控制機器手臂精準將棋子移動到棋盤上的指定位置。

這個智慧視覺機器人的頭部總共配置3個相機鏡頭,做為物體偵測及辨識之用,先透過左右兩邊鏡頭,來辨識棋盤上所有的棋子及擺放位置,以建立整個棋盤和棋子的3D外觀,再利用中間的相機鏡頭抓取棋子的結構線,以增加深度空間辨識的能力,讓機器人更容易依據已知的擺棋位置,來判斷下步棋該怎麼走。

機器人進行物件辨識時也結合了深度學習演算法,幫助機器人下棋時更容易清楚判斷棋盤上的是什麼棋子,再依據判斷的結果,來決定下步棋該怎麼走。對手一移動棋子也能馬上知道,也會判斷對方有沒有偷吃步或下錯棋,一旦下錯棋,機器人也會提示對手,直到下對正確位置以後,再繼續對奕。因為結合深度學習,所以可以依據對手之前下完的棋,來判斷和之前的棋盤棋子擺放的差異,針對差異做局部調整就好,不需要每下一次棋就重新辨識一次,所以機器人在下每一步棋之間辨識的部分就變得很快。

為幫助機器人很快學習認得棋子,工研院研發團隊也蒐集網路上西洋棋子的3D組件資料,來做為深度學習訓練,甚至在棋盤回收也同樣使用了深度學習模型,對奕結束後,機器人自動能將比賽中吃掉的對手棋子準確歸位。

工研院也表示,他們一共建構了深度多達6層的DNN深度神經網路架構,來打造出可用於棋盤回收訓練的深度學習預測模型。當對奕結束,要將比賽中吃掉的對手棋子歸位前,會把這些要回收棋子的3D影像畫面,即時回傳到到機器人內部系統上的深度學習模型來判斷分析,再依據棋子的種類擺放到棋盤上正確的位置。

工研院也指出,在進行物件辨識時,目前這臺機器人已經可以做到遠距且精準的棋子辨識,即使是在距離棋盤120公分的高度來進行辨識時,棋子辨識的準確度已能達8~9成。

這臺機器人不只能下一手好棋,甚至也能在比賽對奕期間自動為對手添加咖啡。現場解說人員也示範,機器人如何在對奕期間幫對手來倒咖啡。在作法上,主要會是先利用一臺擺在棋盤旁邊用來計時的平板電腦,來進行人臉和行為辨識,等到確定有人在,接著再從他的行為,來判斷是否需要幫忙倒咖啡。連倒咖啡也結合了機器學習,讓機器人在將咖啡倒進杯子前,能先判斷咖啡杯口裡面的水位剩有多少,再決定要倒多少的量,才不會倒太滿灑出來。

機器人在下棋的AI判斷機制上,也限制在0.5秒內就要決定下步棋要怎麼下。從決定怎麼下到機器手臂完成下棋的動作,這段花費時間則會取決於手臂移動到棋子的距離,如果是手臂距離棋子太遠就會多花一些時間才下完。機器人也會依照棋盤上尋找最適合的最佳路徑方式,來決定要用左手或右手來拿棋。

機器人不只是要知道這是什麼棋,手眼協調也很重要,當使用機器手臂移動棋子時,還得要將機器手臂夾爪轉到適合夾棋的位置再將棋拿起,特別是西洋棋裡的騎士,因為是馬頭造型,原本就不易夾起,一旦機器手臂判斷錯誤馬頭朝的方向,夾爪就不能剛好是沿著馬頭抓取,可能就會抓錯邊而夾不起來或夾歪,現場解說人員也表示,目前這個機器手臂在抓取棋子的動作誤差可以做到0.1公分。

機器人在拿棋放到想要下的位置時,也會依據要擺放棋的空間位置,來決定他要怎麼擺棋。例如只是要將棋子往前移兩步時,就可沿著棋盤將棋子前後左右移動,而不須拿起棋子,若是距離太遠或是中間有其他棋子擋住時,才會將棋拿起後,再放到想要下的位置上,就好像是跟真的人下棋。

不過工研院也表示,機器手臂目前能抓取的棋子,只能是這些站立擺放的棋子,一旦棋子倒下來時,便無法拿起,因為夾爪的設計上,並沒有辦法直接將橫倒的物件立起來,而是必需經過二次定位,先將棋子夾起來定位,再重新調整夾爪位置,才能再將棋子拿起。所以他們的下一步就是要做到讓機器手臂可以抓取倒下來的棋子。

工研院表示,這次展示的智慧視覺機器人應用成果,未來也將透過技轉,來提供給有興趣業者來應用,包括機器手臂廠商、或是其他製造業等行業。


Advertisement

更多 iThome相關內容