{"id":13816452,"url":"https://github.com/ZhijianJiang/DispNet-TensorFlow","last_synced_at":"2025-05-15T15:32:35.247Z","repository":{"id":112379235,"uuid":"97601331","full_name":"ZhijianJiang/DispNet-TensorFlow","owner":"ZhijianJiang","description":"TensorFlow implementation of DispNet by Zhijian Jiang.","archived":false,"fork":false,"pushed_at":"2024-02-24T05:59:50.000Z","size":10,"stargazers_count":58,"open_issues_count":6,"forks_count":24,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-19T13:38:18.220Z","etag":null,"topics":["convolutional-networks","dispnet-tensorflow","stereo-vision","tensorflow"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZhijianJiang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-18T13:26:40.000Z","updated_at":"2024-02-24T05:59:54.000Z","dependencies_parsed_at":"2024-08-04T05:01:35.473Z","dependency_job_id":null,"html_url":"https://github.com/ZhijianJiang/DispNet-TensorFlow","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhijianJiang%2FDispNet-TensorFlow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhijianJiang%2FDispNet-TensorFlow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhijianJiang%2FDispNet-TensorFlow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhijianJiang%2FDispNet-TensorFlow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZhijianJiang","download_url":"https://codeload.github.com/ZhijianJiang/DispNet-TensorFlow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254367682,"owners_count":22059554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["convolutional-networks","dispnet-tensorflow","stereo-vision","tensorflow"],"created_at":"2024-08-04T05:00:42.053Z","updated_at":"2025-05-15T15:32:34.765Z","avatar_url":"https://github.com/ZhijianJiang.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# DispNet-TensorFlow\nThis project is no longer under active development, so please exercise caution when using it and I hope it can still be helpful to you :) \n\nTensorFlow implementation of [A Large Dataset to Train Convolutional Networks\nfor Disparity, Optical Flow, and Scene Flow Estimation](http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Mayer_A_Large_Dataset_CVPR_2016_paper.pdf) by Zhijian Jiang.\n\n## Dataset\n* [Scene Flow Datasets: FlyingThings3D, Driving, Monkaa](https://lmb.informatik.uni-freiburg.de/resources/datasets/SceneFlowDatasets.en.html)\n\n## Tutorials\n### TensorFlow\n* [Tensorflow tutorials (Eng Sub) 神经网络 教学 教程](https://www.youtube.com/watch?v=RSRkp8VAavQ\u0026list=PLXO45tsB95cKI5AIlf5TxxFPzb-0zeVZ8)\n\n## Network\n### Convolutional Network\n\n|Name | Kernel | Strides | Channels I/O | Input Resolution | Output Resolution | Input |\n|--- | --- | --- | --- | --- | --- | --- |\n|conv1 \t  \t| 7 * 7 | 1 | 6/64 \t\t| 1536 * 768 \t| 768 * 384 | Images |\n|max_pool1 \t| 2 * 2 | 2 | 64/64 \t| 1536 * 768 \t| 768 * 384 | conv1 | \n|conv2 \t  \t| 5 * 5 | 1 | 64/128 \t| 768 * 384\t\t| 384 * 192 | max_pool1 |\n|max_pool2 \t| 2 * 2 | 2 | 128/128 \t| 768 * 384\t\t| 384 * 192 | conv2|\n|conv3a \t  \t| 5 * 5 | 1 | 128/256 \t| 384 * 192\t\t| 192 * 96 \t| max_pool2|\n|max_pool3 \t| 2 * 2 | 2 | 256/256 \t| 384 * 192\t\t| 192 * 96 \t| conv3a|\n|conv3b \t\t| 3 * 3 | 1 | 256/256\t| 192 * 96\t\t| 192 * 96\t| max_pool3|\n|conv4a \t  \t| 5 * 5 | 1 | 256/512 \t| 192 * 96\t\t| 96 * 48 \t| conv3b|\n|max_pool4 \t| 2 * 2 | 2 | 512/512 \t| 96 * 48\t\t| 96 * 48 \t| conv4a|\n|conv4b \t\t| 3 * 3 | 1 | 512/512\t| 96 * 48\t\t| 96 * 48\t| max_pool4|\n|conv5a \t  \t| 5 * 5 | 1 | 512/512 \t| 96 * 48\t\t| 48 * 24 \t| conv4b|\n|max_pool5 \t| 2 * 2 | 2 | 512/512 \t| 48 * 24\t\t| 48 * 24 \t| conv5a|\n|conv5b \t\t| 3 * 3 | 1 | 512/512\t| 48 * 24\t\t| 48 * 24\t| max_pool5|\n|conv6a \t  \t| 5 * 5 | 1 | 512/512 \t| 48 * 24\t\t| 24 * 12\t| conv5b|\n|max_pool6 \t| 2 * 2 | 2 | 1024/1024 | 24 * 12\t\t| 24 * 12 \t| conv6a|\n|conv6b \t\t| 3 * 3 | 1 | 1024/1024\t| 24 * 12\t\t| 24 * 12\t| max_pool6|\n|pr6 + loss6\t| 3 * 3\t| 1\t| 1024/1\t| 24 * 12\t\t| 24 * 12\t| conv6b|\n\n### Upconvolutional Network\n\n|Name | Kernel | Strides | Channels I/O | Input Resolution | Output Resolution | Input |\n|--- | --- | --- | --- | --- | --- | ---|\n|upconv5\t\t| 4 * 4\t| 2 | 1024/512\t| 24 * 12\t\t| 48 * 24\t| conv6b|\n|iconv5\t\t| 3 * 3\t| 1\t| 1024/512\t| 48 * 24\t\t| 48 * 24\t| upconv5 + conv5b|\n|pr5+loss5\t| 3 * 3 | 1\t| 512/1\t\t| 48 * 24\t\t| 48 * 24\t| iconv5|\n|upconv4\t\t| 4 * 4\t| 2 | 512/256\t| 48 * 24\t\t| 96 * 48\t| iconv5|\n|iconv4\t\t| 3 * 3\t| 1\t| 768/256\t| 96 * 48\t\t| 96 * 48\t| upconv4 + conv4b|\n|pr4+loss4\t| 3 * 3 | 1\t| 512/1\t\t| 96 * 48\t\t| 96 * 48\t| iconv4|\n|upconv3\t\t| 4 * 4\t| 2 | 256/128\t| 96 * 48\t\t| 192 * 96\t| iconv4|\n|iconv3\t\t| 3 * 3\t| 1\t| 384/128\t| 192 * 96\t\t| 192 * 96\t| upconv3 + conv3b|\n|pr3+loss3\t| 3 * 3 | 1\t| 128/1\t\t| 192 * 96\t\t| 192 * 96\t| iconv3|\n|upconv2\t\t| 4 * 4\t| 2 | 128/64\t| 192 * 96\t\t| 384 * 192\t| iconv3|\n|iconv2\t\t| 3 * 3\t| 1\t| 192/64\t| 384 * 192\t\t| 384 * 192\t| upconv2 + conv2|\n|pr2+loss2\t| 3 * 3 | 1\t| 64/1\t\t| 384 * 192\t\t| 384 * 192\t| iconv2|\n|upconv1\t\t| 4 * 4\t| 2 | 64/32\t\t| 384 * 192\t\t| 768 * 384\t| iconv2|\n|iconv1\t\t| 3 * 3\t| 1\t| 96/32\t\t| 768 * 384\t\t| 768 * 384\t| upconv1 + conv1|\n|pr1+loss1\t| 3 * 3 | 1\t| 32/1\t\t| 768 * 384\t\t| 768 * 384\t| iconv1|\n\n## Issues\n* How to input png images:   \n\t* [Solution 1 -- FAIL](https://github.com/tensorflow/models/issues/564):  \n\t```\n\tcontents = ''\n\twith open('path/to/image.jpeg') as f:\n   \t\tcontents = f.read()\n\ttf.image.decode_jpeg(contents) \n\t```\n\n\t* [Solution 2 -- FAIL](http://stackoverflow.com/questions/34340489/tensorflow-read-images-with-labels)\n\t```\n\treader = tf.WholeFileReader(http://stackoverflow.com/questions/34340489/tensorflow-read-images-with-labels)\n  \tkey, value = reader.read(filename_queue)\n  \texample = tf.image.decode_png(value)\n  \t```\n\n  \t* [Solution 3 -- Success](http://stackoverflow.com/questions/34340489/tensorflow-read-images-with-labels)\n  \t```\n  \tfile_contents = tf.read_file(input_queue[0])\n    example = tf.image.decode_png(file_contents, channels=3)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZhijianJiang%2FDispNet-TensorFlow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FZhijianJiang%2FDispNet-TensorFlow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZhijianJiang%2FDispNet-TensorFlow/lists"}