Pytorch Auto Drive Versions Save

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

v3.2.3

7 months ago

PytorchAutoDrive v3.2.3 (2023Q3 Release)

This release is a regular update with no major changes. The maintainers now have little time for open-source projects. As always, help is welcome.

There are in total 12 closed issues, 1 merged PRs and 6 commits to master branch since v3.2.2.

Contributors: @voldemortX @bjzhb666

Major features

None.

Minor features, Docs, Refactors & Bug fixes

  1. Fixed TuSimple download & preparation docs for the new Kaggle download format. #154
  2. Improved linking between docs. 626c396
  3. Fixed inconsistent experiment naming in some shells & configs. 9a87153
  4. There has been a mathematic expression issue with the BézierLaneNet paper, which has been fixed on arxiv. Thanks for the issues pointing this out: #147 #131

Known BC-Breaks

None.

Full Changelog: https://github.com/voldemortX/pytorch-auto-drive/compare/v3.2.2...v3.2.3

v3.2.2

1 year ago

PytorchAutoDrive v3.2.2 (2023Q1 Release)

This release is a regular update with no major changes, also with a longer time span (6 months). The maintainers, as they step out of college life, feel this repo needs a better positioning in the community, and have not yet decided what's next. Tasks like the recently popular 3D occupancy & online lane structure predictions are possibly on the table, or the framework could be just left as is for the time being. As always, helps are welcome.

There are in total 22 closed issues, 4 merged PRs and 8 commits to master branch since v3.2.1.

Contributors: @voldemortX @PannenetsF

Major features

None.

Minor features, Docs, Refactors & Bug fixes

  1. Fixed irreversible eval() for LSTR model. #126
  2. Fixed a problem where consecutive duplicates (rarely happens) can crash the Python backend of CULane metric. #136
  3. Turned RESA and SCNN to non-inplace style. #139
  4. Fully supported PyTorch 1.x #141 26cb0464e654659506468762401bcb93e3e34152

Known BC-Breaks

#139 changes the implementation of spatial convolutions for SCNN and RESA, to a gradient-safe, non-inplace style. Although no performance issues were detected, we mark this as a possible BC-Break. See the related issues (#121) for discussions and testings.

Full Changelog: https://github.com/voldemortX/pytorch-auto-drive/compare/v3.2.1...v3.2.2

v3.2.1

1 year ago

PytorchAutoDrive v3.2.1 (2022Q3 Release)

This release is a regular update with no major changes, since the maintainers are really busy finding jobs. In the future, we may expand the supported tasks to 3D perception.

There are in total 10 closed issues, 2 merged PRs and 5 commits to master branch since v3.2.

Contributors: @voldemortX

Major features

None.

Minor features, Docs, Refactors & Bug fixes

  1. A Python backend for CULane evaluation that has the exact same features as the original C++ backend, the accuracy may not be fully aligned with the C++ version (~0.1% gap), so geeks are still encouraged to compile the C++ version. #116
  2. Some final guide about C++ OpenCV compiling issues are provided. https://github.com/voldemortX/pytorch-auto-drive/issues/46#issuecomment-1260681971
  3. File descriptor limit requirement error is reduced to a warning. #117 #114
  4. BaiduYun link is provided for visualization test images. https://github.com/voldemortX/pytorch-auto-drive/commit/2b0d5ec5f7536c9d2d2b6d8498718a8fca2ab276

Known BC-Breaks

None.

Full Changelog: https://github.com/voldemortX/pytorch-auto-drive/compare/v3.2...v3.2.1

v3.2

1 year ago

PytorchAutoDrive v3.2 (2022Q2 Release)

This release is a common update of the lane detection part, including LaneATT implementation, visualization improvements, and deployment supports. Importantly, users should be aware that this repo's lane detection testing use the same cache directory ./output, so simultaneous testing on the same dataset could lead to wrong results. There are in total 16 closed issues, 8 merged PRs and 24 commits to master branch since v3.1.

Contributors: @cedricgsh @francis0407 @LittleJohnKhan @voldemortX

Major features

  1. LaneATT #90 and its TensorRT conversion support (can't convert NMS of course). #102
  2. RESA with ERFNet backbone. #74

Minor features, Docs, Refactors & Bug fixes

  1. Lane detection visualization improvements (please refer to the updated VISUALIZATION.md for details.) #72
    • Added --style option for lane visualization, supports 3 styles: point, line & bezier
    • Added --gt-keypoint-path and --metric for GT comparison
    • Added a simple way to visualize directly on datasets (e.g., CULane, TuSimple)
  2. Fixed a bug in RESA ONNX conversion. #95
  3. Fixed a Python import bug that only occurs on some machines. #86
  4. Some dissuasions on using OpenCV 3.x & 4.x that may be useful. #78 https://github.com/voldemortX/pytorch-auto-drive/issues/80#issuecomment-1109935902

