first
This commit is contained in:
		
							parent
							
								
									f5e6ec00fe
								
							
						
					
					
						commit
						001e66fff6
					
				
							
								
								
									
										37
									
								
								python/Readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								python/Readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | |||||||
|  |  # 客流统计算法(Python) | ||||||
|  | 
 | ||||||
|  |  ## 概述 | ||||||
|  | 这是一个基于YOLOV8的客流统计算法。该算法利用摄像头实时捕获监控画面,通过画拌线的方式规定越线区域,结合YOLOV8中的行人检测和行人跟踪算法,实现门店客流的准确统计。 | ||||||
|  | 
 | ||||||
|  | ## 环境配置 | ||||||
|  |     python==3.10 | ||||||
|  |     pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118(GPU环境) | ||||||
|  |     pip install ultralytics==8.0.170 | ||||||
|  |     pip install onnx==1.14.1 | ||||||
|  |     pip install onnxruntime==1.15.1 | ||||||
|  | 
 | ||||||
|  | ## 运行说明 | ||||||
|  | 配置好运行环境之后,运行find_region_and_exec.py文件,运行该py文件会弹出文件选择窗口,在此窗口选择要进行跟踪检测的视频文件(仅支持.mp4 .avi .mov且视频编码正确的视频),然后程序会播放该视频,敲击键盘空格键,视频会暂停播放并进入编辑界面,然后就可以在画面上划定区域了。按照下面的步骤进行区域划定: | ||||||
|  | 
 | ||||||
|  |     1. 鼠标左键点击选点 | ||||||
|  | 
 | ||||||
|  |     2. 选两个点之后(两个点自动连线),自动退出编辑页面,然后等待一段时间系统自动弹窗 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## 注意说明 | ||||||
|  | 1. 运行find_region_and_exec.py进入编辑页面,在视频中选两个点连线之后,程序会自动退出,此时不是程序有bug,相反程序是在正常执行,等待一段时间之后又会弹窗显示,此时才是按照画的线统计人流量。 | ||||||
|  | 
 | ||||||
|  | 2. 目标跟踪是建立在目标检测的基础之上,非常耗费算力,有gpu一定要用gpu推理,特别注意:如果没有英伟达显卡,视频或者摄像头实时推理速度会很慢很慢,但是如果有显卡推理速度还是很慢,检查自己的环境pytorch是不是装成了cpu版本的,要安装成gpu版本的torch推理速度才会快 | ||||||
|  | 
 | ||||||
|  | 3. 推理速度非常慢,如何加速。有以下几点优化建议: | ||||||
|  | 
 | ||||||
|  |     (1) 有gpu要用gpu推理; | ||||||
|  | 
 | ||||||
|  |     (2) 加载更小的yolo8模型(yolo8n、8s、8m、8l、8x模型权重依次增大,检测精度依次高,推理速度依次减慢,速度与精度不可兼得); | ||||||
|  |      | ||||||
|  |     (3) 替换追踪算法, | ||||||
|  | 
 | ||||||
|  | yolo8中内置了byte-tacker与BoT-Sort两个多目标检测算法,这两个算法与经典的Sort、DeepSort相比检测速度快,但检测精度不如这两个经典算法。 | ||||||
|  | 可以考虑替换yolo8内置的目标跟踪算法为DeepSort算法或者Sort算法,但要权衡检测速度与精度互相矛盾的问题. | ||||||
|  | 
 | ||||||
|  | 4. 如何提高检测精度、跟踪精度:加载更大的yolo8模型(yolo8n、8s、8m、8l、8x模型权重依次增大,检测精度依次增高,但速度与精度不可兼得);yolo8中内置了byte-tacker与BoT-Sort两个多目标检测算法,Bot-Sort算法精度更高 | ||||||
| @ -1,11 +0,0 @@ | |||||||
| #python版本不强制要求,但最好为3.10 |  | ||||||
| #cpu环境与gpu环境根据自己有无英伟达显卡选择 |  | ||||||
| 
 |  | ||||||
| #cpu环境(若虚拟环境中无pytorch,ultralytics底层自动依赖下载cpu版本的torch,如对项目的检测速度有要求请安装gpu版本的torch) |  | ||||||
| ultralytics==8.0.170 |  | ||||||
| onnx==1.14.1 |  | ||||||
| onnxruntime==1.15.1 |  | ||||||
| 
 |  | ||||||
| #gpu环境(这里安装的是gpu版本的torch,请到pytorch官网复制与你的英伟达显卡驱动所支持的cuda版本对应的安装命令,下面以cuda 11.8为例给出示例命令) |  | ||||||
| # pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 (先在环境中下载好gpu版本的torch,再安装ultralytics) |  | ||||||
| # pip3 install ultralytics==8.0.170 |  | ||||||
| @ -1,12 +0,0 @@ | |||||||
| 
 |  | ||||||
| 1.配置好运行环境之后,运行find_region_and_exec.py文件,运行该py文件会弹出文件选择窗口,在此窗口选择要进行跟踪检测的视频文件(仅支持.mp4 .avi .mov且视频编码正确的视频),然后程序会播放该视频,敲击键盘空格键,视频会暂停播放并进入编辑界面,然后就可以在画面上划定区域了。按照下面的步骤进行区域划定: |  | ||||||
|         1 鼠标左键点击选点 |  | ||||||
|         2 选两个点之后(两个点自动连线),自动退出编辑页面,然后等待一段时间系统自动弹窗 |  | ||||||
|          |  | ||||||
| 特别注意:运行find_region_and_exec.py进入编辑页面,在视频中选两个点连线之后,程序会自动退出,此时不是程序有bug,相反程序是在正常执行,等待一段时间之后又会弹窗显示,此时才是按照画的线统计人流量。 |  | ||||||
| 
 |  | ||||||
| 2.目标跟踪是建立在目标检测的基础之上,非常耗费算力,有gpu一定要用gpu推理,特别注意:如果没有英伟达显卡,视频或者摄像头实时推理速度会很慢很慢,但是如果有显卡推理速度还是很慢,检查自己的环境pytorch是不是装成了cpu版本的,要安装成gpu版本的torch推理速度才会快 |  | ||||||
| 
 |  | ||||||
| 3.推理速度非常慢,如何加速。有以下几点优化建议:(1)有gpu要用gpu推理(2)加载更小的yolo8模型(yolo8n、8s、8m、8l、8x模型权重依次增大,检测精度依次增高,推理速度依次减慢,速度与精度不可兼得)(3)替换追踪算法, |  | ||||||
| yolo8中内置了byte-tacker与BoT-Sort两个多目标检测算法,这两个算法与经典的Sort、DeepSort相比检测精度高,但检测速度不如这两个经典算法。可以考虑替换yolo8内置的目标跟踪算法为DeepSort算法或者Sort算法,但要权衡检测速度与精度互相矛盾的问题. |  | ||||||
| 4.如何提高检测精度、跟踪精度:加载更大的yolo8模型(yolo8n、8s、8m、8l、8x模型权重依次增大,检测精度依次增高,但速度与精度不可兼得);yolo8中内置了byte-tacker与BoT-Sort两个多目标检测算法,Bot-Sort算法精度更高 |  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user