把效果图放在前面

03.28

handle_motion  False
architecture    simple
joint_encoder  False
depth_normalization  True
compute_minimum_loss  True
从头训练,没有任何数据增强

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

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中姿态估计的部分,深度估计还是

用这些网络来算。充分利用两张深度图之间的重叠部分,加速收敛。

struct2depth 记录的更多相关文章

  1. 记一次debug记录:Uncaught SyntaxError: Unexpected token ILLEGAL

    在使用FIS3搭建项目的时候,遇到了一些问题,这里记录下. 这里是发布搭建代码: // 代码发布时 fis.media('qa') .match('*.{js,css,png}', { useHash ...

  2. nginx配置反向代理或跳转出现400问题处理记录

    午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...

  3. Kali对wifi的破解记录

    好记性不如烂笔头,记录一下. 我是在淘宝买的拓实N87,Kali可以识别,还行. 操作系统:Kali 开始吧. 查看一下网卡的接口.命令如下 airmon-ng 可以看出接口名称是wlan0mon. ...

  4. 2015 西雅图微软总部MVP峰会记录

    2015 西雅图微软总部MVP峰会记录 今年决定参加微软MVP全球峰会,在出发之前本人就已经写这篇博客,希望将本次会议原汁原味奉献给大家 因为这次是本人第一次写会议记录,写得不好的地方希望各位园友见谅 ...

  5. 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)

    分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...

  6. 我是如何在SQLServer中处理每天四亿三千万记录的

    首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...

  7. 前端学HTTP之日志记录

    前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两 ...

  8. ASP.NET Core应用中如何记录和查看日志

    日志记录不仅对于我们开发的应用,还是对于ASP.NET Core框架功能都是一项非常重要的功能特性.我们知道ASP.NET Core使用的是一个极具扩展性的日志系统,该系统由Logger.Logger ...

  9. python+uwsgi导致redis无法长链接引起性能下降问题记录

    今天在部署python代码到预生产环境时,web站老是出现redis链接未初始化,无法连接到服务的提示,比对了一下开发环境与测试环境代码,完全一致,然后就是查看各种日志,排查了半天也没有查明是什么原因 ...

随机推荐

  1. JS调用本地设备

    JS 允许通过 navigator.mediaDevices.getUserMedia(options) 直接调用本地的设备,比如麦克风,摄像头等.因为该操作涉及到用户隐私,所以调用的时候会弹框请求权 ...

  2. Qt自定义控件系列(一) --- 圆形进度条

    本系列主要使用Qt painter来实现一些基础控件.主要是对平时自行编写的一些自定义控件的总结. 为了简洁.低耦合,我们尽量不使用图片,qrc,ui等文件,而只使用c++的.h和.cpp文件. 由于 ...

  3. 怎么在Mac上安装Tomcat 7[转载]

    本文来自http://wolfpaulus.com/journal/mac/tomcat7,谢谢Wolf Paulus 的分享 Tomcat 7 是Apache发布的第一款可以支持Servlet 3. ...

  4. oracle 修改服务端字符集编码

    进入服务端的sqlplus命令界面 SELECT * FROM V$NLS_PARAMETERS; 可以查看参数的值. 解决字符集编码 NLS_CHARACTERSET 办法: UPDATE PROP ...

  5. mybatis 类创建流程

    Configuration ---> XmlConfigBuilder ---> SqlSessionFactoryBuilder ---> SqlSessionFactory(Co ...

  6. pycharm(pythoon3)_django2.0_xadmin创建测试用例后台管理系统

    1.测试用例的app名字:Testcase 2.Testcase文件夹下各个文件的代码: 2.1. __init__.py: default_app_config = "TestCase.a ...

  7. 2018-2019-2 网络对抗技术 20165228 Exp6 信息搜集与漏洞扫描

    2018-2019-2 网络对抗技术 20165228 Exp6 信息搜集与漏洞扫描 回答问题 哪些组织负责DNS,IP的管理. 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务 ...

  8. VIM快速复制多行

    在vim中快速复制粘贴多行   用vim写代码时,经常遇到这样的场景,复制多行,然后粘贴. 这样做:1. 将光标移动到要复制的文本开始的地方,按v进入可视模式.2. 将光标移动到要复制的文本的结束的地 ...

  9. 记一次H5页面卡死的BUG

    之前有次开发小程序内嵌页面,类似于网易星球那种,很多钻石可以手动点击收取. 该页面css动效非常多,几乎页面上除了纯色背景之外全部有动效. 也正因为如此,才做成了小程序内嵌的形式(太大了). 当多次快 ...

  10. android 版本更新适配8.0,解决8.0手机无法更新自动安装apk

    随着android 7.0的普及android 8.0的也逐渐流行起来,那么google对权限方面又有了新的修改.而且我发现在android8.0中除了一些bug,比如说:在小米6(Android 8 ...