Known BC-Breaks

  1. All python files named with dash (-) are renamed by _ (since we can't import -), all of them are config files. #72

Full Changelog: https://github.com/voldemortX/pytorch-auto-drive/compare/v3.1...v3.2

v3.1

2 years ago

PytorchAutoDrive v3.1 (2022Q1 Release)

IMPORTANT: This is not a Happy April Fools Day. This release is mostly about adding new models for lane detection, and now we have a paper reference! Although not all datasets & method variations are tested for the new backbones, you can do that fairly easily with the current config-based coding style. There are in total 12 closed issues, 9 merged PRs and 14 commits to master branch since v3.0.

Contributors: @voldemortX @cedricgsh Thanks @FengqiLiu1221 @junshutang for generously providing GPUs!

Major features

  1. A series of RepVGG backbones are added for lane detection Baseline and SCNN (CULane). #54
  2. Swin-Tiny is supported as backbone for lane detection Baseline (CULane). #56
  3. MobileNetV2 and MobileNetV3-Large are supported as backbone for lane detection Baseline and RESA (CULane, TuSimple). #53
  4. BézierLaneNet (ResNet-18, ResNet-34) is supported for lane detection (CULane, TuSimple, LLAMAS). #60 With this merge of the private repo, we now have:
    • A mature system for keypoint loading & transforms (including a new data augmentation policy level 1b), see functional_keypoints.py for useful functions & implementation details.
    • The Cosine Annealing learning rate schedule.
    • Polynomial & Bézier curves supports (lane fitting, upper-bound test, etc.), see CURVE.md for more info.
    • A way to implement customized flops count for customized layers. An example.

Minor features, Docs, Refactors & Bug fixes

  1. Per-model documentation as suggested in #62 are started, part of them are finished, others pending (we would love the community to help with this). #63 #64 #67 #69
  2. The Arxiv release of the paper. #61

Known BC-Breaks

  1. A silent BC-Break (more of an improvement). The LSTR CULane models are re-evaluated with threshold 0.95 to align with BézierLaneNet, the performance is slightly increased (~ 1%), while the downloaded weights remain the same. #60
  2. The old simple and strong augmentation policies for lane detection are renamed to level 0 and level 1a to accommodate more new augmentation policies. It is simply a name change, no trained models will be affected. #60

v3.0

2 years ago

PytorchAutoDrive v3.0 (2021Q4 Release)

The Great Refactor took a little longer than expected, this release came a bit late. There are in total 8 closed issues, 7 merged PRs and 13 commits to master branch since v2.0, including #45 with >10000 lines of code (109 commits). Many thanks to the contributors: @voldemortX @cedricgsh @kalkun And thanks @junshutang for generously providing hardware supports!

Major features

  1. The entire repo is refactored with Object Oriented Programming and models are now represented by clean & easily extendable config files. See #45 for changes. We have tested all existing models' by evaluating trained weights and tested some important ones by re-training, the performance backward-compatibility is guaranteed to the best of our efforts. We also provided a ADVANCED_TUTORIAL.md for senior users.
  2. ONNX and TensorRT conversions, see DEPLOY.md for details. #43 #47

This is a transformative release of our framework, so we are making a major release as PytorchAutoDrive v3.0.

Minor features & Bug fixes

  1. RESA tested on ResNets. #27 #31 #32
  2. LSTR-ResNet34 that got over 70% on CULane. #29
  3. We now have a requirements.txt. Checkout the new installation instructions that are much more clear. #38
  4. LSTR visualization bug fix. #30

Known BC-Breaks

  1. New dependency importmagician introduced: pip install importmagician
  2. Some important ones from #45

v2.0

2 years ago

2021Q3 Release

Major features

  1. We supported DDP (Distributed Data Parallel) and lower PyTorch versions (notes for lower version see here) #25 6a31436 .
  2. We supported segmentation and lane detection visualization on image & video & image directory #23 #24, a nice video is presented in Readme.md.

Above changes enable both large-scale training and out-of-the-box inference. This is a large step towards a production-able framework, so we are making a major release as v2.0.

Minor features & Bug fixes

  1. RESA codes are complete #22, although an on-going performance matching with the original code is still WIP #27.
  2. PRNet implementation is now RFC and postponed, since the authors are not responsive.
  3. LSTR is tested on CULane, achieved 67.21 F-1 score and only took 31 GPU hour to train.
  4. Typical methods are tested with simple/strong augmentations on TuSimple. 721fc26 844ebd7
  5. Various other fixes lost in commit histories.

v1.4

2 years ago

2021Q2 release: We now support the LLAMAS dataset, our version of SCNN-VGG16 reached the 2nd place on this benchmark! Reduced ResNet18 backbone for lane detection. Keypoint transforms refactored and keypoint-based lane detection is supported. LSTR is supported with much faster training speed (3x), and fair FPS evaluation. Various bug fixes, including a BC-Breaking lane detection testing scheme fix that boosted F1 score on TuSimple. #13

v1.3

3 years ago

2021Q1 release: ENet and ResNet series backbones for segmentation and lane detection. Keypoint transforms. Visualization toolkits provided for image input. Unified benchmark established for FPS, FLOPs and memory tests. Documentation refactored, dataset preparation guides & trained weights download links.

v1.2

3 years ago

Segmentation finalized. Lane detection now totally supports 2 datasets, include training, validation, testing: TuSimple and CULane. Lane detection models ERFNet and SCNN all tested.