把效果圖放在前面
03.28
handle_motion False
architecture simple
joint_encoder False
depth_normalization True
compute_minimum_loss True
從頭訓練,沒有任何數據增強
2019年5月18日10:23 公布了我自己寫的代碼,很粗糙的版本:
===============================
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去訓練模型,不知道效果如何。