Implementation of our paper 'RESA: Recurrent Feature-Shift Aggregator for Lane Detection' in AAAI2021.

Related tags

Deep Learning resa
Overview

RESA

PyTorch implementation of the paper "RESA: Recurrent Feature-Shift Aggregator for Lane Detection".

Our paper has been accepted by AAAI2021.

Introduction

intro

  • RESA shifts sliced feature map recurrently in vertical and horizontal directions and enables each pixel to gather global information.
  • RESA achieves SOTA results on CULane and Tusimple Dataset.

Get started

  1. Clone the RESA repository

    git clone https://github.com/zjulearning/resa.git
    

    We call this directory as $RESA_ROOT

  2. Create a conda virtual environment and activate it (conda is optional)

    conda create -n resa python=3.8 -y
    conda activate resa
  3. Install dependencies

    # Install pytorch firstly, the cudatoolkit version should be same in your system. (you can also use pip to install pytorch and torchvision)
    conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
    
    # Or you can install via pip
    pip install torch torchvision
    
    # Install python packages
    pip install -r requirements.txt
  4. Data preparation

    Download CULane and Tusimple. Then extract them to $CULANEROOT and $TUSIMPLEROOT. Create link to data directory.

    cd $RESA_ROOT
    mkdir -p data
    ln -s $CULANEROOT data/CULane
    ln -s $TUSIMPLEROOT data/tusimple

    For CULane, you should have structure like this:

    $CULANEROOT/driver_xx_xxframe    # data folders x6
    $CULANEROOT/laneseg_label_w16    # lane segmentation labels
    $CULANEROOT/list                 # data lists
    

    For Tusimple, you should have structure like this:

    $TUSIMPLEROOT/clips # data folders
    $TUSIMPLEROOT/lable_data_xxxx.json # label json file x4
    $TUSIMPLEROOT/test_tasks_0627.json # test tasks json file
    $TUSIMPLEROOT/test_label.json # test label json file
    
    

    For Tusimple, the segmentation annotation is not provided, hence we need to generate segmentation from the json annotation.

    python scripts/generate_seg_tusimple.py --root $TUSIMPLEROOT
    # this will generate seg_label directory
  5. Install CULane evaluation tools.

    This tools requires OpenCV C++. Please follow here to install OpenCV C++. Or just install opencv with command sudo apt-get install libopencv-dev

    Then compile the evaluation tool of CULane.

    cd $RESA_ROOT/runner/evaluator/culane/lane_evaluation
    make
    cd -

    Note that, the default opencv version is 3. If you use opencv2, please modify the OPENCV_VERSION := 3 to OPENCV_VERSION := 2 in the Makefile.

Training

For training, run

python main.py [configs/path_to_your_config] --gpus [gpu_ids]

For example, run

python main.py configs/culane.py --gpus 0 1 2 3

Testing

For testing, run

python main.py c[configs/path_to_your_config] --validate --load_from [path_to_your_model] [gpu_num]

For example, run

python main.py configs/culane.py --validate --load_from culane_resnet50.pth --gpus 0 1 2 3

python main.py configs/tusimple.py --validate --load_from tusimple_resnet34.pth --gpus 0 1 2 3

We provide two trained ResNet models on CULane and Tusimple, downloading our best performed model (Tusimple: GoogleDrive/BaiduDrive(code:s5ii), CULane: GoogleDrive/BaiduDrive(code:rlwj) )

Citation

@misc{zheng2020resa,
      title={RESA: Recurrent Feature-Shift Aggregator for Lane Detection}, 
      author={Tu Zheng and Hao Fang and Yi Zhang and Wenjian Tang and Zheng Yang and Haifeng Liu and Deng Cai},
      year={2020},
      eprint={2008.13719},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}
