GithubHelp home page GithubHelp logo

voldemortx / pytorch-auto-drive Goto Github PK

View Code? Open in Web Editor NEW
791.0 9.0 135.0 4.97 MB

PytorchAutoDrive: Segmentation models (ERFNet, ENet, DeepLab, FCN...) and Lane detection models (SCNN, RESA, LSTR, LaneATT, BézierLaneNet...) based on PyTorch with fast training, visualization, benchmarking & deployment help

License: BSD 3-Clause "New" or "Revised" License

Python 92.09% Shell 4.61% Makefile 0.14% C++ 2.47% Cuda 0.70%
fcn semantic-segmentation tensorboard apex deeplab pytorch cityscapes pascal-voc erfnet lane-detection

pytorch-auto-drive's Introduction

PytorchAutoDrive: Framework for self-driving perception

PytorchAutoDrive is a pure Python framework includes semantic segmentation models, lane detection models based on PyTorch. Here we provide full stack supports from research (model training, testing, fair benchmarking by simply writing configs) to application (visualization, model deployment).

Paper: Rethinking Efficient Lane Detection via Curve Modeling (CVPR 2022)

Poster: PytorchAutoDrive: Toolkit & Fair Benchmark for Autonomous Driving Research (PyTorch Developer Day 2021)

This repository is under active development, results with models uploaded are stable. For legacy code users, please check deprecations for changes.

A demo video from ERFNet:

demo_3.0.mp4

Highlights

Various methods on a wide range of backbones, config based implementations, modulated and easily understood codes, image/keypoint loading, transformations and visualizations, mixed precision training, tensorboard logging and deployment support with ONNX and TensorRT.

Models from this repo are faster to train (single card trainable) and often have better performance than other implementations, see wiki for reasons and technical specification of models.

Supported datasets:

Task Dataset
semantic segmentation PASCAL VOC 2012
semantic segmentation Cityscapes
semantic segmentation GTAV*
semantic segmentation SYNTHIA*
lane detection CULane
lane detection TuSimple
lane detection LLAMAS
lane detection BDD100K (In progress)

* The UDA baseline setup, with Cityscapes val set as validation.

Supported models:

Task Backbone Model/Method
semantic segmentation ResNet-101 FCN
semantic segmentation ResNet-101 DeeplabV2
semantic segmentation ResNet-101 DeeplabV3
semantic segmentation - ENet
semantic segmentation - ERFNet
lane detection ENet, ERFNet, VGG16, ResNets (18, 34, 50, 101), MobileNets (V2, V3-Large), RepVGGs (A0, A1, B0, B1g2, B2), Swin (Tiny) Baseline
lane detection ERFNet, VGG16, ResNets (18, 34, 50, 101), RepVGGs (A1) SCNN
lane detection ResNets (18, 34, 50, 101), MobileNets (V2, V3-Large), ERFNet RESA
lane detection ERFNet, ENet SAD (Postponed)
lane detection ERFNet PRNet (In progress)
lane detection ResNets (18, 34, 50, 101), ResNet18-reduced LSTR
lane detection ResNets (18, 34) LaneATT
lane detection ResNets (18, 34) BézierLaneNet

Model Zoo

We provide solid results (average/best/detailed), training time, shell scripts and trained models available for download in MODEL_ZOO.md.

Installation

Please prepare the environment and code with INSTALL.md. Then follow the instructions in DATASET.md to set up datasets.

Getting Started

Get started with LANEDETECTION.md for lane detection.

Get started with SEGMENTATION.md for semantic segmentation.

Visualization Tools

Refer to VISUALIZATION.md for a visualization & inference tutorial, for image and video inputs.

Benchmark Tools

Refer to BENCHMARK.md for a benchmarking tutorial, including FPS test, FLOPs & memory count for each supported model.

Deployment

Refer to DEPLOY.md for ONNX and TensorRT deployment supports.

Advanced Tutorial

Checkout ADVANCED_TUTORIAL.md for advanced use cases and how to code in PytorchAutoDrive.

Contributing

