struct2depth 記錄


把效果圖放在前面 

03.28

handle_motion  False

architecture    simple

joint_encoder  False

depth_normalization  True

compute_minimum_loss  True

從頭訓練,沒有任何數據增強

 

2019年5月18日10:23   公布了我自己寫的代碼,很粗糙的版本:

https://github.com/necroen/simplified_struct2depth

===============================

 

2019年3月22日13:20:38

論文名:

Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised Learning

from Monocular Videos 

 

代碼: https://github.com/tensorflow/models/tree/master/research/struct2depth  

 

看論文效果,說是可以處理運動區域,甚至計算出面前的汽車的移動速度。

對tensorflow不熟,算是一邊學tensorflow,一邊看這個算法。

另外,jupyter notebook是個好東西,可以自己給自己寫教程。。。

 

最后發現這個庫的代碼根本不完善!!!

說是可以預測移動的物體,但是:

Similar to the ego-motion model, it takes an RGB image sequence as input,

but this time complemented by pre-computed instance segmentation masks

也就是先做了實例分割。

https://github.com/tensorflow/models/issues/6173 

他們先用mask-rcnn在另一個數據集上訓練了實例分割,生成了X-seg.png

用align.py對准后,生成了 X-fseg.png 圖片。

這就有點死循環了,我還指望着深度估計能夠提升語義分割和動態場景的處理的效果呢,結果這。。。

 

這個流程圖里頭,用於訓練的也是實例分割圖片,暗示這個網絡就算處理移動物體,也是訓練

過的類別才能處理。

在readme里頭也不清清楚楚的寫出來。。。

 

gen_data部分,針對 city 數據集和 kitti 數據集操作不一樣。

因為要用align.py比對並產生fseg圖片,city數據集有標注好的實例分割圖片,

kitti沒有,然而我沒下city數據集。。。然后我就跳過handle_motion部分的代碼了。

不過這個庫本身已經包含了DDVO的深度正則化的步驟在里頭了。

 

2019年3月26日19:13:56

不處理移動物體的版本終於用pytorch重寫完了,重點重寫了建立loss的部分,loss之前的部分

沿用sfmlearner的代碼。還得再花幾天仔細消化。

 

因為原始的代碼里頭是處理移動物體的,所以連 explainability_mask 都省掉了,只有一個

warp mask來幫助計算誤差,其實sfmlearner里頭也需要一個warp mask。

還感覺到應該專門弄一個 seq_length x scale_num 的矩陣,代碼看着太啰嗦了。

 

 

2019年3月28日10:43:11

1600張圖片跑了94個epoch,效果圖就是文章最上面的gif

這樣的數據量,這樣的訓練次數,弄出這個效果我很滿意,哈哈哈!

而且沒上finetune,后面再把finetune部分改寫成pytorch。

碰到一個 tensorflow 掛起的問題,還不報錯,tf 真是難以調試,真難用。

 

2019年3月29日17:31:12

文章里的 finetune 看起來就像在相鄰的幾幀上做過擬合。。。

 

2019年3月30日11:07:04

想了想,數據集很小並不能保證可以 過擬合出想要的效果,反而會因為解空間的約束太少,

搞出一個不好的效果。

 

本來是想預測出一個深度圖,給弱監督語義分割用的,再結合三維重建,重建出特定種類

目標物的三維點雲出來供后續使用的,看來還是要加強深度估計的效果和泛化能力。

 

2019年4月2日19:19:49

看了點語義分割的東西,了解了下CRFs,deeplab系列的分割算法。

剛開始還在想用CRFs讓預測出來的深度圖更sharp一點,然而deeplab V3后都把CRFs去掉了。

不如直接把deeplab V3前面的結構拿過來生成視差圖?搞不好還可以很好的和語義分割結合起來。

然后我看到了幾篇CRFs做深度估計的文章。。。比如 CRFasRNN 。。。

 

2019年4月4日09:09:01

找到一個dilated resnet的語義分割庫,看到一個多任務學習 multi task learning 的概念。

深度估計 和 語義分割 肯定是耦合在一起的。

 

2019年4月9日09:56:18

找了一些depth fusion,三維重建的東西。

https://github.com/andyzeng/tsdf-fusion-python 

 

想起了以前做 ptychography 成像的時候,有一個大的圖像要恢復,但是算法只能

一次優化一小塊區域,這個時候就要利用好overlap部分,但是前提是知道position。

准備先用slam的方式算出pose,舍棄掉sfmlearner中姿態估計的部分,深度估計還是

用這些網絡來算。充分利用兩張深度圖之間的重疊部分,加速收斂。

 

2019年5月23日09:19:48

https://zhuanlan.zhihu.com/p/66281890  MixMatch

看到這篇文章想到了一個很雞肋的loss ...

同一張圖片加不同的HSV抖動,或者其他增強手段,在同一個像素位置處預測出來的深度應該

是不變的。雖然之前有數據增強,但是沒有顯式的把這一loss表達出來。

這個loss如此好表達,以致於可以輕松的在訓練完后再加一個這樣的loss去訓練模型,不知道效果如何。

 


免責聲明!

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



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