Comments
  • Inference single custom images

    Inference single custom images

    Hi there, Thanks your code, I want to inference any custom image which is not in Tusimple dataset. The following is my code: import torch import cv2 import torch.nn.functional as F from models.resa import RESANet from utils.config import Config from datasets import build_dataloader from models.registry import build_net

    from PIL import Image import utils.transforms as tf from torch.autograd import Variable from torchvision.utils import save_image import torchvision.transforms as transforms

    loader1 = transforms.Compose([transforms.ToTensor(), transforms.Normalize((103.939, 116.779, 123.68), (1., 1., 1.)), transforms.Resize((368,640)),]) # for tusimple

    def image_loader(image_name): """load image, return cuda tensor""" image = Image.open(image_name) image = loader1(image).float() image = Variable(image, requires_grad=True) image = image.unsqueeze(0) return image.cuda()

    cfg = Config.fromfile('configs/tusimple.py')

    resa = build_net(cfg) resa = torch.nn.parallel.DataParallel( resa, device_ids = range(1)).cuda()

    loader = build_dataloader(cfg.dataset.val, cfg, is_train=False) pretrained_model = torch.load('tusimple_resnet34.pth') resa.load_state_dict(pretrained_model['net'], strict=True)

    x = image_loader('./20.jpg') # 20.jpg is copied from tusimple test datasets

    with torch.no_grad(): out = resa(x) probmap, exist = out['seg'], out['exist'] probmap = F.softmax(probmap, dim=1).squeeze().cpu().numpy() exist = exist.squeeze().cpu().numpy()

    coords = loader.dataset.probmap2lane(probmap, exist)

    img = cv2.imread('./20.jpg') loader.dataset.view(img, coords, './test.png')

    The result is not as good as choose from x = loader.dataset[img_idx]['img'].unsqueeze(0).cuda() Can you help that? thanks so much.

    opened by yirs2001 9
  • Decoder implementation

    Decoder implementation

    @Turoad Great codes!

    Is the best models uploaded for CULane only uses a plain decoder instead of the proposed decoder in the paper? If so, could I ask why? Does the proposed decoder bring no further improvements?

    opened by voldemortX 6
  • image flipping

    image flipping

    Hello, I have a question to ask. I saw that image flipping was used for data enhancement, but the instance label did not change. For example, the left label is 1, 2, 3, and the right label is 4, 5, 6, According to the label definition, when the slope is negative, the label is 1, 2, 3. After flipping, the labels 4, 5, and 6 don't need to become 1, 2, and 3? I don't know if there is a problem with my understanding. I look forward to receiving your reply, thank you!

    opened by lcwcwl 5
  • Aboat compiling Culane evaluation tools

    Aboat compiling Culane evaluation tools

    I always get the following error when I want to compile the evaluation tools using "make" command ############################# CXX src/counter.cpp In file included from include/lane_compare.hpp:4, from include/counter.hpp:4, from src/counter.cpp:8: include/spline.hpp:6:10: fatal error: opencv2/core.hpp: No such file or directory 6 | #include <opencv2/core.hpp> | ^~~~~~~~~~~~~~~~~~ compilation terminated. make: *** [Makefile:40: build/src/counter.o] Error 1 #################################

    Although the Opencv C++ requirements are reinstalled, the mentioned error has always been raised.

    Is there any solution to this error?

    opened by sabadijou 5
  • loss become nan when training culane

    loss become nan when training culane

    There is a problem when I training culane dataset. Loss is very large at begining, and became 1.000 at 3001 step. I don't know why this happened. Could you help me how to slove this problem.

    I just detele validation process when training culane.

    Log as follows: 2021-06-04 17:23:20,933 - resa - INFO - epoch: 0 step: 501 lr: 0.0025 seg_loss: 0.9741 exist_loss: 0.0574 data: 0.0 2021-06-04 17:25:35,022 - resa - INFO - epoch: 0 step: 1001 lr: 0.0050 seg_loss: 0.9215 exist_loss: 0.0538 data: 0. 2021-06-04 17:27:49,330 - resa - INFO - epoch: 0 step: 1501 lr: 0.0074 seg_loss: 0.8975 exist_loss: 0.0536 data: 0. 2021-06-04 17:30:03,792 - resa - INFO - epoch: 0 step: 2001 lr: 0.0099 seg_loss: 0.9029 exist_loss: 0.0558 data: 0. 2021-06-04 17:32:18,565 - resa - INFO - epoch: 0 step: 2501 lr: 0.0123 seg_loss: 0.9990 exist_loss: 0.0552 data: 0. 2021-06-04 17:34:30,550 - resa - INFO - epoch: 0 step: 3001 lr: 0.0147 seg_loss: 1.0000 exist_loss: 0.0562 data: 0. 2021-06-04 17:36:42,521 - resa - INFO - epoch: 0 step: 3501 lr: 0.0171 seg_loss: 1.0000 exist_loss: 0.0559 data: 0. 2021-06-04 17:38:55,629 - resa - INFO - epoch: 0 step: 4001 lr: 0.0195 seg_loss: 1.0000 exist_loss: 0.0549 data: 0. 2021-06-04 17:41:07,304 - resa - INFO - epoch: 0 step: 4501 lr: 0.0218 seg_loss: 1.0000 exist_loss: 0.0545 data: 0. 2021-06-04 17:43:19,887 - resa - INFO - epoch: 0 step: 5001 lr: 0.0242 seg_loss: 1.0000 exist_loss: 0.0572 data: 0. 2021-06-04 17:45:32,259 - resa - INFO - epoch: 0 step: 5501 lr: 0.0241 seg_loss: 1.0000 exist_loss: 0.0560 data: 0. 2021-06-04 17:47:45,136 - resa - INFO - epoch: 0 step: 6001 lr: 0.0240 seg_loss: 1.0000 exist_loss: 0.0572 data: 0. 2021-06-04 17:49:57,754 - resa - INFO - epoch: 0 step: 6501 lr: 0.0239 seg_loss: 1.0000 exist_loss: 0.0528 data: 0. 2021-06-04 17:52:11,383 - resa - INFO - epoch: 0 step: 7001 lr: 0.0238 seg_loss: 1.0000 exist_loss: 0.0566 data: 0. 2021-06-04 17:54:24,219 - resa - INFO - epoch: 0 step: 7501 lr: 0.0237 seg_loss: 1.0000 exist_loss: 0.0565 data: 0. 2021-06-04 17:56:37,749 - resa - INFO - epoch: 0 step: 8001 lr: 0.0236 seg_loss: 1.0000 exist_loss: 0.0520 data: 0. 2021-06-04 17:58:50,918 - resa - INFO - epoch: 0 step: 8501 lr: 0.0236 seg_loss: 1.0000 exist_loss: 0.0554 data: 0. 2021-06-04 18:01:05,131 - resa - INFO - epoch: 0 step: 9001 lr: 0.0235 seg_loss: 1.0000 exist_loss: 0.0578 data: 0. 2021-06-04 18:03:18,808 - resa - INFO - epoch: 0 step: 9501 lr: 0.0234 seg_loss: 1.0000 exist_loss: 0.0551 data: 0. 2021-06-04 18:05:32,230 - resa - INFO - epoch: 0 step: 10001 lr: 0.0233 seg_loss: 1.0000 exist_loss: 0.0547 data: 0 2021-06-04 18:07:45,673 - resa - INFO - epoch: 0 step: 10501 lr: 0.0232 seg_loss: 1.0000 exist_loss: 0.0583 data: 0 2021-06-04 18:09:59,493 - resa - INFO - epoch: 0 step: 11001 lr: 0.0231 seg_loss: 1.0000 exist_loss: 0.0552 data: 0 2021-06-04 18:10:28,531 - resa - INFO - epoch: 0 step: 11110 lr: 0.0231 seg_loss: 1.0000 exist_loss: 0.0582 data: 0 2021-06-04 18:10:29,854 - resa - INFO - epoch: 1 step: 11111 lr: 0.0231 seg_loss: 1.0000 exist_loss: 0.0569 data: 0 2021-06-04 18:12:44,115 - resa - INFO - epoch: 1 step: 11611 lr: 0.0230 seg_loss: 1.0000 exist_loss: 0.0572 data: 0 2021-06-04 18:14:58,217 - resa - INFO - epoch: 1 step: 12111 lr: 0.0229 seg_loss: 1.0000 exist_loss: 0.0521 data: 0 2021-06-04 18:17:13,108 - resa - INFO - epoch: 1 step: 12611 lr: 0.0229 seg_loss: 1.0000 exist_loss: 0.0525 data: 0 2021-06-04 18:19:28,087 - resa - INFO - epoch: 1 step: 13111 lr: 0.0228 seg_loss: 1.0000 exist_loss: 0.0525 data: 0 2021-06-04 18:21:42,435 - resa - INFO - epoch: 1 step: 13611 lr: 0.0227 seg_loss: 1.0000 exist_loss: 0.0548 data: 0 2021-06-04 18:23:57,255 - resa - INFO - epoch: 1 step: 14111 lr: 0.0226 seg_loss: 1.0000 exist_loss: 0.0517 data: 0 2021-06-04 18:26:12,311 - resa - INFO - epoch: 1 step: 14611 lr: 0.0225 seg_loss: 1.0000 exist_loss: 0.0545 data: 0 2021-06-04 18:28:26,983 - resa - INFO - epoch: 1 step: 15111 lr: 0.0224 seg_loss: 1.0000 exist_loss: 0.0541 data: 0 2021-06-04 18:30:42,254 - resa - INFO - epoch: 1 step: 15611 lr: 0.0223 seg_loss: 1.0000 exist_loss: 0.0572 data: 0 2021-06-04 18:32:57,022 - resa - INFO - epoch: 1 step: 16111 lr: 0.0223 seg_loss: 1.0000 exist_loss: 0.0539 data: 0 2021-06-04 18:35:12,342 - resa - INFO - epoch: 1 step: 16611 lr: 0.0222 seg_loss: 1.0000 exist_loss: 0.0523 data: 0 2021-06-04 18:37:26,588 - resa - INFO - epoch: 1 step: 17111 lr: 0.0221 seg_loss: 1.0000 exist_loss: 0.0534 data: 0 2021-06-04 18:39:41,054 - resa - INFO - epoch: 1 step: 17611 lr: 0.0220 seg_loss: 0.9999 exist_loss: 0.0555 data: 0 2021-06-04 18:41:55,410 - resa - INFO - epoch: 1 step: 18111 lr: 0.0219 seg_loss: 1.0000 exist_loss: 0.0558 data: 0 2021-06-04 18:44:09,407 - resa - INFO - epoch: 1 step: 18611 lr: 0.0218 seg_loss: 1.0000 exist_loss: 0.0560 data: 0 2021-06-04 18:46:23,547 - resa - INFO - epoch: 1 step: 19111 lr: 0.0218 seg_loss: 1.0000 exist_loss: 0.0509 data: 0 2021-06-04 18:48:37,960 - resa - INFO - epoch: 1 step: 19611 lr: 0.0217 seg_loss: 1.0000 exist_loss: 0.0538 data: 0 2021-06-04 18:50:52,882 - resa - INFO - epoch: 1 step: 20111 lr: 0.0216 seg_loss: 1.0000 exist_loss: 0.0511 data: 0 2021-06-04 18:53:07,808 - resa - INFO - epoch: 1 step: 20611 lr: 0.0215 seg_loss: 0.9999 exist_loss: 0.0565 data: 0 2021-06-04 18:55:19,656 - resa - INFO - epoch: 1 step: 21111 lr: 0.0214 seg_loss: 1.0000 exist_loss: 0.0548 data: 0 2021-06-04 18:57:31,602 - resa - INFO - epoch: 1 step: 21611 lr: 0.0213 seg_loss: 1.0000 exist_loss: 0.0541 data: 0 2021-06-04 18:59:44,497 - resa - INFO - epoch: 1 step: 22111 lr: 0.0212 seg_loss: 1.0000 exist_loss: 0.0561 data: 0 2021-06-04 19:00:13,252 - resa - INFO - epoch: 1 step: 22220 lr: 0.0212 seg_loss: 1.0000 exist_loss: 0.0573 data: 0 2021-06-04 19:00:14,471 - resa - INFO - epoch: 2 step: 22221 lr: 0.0212 seg_loss: 1.0000 exist_loss: 0.0575 data: 0 2021-06-04 19:02:28,169 - resa - INFO - epoch: 2 step: 22721 lr: 0.0211 seg_loss: 0.9999 exist_loss: 0.0528 data: 0 2021-06-04 19:04:42,306 - resa - INFO - epoch: 2 step: 23221 lr: 0.0210 seg_loss: 1.0000 exist_loss: 0.0573 data: 0 2021-06-04 19:06:56,522 - resa - INFO - epoch: 2 step: 23721 lr: 0.0210 seg_loss: 1.0000 exist_loss: 0.0523 data: 0 2021-06-04 19:09:10,937 - resa - INFO - epoch: 2 step: 24221 lr: 0.0209 seg_loss: 1.0000 exist_loss: 0.0551 data: 0 2021-06-04 19:11:25,091 - resa - INFO - epoch: 2 step: 24721 lr: 0.0208 seg_loss: 1.0000 exist_loss: 0.0555 data: 0 2021-06-04 19:13:39,234 - resa - INFO - epoch: 2 step: 25221 lr: 0.0207 seg_loss: 1.0000 exist_loss: 0.0557 data: 0 2021-06-04 19:15:53,421 - resa - INFO - epoch: 2 step: 25721 lr: 0.0206 seg_loss: 1.0000 exist_loss: 0.0538 data: 0 2021-06-04 19:18:08,001 - resa - INFO - epoch: 2 step: 26221 lr: 0.0205 seg_loss: 1.0000 exist_loss: 0.0580 data: 0 2021-06-04 19:20:22,586 - resa - INFO - epoch: 2 step: 26721 lr: 0.0204 seg_loss: 1.0000 exist_loss: 0.0567 data: 0 2021-06-04 19:22:37,095 - resa - INFO - epoch: 2 step: 27221 lr: 0.0204 seg_loss: 1.0000 exist_loss: 0.0550 data: 0 2021-06-04 19:24:51,392 - resa - INFO - epoch: 2 step: 27721 lr: 0.0203 seg_loss: 1.0000 exist_loss: 0.0547 data: 0 2021-06-04 19:27:05,857 - resa - INFO - epoch: 2 step: 28221 lr: 0.0202 seg_loss: 1.0000 exist_loss: 0.0526 data: 0 2021-06-04 19:29:20,278 - resa - INFO - epoch: 2 step: 28721 lr: 0.0201 seg_loss: 1.0000 exist_loss: 0.0557 data: 0 2021-06-04 19:31:34,059 - resa - INFO - epoch: 2 step: 29221 lr: 0.0200 seg_loss: 1.0000 exist_loss: 0.0525 data: 0 2021-06-04 19:33:47,738 - resa - INFO - epoch: 2 step: 29721 lr: 0.0199 seg_loss: 1.0000 exist_loss: 0.0534 data: 0 2021-06-04 19:36:01,522 - resa - INFO - epoch: 2 step: 30221 lr: 0.0198 seg_loss: 1.0000 exist_loss: 0.0553 data: 0 2021-06-04 19:38:15,620 - resa - INFO - epoch: 2 step: 30721 lr: 0.0197 seg_loss: 1.0000 exist_loss: 0.0551 data: 0 2021-06-04 19:40:30,060 - resa - INFO - epoch: 2 step: 31221 lr: 0.0197 seg_loss: 1.0000 exist_loss: 0.0548 data: 0 2021-06-04 19:42:44,289 - resa - INFO - epoch: 2 step: 31721 lr: 0.0196 seg_loss: 1.0000 exist_loss: 0.0547 data: 0 2021-06-04 19:44:58,634 - resa - INFO - epoch: 2 step: 32221 lr: 0.0195 seg_loss: 1.0000 exist_loss: 0.0527 data: 0 2021-06-04 19:47:11,064 - resa - INFO - epoch: 2 step: 32721 lr: 0.0194 seg_loss: 1.0000 exist_loss: 0.0527 data: 0 2021-06-04 19:49:23,852 - resa - INFO - epoch: 2 step: 33221 lr: 0.0193 seg_loss: 1.0000 exist_loss: 0.0540 data: 0 2021-06-04 19:49:52,867 - resa - INFO - epoch: 2 step: 33330 lr: 0.0193 seg_loss: 1.0000 exist_loss: 0.0565 data: 0 2021-06-04 19:49:54,094 - resa - INFO - epoch: 3 step: 33331 lr: 0.0193 seg_loss: 1.0000 exist_loss: 0.0555 data: 0 2021-06-04 19:52:07,179 - resa - INFO - epoch: 3 step: 33831 lr: 0.0192 seg_loss: 1.0000 exist_loss: 0.0549 data: 0 2021-06-04 19:54:20,207 - resa - INFO - epoch: 3 step: 34331 lr: 0.0191 seg_loss: 1.0000 exist_loss: 0.0500 data: 0 2021-06-04 19:56:33,132 - resa - INFO - epoch: 3 step: 34831 lr: 0.0190 seg_loss: 1.0000 exist_loss: 0.0512 data: 0 2021-06-04 19:58:46,082 - resa - INFO - epoch: 3 step: 35331 lr: 0.0189 seg_loss: 1.0000 exist_loss: 0.0560 data: 0 2021-06-04 20:00:59,093 - resa - INFO - epoch: 3 step: 35831 lr: 0.0189 seg_loss: 1.0000 exist_loss: 0.0498 data: 0 2021-06-04 20:03:12,343 - resa - INFO - epoch: 3 step: 36331 lr: 0.0188 seg_loss: nan exist_loss: nan data: 0.0486 2021-06-04 20:05:26,001 - resa - INFO - epoch: 3 step: 36831 lr: 0.0187 seg_loss: nan exist_loss: nan data: 0.0477 2021-06-04 20:07:39,841 - resa - INFO - epoch: 3 step: 37331 lr: 0.0186 seg_loss: nan exist_loss: nan data: 0.0492 2021-06-04 20:09:53,744 - resa - INFO - epoch: 3 step: 37831 lr: 0.0185 seg_loss: nan exist_loss: nan data: 0.0483 2021-06-04 20:12:08,046 - resa - INFO - epoch: 3 step: 38331 lr: 0.0184 seg_loss: nan exist_loss: nan data: 0.0481 2021-06-04 20:14:22,881 - resa - INFO - epoch: 3 step: 38831 lr: 0.0183 seg_loss: nan exist_loss: nan data: 0.0487 2021-06-04 20:16:36,676 - resa - INFO - epoch: 3 step: 39331 lr: 0.0183 seg_loss: nan exist_loss: nan data: 0.0480 2021-06-04 20:18:50,936 - resa - INFO - epoch: 3 step: 39831 lr: 0.0182 seg_loss: nan exist_loss: nan data: 0.0473 2021-06-04 20:21:03,928 - resa - INFO - epoch: 3 step: 40331 lr: 0.0181 seg_loss: nan exist_loss: nan data: 0.0493

    opened by cchenzhou 5
  • CULane数据集评估

    CULane数据集评估

    您好! 感谢您的贡献。我在B站也看到过您分享的视频。但是在我动手学习您的代码时存在下面问题:

        在_resa/configs/culane.py /_文件中,关于数据集的描述如下:
    

    dataset = dict( train=dict( type='CULane', img_path=dataset_path, data_list='train_gt.txt', ), val=dict( type='CULane', img_path=dataset_path, data_list='test_img.txt', ), test=dict( type='CULane', img_path=dataset_path, data_list='test_img.txt', ) )

    可是在我下载的CULane数据集中不存在_test_img.txt_文件,并且我下载的数据集中没有对测试集ground truth的标注信息。不知道是我下载的数据集有问题吗? 由此导致我无法评估准确率等指标,令我十分困扰。

    十分感谢您的回答!

    opened by wq1148927746 5
  • 关于数据归一化问题

    关于数据归一化问题

    很棒的工作,让人受益匪浅。 但是我在看您代码的过程中发现,对于数据的预处理您做的是标准化而不是归一化,这样是否会比较容易产生梯度爆炸的现象呢,因为我尝试将您的网络和其他网络相接训练,总是会出现训练没多久就变成nan的情况。 另外我看到标准化过程中您用的似乎是imagenet的均值和1的标准差,对于在tusimple和culane上的训练是否会产生影响呢 谢谢

    opened by Lu-Chengyu 3
  • CPU mode

    CPU mode

    Hi There,

    Thanks for sharing the source code. I am trying to run the model on a server without GPU. Does this model support CPU mode? Thanks in advance.

    opened by phylliskaka 3
  • Inference on custom example

    Inference on custom example

    Hi there,

    Thanks for sharing your code!

    I was wondering if you know of any easy way to run inference on a custom sample image (that the user provides)? Or if there's any plan on adding this functionality in the near future, ideally with some kind of way to visualise the output?

    Daniel

    opened by danielcrane 3
  • opencv about lane_evaluation

    opencv about lane_evaluation

    Opencv is installed on my computer, but lane is being compiled_ The following error is reported in the evaluation process. I think it may be that the opencv library is not connected. Do you have any good suggestions? 图片

    opened by onionysy 2
  • PermissionError

    PermissionError

    when running training this error appear PermissionError: [Errno 13] Permission denied: 'C:\Users\Ali\AppData\Local\Temp\tmpst5_0gu5\tmpp7oo0zqw.py'

    and stil the same error when running with adminstration acess any help?

    opened by Aliweka2020 2
  • what does the parameter 'alpha' do  in resa.py

    what does the parameter 'alpha' do in resa.py

    i find the parameter 'alpha' in resa.py, and the parameter is not mentioned in paper. Can you explain what this parameter does? Looking forward to your reply!!! image

    opened by huoguangdiandian 0
  • fp16 training loss=nan

    fp16 training loss=nan

    hi, thank you for your work! I have encountered a problem when I set fp16 training loss is always nan. then i found in resa module, after down, up, right and left feature fusion, the feature value become very large, and many values are larger than 65504, so the actually value becomes inf. How can I achieve mixed precision(fp16) training without losing too much performance?

    opened by ilaij0810 1
  • resnet18

    resnet18

    我仿照resnet34的配置参数,写了resnet18的配置文件,然后用tusimple进行训练,指标是不错的,但是在实际应用中,会出现分类车道线的点出现混乱的现象,或者同一条车道线被分成了两段不同的车道线的情况,哪怕是更改阈值一样会出现这种问题,但是用官方的resnet34就不会出现这样的情况,请问这是什么情况,是resnet18的某些参数和resnet34不一样吗?希望得到回复,谢谢 21_result

    opened by RebornFenix 1