Refer to CONTRIBUTING.md for contribution guides.

Citation

If you feel this framework substantially helped your research or you want a reference when using our results, please cite the following paper that made the official release of PytorchAutoDrive:

@inproceedings{feng2022rethinking,
  title={Rethinking efficient lane detection via curve modeling},
  author={Feng, Zhengyang and Guo, Shaohua and Tan, Xin and Xu, Ke and Wang, Min and Ma, Lizhuang},
  booktitle={Computer Vision and Pattern Recognition},
  year={2022}
}

Credits:

PytorchAutoDrive is maintained by Zhengyang Feng (voldemortX) and Shaohua Guo (cedricgsh).

Contributors (GitHub ID): kalkun, LittleJohnKhan, francis0407, PannenetsF, bjzhb666

People who sponsored us (e.g., with hardware): Lizhuang Ma, Xin Tan, Junshu Tang (junshutang), Fengqi Liu (FengqiLiu1221)

pytorch-auto-drive's People

Contributors

bjzhb666 avatar cedricgsh avatar francis0407 avatar kalkun avatar littlejohnkhan avatar pannenetsf avatar voldemortx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pytorch-auto-drive's Issues

How can we Inference the BezierLaneNet model on a custom Video?

I am also working on using parametric curves for Lane Detection.
I came across your paper. Really liked it!
I wanted to test this Repo on a custom Video but the code base seems to be a bit confusing for BezierLaneNet. :(
Again, I am very comfortable in Pytorch but then I saw that you also used mmcv for some part of the code - "DCN_v2_Ref" in feature_flip_fusion.py.

Why is the BN layer not added before the softmax function?

Hello:
pytorch-auto-drive/torchvision_models/common_models.py 341 line: output = F.softmax(output, dim=1)。

Hello, why didn't you add the BN layer before the softmax function? In addition, does this "class EDLaneExist(nn.Module) " have any optimization space when the maximum number of lanes exceeds 6?

关于UFLD模型

您好,请问您提供的ufld模型可以训练culane数据集吗?没有看到关于culane的配置文件。您训练过吗,是否正常?我用原作者提供的代码,训练culane数据集得到权重,用训练的权重做测试,生成的lines.txt都是空的。谢谢您。

sad code

When will the sad code go online,pls~ths

Questions about the number of lanes

In opensource datasets, there are some limits about the maximum number of lanes.(Tusimple is 5, CULane is 4...)

When I train the lanedetection algorithm on my datasets, I have preprocessed my data annotation format as same as Tusimple format, but my maximum number of lanes is larger than 5 (maybe 8 or 9). What will happen if I directly use your codebase to train on my dataset without any modification?

If I need to modify some codes to fit my number of lanes, can you tell me where should I modify?

Thanks a lot :)

demo/inference code?

Do you plan to provide demo code on external input (not-a-dataset)?
Test-only, on image and/or video?

lstr demo

does there a demo visualize of lstr model on tusimple or culane?

train

when i train
i meet a problem

image
image

I saw on the Internet that it may be a multi-threaded problem. I had encountered this situation before I could only run one round. Later, I changed the number of workers to 1. Now I ran three rounds and encountered this problem again.

i'm confused about this question. thank you for your help!

unfind bezier_labels

FileNotFoundError: [Errno 2] No such file or directory: 'xxx/CULane/bezier_labels/train_3.json'

How to improve the accuracy of lane detection model?

Hello. Can the RESA method use erfnet as the backbone? In addition to increasing the input size of the model, can SCNN or RESA use some techniques to improve the accuracy?
At present, it is found that the generalization performance of these methods is not good, and it feels that the model does not know what lane line is.

about dataset

In the code, I see that in the evaluation of the recognition results,use these two json files:
../../output/erfnet_baseline_tusimple.json & /home/data/Tusimple/test_label.json

I would like to ask you if I want to evaluate my dataset, do I also need to generate json files in this format. This file contains lanes, H_ samples,raw_ file. I've been looking for many websites these two days, but I haven't found a way to generate this JSON file.

If I want to use your method to train and evaluate my data set, is there any other method?

