Real-time Joint Semantic Reasoning for Autonomous Driving

Overview

MultiNet

MultiNet is able to jointly perform road segmentation, car detection and street classification. The model achieves real-time speed and state-of-the-art performance in segmentation. Check out our paper for a detailed model description.

MultiNet is optimized to perform well at a real-time speed. It has two components: KittiSeg, which sets a new state-of-the art in road segmentation; and KittiBox, which improves over the baseline Faster-RCNN in both inference speed and detection performance.

The model is designed as an encoder-decoder architecture. It utilizes one VGG encoder and several independent decoders for each task. This repository contains generic code that combines several tensorflow models in one network. The code for the individual tasks is provided by the KittiSeg, KittiBox, and KittiClass repositories. These repositories are utilized as submodules in this project. This project is built to be compatible with the TensorVision back end, which allows for organizing experiments in a very clean way.

Requirements

The code requires Python 2.7, Tensorflow 1.0, as well as the following python libraries:

  • matplotlib
  • numpy
  • Pillow
  • scipy
  • runcython
  • commentjson

Those modules can be installed using: pip install numpy scipy pillow matplotlib runcython commentjson or pip install -r requirements.txt.

Setup

  1. Clone this repository: https://github.com/MarvinTeichmann/MultiNet.git
  2. Initialize all submodules: git submodule update --init --recursive
  3. cd submodules/KittiBox/submodules/utils/ && make to build cython code
  4. [Optional] Download Kitti Road Data:
    1. Retrieve kitti data url here: http://www.cvlibs.net/download.php?file=data_road.zip
    2. Call python download_data.py --kitti_url URL_YOU_RETRIEVED
  5. [Optional] Run cd submodules/KittiBox/submodules/KittiObjective2/ && make to build the Kitti evaluation code (see submodules/KittiBox/submodules/KittiObjective2/README.md for more information)

Running the model using demo.py only requires you to perform step 1-3. Step 4 and 5 is only required if you want to train your own model using train.py. Note that I recommend using download_data.py instead of downloading the data yourself. The script will also extract and prepare the data. See Section Manage data storage if you like to control where the data is stored.

To update MultiNet do:
  1. Pull all patches: git pull
  2. Update all submodules: git submodule update --init --recursive

If you forget the second step you might end up with an inconstant repository state. You will already have the new code for MultiNet but run it old submodule versions code. This can work, but I do not run any tests to verify this.

Tutorial

Getting started

Run: python demo.py --gpus 0 --input data/demo/um_000005.png to obtain a prediction using demo.png as input.

Run: python evaluate.py to evaluate a trained model.

Run: python train.py --hypes hypes/multinet2.json to train a multinet2

If you like to understand the code, I would recommend looking at demo.py first. I have documented each step as thoroughly as possible in this file.

Only training of MultiNet3 (joint detection and segmentation) is supported out of the box. The data to train the classification model is not public an those cannot be used to train the full MultiNet3 (detection, segmentation and classification). The full code is given here, so you can still train MultiNet3 if you have your own data.

Manage Data Storage

MultiNet allows to separate data storage from code. This is very useful in many server environments. By default, the data is stored in the folder MultiNet/DATA and the output of runs in MultiNet/RUNS. This behaviour can be changed by setting the bash environment variables: $TV_DIR_DATA and $TV_DIR_RUNS.

Include export TV_DIR_DATA="/MY/LARGE/HDD/DATA" in your .profile and the all data will be downloaded to /MY/LARGE/HDD/DATA/. Include export TV_DIR_RUNS="/MY/LARGE/HDD/RUNS" in your .profile and all runs will be saved to /MY/LARGE/HDD/RUNS/MultiNet

Modifying Model & Train on your own data

The model is controlled by the file hypes/multinet3.json. This file points the code to the implementation of the submodels. The MultiNet code then loads all models provided and integrates the decoders into one neural network. To train on your own data, it should be enough to modify the hype files of the submodels. A good start will be the KittiSeg model, which is very well documented.

    "models": {
        "segmentation" : "../submodules/KittiSeg/hypes/KittiSeg.json",
        "detection" : "../submodules/KittiBox/hypes/kittiBox.json",
        "road" : "../submodules/KittiClass/hypes/KittiClass.json"
    },

RUNDIR and Experiment Organization