Owner
null
LaneDetectionAndLaneKeeping - Lane Detection And Lane Keeping

LaneDetectionAndLaneKeeping This project is part of my bachelor's thesis. The go

null 5 Jun 27, 2022
Lane assist for ETS2, built with the ultra-fast-lane-detection model.

Euro-Truck-Simulator-2-Lane-Assist Lane assist for ETS2, built with the ultra-fast-lane-detection model. This project was made possible by the amazing

null 36 Jan 5, 2023
Lane follower: Lane-detector (OpenCV) + Object-detector (YOLO5) + CAN-bus

Lane Follower This code is for the lane follower, including perception and control, as shown below. Environment Hardware Industrial Camera Intel-NUC(1

Siqi Fan 3 Jul 7, 2022
Find-Lane-Line - Use openCV library and Python to detect the road-lane-line

Find-Lane-Line This project is to use openCV library and Python to detect the road-lane-line. Data Pipeline Step one : Color Selection Step two : Cann

Kenny Cheng 3 Aug 17, 2022
Implementation for our AAAI2021 paper (Entity Structure Within and Throughout: Modeling Mention Dependencies for Document-Level Relation Extraction).

SSAN Introduction This is the pytorch implementation of the SSAN model (see our AAAI2021 paper: Entity Structure Within and Throughout: Modeling Menti

benfeng 69 Nov 15, 2022
[AAAI2021] The source code for our paper 《Enhancing Unsupervised Video Representation Learning by Decoupling the Scene and the Motion》.

DSM The source code for paper Enhancing Unsupervised Video Representation Learning by Decoupling the Scene and the Motion Project Website; Datasets li

Jinpeng Wang 114 Oct 16, 2022
The code repository for "RCNet: Reverse Feature Pyramid and Cross-scale Shift Network for Object Detection" (ACM MM'21)

RCNet: Reverse Feature Pyramid and Cross-scale Shift Network for Object Detection (ACM MM'21) By Zhuofan Zong, Qianggang Cao, Biao Leng Introduction F

TempleX 9 Jul 30, 2022
The official codes of our CVPR2022 paper: A Differentiable Two-stage Alignment Scheme for Burst Image Reconstruction with Large Shift

TwoStageAlign The official codes of our CVPR2022 paper: A Differentiable Two-stage Alignment Scheme for Burst Image Reconstruction with Large Shift Pa

Shi Guo 32 Dec 15, 2022
Official implementation of "Dynamic Anchor Learning for Arbitrary-Oriented Object Detection" (AAAI2021).

DAL This project hosts the official implementation for our AAAI 2021 paper: Dynamic Anchor Learning for Arbitrary-Oriented Object Detection [arxiv] [c

ming71 215 Nov 28, 2022
Implementation of Bidirectional Recurrent Independent Mechanisms (Learning to Combine Top-Down and Bottom-Up Signals in Recurrent Neural Networks with Attention over Modules)

BRIMs Bidirectional Recurrent Independent Mechanisms Implementation of the paper Learning to Combine Top-Down and Bottom-Up Signals in Recurrent Neura

Sarthak Mittal 26 May 26, 2022
A Data Annotation Tool for Semantic Segmentation, Object Detection and Lane Line Detection.(In Development Stage)

Data-Annotation-Tool How to Run this Tool? To run this software, follow the steps: git clone https://github.com/Autonomous-Car-Project/Data-Annotation

TiVRA AI 13 Aug 18, 2022
Example scripts for the detection of lanes using the ultra fast lane detection model in ONNX.

Example scripts for the detection of lanes using the ultra fast lane detection model in ONNX.

Ibai Gorordo 35 Sep 7, 2022
Example scripts for the detection of lanes using the ultra fast lane detection model in Tensorflow Lite.

TFlite Ultra Fast Lane Detection Inference Example scripts for the detection of lanes using the ultra fast lane detection model in Tensorflow Lite. So

Ibai Gorordo 12 Aug 27, 2022
Code for the IJCAI 2021 paper "Structure Guided Lane Detection"

SGNet Project for the IJCAI 2021 paper "Structure Guided Lane Detection" Abstract Recently, lane detection has made great progress with the rapid deve

Jinming Su 27 Dec 8, 2022
PyTorch implementation of 'Gen-LaneNet: a generalized and scalable approach for 3D lane detection'

(pytorch) Gen-LaneNet: a generalized and scalable approach for 3D lane detection Introduction This is a pytorch implementation of Gen-LaneNet, which p

Yuliang Guo 233 Jan 6, 2023
Source Code for our paper: Understand me, if you refer to Aspect Knowledge: Knowledge-aware Gated Recurrent Memory Network

KaGRMN-DSG_ABSA This repository contains the PyTorch source Code for our paper: Understand me, if you refer to Aspect Knowledge: Knowledge-aware Gated

XingBowen 4 May 20, 2022
The code of “Similarity Reasoning and Filtration for Image-Text Matching” [AAAI2021]

SGRAF PyTorch implementation for AAAI2021 paper of “Similarity Reasoning and Filtration for Image-Text Matching”. It is built on top of the SCAN and C

Ronnie_IIAU 149 Dec 22, 2022
Simple is not Easy: A Simple Strong Baseline for TextVQA and TextCaps[AAAI2021]

Simple is not Easy: A Simple Strong Baseline for TextVQA and TextCaps Here is the code for ssbassline model. We also provide OCR results/features/mode

ZephyrZhuQi 51 Nov 18, 2022
Code for KHGT model, AAAI2021

KHGT Code for KHGT accepted by AAAI2021 Please unzip the data files in Datasets/ first. To run KHGT on Yelp data, use python labcode_yelp.py For Movi

null 32 Nov 29, 2022