thankYou !!

tusimple視覺可視化問題

您好 想請問一下
如何將tusimple test完後json檔修改為culane的格式
tusimple json 檔,內含h_samples、lanes、run_time、raw_file,若要可視化是不是只能改成像測試檔案一樣,單一圖片只有lanes的json檔

TensorRT

What should I do after generating the TensorRT model?

How to generate segmentation labels for tusimple data?

Hello,
How to generate segmentation labels for tusimple data?Because of the self generated label training, the accuracy ACC is very low, only 0.665. Use:python main_landec.py --epochs=50 --lr=0.2 --batch-size=20 --dataset=tusimple --method=scnn --backbone=erfnet --mixed-precision --exp-name=erfnet_scnn_tusimple. Only segmentation labels are different. Is there a problem? Hope to provide some help?

error:from utils import datasets

when i read the code ,i get some codes in utils>runners>base.py from about lines 80

    def get_dataset_statics(self, dataset, map_dataset_statics, exist_ok=False):
        assert hasattr(self, '_cfg')
        if map_dataset_statics is not None:
            for k in map_dataset_statics:
                if exist_ok and k in self._cfg.keys():
                    continue
                if isinstance(dataset, str):
                    from utils import datasets
                    attr = getattr(datasets.__dict__[dataset], k)
                else:
                    attr = getattr(dataset, k)
                self._cfg[k] = attr

i want to see datasets.__dict__ so i write a py file in the same directory as base.py.

from utils import datasets
dict=datasets.__dict__
print(dict)

output:

/home/swx/.conda/envs/pad/bin/python /home/swx/pytorch-auto-drive-master/utils/runners/temp.py
Traceback (most recent call last):
  File "/home/swx/pytorch-auto-drive-master/utils/runners/temp.py", line 2, in <module>
    from utils import datasets
ModuleNotFoundError: No module named 'utils'

I tried to change the code to:

import sys
import os
sys.path.append(os.path.join(os.getcwd()))
from utils import datasets
dict=datasets.__dict__
data=datasets
print(dict)

and there is no error like :ModuleNotFoundError: No module named 'utils' anymore. I don't know if this is a bug or if I misunderstood.

In addition, I would appreciate it if I could get the function's action of get_dataset_statics

Validation results for CULane

Hello, first things first, nice job on the project.

I managed to replicate the TEST results from the repos. I downloaded trained models then tested them and got good results.
However, for validation of CULane I get bad results. I saw that a guy had a simillar problem but I couldnt solve it like he did.

So my base CULane dataset is at "/home/grgur/CULane/" and I have all the needed files.
In my output folder there is 3 driver directories that were generated by the test and they contain the .txt files.
The output folder should be located at /home/grgur/pytorch-auto-drive/tools/culane_evaluation so the relative path for detect_dir should be okay.

Its probably a pathing problem but I cant see it.

Here is my output:
`>(voldemort) grgur@MCS90:~/pytorch-auto-drive$ ./autotest_culane.sh resnet34_scnn_culane val checkpoints
experiment name: resnet34_scnn_culane
status: val
save dir: checkpoints
------------Configuration---------
anno_dir: /home/grgur/CULane/
detect_dir: ../../output/
im_dir: /home/grgur/CULane/
list_im_file: /home/grgur/CULane/list/val.txt
width_lane: 30
iou_threshold: 0.5
im_width: 1640
im_height: 590

Evaluating the results...
tp: 0 fp: 0 fn: 32682
no positive detection
finished process file
precision: -1
recall: 0
Fmeasure: 0
------------`

For my eval_validation file its
#!/bin/bash
root=../../
data_dir=/home/grgur/CULane/
exp=$1
detect_dir=../../output/

These can not be changed

w_lane=30;
iou=0.5; # Set iou to 0.3 or 0.5
im_w=1640
im_h=590
frame=1
list=${data_dir}list/val.txt
out=./output/${exp}_iou${iou}_validation.txt
./evaluate -a $data_dir -d $detect_dir -i $data_dir -l $list -w $w_lane -t $iou -c $im_w -r $im_h -f $frame -o $out

