開啟新的篇章,第二篇會想說這個主題的原因是,我自己在找原始碼的時候,其實跌跌撞撞蠻久的,後來我找到了比較適合自己的方式去挖掘程式碼,於是想跟大家分享。
我接下來會分成下面去3段去講述,第一個不免俗的要稍微介紹一下deeplab是什麼,如果是詳細的論文講解,我會放在medium,而且使用的atrous convolution並不是什麼新潮的東西,去修了數位訊號處理(DSP)才發現是舊瓶翻新,物盡其用。
但是它有一定的效果,而且他在實作上面有做出來,也有API支援,所以絕對是經典的segmentation task的入手文章。
我打這段的時候沒有經過求證,不要盡信。
Deeplab應該算是tensorflow底下的一個團隊,研究有關segmentation的任務要如何進行,到2020為止,一共發了4篇paper,每一篇都是基於前一篇再加以創新以及驗證,目前改變跨度較大的是從第2篇轉到第3篇,第3篇的論文中捨棄了之前的後處理方式,
事實上在source code的實作中,也並沒有有把後處理的程式實作出來,我去翻程式碼的時候發現的。
並把網路架構大幅變動,改以encoder-decoder的方式去做處理。
atrous convolution,在我的理解上來看,就很像對著一張圖像去做各種尺度的觀察。例如一張人像圖,在atrous rate較大的情況,我們所獲取的影像資訊就比較廣泛,很像是看著個人高矮胖瘦、衣服大概穿怎樣顏色的,還有身體形態;
atrous rate較小去做卷積的情況,所獲取的影像資訊相對起來就會比較局部,或著說detail一點,像是看到這個人的臉長怎樣、特定的動作等等。
算是我第一篇看得很仔細,然後去報的paper吧,然後遲鈍如我,在幾次報paper之後才領悟到,在學校報paper跟在公司中報paper的方式會不太一樣呢!
在學校做研究生剛開始報paper時,因為同時會報給同為白紙的同學們聽,因此往往需要從頭開始,由深入淺的說明。
而在公司,因為同個部門的人,都已經在領域打滾久了,其實不需要從頭到尾講得很清楚,除非是多篇paper一起比較,不然只要把看到的方法的優點、缺點、還有實作的可能性啦、實作結果等彙整後報告就可以了吧。
今天的狀態沒有很好,所以容許我把短小的篇章,灌水成兩天的份~
如果想了解甚麼與我說的相關,但是我又沒有提得很仔細的話,可以在下方留言,我會考慮找時間補齊,也請鼓勵支持我繼續寫下去,30天真的好漫長啊!