把效果图放在前面

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. python--基本数据 类型

    数据就是我们变量的值:python中变量保存的是内存地址 变量必须先赋值或者声明才能使用!! 1.数值型 整型 int (python3中int就是长整型,与python2中int不同,另外,pyth ...

  2. word中插入myth type公式行距变大的问题

    在写文章时,我遇到了在word中插入myth type公式时,行距明显变大的问题,我通过改变段落中的行距没有解决问题,在网上查了一下,找到一些解决方法,仅供参考. 解决办法

  3. 聊一聊 redux 异步流之 redux-saga

    让我惊讶的是,redux-saga 的作者竟然是一名金融出身的在一家房地产公司工作的员工(让我想到了阮老师...),但是他对写代码有着非常浓厚的热忱,喜欢学习和挑战新的事物,并探索新的想法.恩,牛逼的 ...

  4. jmeter 写正则表达式

    ():括起来的部分就是要提取的. .:匹配任何字符串. +:一次或多次. ?:不要太贪婪,在找到第一个匹配项后停止.   需要根据要取的数据取值 jt: eyJhbGciOiJSUzI1NiJ9.ey ...

  5. swiper插件使用遇到的一点小问题

    最近做移动端开发 给出的静态页使用了Swiper,用的是4.0.3版本,应该是比较新的. 静态页这种东西,一般就是给你个雏形,设计部虽然使用了这个插件,但毕竟这个活儿毕竟还是得开发人员来干,所以,静态 ...

  6. 第二章代替netcat连接无响应

    按照书上的代码手打到电脑上以后,在两个终端输入了./bhnet.py -l -p 9999 -c和./bhnet.py -t localhost -p 9999之后发现没什么反映,所以又用nmap 1 ...

  7. Java面试题2

    类加载机制 Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的加载机制. 类从被加载到虚拟机内存中开 ...

  8. ubuntu18安装navicat

    1.登陆 http://www.navicat.com.cn/download/navicat-for-mysql 页面下载navicat安装包,务必选位置1-64bit ps: 中文版乱码问题严重, ...

  9. IDEA远程连接Hadoop

    IDEA远程连接Hadoop Win 1.Hadoop配置 下载并配置到本地环境 HADOOP_HOME D:\Tools\hadoop-2.7.7\hadoop-2.7.7 HADOOP_PREFI ...

  10. 《DSP using MATLAB》Problem 7.15

    用Kaiser窗方法设计一个台阶状滤波器. 代码: %% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...