碩一林奕安、碩一莊易璇
簡介
我們是台大機械所碩一,研究領域為利用影像辨識技術搭配機械手臂(Robotic Arm)進行隨機堆疊物件夾取(Robot Bin Picking, RBP)及分類(Classification),其中,影像辨識技術主要以深度學習(Deep Learning)為主。由於我們本身都是機械背景出身,對於深度學習及影像相關演算法較為陌生,所以在碩一期間修習一些影像處理及影像辨識等相關的電資課程,以加強相關知識及能力。同時,也閱讀大量文獻以了解目前影像辨識以及堆疊物件夾取相關的趨勢及新穎的技術 , 並利用每週與指導教授討論的過程更加了解這個領域。目前應用在物件夾取的趨勢逐漸以3D點雲(Point Cloud)作為訓練深度模型的輸入資料,取代傳統影像。3D點雲相較以往的RGB或RGB-D影像,讓模型能得到更好的三維資訊並降低環境光對影像的影響。以下為修課期間讓我們印象深刻的課程以及目前研究的相關經驗分享。
深度學習於電腦視覺
電腦視覺已經成為科技發展中密不可分的一部分,廣泛應用於圖像及影片搜索與理解、醫學、無人機和自駕車等領域,在這些應用中,視覺識別任務如圖像分類、分割、定位和檢測等是核心。近年來,深度學習方法的最新發展極大地提升了這些最先進視覺識別系統的性能。深度學習於電腦視覺這門課程將深入探討深度學習架構的細節,包含深度神經網路的基本概念、結構和優化方法,同時透過介紹及實作端到端模型以更深入了解深度學習在電腦視覺中的應用。
實作內容包含使用監督式學習及自監督式卷積神經網路(Convolutional Neural Network, CNN)模型進行物件分類和語意分割、生成式對抗網路(Generative Adversarial Network, GAN)模型進行臉部影像重建、領域對抗遷移網路(Domain-Adversarial Training of Neural Networks, DANN)模型進行類別和領域的預測等,以及最後的期末專題是將3D室內點雲影像進行語意切割,我們使用3D U-Net模型提取3D點雲特徵,並使用CLIP產生的文本特徵來作預訓練的編碼器,下圖為當時期末報告時所製作的海報,右下角Ground Truth以及Predicted欄位分別為標準答案以及最後預測結果的視覺化呈現。
█ 深度學習於電腦視覺期末專題海報
█ 深度學習於電腦視覺期末專題展合照 (右一及二為作者)
這門課帶給我們的不僅僅是對於深度學習知識上的認識,課堂中常常會介紹很多近幾年發表的模型架構及優缺點分析,在實務應用方面也非常與時俱進,更透過每一次課程作業以及最後期末專題的實做中,在撰寫程式碼、偵錯和模型訓練上都花費相當多的時間。整體來說,雖然修課的過程非常痛苦,但當下實做出成果的成就感與深度學習程式撰寫能力的提升都相當顯著。
數位視覺效果
課程內容以傳統影像技術為主,課程作業實做內容主要是在做影像處理,包含將數張低動態範圍(Low Dynamic Range, LDR)影像做成一張高動態範圍(High Dynamic Range, HDR)影像,或是影像特徵提取用來做後續拼接環景影像及影像內的動作預測,以及利用Blender製作特效短片。我們將自己拍的影片利用Blender產生寶可夢及特效以還原寶可夢-旅途的終局之戰。課程內容可以學習到很多影像特效的技術及相機內部功能的實作,老師會擷取許多電影的片段作為該技術的範例,課程內容充實也蠻有趣的,但有些數學推導比較繁瑣。
█ 環景拼接
█ LDR轉HDR(左:LDR,右:HDR)
電腦視覺
課程內容在影像處理方面結合傳統技術與深度學習的方法,以及相機視角之間的轉換關係。實作內容包括傳統影像處理的特徵點選取、描述和配對,例如SIFT演算法、Difference of Gaussian(DoG)演算法。深度學習方法則是使用CNN模型進行物件分類,還有同一場景在不同視角的拍攝下產生之影像的投影與映射。期末專題實作題目是輸出瞳孔位置的遮罩以及對於睜眼及閉眼與否的判斷。由於沒有限定實作方法,因此我們結合傳統與深度學習。首先利用U-Net模型來做影像的初步分割,再利用傳統特徵匹配方法選出形狀特徵匹配的遮罩當作輸出。從中學習到傳統方法與深度學習方法在影像處理問題上並無絕對的優劣之分,適時地結合也可以相輔相成得到更好的結果。
研究內容與發展
碩一入學時,理解實驗室的研究內容及機械手臂的操作後,開始研究如何更精進機械手臂校正的準確度。研究過程中也重新複習了C++程式語言。在設計機械手臂校正的方法時,發現了很多問題也嘗試做了很多改善。雖然最終結果並不如預期,但卻讓我們更加了解機械手臂的內部相關運作及程式設計。
我們實驗室研究目前是利用AutoEncoder搭配Blender製作的虛擬物件影像取得每個code vector所對應的姿態,並製作成codebook。在實際操作時,利用Mask-RCNN將影像做物件切割及分類,並將影像輸入AutoEncoder取得潛在向量(Latent Vector),再拿到codebook對照,已取得物件姿態。接著用GGCNN去預測目標物夾取框,最後利用演算法進行夾取框篩選及碰撞偵測,最後進行夾取。而目前我們嘗試將整套流程的物件姿態預測改為用3D點雲作為預測模型的輸入,取代原本的RGB-D影像,期待能得到更好的預測效果。
在每次的研究討論過程中,老師和學長們以交叉提問的方式,引導我們注意在閱讀論文和實驗操作中可能被忽略的重要細節。同時,在實驗過程中遇到困難時,學長們也提供了寶貴的經驗和建議,包括操作機械手臂和日常課業等方面。這樣的方式迅速地引導我們進入這個研究領域,使我們能夠順利掌握相關知識和技能。這些寶貴的交流和指導為我們的研究工作提供了的基礎。相信這段寶貴的經驗和學習能大大的幫助我們未來的專業發展。
點閱人數