基于 Python 的机器学习应用
基于 Python 的机器学习应用,针对监控视频完成行人轨迹搜索。通过一张目标图像,能自动从大量视频中搜索出包含目标的视频片段,并标记目标。此项目为本人本科毕业设计项目,引用请注明出处。
运行环境
Python 3.6.2
TensorFlow-GPU 1.6.0
opencv-python
numpy 1.18.1
keras 2.2.0
scikit-learn
pillow
额外依赖项下载(由于 GitHub 上传文件大小限制,我所使用的模型文件上传到百度云,读者也可根据后续教程自己获得):
``` 文件名:yolo.h5 目标文件夹:search_from_videos\edg_code\model_data\ 链接:https://pan.baidu.com/s/1_oCYDz3Gpcn-WEr6qcqtsA 提取码:yimi
文件名:yolov3.weights 目标文件夹:search_from_videos\edg_code\ 链接:https://pan.baidu.com/s/1mNMwqp_R2-0G586hG9nmSA 提取码:zkvu ```
适用平台
笔者在 Windows 10 上基于 Visual Stdio Code 开发,但并不代表此项目存在平台限制
项目算法简述
预处理过程(edg_code),图见 edg_algorithm_structure.png
1. 基于三帧差分法,结合阈值法,对数据量庞大的监控视频文件进行预处理,去除其中的无意义部分(无行人出现),分割视频得到大量的视频片段。
2. 对每个视频片段基于YOLO算法,进行行人识别 [此处算法以及模型来源详见引用]
3. 结合YOLO和Deep Sort进行行人轨迹追踪 [此处算法以及模型来源详见引用]
4. 基于Caffe算法对行人人脸进行识别并评分,缓存评分较高的人脸(存在最大数量限制)
5. 基于EigenFace/LBPHFace, 对前面缓存的人脸建立模型文件
6. 将行人轨迹缓存结果与人脸模型文件关联,即预处理结果
搜索过程(client),图见 client_algorithm_structure.png
1. 对输入图片基于caffe算法截取人脸部分
2. 基于EigenFace/LBPHFace, 将目标人脸与预处理得到的人脸模型比对,得到置信度
3. 通过对置信度排序,并截取适当比例的结果,作为搜索结果输出
运行说明
code for edg(执行过程耗时)
下面的 main.py 统一指代为 search_from_videos/edg_code/main.py
```
将待处理的单个/多个视频文件(支持mp4)放入main.py中row_path指定的目录中
python main.py # 根据环境自动修正设置
程序将自动在main.py中video_path和save_path指定路径生成处理参数
```
code for client(运行过程快速)
下面的 main.py 统一指代为 search_from_videos/client/main.py
```
在main.py中image_path指定待搜索的目标人物的照片
main.py中的pre_dict和result_dict指向为edg_code生成的对应目录video_path和save_path
python main.py # 根据环境自动修正设置
程序会自动在main.py中search_result_path指定路径生成搜索结果
```
修改方向
本项目并没有提供可视化的调用接口,而是更接近一种 demo。可以考虑采用 B/S 架构,将其升级为真实可用的 SaaS 应用
引用
``` YOLO算法: Redmon J , Divvala S , Girshick R , et al. You Only Look Once: Unified, Real Time Object Detection[C].The IEEE Conference on Computer Vision and Pattern Recognition (CVPR).2016 ,01.779-788
行人轨迹追踪:https://github.com/Qidian213/deep_sort_yolov3 ```
参考文献
- 基于微服务的机器人容器云平台系统设计与实现(浙江大学·方晨)
- 基于网络爬虫的基金信息抽取与分析平台(华南理工大学·陈亮华)
- 智能应用开发平台的设计与实现(西安电子科技大学·林小凡)
- 基于爬虫的小企业搜索系统的设计与实现(大连理工大学·范能科)
- 基于数据挖掘的用户上网行为分析(中央民族大学·丰玄霜)
- 基于知识图谱的深度知识追踪模型的研究(太原理工大学·张靖宇)
- 基于知识图谱的深度知识追踪模型的研究(太原理工大学·张靖宇)
- 基于知识图谱的教学资源推荐方法研究(华中师范大学·张迪)
- 深度学习在社交网络文本分类中的应用研究(大连交通大学·方金朋)
- 分布式应用系统的研究与开发(武汉理工大学·廖斌)
- 基于知识图谱的深度知识追踪模型的研究(太原理工大学·张靖宇)
- 基于商品名称的电商平台商品自动分类的研究与实现(西南交通大学·黄超)
- 机器学习管理平台的研究与实现(北京邮电大学·陈美玉)
- 智能应用开发平台的设计与实现(西安电子科技大学·林小凡)
- 分布式智能网络爬虫的设计与实现(中国科学院大学(工程管理与信息技术学院)·何国正)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码助手 ,原文地址:https://bishedaima.com/yuanma/35622.html