MultiNet helps you to organize a large number of experiments. To do so, the output of each run is stored in its own rundir. Each rundir contains:

  • output.log a copy of the training output which was printed to your screen
  • tensorflow events tensorboard can be run in rundir
  • tensorflow checkpoints the trained model can be loaded from rundir
  • [dir] images a folder containing example output images. image_iter controls how often the whole validation set is dumped
  • [dir] model_files A copy of all source code need to build the model. This can be very useful of you have many versions of the model.

To keep track of all the experiments, you can give each rundir a unique name with the --name flag. The --project flag will store the run in a separate subfolder allowing to run different series of experiments. As an example, python train.py --project batch_size_bench --name size_5 will use the following dir as rundir: $TV_DIR_RUNS/KittiSeg/batch_size_bench/size_5_KittiSeg_2017_02_08_13.12.

The flag --nosave is very useful to not spam your rundir.

Useful Flags & Variabels

Here are some Flags which will be useful when working with KittiSeg and TensorVision. All flags are available across all scripts.

--hypes : specify which hype-file to use
--logdir : specify which logdir to use
--gpus : specify on which GPUs to run the code
--name : assign a name to the run
--project : assign a project to the run
--nosave : debug run, logdir will be set to debug

In addition the following TensorVision environment Variables will be useful:

$TV_DIR_DATA: specify meta directory for data
$TV_DIR_RUNS: specify meta directory for output
$TV_USE_GPUS: specify default GPU behaviour.

On a cluster it is useful to set $TV_USE_GPUS=force. This will make the flag --gpus mandatory and ensure, that run will be executed on the right GPU.

Citation

If you benefit from this code, please cite our paper:

@article{teichmann2016multinet,
  title={MultiNet: Real-time Joint Semantic Reasoning for Autonomous Driving},
  author={Teichmann, Marvin and Weber, Michael and Zoellner, Marius and Cipolla, Roberto and Urtasun, Raquel},
  journal={arXiv preprint arXiv:1612.07695},
  year={2016}
}
Comments
  • Data URL not provided

    Data URL not provided

    After I downloaded the data using data_download.py, I got this error when I train the model.

    
    ubuntu@ip-172-30-5-78:~/didicompetetion/Hao/MultiNet$ sudo python train.py --hypes hypes/multinet2.json
    2017-03-21 03:08:13,093 INFO No environment variable 'TV_PLUGIN_DIR' found. Set to '/home/ubuntu/tv-plugins'.
    2017-03-21 03:08:13,093 INFO No environment variable 'TV_STEP_SHOW' found. Set to '50'.
    2017-03-21 03:08:13,093 INFO No environment variable 'TV_STEP_EVAL' found. Set to '250'.
    2017-03-21 03:08:13,093 INFO No environment variable 'TV_STEP_WRITE' found. Set to '1000'.
    2017-03-21 03:08:13,093 INFO No environment variable 'TV_MAX_KEEP' found. Set to '10'.
    2017-03-21 03:08:13,093 INFO No environment variable 'TV_STEP_STR' found. Set to 'Step {step}/{total_steps}: loss = {loss_value:.2f}; lr = {lr_value:.2e}; {sec_per_batch:.3f} sec (per Batch); {examples_per_sec:.1f} imgs/sec'.
    2017-03-21 03:08:13,094 INFO f: <open file 'hypes/multinet2.json', mode 'r' at 0x7fd421d44b70>
    W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
    W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
    W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
    W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
    W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
    W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
    2017-03-21 03:08:13,097 INFO Initialize training folder
    2017-03-21 03:08:13,097 INFO f: <open file u'/home/ubuntu/didicompetetion/Hao/MultiNet/hypes/../submodules/KittiSeg/hypes/KittiSeg.json', mode 'r' at 0x7fd420796540>
    2017-03-21 03:08:13,099 ERROR Data URL for Kitti Data not provided.
    2017-03-21 03:08:13,099 ERROR Please visit: http://www.cvlibs.net/download.php?file=data_road.zip
    2017-03-21 03:08:13,099 ERROR and request Kitti Download link.
    2017-03-21 03:08:13,099 ERROR Enter URL in hypes/kittiSeg.json
    

    I could find the json file, but the Kitti_url is empty, if I put the url retrieved from the step-4, its not working. Any suggestion on it?

    opened by cmuhao 16
  • python demo.py  error

    python demo.py error

    Run command:python demo.py --gpus 0 --input data/demo/um_000005.png

    error info: 2017-03-16 17:08:13,898 INFO f: <open file u'RUNS/MultiNet_pretrained/detection/hypes.json', mode 'r' at 0x7f3579424ed0> Traceback (most recent call last): File "demo.py", line 407, in tf.app.run() File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 43, in run sys.exit(main(sys.argv[:1] + flags_passthrough)) File "demo.py", line 305, in main load_out = load_united_model(logdir) File "demo.py", line 249, in load_united_model postfix=model) File "incl/tensorvision/utils.py", line 213, in load_modules_from_logdir data_input = imp.load_source("input_%s" % postfix, f) File "RUNS/MultiNet_pretrained/detection/data_input.py", line 22, in from utils.data_utils import (annotation_jitter, annotation_to_h5) ImportError: No module named data_utils

    What's wrong with this mistake?

    thanks!

    opened by yghcats 6
  • Some submodules issues

    Some submodules issues

    Hi @MarvinTeichmann

    Thanks for releasing these codes again!

    I found some issues about submodules and report here:

    1. I think you may forget to submit the ref of the submodules, especially TensorVision
    2. The TensorVision's version is not right, so I put kittiseg's tensorvision into this projects Now the train.py could run and I will check the final results.

    Thanks again~

    opened by lbin 6
  • error in Initialize all submodules

    error in Initialize all submodules

    ubuntu@ip-172-30-5-78:~/zdx/MultiNet$ git submodule update --init --recursive fatal: reference is not a tree: 81644b23b22cb192a590543094a4b928a711d3b8 Unable to checkout '81644b23b22cb192a590543094a4b928a711d3b8' in submodule path 'submodules/KittiBox/submodules/TensorVision' fatal: reference is not a tree: 81644b23b22cb192a590543094a4b928a711d3b8 Unable to checkout '81644b23b22cb192a590543094a4b928a711d3b8' in submodule path 'submodules/KittiClass/submodules/TensorVision' fatal: reference is not a tree: 81644b23b22cb192a590543094a4b928a711d3b8 Unable to checkout '81644b23b22cb192a590543094a4b928a711d3b8' in submodule path 'submodules/KittiSeg/submodules/TensorVision' fatal: reference is not a tree: 81644b23b22cb192a590543094a4b928a711d3b8 Failed to recurse into submodule path 'submodules/KittiBox' Failed to recurse into submodule path 'submodules/KittiClass' Failed to recurse into submodule path 'submodules/KittiSeg' Unable to checkout '81644b23b22cb192a590543094a4b928a711d3b8' in submodule path 'submodules/TensorVision'

    opened by zdx3578 5
  • About download_data.py

    About download_data.py

    I use python download_data.py --kitti_url http://www.cvlibs.net/download.php?file=data_road.zip or python download_data.py --kitti_url http://kitti.is.tue.mpg.de/kitti/data_road.zip (http://kitti.is.tue.mpg.de/kitti/data_road.zip is the url i get after email verified) Then i get the error 2017-03-11 22:30:28,331 WARNING File: DATA/vgg16.npy exists. 2017-03-11 22:30:28,331 WARNING Please delete to redownload VGG weights. 2017-03-11 22:30:28,331 ERROR Wrong url. 2017-03-11 22:30:28,331 ERROR Please visit: http://www.cvlibs.net/download.php?file=data_road.zip 2017-03-11 22:30:28,331 ERROR and request Kitti Download link. 2017-03-11 22:30:28,331 ERROR Rerun scipt using'python download_data.py --kitti_url [url]'

    i check the source code in download_data.py, the right url is ended with 'kitti/data_object_image_2.zip'. It is a little confused. How can i get the right url ?

    opened by mingminzhen 5
  • error in train.py ResourceExhaustedError OOM when allocating tensor with shape [1,256,92,309]

    error in train.py ResourceExhaustedError OOM when allocating tensor with shape [1,256,92,309]

    I use python train.py --hypes hypes/multinet2.json script to train a multinet2 model on Kitti dataset. I use a single NVIDIA GTX 1070 GPU with 8GB graphics memory and my computer memory is 16GB. Does somebody know whether my computer has not got enough memory to train a multinet2 model on kitti dataset? If so, how much memory does i need to complete this job.Thanks for replying.

    opened by MaybeShewill-CV 4
  • Using multiple GPU for training

    Using multiple GPU for training

    @MarvinTeichmann I have three GPUs in my system. However, the program is using only one of them. Even though it greedily captures all the memory, it uses the computational power of a single GPU.

    Is there a fix for this?

    opened by debapriyamaji 2
  • Unable to import stitch_wrapper

    Unable to import stitch_wrapper

    Hi,

    I am using python 2.7.13 with pyenv (https://github.com/pyenv/pyenv)

    when I run demo.py

    python demo.py --gpus 1 --input data/demo/um_000005.png
    

    the exceptions

      File "demo.py", line 426, in <module>
        tf.app.run()
      File "/home/tumh/.pyenv/versions/multinet/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 48, in run
        _sys.exit(main(_sys.argv[:1] + flags_passthrough))
      File "demo.py", line 366, in main
        min_conf=0.50, tau=subhypes['detection']['tau'])
      File "/home/tumh/MultiNet/submodules/KittiBox/incl/utils/train_utils.py", line 103, in add_rectangles
        from stitch_wrapper import stitch_rects
    ImportError: /home/tumh/MultiNet/submodules/KittiBox/incl/utils/stitch_wrapper.so: undefined symbol: PyFPE_jbuf
    

    Any idea?

    thanks!

    opened by twmht 2
  • Resource exhausted/ran out of memory trying to allocate while training

    Resource exhausted/ran out of memory trying to allocate while training

    Hi, I am trying to run the train.py code as explained in README file. I am getting the following error.

    $ python train.py --hypes hypes/multinet2.json [I have added parts of the output log relevant here]
    I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties: name: GeForce GTX 980 Ti major: 5 minor: 2 memoryClockRate (GHz) 1.2405 pciBusID 0000:01:00.0 Total memory: 5.93GiB Free memory: 5.70GiB

    W tensorflow/core/common_runtime/bfc_allocator.cc:217] Ran out of memory trying to allocate 245.00MiB. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory is available. W tensorflow/core/common_runtime/bfc_allocator.cc:217] Ran out of memory trying to allocate 278.55MiB. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory is available. W tensorflow/core/common_runtime/bfc_allocator.cc:217] Ran out of memory trying to allocate 4.00MiB. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory is available.

    I tensorflow/core/common_runtime/bfc_allocator.cc:700] Sum Total of in-use chunks: 5.40GiB I tensorflow/core/common_runtime/bfc_allocator.cc:702] Stats: Limit: 5804326912 InUse: 5803421440 MaxInUse: 5803589120 NumAllocs: 719 MaxAllocSize: 1270318592

    _W tensorflow/core/common_runtime/bfc_allocator.cc:274] W tensorflow/core/common_runtime/bfc_allocator.cc:275] Ran out of memory trying to allocate 2.25MiB. See logs for memory state. W tensorflow/core/framework/op_kernel.cc:993] Resource exhausted: OOM when allocating tensor with shape[256,256,3,3] W tensorflow/core/kernels/queue_base.cc:294] _0_Queues_segmentation/fifo_queue: Skipping cancelled enqueue attempt with queue not closed W tensorflow/core/kernels/queue_base.cc:294] 1_Queues_detection/fifo_queue: Skipping cancelled enqueue attempt with queue not closed

    I thought I need to adjust the Batch_Size value in hypes/multinet2.json, but even at a value of 1 the training fails. What could be the reason?

    opened by PSathyaBhat 2
  • When I train the multinet2,there is a problem

    When I train the multinet2,there is a problem

    Hi @MarvinTeichmann

    Thanks for releasing these codes again!

    When I train multinet2 using kitti data by myself ,but there is a problem:

    `W tensorflow/core/kernels/queue_base.cc:294] _1_Queues_detection/fifo_queue: Skipping cancelled enqueue attempt with queue not closed Traceback (most recent call last): File "train.py", line 616, in tf.app.run() File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 48, in run _sys.exit(main(_sys.argv[:1] + flags_passthrough)) File "train.py", line 608, in main tv_sess, start_step=start_step) File "train.py", line 229, in run_united_training sess.run([subgraph[model]['train_op']], feed_dict=feed_dict) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 786, in run run_metadata_ptr) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 994, in _run feed_dict_string, options, run_metadata) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1044, in _do_run target_list, options, run_metadata) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1064, in _do_call raise type(e)(node_def, op, message) tensorflow.python.framework.errors_impl.ResourceExhaustedError: OOM when allocating tensor with shape[512,512,3,3] [[Node: conv4_2_1/Conv2D = Conv2D[T=DT_FLOAT, data_format="NHWC", padding="SAME", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv4_1_1/Relu, conv4_2/filter/read)]] [[Node: training/Adam_1/update/_72 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_7851_training/Adam_1/update", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"]]

    Caused by op u'conv4_2_1/Conv2D', defined at: File "train.py", line 616, in tf.app.run() File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 48, in run _sys.exit(main(_sys.argv[:1] + flags_passthrough)) File "train.py", line 595, in main subhypes, submodules, subgraph, tv_sess = build_united_model(hypes) File "train.py", line 535, in build_united_model first_iter) File "train.py", line 130, in build_training_graph logits = encoder.inference(hypes, image, train=True) File "/home/nextcar/MultiNet/submodules/KittiBox/hypes/../encoder/vgg.py", line 28, in inference random_init_fc8=True) File "/home/nextcar/MultiNet/incl/tensorflow_fcn/fcn8_vgg.py", line 88, in build self.conv4_2 = self._conv_layer(self.conv4_1, "conv4_2") File "/home/nextcar/MultiNet/incl/tensorflow_fcn/fcn8_vgg.py", line 155, in _conv_layer conv = tf.nn.conv2d(bottom, filt, [1, 1, 1, 1], padding='SAME') File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_nn_ops.py", line 416, in conv2d data_format=data_format, name=name) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 768, in apply_op op_def=op_def) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2336, in create_op original_op=self._default_original_op, op_def=op_def) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1228, in init self._traceback = _extract_stack()

    ResourceExhaustedError (see above for traceback): OOM when allocating tensor with shape[512,512,3,3] [[Node: conv4_2_1/Conv2D = Conv2D[T=DT_FLOAT, data_format="NHWC", padding="SAME", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv4_1_1/Relu, conv4_2/filter/read)]] [[Node: training/Adam_1/update/_72 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_7851_training/Adam_1/update", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"]]

    Exception in thread Thread-2: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 754, in run self.__target(*self.__args, **self.__kwargs) File "/home/nextcar/MultiNet/submodules/KittiSeg/hypes/../inputs/kitti_seg_input.py", line 351, in enqueue_loop sess.run(enqueue_op, feed_dict=make_feed(d)) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 786, in run run_metadata_ptr) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 994, in _run feed_dict_string, options, run_metadata) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1044, in _do_run target_list, options, run_metadata) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1064, in _do_call raise type(e)(node_def, op, message) CancelledError: Enqueue operation was cancelled [[Node: fifo_queue_enqueue = QueueEnqueueV2[Tcomponents=[DT_FLOAT, DT_INT32], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](Queues_segmentation/fifo_queue, _recv_Placeholder_2_0, _recv_Placeholder_3_0)]]

    Caused by op u'fifo_queue_enqueue', defined at: File "train.py", line 616, in tf.app.run() File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 48, in run _sys.exit(main(_sys.argv[:1] + flags_passthrough)) File "train.py", line 595, in main subhypes, submodules, subgraph, tv_sess = build_united_model(hypes) File "train.py", line 564, in build_united_model 'train', sess) File "/home/nextcar/MultiNet/submodules/KittiSeg/hypes/../inputs/kitti_seg_input.py", line 353, in start_enqueuing_threads enqueue_op = q.enqueue((image_pl, label_pl)) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/data_flow_ops.py", line 322, in enqueue self._queue_ref, vals, name=scope) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_data_flow_ops.py", line 1587, in _queue_enqueue_v2 name=name) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 768, in apply_op op_def=op_def) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2336, in create_op original_op=self._default_original_op, op_def=op_def) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1228, in init self._traceback = _extract_stack()

    CancelledError (see above for traceback): Enqueue operation was cancelled [[Node: fifo_queue_enqueue = QueueEnqueueV2[Tcomponents=[DT_FLOAT, DT_INT32], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](Queues_segmentation/fifo_queue, _recv_Placeholder_2_0, _recv_Placeholder_3_0)]]

    Exception in thread Thread-3: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 754, in run self.__target(*self.__args, **self.__kwargs) File "/home/nextcar/MultiNet/submodules/KittiBox/hypes/../inputs/kitti_input.py", line 230, in thread_loop sess.run(enqueue_op, feed_dict=make_feed(d)) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 786, in run run_metadata_ptr) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 994, in _run feed_dict_string, options, run_metadata) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1044, in _do_run target_list, options, run_metadata) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1064, in _do_call raise type(e)(node_def, op, message) CancelledError: Enqueue operation was cancelled [[Node: fifo_queue_enqueue_1 = QueueEnqueueV2[Tcomponents=[DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](Queues_detection/fifo_queue, _recv_Placeholder_4_0, _recv_Placeholder_5_0, _recv_Placeholder_6_0, _recv_Placeholder_7_0)]]

    Caused by op u'fifo_queue_enqueue_1', defined at: File "train.py", line 616, in tf.app.run() File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 48, in run _sys.exit(main(_sys.argv[:1] + flags_passthrough)) File "train.py", line 595, in main subhypes, submodules, subgraph, tv_sess = build_united_model(hypes) File "train.py", line 564, in build_united_model 'train', sess) File "/home/nextcar/MultiNet/submodules/KittiBox/hypes/../inputs/kitti_input.py", line 220, in start_enqueuing_threads enqueue_op = q.enqueue((x_in, confs_in, boxes_in, mask_in)) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/data_flow_ops.py", line 322, in enqueue self._queue_ref, vals, name=scope) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_data_flow_ops.py", line 1587, in _queue_enqueue_v2 name=name) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 768, in apply_op op_def=op_def) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2336, in create_op original_op=self._default_original_op, op_def=op_def) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1228, in init self._traceback = _extract_stack()

    CancelledError (see above for traceback): Enqueue operation was cancelled [[Node: fifo_queue_enqueue_1 = QueueEnqueueV2[Tcomponents=[DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](Queues_detection/fifo_queue, _recv_Placeholder_4_0, _recv_Placeholder_5_0, _recv_Placeholder_6_0, _recv_Placeholder_7_0)]]`

    I don't know how to solve it. Could you tell me the reason is?

    Thank you!

    opened by 1120651074 2
  • The ftp link to download the vgg16.npy file isn't accessible

    The ftp link to download the vgg16.npy file isn't accessible

    The FTP link seems to be broken at this time. Where else can we download it from? The only other download link I found is a mega.nz link, which our firewall won't allow me to access.

    opened by mseals1 1
  • /bin/bash: makecython++:command not found

    /bin/bash: makecython++:command not found

    command: cd submodules/KittiBox/submodules/utils/ && make error: makecython++ stitch_wrapper.pyx "" "stitch_rects.cpp ./hungarian/hungarian.cpp" /bin/bash: makecython++: command not found Makefile:5: recipe for target 'all' failed make: *** [all] Error 127 environment: python2.7 MultiNet/submodules/KittiBox/submodules/utils makefile: SHELL := /bin/bash

    .PHONY: all all: pip install runcython makecython++ stitch_wrapper.pyx "" "stitch_rects.cpp ./hungarian/hungarian.cpp"

    opened by sxy2021 0
  • trained  model

    trained model

    Thank you for your open source!Now i need use your trained model to test my image,but your trained model in here can't download.So please tell me what can i do.Thanks again.

    opened by prretty 1
  • terminate called after throwing an instance of 'std::bad_alloc'

    terminate called after throwing an instance of 'std::bad_alloc'

    when i run the train.py terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc i run the code on the cpu ubuntu18.04 can you help me solve the problem

    opened by panlanlan 0
