讀研經驗總結篇--以配準研究爲例


本文轉載自知乎,已獲作者Timmymm授權轉載。

https://zhuanlan.zhihu.com/p/151020624

前言

受疫情影響,一切人羣聚集的活動都被取消或推遲了。我們的畢業典禮原應該像以往一樣,讓人興奮、迷惘、莊嚴而又不捨,但這次卻悄無聲息。這突如其來的疫情,一直頑強蔓延至今,近期仍有大面積反彈風險。

受此影響,我的母校始終未讓畢業生一起返校,也沒有舉行畢業典禮,沒有任何形式的活動。我們只能草草收拾東西,退宿,踏入工作崗位,甚至不能和班上的同學好好道個別,更別提合拍畢業證了。

我對此一直很遺憾,總想以某種形式總結下研究生階段的經歷,紀念一下。在科研方面,我一直想總結一下,本着知識分享的精神,給大家分享一下我的研究生期間的科研經歷與經驗,發揮我的餘熱(因爲我跨行做了別的),希望對大家有所幫助,也是給自己的一個交代。

今天是端午節,先祝大家端午安康,我今天終於得空,好好總結反思一下了,以下就是正文。

這次我要分享的是研究生如何做科研--從入門到放棄。我將要分享的經驗全部來自於我的個人實踐,從我做基於深度學習的醫學圖像配準項目中總結得到的,包括從入門的選題定題、文獻調研、查找資料、編程調試、論文撰寫等各個方面。

我分享的目的呢,首先是總結一下我的研究生經歷學到的東西,消化沉澱成爲自己的;再者就是希望能幫助到後來者更快的入門,少走些彎路,多爲國家科研大業做貢獻吧。以下我將按照科研的流程進展,從各個部分展開我的總結分享。

目錄

正文

1,定題,背景調查,文獻調研

2,確定方案,準備材料

3,尋找開源項目

4,創新

5,編程實現,調試

6,寫論文

總結

開源計劃


正文

1,定題,背景調查,文獻調研

開始科研的第一步就是選題定題,這個步驟實際上在讀研開始前選導師的過程中,已經大體上劃定了範圍,或者導師已經想好了你讀研要做的課題方向。

更靈活一點的,就是導師臨時安排你做新的項目,但大體上都與你的導師的研究方向或者承擔的課題項目有關。一般情況下,導師讓你自由定題的可能性不太大,但不排除這種可能。

我的情況是保研的時候確定方向是做基於深度學習的醫學圖像處理,研一下學期才確定是做配準,而在此之前我對配準瞭解的不多也不深,雖然本科畢設也是配準。

我剛開始着手做配準的時候,基礎很差,一臉懵逼,無從下手。遇到這種情況呢,給大家推薦一個我導師教我的方法,叫文獻調研。顧名思義,就是調研一下課題相關的文獻,寫一篇文獻綜述。

在調研的過程中,解決幾個問題:你的課題具體是什麼,需要做哪些工作,以前的方法有哪些,最新的科研進展是啥,未來的發展方向是啥,具有什麼樣的意義,等等。在這個過程中,你可能需要調研很多文獻,至少20篇,包括比較早的經典論文,和最新的前沿研究論文,這樣纔可以對該領域有個大致的瞭解,對以上的幾個問題有個初步的答案。