if ! [ -z "$2" ]
then
mkdir -p ../../${2}/${1}
cp ${out} ../../${2}/${1}/val_result.txt
fi

Resa Resnet50 (CuLane) Visualization Error

Thanks for your good work! It helps me very much in trying out different lane detection methods.

I downloaded resnet50_resa_culane_20211016.pt from the model zoo and tried to use it to visualize lane detection results on my video, but I got the following error:
image

And here is the command I used:
python visualize_lane.py --image-path=baijiahu_1640x590.avi --save-path=resa_baijiahu_1640x590.avi --method=resa --backbone=resnet50 --dataset=culane --continue-from=resnet50_resa_culane_20211016.pt

Would you please help me figure this out? Thank you!

Visualization for the LLAMAS dataset

Hello. its me again.

I managed to visualize data for the CULane and TuSimple dataset. However I ran into trouble trying to do so for the LLAMAS dataset.

First thing I did is python main_landet.py --test --config=configs/lane_detection/scnn/vgg16_llamas.py --mixed-precision using a pretrained model. It generated the test folder in the output file which contains 2 folders (one is "images-2014-12-22-13-22-35_mapping_280S_2nd_lane") and inside of it there are .txt files with the predicted lane points (1419283522_0012893000.lines.txt).

I understand that it is the CULane format and to generate visualization images I should be able to do it like with CULane.
So I ran this,
python tools/vis/lane_img_dir.py --image-path=/home/grgur/LLAMAS/color_images/test/images-2014-12-22-13-22-35_mapping_280S_2nd_lane --keypoint-path=/home/grgur/pytorch-auto-drive/output/test/images-2014-12-22-13-22-35_mapping_280S_2nd_lane --image-suffix=.png --keypoint-suffix=.lines.txt --save-path=PAD_test_images/lane_test_images/LLAMAS_res/vgg16_llamas --config=/home/grgur/pytorch-auto-drive/configs/lane_detection/scnn/vgg16_llamas.py

And the error is
FileNotFoundError: [Errno 2] No such file or directory: '/home/grgur/pytorch-auto-drive/output/test/images-2014-12-22-13-22-35_mapping_280S_2nd_lane/1419283522_0012893000_color_rect.lines.txt'

The error itself is pretty straightforward. The names of the generated .txt files do not end with color_rect but only with lines.
However, thats the way they are generated. I tried to change the name and add "rect_lines" to the generated .txt files in the output folder and ran the script again. The error then would be the next file in the folder. So the generated names of the output txt files dont add up to the required.

Any thoughts?

test result

the step 2:
predict and save lanes
python main_landec.py --state= \ # 2: test set; 3: validation set
--continue-from=<path to .pt file>
--dataset= \
--method=
--backbone= \
--batch-size= \ # Recommend 80
--mixed-precision # Enable mixed precision
i run it without any return. where the result save? ths

Deprecations

20210426: 5 lane detection model weights are deprecated, along with all TuSimple test results, refer to #13 for details.

20211130: Multiple API deprecations from refactoring, no model performance is concerned, refer to #45 for details.

20220305: LSTR CULane prediction threshold changed to align with BézierLaneNet, only 2 results are deprecated, not the model weights. Refer to #60 for details.

inplace operation error

when I tested RESA with resnet50, error occurred. Then I tested SCNN resnet50, same issue

python main_landet.py --train --config=./configs/lane_detection/resa/resnet50_culane.py --mixed-precision
Loaded torchvision ImageNet pre-trained weights V1.
Not using distributed mode
cuda
Traceback (most recent call last):
File "main_landet.py", line 65, in
runner.run()
File "/home/aaa/pytorch-auto-drive-master/utils/runners/lane_det_trainer.py", line 55, in run
scaler.scale(loss).backward()
File "/home/aaa/.local/lib/python3.8/site-packages/torch/_tensor.py", line 307, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs)
File "/home/aaa/.local/lib/python3.8/site-packages/torch/autograd/init.py", line 154, in backward
Variable._execution_engine.run_backward(
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.HalfTensor [5, 128, 36, 100]], which is output 0 of ReluBackward0, is at version 20; expected version 0 instead. Hint: enable anomaly detection to find the operation that failed to compute its gradient, with torch.autograd.set_detect_anomaly(True).

