何謂利用語義分割(semantic segmentation)分類三維點雲?


前言:

 因為左岸的論文導讀只有一份,而且抄來抄去跟大學生做畢業專題一樣。
 所以我打算自己來幫自己讀的 paper 下註解。




這篇文章要告訴你兩件事:

一、語義分割在幹嘛、原理是什麼?

二、語義分割怎麼用在分類點雲?





我這篇不會講太多關於 NLP 實務上怎麼做、怎麼實現...

只會概念式的讓你知道:語義分割與點雲的關係



一、語義分割在幹嘛、原理是什麼?


 講語義分割就要稍微介紹一下 NLPNatural Language Processing

 NLP 就是把 自然語言(人類講的話:英文、中文、德文...)轉成機器可以用的東西,
 基本上這就是 NLP 在做的事情。


 口說無憑,舉個例子:

 假設"Costco"這個詞在電腦眼裡看起來是"0100" ;

 "IKEA"在電腦眼裡看起來是"1111"
 (BTW 這邊的字串代表向量)

 兩個差了 3  bits
 那麼這兩個詞在做 NLP 的時候就不會視為同義詞
 電腦不會跟你說:IKEA?我都念 Costco ლ(´ڡ`ლ)

 如果是"Ben"與"Benny"的話,因為"Ben"是"Benny"的縮寫,
 所以電腦做 NLP 的時候 這兩個詞的向量就會很接近


 簡單來語義分割的用途就是把句子裡面的詞一個一個切出來看向量,
 比較資料庫裏面的向量找出使用者到底想要表達什麼意思?
 通常語音辨識、輸入會大量用到這個功能

 NLP 裡面還有很多東西可以講,這只是大概介紹要用到的功能。



二、語義分割怎麼用在分類點雲?

 首先我要引用這張圖片:

 
(ftrom https://arxiv.org/abs/1801.07829 , Yue WangYongbin SunZiwei LiuSanjay E.SarmaMichael M. BronsteinJustin M. Solomon

 我們可以看到機身的顏色不一樣(廢話)

 黃色代表與選取的紅點關係相近的點

 其實這是一張利用"語義分割"做"飛機部件分割"的訓練過程,
 你可以看見由左至右,原本我們找的 紅點 只跟物理距離相近的點有關;

 但是越訓練越往右走,你會發現與 紅點 有關的逐漸像是相同的部件而不是物理距離。
 最後飛機被分為:機翼、渦輪、機身...等各部件。

 在這裡的原始檔案可能是 .ply 或是 .off 都可以
 原理就是把頂點的 x,y,z 拿出來去做部件分割

 然後我們就會把被語義分割出來的各部件拿去做訓練,這樣就可以取得更好的結果。
 (譬如說有些機掰的倒三角翼飛機就不是乖乖的長這樣,但我們可以辨識成飛機。)

 你會問為什麼飛機兩邊的翼明明絕對位置不一樣,還能訓練出來?

 因為其中利用到 NLP 的句子的語義分割,類似"Ben是我"、"我是Ben"
 為同義句,在數學中就是 幾何變換 geometric transformation)

 可以寫矩陣轉換過去,至於怎麼寫就那又是一門學問了
 先交給我們電信仔就行惹 ლ(´ڡ`ლ)
 
 有時間再來談談實作,或許先從怎麼 initial data 開始是不錯的選擇?


留言

這個網誌中的熱門文章

[心得] 破解 Google 雲端下載限制(非建立副本)