如何實現論文中提出的新演算法?

一名圖像處理方向的研究生


在文獻閱讀與演算法重現的問題上採用什麼樣的方法取決於個人的學術水平和編程能力。以我的經驗可以分為以下幾個步驟。

1. 粗讀文獻,根據abstract, introduction, conclusion and discussion以及results部分的效果對文章提出的方法有一個基本評價,即值不值得坐重現。

2. 如果值得,要對文章進行第一層精讀,即了解文章演算法的詳細的思想、結構、模塊功能以及創新點。

3. 對演算法各模塊進行分析,看看哪些是現有的方法的重述,哪些是作者提出的創新部分,以及各模塊介面部分的設計。

4. 對已有的演算法,如果了解可以直接搜索現有源代碼,如果不熟悉需要進一步進行文獻閱讀和學習。

5. 對於創新部分要用偽代碼的方式進行精細的重述和理解,有些時候論文尤其是會議論文中對於很多細節未必會給出精確的描述,這時候有兩種方法一是尋找相關文獻尤其是作者本人的其他期刊文獻進行串聯,另一種方法就要靠自己發揮,只要自己確實能夠讀懂作者的思想,一定程度的補充和發揮是允許的,而且很多時候這樣的地方還是產生新的idea的好機會。

6. 當所有演算法梳理清楚後,可以選擇一種自己熟悉的計算機語言,比如matlab,C++,Python等進行編程、調試、驗證等工作。

7. 注意重複別人的工作永遠不是一個科研工作者的工作重心,如何找到別人的貢獻和存在的問題並進而得到自己的創新才是科研的核心


一種是你把他的思想徹底弄明白,自己寫,一種是直接找作者,看他是否願意與你分享,後者希望不大,還是靠自己吧


下載相關的源代碼,結合源代碼看。講的不清不楚的論文,搞得太複雜的論文,就別看了,浪費時間。


嗯 建立在一篇好文章基礎上。好的文章好的作品,往往也會有好的實現,敢於放出來大家看看。

即使暫時沒有放出源碼,你也會根據論文的內容自己實現,前提得是好的東西。方法簡單效果好。

就像CVPR2009的Best Paper,Kaiming He的一篇圖像去霧的文章,聽說Reviewer親自Coding實現從而驗證論文的效果。


多練,多看別人的源代碼,貌似沒啥捷徑


推薦閱讀:

有哪些有趣的矩陣?
有哪些看到就好像聽到聲音的圖片?
如何判斷手機圖像是否經過後期處理?
記憶里的圖像有沒有可能恢復,我的意思是把記憶里圖像數字化?

TAG:演算法 | 圖像處理 | 研究生 | 圖像 | 論文 |