A question

Do you know if there is a dataset which has lane marking annotations on the semantic segmentation datasets(for example, Cityscapes)?

Evaluate with official scripts. openCV bug

(scnn2) zzj@zzj-OMEN-25L-Desktop-GT12-1xxx:/mnt/data/pycharmmm/pytorch-auto-drive/tools/culane_evaluation$ make
CXX src/evaluate.cpp
In file included from include/lane_compare.hpp:4:0,
from include/counter.hpp:4,
from src/evaluate.cpp:8:
include/spline.hpp:6:10: fatal error: opencv2/core/core.hpp: No such file or directory
#include <opencv2/core/core.hpp>
^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:40:build/src/evaluate.o] error

i have install requirement.txt with opencv-python. do i need to install other opencv?

Running error

Hello, I trained with my own dataset, and the following error occurred: Target size (torch.Size([20, 4])) must be the same as input size (torch.Size([20, 6])). How should I solve the above problems. thank you!

Evaluation mode config

Hello,
Could you please share your config that can record best model during training? it seems the mode is closed due to 'get validation set ' function always return None

TensorRT support

A tracker for TensorRT support.

Current aim: A TensorRT FPS benchmark for all methods.

Problem with installation of CULanes dataset

Hello,
I have a problem with the installation of the CULanes dataset.
When i do the "make" command, i have an "error opencv2/core/core.hpp : No such file or directory".
I have all the libraries on my computer but i am not using conda.
Can someone help me ?

Question about the existence of lanes in tusimple and culane dataset

The original dataset just supplies the coordinates of lane points. I wonder how we can determine which lane exists. I currently focus on another dataset which just have lane points info. Maybe I should relabel the existence info by myself or is there an another method to quickly identify the which lane existence and add the info into the train.txt?

error when visualizing the lane points (ModuleNotFoundError: No module named 'configs.lane_detection')

when I tried this:
python tools/vis/lane_img_dir.py --image-path=test_image/culane --keypoint-path=test_image/culane --image-suffix=.jpg --keypoint-suffix=.lines.txt --save-path=test_image/culane/culane_res --config=configs/lane_detection/bezierlanenet/resnet34_culane_aug1b.py

obtaning this error:
Traceback (most recent call last):
File "/home/liujianwei/project/opensource/pytorch-auto-drive/tools/vis/lane_img_dir.py", line 72, in
cfg = read_config(args.config)
File "/home/liujianwei/project/opensource/pytorch-auto-drive/utils/args.py", line 57, in read_config
module = SourceFileLoader(module_name, config_path).load_module()
File "", line 529, in _check_name_wrapper
File "", line 1029, in load_module
File "", line 854, in load_module
File "", line 274, in _load_module_shim
File "", line 711, in _load
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "configs/lane_detection/bezierlanenet/resnet34_culane_aug1b.py", line 2, in
from configs.lane_detection.common.datasets.culane_bezier import dataset
ModuleNotFoundError: No module named 'configs.lane_detection'

PS: when I run the main_lanedet.py to test, it works.

How to generate segmentation labels for tusimple data?

Hello,
How to generate segmentation labels for tusimple data?Because of the self generated label training, the accuracy ACC is very low, only 0.665. Use:python main_landec.py --epochs=50 --lr=0.2 --batch-size=20 --dataset=tusimple --method=scnn --backbone=erfnet --mixed-precision --exp-name=erfnet_scnn_tusimple. Only segmentation labels are different. Is there a problem? Hope to provide some help?

Changing the TuSimple output format to CULane format

Hello, I know this is not a part of your project, but I hit a deadend with my paper and I cant find the solution.

