学习目标:
Context-Based Parking Slot Detection With a Realistic Dataset
实现车位检测
检测效果
论文理解
配置环境:
安装包
- anaconda
- tensorflow-gpu 1.4
- tensorflow-io
- opencv
- shapely
- matplotlib
数据集
train和test 里面分别是 image 和label
数据格式:第一行 车位类别(0-3),第二行 车位角度(-90 - 90),之后每一行代表一个车位信息,第一个数 代表车位是否可用(0,1),之后是4个角点坐标。
数据集地址
代码地址
权重文件
1、先运行 prepare_data.py,数据增强和生成 tfrecord文件
import argparse
import os
from dataset import make_tfrecord, dataset_utils, data_augmentation
#################
# ArgumentParser
#################
parser = argparse.ArgumentParser(description="context-based parking slot detector")
parser.add_argument("--data_path", type=str, default="/home/idriver/project/ParkingSlot/context-based-parking-slot-detect/PIL_Park",
help="The path of the parking slot detection dataset.")
args = parser.parse_args()
# Prepare data for PCR test
make_tfrecord.run(os.path.join(args.data_path, "test"), 'test')
# Prepare data for PSD test
dataset_utils.create_detector_data_file(os.path.join(args.data_path, "test"), os.path.join(args.data_path, "test.txt"), include_non_park=True)
# Data augmentation for train
data_augmentation.run(os.path.join(args.data_path, "train"))
# Prepare data for PCR train
make_tfrecord.run(os.path.join(args.data_path, "train"), 'train')
# Prepare data for PSD train
dataset_utils.create_detector_data_file(os.path.join(args.data_path, "train"), os.path.join(args.data_path, "train.txt"), include_non_park=True)
# Prepare data for PSD train (Fine-tune)
dataset_utils.create_detector_data_file_fine_tune(args.data_path)
2、运行测试
python test.py --data_path='/home/idriver/project/ParkingSlot/context-based-parking-slot-detect/PIL_Park'
原始代码没有提供单张推理,和可视化,这是稍微修改了下,支持单张推理和可视化