Releases: voldemortX/pytorch-auto-drive
Documentation improvements & regular maintenance
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
- Fixed TuSimple download & preparation docs for the new Kaggle download format. #154
- Improved linking between docs. 626c396
- Fixed inconsistent experiment naming in some shells & configs. 9a87153
- 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: v3.2.2...v3.2.3
PyTorch version check & regular maintenance
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
- Fixed irreversible
eval()
for LSTR model. #126 - Fixed a problem where consecutive duplicates (rarely happens) can crash the Python backend of CULane metric. #136
- Turned RESA and SCNN to non-inplace style. #139
- Fully supported PyTorch 1.x #141 26cb046
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: v3.2.1...v3.2.2
CULane Python evaluation backend & regular maintenance
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
- 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
- Some final guide about C++ OpenCV compiling issues are provided. #46 (comment)
- File descriptor limit requirement error is reduced to a warning. #117 #114
- BaiduYun link is provided for visualization test images. 2b0d5ec
Known BC-Breaks
None.
Full Changelog: v3.2...v3.2.1
LaneATT, RESA-ERFNet, lane visualization improvements, and bug fixes
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
- LaneATT #90 and its TensorRT conversion support (can't convert NMS of course). #102
- RESA with ERFNet backbone. #74
Minor features, Docs, Refactors & Bug fixes
- 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)
- Added
- Fixed a bug in RESA ONNX conversion. #95
- Fixed a Python import bug that only occurs on some machines. #86
- Some dissuasions on using OpenCV 3.x & 4.x that may be useful. #78 #80 (comment)
Known BC-Breaks
- All python files named with dash (-) are renamed by _ (since we can't import -), all of them are config files. #72
Full Changelog: v3.1...v3.2
Lane Detection Models: BézierLaneNet, MobileNets, RepVGGs & Swin Transformer
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
- A series of RepVGG backbones are added for lane detection Baseline and SCNN (CULane). #54
- Swin-Tiny is supported as backbone for lane detection Baseline (CULane). #56
- MobileNetV2 and MobileNetV3-Large are supported as backbone for lane detection Baseline and RESA (CULane, TuSimple). #53
- 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.
- A mature system for keypoint loading & transforms (including a new data augmentation policy
Minor features, Docs, Refactors & Bug fixes
- 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
- The Arxiv release of the paper. #61
Known BC-Breaks
- 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 - The old
simple
andstrong
augmentation policies for lane detection are renamed tolevel 0
andlevel 1a
to accommodate more new augmentation policies. It is simply a name change, no trained models will be affected. #60
The Great Refactor, Deployment Support and More
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
- 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.
- 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
- RESA tested on ResNets. #27 #31 #32
- LSTR-ResNet34 that got over 70% on CULane. #29
- We now have a
requirements.txt
. Checkout the new installation instructions that are much more clear. #38 - LSTR visualization bug fix. #30
Known BC-Breaks
- New dependency importmagician introduced:
pip install importmagician
- Some important ones from #45
DDP, Visualizations, LSTR on CULane, data augmentations and more
2021Q3 Release
Major features
- We supported DDP (Distributed Data Parallel) and lower PyTorch versions (notes for lower version see here) #25 6a31436 .
- 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
- RESA codes are complete #22, although an on-going performance matching with the original code is still WIP #27.
- PRNet implementation is now RFC and postponed, since the authors are not responsive.
- LSTR is tested on CULane, achieved 67.21 F-1 score and only took 31 GPU hour to train.
- Typical methods are tested with simple/strong augmentations on TuSimple. 721fc26 844ebd7
- Various other fixes lost in commit histories.
LLAMAS, Keypoint-based lane detection, LSTR and more
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
ENet, ResNet backbones, visualizations, FPS and more
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.
Finalize segmentation and support basic lane detection
Segmentation finalized.
Lane detection now totally supports 2 datasets, include training, validation, testing: TuSimple and CULane.
Lane detection models ERFNet and SCNN all tested.