This is the implementation of DMPR-PS using PyTorch.
- PyTorch
- CUDA (optional)
- Other requirements
pip install -r requirements.txt
The pre-trained weights could be used to reproduce the number in the paper.
-
Image inference
python inference.py --mode image --detector_weights $DETECTOR_WEIGHTS --inference_slot
-
Video inference
python inference.py --mode video --detector_weights $DETECTOR_WEIGHTS --video $VIDEO --inference_slot
Argument
DETECTOR_WEIGHTS
is the trained weights of detector.
ArgumentVIDEO
is path to the video.
Viewconfig.py
for more argument details.
-
Download ps2.0 from here, and extract.
-
Download the labels, and extract.
(In case you want to label your own data, you can usedirectional_point
branch of my labeling tool MarkToolForParkingLotPoint.) -
Perform data preparation and augmentation:
python prepare_dataset.py --dataset trainval --label_directory $LABEL_DIRECTORY --image_directory $IMAGE_DIRECTORY --output_directory $OUTPUT_DIRECTORY python prepare_dataset.py --dataset test --label_directory $LABEL_DIRECTORY --image_directory $IMAGE_DIRECTORY --output_directory $OUTPUT_DIRECTORY
Argument
LABEL_DIRECTORY
is the directory containing json labels.
ArgumentIMAGE_DIRECTORY
is the directory containing jpg images.
ArgumentOUTPUT_DIRECTORY
is the directory where output images and labels are.
Viewprepare_dataset.py
for more argument details.
python train.py --dataset_directory $TRAIN_DIRECTORY
Argument TRAIN_DIRECTORY
is the train directory generated in data preparation.
View config.py
for more argument details (batch size, learning rate, etc).
-
Evaluate directional marking-point detection
python evaluate.py --dataset_directory $TEST_DIRECTORY --detector_weights $DETECTOR_WEIGHTS
Argument
TEST_DIRECTORY
is the test directory generated in data preparation.
ArgumentDETECTOR_WEIGHTS
is the trained weights of detector.
Viewconfig.py
for more argument details (batch size, learning rate, etc). -
Evaluate parking-slot detection
python ps_evaluate.py --label_directory $LABEL_DIRECTORY --image_directory $IMAGE_DIRECTORY --detector_weights $DETECTOR_WEIGHTS
Argument
LABEL_DIRECTORY
is the directory containing testing json labels.
ArgumentIMAGE_DIRECTORY
is the directory containing testing jpg images.
ArgumentDETECTOR_WEIGHTS
is the trained weights of detector.
Viewconfig.py
for more argument details.
If you find DMPR-PS useful in your research, please consider citing:
@inproceedings{DMPR-PS,
Author = {Junhao Huang and Lin Zhang and Ying Shen and Huijuan Zhang and Shengjie Zhao and Yukai Yang},
Booktitle = {2019 IEEE International Conference on Multimedia and Expo (ICME)},
Title = {{DMPR-PS}: A novel approach for parking-slot detection using directional marking-point regression},
Month = {Jul.},
Year = {2019},
Pages = {212-217}
}