Tensorflow+OpenCV实战行人检测(笔记)

Tensorflow+OpenCV实战行人检测

实战知识点

  • SSD对象检测网络
  • VOC2012数据格式
  • 模型迁移学习
  • 导出PB文件和在OpenCV使用需要的描述文件
  • OpenCV DNN模块

各章节重点

  1. 概述-环境搭建与效果演示:需要安装opencv+python+Tensorflow-gpu+VS+pycharm
  2. Tensorflow对象检测API安装与测试:通过git工具克隆models到本地,models安装–>Github安装指导,首先安装需要的包,protobuf安装参照教程上linux版。测试时报错No module named 'object_detection',可以直接在环境变量中新增PythonPath变量,包含research和research/slim两个文件夹路径(教程中是用的.pth添加路径)。直到能执行测试程序python .../models/research/object_detection/builders/model_builder_test.py
  3. 行人检测视频数据生成标注图像数据:使用公开数据制作训练数据。通过cv2.VideoCapture读取视频,cv2.CAP_PROP_FRAME_COUNT表示视频的总帧数,按帧resize缩小后保存为训练图片和测试图片。
  4. Pasacal VOC2012格式数据集生成:根据标记数据生成xmls,移动到VOC2012/Annotations文件夹下。训练图片移动到VOC2012/JPEGImages文件夹下。生成pedestrian_train.txt文件并移动到VOC2012/ImageSets/Main文件夹下。数据准备完成。新建label_map.pbtxt文件移动到train/data文件夹下。生成tfrecord格式用于训练,python object_detection/dataset_tools/create_pascal_tf_record.py --label_map_path=D:\Project\Pycharm\pedestrian_demo/train/data/label_map.pbtxt --data_dir=D:\Project\Pycharm\pedestrian_demo\dataset --year=VOC2012 --set=train --output_path=D:\Project\Pycharm\pedestrian_demo/train/data/pascal_train.record。注意修改create_pascal_tf_record.py中第165行为前面生成的pedestrian_train.txt。训练数据准备完成。
  5. SSD模型的迁移学习配置与训练:下载模型,…/models/research/object_detection/samples/configs/文件夹下拷贝对应.config到train/models文件夹下并修改PATH_TO_BE_CONFIGURED。执行命令命令行
    可是未成功,未知原因。第六节说是1.11前的版本就没事,是模块本身的Bug
  6. 模型导出与测试使用:使用如下命令开始训练python object_detection/legacy/train.py --train=D:\Project\Pycharm\pedestrian_demo/train/models/train --pipeline_config_path=D:\Project\Pycharm\pedestrian_demo/train/models/ssd_mobilenet_v2_coco.config --logtostderr,到合适轮数后Ctrl+C手动停止。
    模型导出命令python object_detection/export_inference_graph.py --input_type=image_tensor --pipeline_config_path=D:\Project\Pycharm\pedestrian_demo/train/models/ssd_mobilenet_v2_coco.config --trained_checkpoint_prefix=D:\Project\Pycharm\pedestrian_demo/train/models/train/model.ckpt-2673 --output_directory=D:\Project\Pycharm\pedestrian_demo/train/models/model
  7. 生成OpenCV DNN导入必须的描述文件:Tensorflow+OpenCV实战行人检测(笔记)_第1张图片
  8. 在OpenCV Python中使用SSD行人检测模型
  9. 在OpenCV C++中使用SSD行人检测模型

你可能感兴趣的:(软件)