实验记录20181006

1、将利用tf.slice函数提取cost_volume的部分都去掉。在生成cost_volume的部分取消和Disparity相关的那次迭代。

实验结果:运行正常,且不同的cost_volume的权值不再相同,达到预期效果。遗留的还不清楚原因。问题是训练的效果还很差,而且整体的像素值都很小。

2、实验:将get_batch函数中的per_picture_standarlization去掉。看看能不能使得像素强度大一些

部分像素结果如下:.

[[[ 1.54285169  0.933927    1.47258127]
  [ 0.18207826  0.22060575  0.08451674]
  [ 1.03088057  0.11117508  0.19160177]
  ...,
  [ 0.35692829  0.32839873  0.16750905]
  [ 1.05116034  0.13198015  0.36493447]
  [ 0.2625978   0.20416011  0.12823176]]

 [[ 0.3860575   0.20895129  0.265073  ]
  [ 0.0403722   0.03014125  0.00384803]
  [ 0.0151044   0.07537584  0.01479994]
  ...,
  [ 0.04567728  0.05214696  0.01129383]
  [ 0.02521723  0.13180308  0.0209306 ]
  [ 0.02408953  0.0227813   0.00365678]]

 [[ 1.027174    0.61219567  0.23092042]
  [ 0.04974696  0.02318765  0.00461498]
  [ 1.00026262  0.04449522  0.01210062]
  ...,
  [ 0.16489761  0.1579753   0.04708993]
  [ 1.00086021  0.07266132  0.01164706]
  [ 0.06365518  0.03242689  0.00899804]]

 

可以看到像素大小还是非常小,不知道是不是训练不够的问题。

3、实验三:将输出的大小乘以100,试着看看视觉效果。

可以看到效果已经不是非常规律的方格,说明每一个权重都在学习,但是还是出现了很多很规则的点点,不知道是为什么。

4 将输出的dispary乘以300再看看视觉效果.,

 

5、 现在将训练集从viz_flow_occ改回disp_noc_0,并且将输出通道改回单通道,看看深度图结果是否有进步。

部分实验结果如下:

[[  3.40333544e-02   5.69506519e-05   2.48991432e-06 ...,   4.63277753e-03
    2.80782206e-05   3.48242669e-04]
 [  4.70794330e-05   3.34092731e-09   9.17497883e-11 ...,   1.76127151e-06
    2.62155764e-09   4.37388223e-08]
 [  2.87549233e-06   1.52223467e-09   1.26440701e-13 ...,   9.30134411e-06
    6.21862700e-11   2.40355167e-08]
 ...,
 [  5.11044115e-02   9.99674085e-05   7.98715919e-04 ...,   3.29265208e-06
    2.07200878e-06   6.11510040e-05]
 [  1.36528717e-04   3.21911784e-07   8.04712919e-09 ...,   1.33634458e-05
    1.05197735e-08   2.18457217e-06]
 [  5.79223561e-04   2.78921561e-07   2.23914014e-07 ...,   7.12920810e-05
    6.08705761e-07   3.78783056e-06]]
[[  1.85363144e-02   6.05983842e-05   2.08838060e-06 ...,   3.23573872e-03
    1.32183186e-05   2.73108453e-04]
 [  2.73683308e-05   3.24031557e-09   2.81839191e-10 ...,   1.11970405e-06
    1.10107701e-09   3.00957836e-08]
 [  1.27066949e-06   8.96879571e-10   7.00045152e-14 ...,   6.33006402e-06
    1.63468891e-11   9.96947325e-09]

可以看到,输出的预测值非常的小,感觉还是存在问题的。

6,将实验结果乘以30000输出,希望得到一个可视化效果。
dispmap=dispmap*30000

[[  3.40333544e-02   5.69506519e-05   2.48991432e-06 ...,   4.63277753e-03
    2.80782206e-05   3.48242669e-04]
 [  4.70794330e-05   3.34092731e-09   9.17497883e-11 ...,   1.76127151e-06
    2.62155764e-09   4.37388223e-08]
 [  2.87549233e-06   1.52223467e-09   1.26440701e-13 ...,   9.30134411e-06
    6.21862700e-11   2.40355167e-08]

结果依旧很小,不知道是不是自己设置出问题了

7,将学习率退化率更改为每20个epoch退化一次

8,我明明已经在disparity输出之前乘以了一个很大的输300000,但是神经网络还是将我的值强行的拉到了很小,我怀疑不是网络训练的问题,而是视差的训练标签根本就不能够进行标准化。

9,我准备做一个实验,看看tf.image.per_image_standardization函数对数值的影响。

代码如下:

import os
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt#这个可以用来
from tensorflow.python.training import moving_averages
from tensorflow.python.ops import control_flow_ops
from tflearn.layers.conv import global_avg_pool
import operator
from PIL import Image
import time#record runing time
"""
Created on Sat Oct  6 11:02:20 2018

@author: Administrator
"""

groundtruth_dir = 'E:/study/graduate_document/my_densematching_program/train//disp_noc_0//000058_10.png'
image_contents_left=tf.read_file(groundtruth_dir)
image_left=tf.image.decode_png(image_contents_left,channels=3)
image_left = tf.image.resize_image_with_crop_or_pad(image_left,  IMG_H,IMG_W) 

image_left_stand = tf.image.per_image_standardization(image_left)

image_left_float32 = tf.cast(image_left, tf.float32)

image_left_stand_float=tf.cast(tf.image.per_image_standardization(image_left), tf.float32)

f = open("DATA2.txt", "w") #将值输出来看一下
f2 = open("DATA3.txt", "w") #将值输出来看一下
f3 = open("DATA4.txt", "w") #将值输出来
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值