The papers is about taking 3 different datasets, in my case (Tusimple, CULane and LLAMAS) and using different models to test them, get the output and visualize. Then I have to use the same pretrained model (trained on TuSimple) and test it on the test set of CULane for example and vice versa.

The problem is the output format. LLAMAS (you already adjusted it to CULane format) and CULane use the .txt format so It shouldnt be a problem. However TuSimple has this specific format that they use with the .json file.

I want to know is there a way, a script, to reformat the .json TuSimple output format to that of CULane.
If I had all the outputs in the same CULane format it would be easier for me to test a model trained on TuSimple and test it on CULane.

Sorry If I am nagging you, your repo is the main building block of my paper.

Saved models for segmentation

Thanks for implementing all the models in one place. This is so helpful.

I am trying to do inference for segmentation using these models. But, I could not see any link for the trained model. Is there a possibility to share saved models for segmentation also?

numpy.linalg.LinAlgError: SVD did not converge

Thanks for the awesome bezier lane detection work.
When i use the fcns.get_control_points to generate my own control points, i got the problem "numpy.linalg.LinAlgError: SVD did not converge", do you know the reason? Waiting for your reply, thanks!

Link to my repo request!

Hi, Zhengyang, I'm so glad to read the paper, excellent work here~, and btw, I wondering if you could add a little link to my BezierLaneNet repo, though out-of-date, it can also serve as complementary material, thx:smile:

Realtime lane detection

I want to apply model inferences and lanes into frames that comes from camera. And I don't really like your configs 'curse'. I don't know if it's just me but whole stuff is so complex.

AttributeError: 'tuple' object has no attribute 'to'

when I use the argument(val-num-steps), the error occurred(AttributeError: 'tuple' object has no attribute 'to').
The full command is as follow:
python main_landec.py --epochs=50 --lr=0.2 --batch-size=4 --dataset=tusimple --method=baseline --backbone=erfnet --mixed-precision --exp-name=111 --val-num-steps=2

I'd like to make sure if it should change 'image_set='val' ' to 'image_set='valfast'' in 178 line in all_utils_landec.py.

Curious about the CULane Dataset class

hi, i'm wondering about the course of ppl,gap and start parameter setting of the CUlane dataset class. As far as i know, CUlane max points is 35, and some start y coordinate is lower than 290. Does those affect the lstr performance? Appreciate your answer.

loss曲线不收敛

您好,请问一下为什么我通过tensorboard查看的loss曲线下降并未收敛?(resnet101_scnn_culane)。(其他网络也是如此)。感谢解答!
6B40E73875809D90416C17BA5875EEE5

what's the "detect_dir" in eval.sh?

I want to evaluate the test set with CULane official scripts. But I don't understand the meaning of 'detect_dir' in tool/culane_evaluation/eval.sh.Can you tell me? Thanks!

Suggestions: README.md

Just like mmdection or mmsegmetation, it would be nice if each method of the paper could have a corresponding documetation.

About the data preprocessing

I follow the README step by step to prepare the CULane dataset, and I have download the CULane dataset successfully. But when I perform the 'make' in 4.Prepare official evaluation scripts of the docs/datasets/CULANE.md ,I always get the fault about 'ln opencv_imgproc' ,which edition of the opencv ,is there someone completed the CULane dataset prepare?

visualize the folder must use provided model?condlanenet?

Visualization of a single image can directly use the key point results, but the visualization folder must be inferred once, so I use a model that is not provided, such as condlanenet, and can not infer and can't visualize the folder.
By the way, could you please guide me on the pros and cons of laneaf and condlanenet?thank you very much!

Sugggestion: Missing `requirements.txt` file.

The installation instructions describe installing generally the packages:

pip install tqdm ujson tensorboard imageio opencv-python pyyaml thop Shapely p-tqdm scipy sklearn filetype

However, in doing so I get an error when simply trying to run:

