Example scripts for the detection of lanes using the ultra fast lane detection v2 model in ONNX/TensorRT.
Example scripts for the detection of objects using the YOLOv5/YOLOv5-lite/YOLOv6/YOLOv7/YOLOv8/YOLOv9/YOLOv10/EfficientDet model in ONNX/TensorRT.
Add ByteTrack to determine the driving direction of ID vehicles and perform trajectory tracking.
1) Requirements
2) Examples
3) Demo
4) License
Python 3.7+
OpenCV, Scikit-learn, onnxruntime, pycuda and pytorch.
Install :
The requirements.txt
file should list all Python libraries that your notebooks
depend on, and they will be installed using:
pip install -r requirements.txt
Download YOLO Series Onnx model :
Use the Google Colab notebook to convert
Model | release version | Link |
---|---|---|
YOLOv5 | v6.2 |
|
YOLOv6/Lite | 0.4.0 |
|
YOLOv7 | v0.1 |
|
YOLOv8 | 8.1.27 |
|
YOLOv9 | v0.1 |
|
YOLOv10 | 8.2.41 |
Convert Onnx to TenserRT model :
Need to modify onnx_model_path
and trt_model_path
before converting.
python convertOnnxToTensorRT.py -i <path-of-your-onnx-model> -o <path-of-your-trt-model>
Quantize ONNX models :
Converting a model to use float16 instead of float32 can decrease the model size.
python onnxQuantization.py -i <path-of-your-onnx-model>
Video Inference :
Note : can support onnx/tensorRT format model. But it needs to match the same model type.
lane_config = {
"model_path": "./TrafficLaneDetector/models/culane_res18.trt",
"model_type" : LaneModelType.UFLDV2_CULANE
}
object_config = {
"model_path": './ObjectDetector/models/yolov8l-coco.trt',
"model_type" : ObjectModelType.YOLOV8,
"classes_path" : './ObjectDetector/models/coco_label.txt',
"box_score" : 0.4,
"box_nms_iou" : 0.45
}
Target | Model Type | Describe |
---|---|---|
Lanes | LaneModelType.UFLD_TUSIMPLE |
Support Tusimple data with ResNet18 backbone. |
Lanes | LaneModelType.UFLD_CULANE |
Support CULane data with ResNet18 backbone. |
Lanes | LaneModelType.UFLDV2_TUSIMPLE |
Support Tusimple data with ResNet18/34 backbone. |
Lanes | LaneModelType.UFLDV2_CULANE |
Support CULane data with ResNet18/34 backbone. |
Object | ObjectModelType.YOLOV5 |
Support yolov5n/s/m/l/x model. |
Object | ObjectModelType.YOLOV5_LITE |
Support yolov5lite-e/s/c/g model. |
Object | ObjectModelType.YOLOV6 |
Support yolov6n/s/m/l, yolov6lite-s/m/l model. |
Object | ObjectModelType.YOLOV7 |
Support yolov7 tiny/x/w/e/d model. |
Object | ObjectModelType.YOLOV8 |
Support yolov8n/s/m/l/x model. |
Object | ObjectModelType.YOLOV9 |
Support yolov9t/s/m/c/e model. |
Object | ObjectModelType.YOLOV10 |
Support yolov10n/s/m/b/l/x model. |
Object | ObjectModelType.EfficientDet |
Support efficientDet b0/b1/b2/b3 model. |
python demo.py
Display
Front Collision Warning System (FCWS)
Lane Departure Warning System (LDWS)
Lane Keeping Assist System (LKAS)
WiFi Analyzer is licensed under the GNU General Public License v3.0 (GPLv3).
GPLv3 License key requirements :