Owner
Marvin Teichmann
Germany Phd student. Working on Deep Learning and Computer Vision projects.
Marvin Teichmann
Unofficial PyTorch implementation of "RTM3D: Real-time Monocular 3D Detection from Object Keypoints for Autonomous Driving" (ECCV 2020)

RTM3D-PyTorch The PyTorch Implementation of the paper: RTM3D: Real-time Monocular 3D Detection from Object Keypoints for Autonomous Driving (ECCV 2020

Nguyen Mau Dzung 271 Nov 29, 2022
Code for the AAAI-2022 paper: Imagine by Reasoning: A Reasoning-Based Implicit Semantic Data Augmentation for Long-Tailed Classification

Imagine by Reasoning: A Reasoning-Based Implicit Semantic Data Augmentation for Long-Tailed Classification (AAAI 2022) Prerequisite PyTorch >= 1.2.0 P

null 16 Dec 14, 2022
Uncertainty-aware Semantic Segmentation of LiDAR Point Clouds for Autonomous Driving

SalsaNext: Fast, Uncertainty-aware Semantic Segmentation of LiDAR Point Clouds for Autonomous Driving Abstract In this paper, we introduce SalsaNext f

null 308 Jan 4, 2023
Code repository for Semantic Terrain Classification for Off-Road Autonomous Driving

BEVNet Datasets Datasets should be put inside data/. For example, data/semantic_kitti_4class_100x100. Training BEVNet-S Example: cd experiments bash t

(Brian) JoonHo Lee 24 Dec 12, 2022
Repository to run object detection on a model trained on an autonomous driving dataset.

Autonomous Driving Object Detection on the Raspberry Pi 4 Description of Repository This repository contains code and instructions to configure the ne

Ethan 51 Nov 17, 2022
Official Repo for Ground-aware Monocular 3D Object Detection for Autonomous Driving

Visual 3D Detection Package: This repo aims to provide flexible and reproducible visual 3D detection on KITTI dataset. We expect scripts starting from

Yuxuan Liu 305 Dec 19, 2022
[arXiv] What-If Motion Prediction for Autonomous Driving ❓🚗💨

WIMP - What If Motion Predictor Reference PyTorch Implementation for What If Motion Prediction [PDF] [Dynamic Visualizations] Setup Requirements The W

William Qi 96 Dec 29, 2022
[CVPR'21] Multi-Modal Fusion Transformer for End-to-End Autonomous Driving

TransFuser This repository contains the code for the CVPR 2021 paper Multi-Modal Fusion Transformer for End-to-End Autonomous Driving. If you find our

null 695 Jan 5, 2023
One Million Scenes for Autonomous Driving

ONCE Benchmark This is a reproduced benchmark for 3D object detection on the ONCE (One Million Scenes) dataset. The code is mainly based on OpenPCDet.

null 148 Dec 28, 2022
[ICCV'21] NEAT: Neural Attention Fields for End-to-End Autonomous Driving

NEAT: Neural Attention Fields for End-to-End Autonomous Driving Paper | Supplementary | Video | Poster | Blog This repository is for the ICCV 2021 pap

null 254 Jan 2, 2023
This solves the autonomous driving issue which is supported by deep learning technology. Given a video, it splits into images and predicts the angle of turning for each frame.

Self Driving Car An autonomous car (also known as a driverless car, self-driving car, and robotic car) is a vehicle that is capable of sensing its env

Sagor Saha 4 Sep 4, 2021
Self-Supervised Pillar Motion Learning for Autonomous Driving (CVPR 2021)

Self-Supervised Pillar Motion Learning for Autonomous Driving Chenxu Luo, Xiaodong Yang, Alan Yuille Self-Supervised Pillar Motion Learning for Autono

QCraft 101 Dec 5, 2022
Graph Self-Attention Network for Learning Spatial-Temporal Interaction Representation in Autonomous Driving

GSAN Introduction Code for paper GSAN: Graph Self-Attention Network for Learning Spatial-Temporal Interaction Representation in Autonomous Driving, wh

YE Luyao 6 Oct 27, 2022
(CVPR 2022) A minimalistic mapless end-to-end stack for joint perception, prediction, planning and control for self driving.

LAV Learning from All Vehicles Dian Chen, Philipp Krähenbühl CVPR 2022 (also arXiV 2203.11934) This repo contains code for paper Learning from all veh

Dian Chen 300 Dec 15, 2022
Real-Time-Student-Attendence-System - Real Time Student Attendence System

Real-Time-Student-Attendence-System The Student Attendance Management System Pro

Rounak Das 1 Feb 15, 2022
A framework for joint super-resolution and image synthesis, without requiring real training data

SynthSR This repository contains code to train a Convolutional Neural Network (CNN) for Super-resolution (SR), or joint SR and data synthesis. The met

null 83 Jan 1, 2023
joint detection and semantic segmentation, based on ultralytics/yolov5,

Multi YOLO V5——Detection and Semantic Segmentation Overeview This is my undergraduate graduation project which based on ultralytics YOLO V5 tag v5.0.

null 477 Jan 6, 2023
An official implementation of "Exploiting a Joint Embedding Space for Generalized Zero-Shot Semantic Segmentation" (ICCV 2021) in PyTorch.

Exploiting a Joint Embedding Space for Generalized Zero-Shot Semantic Segmentation This is an official implementation of the paper "Exploiting a Joint

CV Lab @ Yonsei University 35 Oct 26, 2022
Cerberus Transformer: Joint Semantic, Affordance and Attribute Parsing

Cerberus Transformer: Joint Semantic, Affordance and Attribute Parsing Paper Introduction Multi-task indoor scene understanding is widely considered a

null 62 Dec 5, 2022