python main_landec.py --help
Traceback (most recent call last):
  File "main_landec.py", line 11, in <module>
    from utils.losses import LaneLoss, SADLoss, HungarianLoss
  File "app/pytorch-auto-drive/utils/__init__.py", line 1, in <module>
    from . import datasets
  File "app/pytorch-auto-drive/utils/datasets/__init__.py", line 3, in <module>
    from .tusimple import *
  File "app/pytorch-auto-drive/utils/datasets/tusimple.py", line 5, in <module>
    from .utils import LaneKeypointDataset
  File "app/pytorch-auto-drive/utils/datasets/utils.py", line 5, in <module>
    from torch._six import container_abcs, string_classes, int_classes
ImportError: cannot import name 'container_abcs' from 'torch._six' (/opt/conda/lib/python3.8/site-pack
ages/torch/_six.py)

which at least to me indicates that the installed version of torch differs from the intended version and could perhaps be alleviated by specifying the exact version of the required packages.

Roadmap

Roadmap for our users (to state feature requests) and contributors.

* Low priority tasks.

2022Q? (2022.4.2 - ):

  • Lane detection methods
    • *ConvNeXt
    • Add and test VGG16-RESA
    • Explore ERFNet-RESA #74
    • Add and test ERFNet-LSTR
    • LaneATT #90 #102
    • Explore CondLaneNet
    • *Explore FOLOLanes
  • Semantic segmentation methods
    • *MobileNetV2
    • *MobileNetV3
    • *RepVGG
    • *Swin Transformer V1
    • *ConvNeXt
    • *Add ERFNet training from scratch
  • Datasets and pre-processings
    • *Support CurveLanes
    • *Support Comma10K
  • Visualization
    • Comparison with GT in lane detection #72
  • Framework
    • *ONNX inference support
    • *TensorRT inference support
    • *SCNN TensorRT conversion
    • Semi-real profiling benchmark
    • *Get rid of mmcv dependency #65 #94 #97
  • Documentation
    • More advanced tutorials #72
    • Per-model docs

2022Q1 (2022.1.10 - 2022.3.31):

  • Lane detection methods
    • BezierLaneNet #60
    • MobileNetV2 #53
    • MobileNetV3 #53
    • RepVGGs #54
    • Swin Transformer V1 #56
    • *ConvNeXt
    • Add and test VGG16-RESA
    • Explore ERFNet-RESA
    • Add and test ERFNet-LSTR
    • LaneATT
    • Explore CondLaneNet
    • Explore FOLOLanes
  • Semantic segmentation methods
    • *MobileNetV2
    • *MobileNetV3
    • *RepVGG
    • *Swin Transformer V1
    • *ConvNeXt
    • *Add ERFNet training from scratch
  • Datasets and pre-processings
    • *Support CurveLanes
    • Cherry-pick keypoint affine transform from private branch
    • Support Comma10K
  • Visualization
    • Comparison with GT in lane detection
  • Framework
    • *Merge private branch
    • *ONNX inference support
    • *TensorRT inference support
    • *SCNN TensorRT conversion
    • Semi-real profiling benchmark
    • *Get rid of mmcv dependency #65
  • Documentation
    • More advanced tutorials
    • Per-model docs

2021Q4 (2021.10.1 - 2021.12.31):

  • Lane detection methods
    • Add and test VGG16-RESA (moved from Q3)
    • Test RESA (ResNets) (moved from Q3) #27 #31
    • Explore ERFNet-RESA (moved from Q3)
    • Add and test ResNet34-LSTR (moved from Q3) #29
    • Add and test ERFNet-LSTR (moved from Q3)
    • Explore CondLaneNet
    • Explore FOLOLanes
  • Semantic segmentation methods
    • *Add ERFNet training from scratch (moved from Q3)
  • Datasets and pre-processings
    • *Support CurveLanes (moved from Q3)
    • Cherry-pick keypoint affine transform from private branch
    • Support Comma10K
  • Visualization
    • Comparison with GT in lane detection
    • *More inference-free visualizations (folder, etc.) #48 #45
  • Framework
    • Refactor with configs #45
    • *Merge private branch
    • requirements.txt #37
      ~~- [ ] *Replace thop with fvcore ~~
    • *Torch -> ONNX #43
    • *ONNX -> TensorRT #47
    • *ONNX inference support
    • *TensorRT inference support
    • *SCNN TensorRT conversion

