# Final_project **Repository Path**: sherry201901/Final_project ## Basic Information - **Project Name**: Final_project - **Description**: No description available - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-08 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Final_project Require environment: 1.Yolo3 2.Numpy 3.Sklearn 4.Opencv 5.Pillow Eternally, TensorFlow-1.4.0 is build and test use in this project, other version can apply, if testing. 本项目参考deep_sort_yolov3, 但将deep_sort和keras-yolo3作为独立的git项目引用而不是直接复制源代码到本项目中,以便与原项目进行同步更新; 在原deep_sort_yolov3的基础上,定义了更多的参数方便测试,这些参数会传递给deep_sort和keras-yolo3; 为了提高视频跟踪的实时性,采用了隔帧检测的方法,每n帧视频进行一次检测,n可以通过参数指定, 默认为1,即每帧都检测。 原项目地址: https://github.com/Qidian213/deep_sort_yolov3 https://github.com/nwojke/deep_sort https://github.com/qqwweee/keras-yolo3 Quick Start 下载本项目以及deep_sort和keras-yolo3源码; git clone https://gitee.com/zch-ai/deep_sort_with_yolov3.git cd deep_sort_with_yolov3/ git submodule update --init 从YOLO官网下载训练好的 YOLOv3 模型参数(也可以选择yolov3-tiny等其他网络),使用keras-yolo3提供的转换脚本转换为会.h5格式; wget https://pjreddie.com/media/files/yolov3.weights python3 ./keras_yolo3/convert.py keras_yolo3/yolov3.cfg yolov3.weights yolo.h5 下载deep_sort中提取特征用的模型参数, 解压到deep_sort_with_yolov3目录下; deep_sort官方提供的文件在google网盘上,国内无法直接访问,可以使用百度网盘的文件: 链接:https://pan.baidu.com/s/1_S84pzx6V6R5sNEPN2rePQ 提取码:xv0o unzip resources.zip 下载解压测试数据:这里使用的是MOT16,如果官方下载太慢,也可以使用网盘提供的文件; 将下载的MOT16.zip放到deep_sort_with_yolov3目录下 mkdir MOT16 cd MOT16 unzip ../MOT16.zip cd .. 运行命令测试: python3 deep_sort_app.py --input MOT16/test/MOT16-06/img1/%6d.jpg 也可以指定每3帧检测一次 python3 deep_sort_app.py --input MOT16/test/MOT16-06/img1/%6d.jpg --update_step 3 Dependencies 我使用的测试环境是Ubuntu 18.04,Python 3.6,tensorflow-gpu 1.14,GPU使用NVIDIA GTX1660Ti; 项目中使用了以下python库: NumPy sklean OpenCV Pillow 实战 视频目标跟踪 视觉方向 指导讲师 屈老师 简介 跟踪是视觉感知的核心任务之一。我们对日复一日的事物可能毫无记忆,但一只飞过眼前的蚊子却能瞬间引起我们的关注,说明动态目标跟踪在视觉感知机制中具有很高的优先级。正因如此,视频场景中的运动目标检测与跟踪是计算机视觉的重要领域,也是安防、监控领域的核心算法之一,在此基础上可构建入侵检测、人员计数、车辆违章自动记录等众多应用,具有广泛的使用价值。 在“计算机视觉”课程中,学员已经学习了背景提取、目标分割等相关知识,并进行了目标检测的初步练习。在本项目中,要求学员们结合课程内容,实现一个视频种运动目标检测及跟踪的实际系统。 项目 学员需要选择一种编程语言(C++/Python),并利用OpenCV提供的相关功能,实现一个可以对输入视频中运动目标进行检测、跟踪的系统。 系统输入:任意视频(含有相关目标); 系统输出:检测的目标框及目标运动轨迹 评价标准 成果1,一套可以运行的系统(项目代码) 包含源代码、相关项目文件及使用说明(技术文档在成果2中详细说明)。按照使用说明可重现系统并运行。 代码要求: 含有完整的源代码及项目文件,按说明配置可运行并得到正确结果 注释完整 编码具备一致性(符合一定的编码规范) 使用说明要求: 简洁,准确,按说明可成功安装并配置好系统,可成功运行 成果2,系统技术总结报告文档(项目节点报告) 撰写技术总结报告文档。 文档要求: 技术总结报告应包含如下结构(内容):系统需求;系统配置;系统设计(包含技术原理);实验结果;结果分析(包括结果及指标分析、不同参数结果对比,如能与其他方法对比效果更好);总结与心得 技术报告应简洁清晰,具备较强的可读性 系统需要给出合理的评价指标,例如跟踪成功率等; 对系统的输出结果及指标的简单分析。 成果3, 提供一个演示视频(output.avi) 视频内容:根据指定的数据集及自己选择的数据集,系统可输出正确的检测结果及运动轨迹。 数据集 本项目提供一个视频运动目标检测与跟踪的数据集。