還以我自身的經歷爲例,我剛開始接觸課題的時候,導師安排我調研一下配準最新的文獻,寫一篇綜述給他,也就是我在博客中發的這一篇文章(https://blog.csdn.net/weixin_41699811/article/details/84314070)。

我當時下載了三十篇左右論文,有很老的,也有最新發表的,有綜述類的,還有研究類的。總之就是跟課題相關的都會看一下,有些精讀,有些泛讀。前後看了有一個月左右,纔對配準項目有個大致的瞭解,知道配準的大致輪廓與理論概念。

說到文獻調研,我再簡單介紹一下怎麼查文獻。最簡單的方法當然是百度學術,谷歌學術。專業一點的就是學校圖書館網站檢索論文,知網啥的,另外還有去相關期刊網站找,如ieee xplore啥的,開源預印本論文網站arxiv.org等。

當然,還有一些非正規的網站,如sci-hub之類的。很多方法,最大的方法就是找方法,搜一下查文獻的方法。我本人最常用的兩個方法是:

一,登錄校園網或者校園vpn,使用學校圖書館的論文檢索接口,搜索需要的論文。這是因爲一般學校都會買一些常用的論文數據庫,可以免費下載;

二,在arxiv.org網站上搜索共享的論文預印本,免費、方便、論文新。

2,確定方案,準備材料

做了文獻調研,對課題的背景有了一定了解,就可以開始設計項目方案了。一般,導師給你佈置任務,年輕的導師還在科研一線,會比較清楚最新研究進展,會給你指明用什麼方法、技術做當前的課題,而年紀大點的導師一般都不太清楚最新技術了,只會給你佈置任務、督促你完成,對你實際的項目細節不大過問。

針對前一種情況,你可以跟着導師指引的方向開始研究;而後者,則需要你自己選定方案了,當然這不能絕對,靈活應對吧。我是後者,自己摸索方法,定期給導師彙報進展。

設計課題方案,就是根據你課題需要,結合最新的技術進展,設計適合你的可行性方案。我這裏想說的一點是你要注意可行性,只有可行的方案,纔有意義,不然只是空中樓閣,可望不可即。

在設計方案的時候,就要確定該方案能否實現,是否缺少什麼材料,是否有基礎?而不是項目做了一半,發現該方案不可行,缺少東西,難以實現。具體來說,要實現一個項目,你最起碼需要兩個方面的材料,數據和代碼

巧婦難爲無米之炊,沒有數據,想法再好,也沒法實現,發不了論文。代碼就是你的基礎,而不是你要造輪子,這樣太耗費時間,如果有現成代碼,而你只需要修改,創造自己的部分就好,那能節約一大部分時間。我的經驗是,剛開始接觸一個項目太難,你需要站在巨人的肩膀上,先學習、模仿,然後是改造、創造自己的內容。

下面分享一下我的情況。我導師剛開始給我安排的課題是二維-三維的多模態配準,但是經調研分析發現,項目不可行,沒有數據,也沒有DRR(三維圖像投影成二維的)代碼,所以轉向做單模態配準。在探索研究方案的時候,我也一路試錯,花費了相當長的時間,而究其原因是我最開始沒有堅持自己的判斷,而是跟着導師安排的方向走了。

看過我那篇綜述文章的同學可能知道,我綜述的結論是使用無監督學習做配準是未來的趨勢,而導師比較相信監督學習的模型。所以我在監督學習上試驗了很久,結果都是過擬合,這與Ground Truth數據有關,數據質量差,難以學到魯棒的模型。問題一直難以解決,最後才放棄監督學習方法,轉向使用無監督學習,纔得到今天的結果。

人工智能時代,歸根結底拼的是數據與技術。數據是根本,沒有數據,就沒法實現與驗證你的想法。在做課題的時候,特別是做深度學習,數據的質量決定了你的結果上限。

在實際項目中,如果你有別人沒有的數據,你就佔有了先機,你可以做別人沒有做過而且做不了的事情,所以很好發文章,這樣的例子有很多,我的一個師兄和醫院合作,醫院提供數據,師兄搭模型跑實驗,以共同一作的身份發了好多文章,找的工作也很好。

如果你沒有數據,想發文章,就只能拼技術,使用開源的數據集,自己的方法結果比別人好,纔可以發不錯的文章。

3,尋找開源項目

無論做什麼,從零到一都是最難的。如果要做一個課題,在毫無基礎的情況下,很難順利完成課題。目前大火的開源就是基於這樣的情況,項目開源方便科研人員快速復現、對比、改進,而不是像以前一樣代碼與資料只在小範圍內緩慢傳遞。

因此,我給各位的建議就是,在開始做課題,實現想法之前,先在GitHub上搜索一下對口的開源項目,也可以在讀論文的時候着重開源了代碼的項目,結合論文一起看,懂理論,也知道實現細節,更容易上手。站在巨人的肩膀上,看得更遠。

關於配準的項目,GitHub上有很多倉庫,我認爲做得最好的、最全面的、維護的好的就是MIT的voxelmorph項目:

https://github.com/voxelmorph/voxelmorph 

我自己也是參考他們的工作,進行了改進創新,做了一點工作,完成了碩士研究生的學習,有興趣的可以查看一下我的配準倉庫:

https://github.com/Timmy-Fang/Deformable-Image-Registration-Projects

另外,給各位小白或者做配準的同學推薦一個倉庫,是我們配準羣裏合作製作的一個收集配準相關內容的倉庫awesome-image-registration:

https://github.com/Awesome-Image-Registration-Organization/awesome-image-registration

包括數據集、論文、工具、課程等等。最後,GitHub上的開源倉庫是一個包庫,強力推薦各位小白多瀏覽、多檢索自己需要的內容,很可能有意外之喜。

4,創新

關於創新,我的心得是根據需要創新,而不是爲了創新而創新。剛開始讀研的時候,看了不少論文,在學校導師的催促下,我形成了一個傾向,在不接觸實際項目的情況下,一心想着怎麼創新,而沒有真實的項目環境做支撐,這就像空中樓閣一樣,不切實際。

苦思冥想一番之後,還是一無所獲。而企業的導師則傾向於實用,不求很新穎,但求實用、效果好。在他的影響下,我帶着實際項目研究過程中遇到的問題,尋找解決方法之餘,做改進與創新。在深入科研一線的情況下,會遇到各種問題,尋找解決方案本身就是創新。

5,編程實現,調試

關於編程實現與調試,我想分享兩條:

一是想實現一個功能最快的方法是先找找有沒有現成的資源,而不是最先想着怎麼去實現它。

當然,簡單的功能不在此類,對於複雜的功能,如果自己着手實現,可能會花費相當長的時間,而實際上或許已經有現成的實現可以調用。

總之還是前面的“拿來主義”,能用現成的就用現成的,把精力放在創新的自己的內容上面。當然,這樣做也是基於開源的優勢,python有很多開源庫,基本上你需要的功能都已經有人實現並開源了。

第二條是關於調試的,實現一個功能,難免會有很多bug或錯誤,這時候就需要調試驗證,把中間結果打印或者可視化出來。這一點尤其在調試一個大型項目工程的時候適用,將項目拆分成多步,逐步進行驗證,保證每一步無誤,聯調就沒問題了。因此第二條就是調試過程中將中間結果保存可視化出來,方便查找問題與分析。

6,寫論文

寫論文方面,我的心得是模仿。在學習一項技能的時候,最有效的方法就是模仿會這項技能的人或物。如果沒有接受過系統的科技論文寫作訓練,很難寫出來符合要求的規範論文,而我的經驗就是理清要投稿的會議或者期刊的要求,參考優秀的相關論文,模仿它的結構、語法、格式等,改編填上自己的內容。

模仿你的課題領域的經典論文,模仿圖表的格式與說明,模仿遣詞造句的方式,模仿文章編排範式,等等。當然,在選擇模仿對象的時候,最好排除咱們中國人發的英文論文,雖然你可能讀着很順,但那很可能是中式英語,而不是地道的美式英語;非英語母語國家的人發的論文也同理排除。

按照這種方法,我一個剛開始很怕寫不好英語論文的研究生,寫出來的論文竟然還獲得了在美國當過教授的導師的誇獎與肯定,要知道我導師是很少誇獎學生的。

總結

洋洋灑灑寫了這麼多東西,實際上以上都只是我個人的一點點經驗,或者說觀點而已,不一定客觀準確,僅供參考,希望對你有所啓發。如果有不對的地方,還請批評指正。

本着分享精神,我總算把研究生期間獲得的主要的經驗心得總結出來了,現在共享給大家,就是想對後來者或者要入門的小白給予一點點幫助。

最後,希望大家科研順利,學業順利,前途無量。我本人呢,現在也已入職崗位了,轉行做了自然圖像處理任務,這篇文章就算是我的告別吧!未來還要繼續加油!

我將本文的內容錄成了視頻,投稿到了B站,歡迎大家查看我的視頻 (https://www.bilibili.com/video/BV1jz4y1X7Je),並關注我,如果對你有幫助,別忘了給我來個一鍵三連哦~


開源計劃

最後,我的配準項目的開源計劃更新完成了,既有博客講解重要內容,又有視頻講解配準項目,以及項目代碼的GitHub倉庫,具體請看該鏈接,希望對大家有所助益,主要內容複製如下:

  • GitHub倉庫(Timmy-Fang/Deformable-Image-Registration-Projects)

  • CSDN博客 (https://blog.csdn.net/weixin_41699811 即本人的博客,建議進入我的個人主頁,查看我的全部博客)

  • bilibili視頻 (請關注我的B站賬號:Timmy870,歡迎大家來觀看、發彈幕、留言討論,謝謝~)

發表的論文
我投稿的兩篇會議論文也都發表出來了,有興趣的可以點擊鏈接,下載觀看,第一篇是利用基於無監督學習的非剛性配準模型在胸部X光圖像上的應用,第二篇是該模型在胸部CT圖像配準任務的應用創新實踐,文章鏈接羅列如下。

  • Unsupervised learning-based deformable registration of temporal chest radiographs to detect interval change

  • A FCN-based Unsupervised Learning Model for Deformable Chest CT Image Registration

點擊閱讀原文,可直達作者B站視頻。

END

在看,讓更多人看到  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章