2021Q3 (2021.7.1 - 2021.9.30):

  • Datasets and pre-processings
    • *Investigate a possible shared memory leak from padding mask, Python native List or transforms in keypoint datasets
  • Lane detection methods
    • Add RESA (ResNets) #22
    • Add and test VGG16-RESA
    • Test RESA (ResNets)
    • Explore ERFNet-RESA
    • Add and test ResNet34-LSTR
    • Add and test ERFNet-LSTR
    • Test LSTR with simple data augmentation on TuSimple 844ebd7
    • Test LSTR on CULane 0c5bcc5
    • Test ResNet34, ERFNet with strong data augmentation on TuSimple 721fc26
  • Semantic segmentation methods
    • *Add ERFNet training from scratch
  • Datasets and pre-processings
    • *Support BDD100K
    • *Support CurveLanes
  • Visualization (#7)
    • Support demo with video input for lane detection #24
    • Support demo with video input for semantic segmentation #23
    • Support demo with image dir input for lane detection #24
    • Support demo with image dir input for semantic segmentation #23
    • *Support demo with camera input for lane detection
    • *Support demo with camera input for semantic segmentation
  • Framework
    • Support multi-GPU training with Torch DDP 6a31436
    • Support lower PyTorch/CUDA/CuDNN versions #25
    • Support PyTorch cross-version loading solution

2021Q2 (2021.4.1 - 2021.6.30):

  • Lane detection methods
    • Add RESA (VGG16, ResNets)
    • Explore ERFNet-RESA
    • Add ResNet18-LSTR #11 57c7acc #13 #18 #19 #20 c260e6a
    • Add ResNet34-LSTR/ERFNet-LSTR
      Add ERFNet-PRNet Awaiting more info
      *Add ENet-SAD Unable to re-implement
      *Explore ERFNet-SAD Unable to re-implement
  • Semantic segmentation methods
    • *Add ERFNet training from scratch
  • Datasets and pre-processings
    • *Support general affine transforms for keypoints
    • *Support BDD100K
    • Support LLAMAS #15
  • Visualization (#7)
    • *Support demo with video input for lane detection
    • *Support demo with video input for semantic segmentation
    • *Support demo with camera input for lane detection
    • *Support demo with camera input for semantic segmentation
  • Benchmark
    • Investigate the "ENet slower than ERFNet" problem
    • Count fps/flops/mem for transformer-based method LSTR 82d2c5d
  • Documentation
    • *Explanations/Descriptions for re-implemented methods, especially the improved parts
  • Framework
    • *Support multi-GPU training

2021Q1 (-2021.3.31):

  • Lane detection methods
    • Add ResNet backbones cea2ce8
      Add RESA (VGG16, ResNets)
      Explore ERFNet-RESA
      Add ResNet18-LSTR
      Try add a LSTR that is directly comparable with other methods, i.e. on a common backbone
      Add ERFNet-PRNet
    • Add ENet Baseline ed3f739
      Add ENet-SAD
      *Explore ERFNet-SAD
  • Semantic segmentation methods
    • Add and test ENet on Cityscapes ee3444b
      *Add ERFNet training from scratch
    • Add --workers option 89d3695
  • Datasets and pre-processings
    • Support TuSimple and CULane loading as keypoints & keypoint transforms (Rotation, Resize) #5, 839d096
      Support BDD100K
      *Support LLAMAS
  • Visualization
    • Add lane markers visualization toolkit for images 6b29f02 (only support visualization from files )
    • Organize segmentation result visualization toolkit for images 5ed43d9
  • Benchmark
    • *Explore FPS tests 93b2a21
    • *Try provide FLOPs and memory counts for implemented methods 93b2a21
  • Documentation
    • Better guide for downloading and preparing datasets (partly addressed by #8)
    • *Guide for visualization toolkits c680c90

PRNet相关实现

你好,
首先感谢分享,我在README.md中看到支持的模型包括PRNet,请问相关实现在哪个文件夹下呢?谢谢

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.