用segnet訓練我自己的數據,實驗筆記1——改變圖片大小


我的數據庫是NYU vesion1,大小是640×480,長乘高,segnet用的數據庫是480×360.如果直接用會出現unsampled的錯誤,unsampled的參數是長30,高23.

F0915 05:08:09.027793 45783 upsample_layer.cpp:63] Check failed: bottom[0]->height() == bottom[1]->height() (23 vs. 30) 
*** Check failure stack trace: ***
    @     0x7fb4ab65ddaa  (unknown)
    @     0x7fb4ab65dce4  (unknown)
    @     0x7fb4ab65d6e6  (unknown)
    @     0x7fb4ab660687  (unknown)
    @     0x7fb4aba6e718  caffe::UpsampleLayer<>::Reshape()
    @     0x7fb4ab9d4bf2  caffe::Net<>::Init()
    @     0x7fb4ab9d6952  caffe::Net<>::Net()
    @     0x7fb4ab9bcbf0  caffe::Solver<>::InitTrainNet()
    @     0x7fb4ab9bdbc3  caffe::Solver<>::Init()
    @     0x7fb4ab9bdd96  caffe::Solver<>::Solver()
    @           0x40c5d0  caffe::GetSolver<>()
    @           0x406611  train()
    @           0x404bb1  main
    @     0x7fb4aab6ff45  (unknown)
    @           0x40515d  (unknown)
    @              (nil)  (unknown)

  

考慮改變數據大小:

  • 使用matlab默認的imresize函數進行調整大小
    • 出現新問題:resize會不會改變rgb值,也就是rgb值是按照位置變動而進行的單純的復制,還是根據context插值計算的新的rgb,前者當然會失真,但是好處是標簽還是對應的。兩個重點,自變量是位置,保證特征圖與標簽同一像素縮小后落在同一位置;rgb的值不會改變,邊緣,contour還是那個contour。
    • 舉例說明:因為你(9,0)處的RGB根據位置(9,0)被復制到了(3,0),那么對於標簽.png這個圖,當然他(9,0)也會被復制到同樣的位置,(3,0)。至此,才能說這一步並沒有帶來bug,實驗bug。
    • 參考資料http://blog.csdn.net/colddie/article/details/7683492,http://blog.csdn.net/zhangla1220/article/details/41014541
  • 最終出現了喜人的結果,舊錯誤消失,出現了新的錯誤。
  • 代碼:http://www.cnblogs.com/SweetBeens/p/8572655.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM