上传文件至 /
This commit is contained in:
		
							parent
							
								
									a2a4b11da6
								
							
						
					
					
						commit
						bc2145bb4c
					
				
							
								
								
									
										68
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,68 @@ | |||||||
|  | # Sleeping-post-detection | ||||||
|  | 
 | ||||||
|  | # 睡岗检测 | ||||||
|  | 
 | ||||||
|  | ## 场景 | ||||||
|  | 
 | ||||||
|  | 本项目适用于一些需要持续工作的岗位或者某些重要的岗位,防止工作人员出现意外 | ||||||
|  | 
 | ||||||
|  | ## 介绍 | ||||||
|  | 
 | ||||||
|  | 本项目是基于yolov8模型制作的睡岗检测 | ||||||
|  | 
 | ||||||
|  | ## 代码思路 | ||||||
|  | 
 | ||||||
|  | 1.为人头描定数据框,并且设置中心点 | ||||||
|  | 
 | ||||||
|  | 2.只要中心点在一定时间内,一定范围内运动,或者保持不动,便判定为睡岗 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## 使用说明: | ||||||
|  | 
 | ||||||
|  | ### 注意:在使用前要确认环境已经搭配好了 | ||||||
|  | 
 | ||||||
|  | ### 1.需要安装依赖(我一般使用conda安装) | ||||||
|  | 
 | ||||||
|  | `conda install --yes --file requirements.txt` | ||||||
|  | 
 | ||||||
|  | ### 2.需要安装opencv库 | ||||||
|  | 
 | ||||||
|  | `conda install -c conda-forge opencv` | ||||||
|  | 
 | ||||||
|  | ### 3.大部分需要安装的库都可以在pycharm中直接下载(如有遗漏) | ||||||
|  | 
 | ||||||
|  | ### 4.指定训练好的模型进行测试 | ||||||
|  | 
 | ||||||
|  | `model_path = r'\detect\train\weights\best.pt'`   # 加载训练好的模型 | ||||||
|  | 
 | ||||||
|  | `model = YOLO(model_path)  `                           # model是加载后的训练模型实例 | ||||||
|  | 
 | ||||||
|  | ### 5.进行静态检测的时候我们要注意我们当前代码仅支持 .png, .jpg, .jpeg, .bmp 等常见图像格式 | ||||||
|  | 
 | ||||||
|  | ### 6.phototest文件不仅支持单张图片检测并且支持批量检测(或文件夹检测),只需要按照下面代码指定文件夹即可 | ||||||
|  | 
 | ||||||
|  | `infer_and_draw(r'C:\path\to\your\image\folder', r'C:\ultralytics\output')` | ||||||
|  | 
 | ||||||
|  | ### 7.以下是对动态检测的一些代码讲解 | ||||||
|  | 
 | ||||||
|  | #### 7.1 视频输入: | ||||||
|  | 
 | ||||||
|  | 使用 cv2.VideoCapture() 打开视频文件或 RTSP 流,同时支持本地视频文件和网络串流 | ||||||
|  | 
 | ||||||
|  | #### 7.2 YOLO 检测: | ||||||
|  | 
 | ||||||
|  | 每隔 `detection_interval = 10` 帧,模型会对帧进行目标检测,返回检测到的边界框(boxes)和置信度(confidences)。 | ||||||
|  | 检测的边界框经过过滤和合并后保存,并且通过 cv2.TrackerKCF_create() 创建跟踪器来跟踪每个目标。 | ||||||
|  | 
 | ||||||
|  | #### 7.3 状态检测: | ||||||
|  | 
 | ||||||
|  | 通过历史跟踪中心位置(center_history),每个物体的中心点会被记录到一个 deque(长度为 tracking_window_size = 250)。如果该物体的中心点在一段时间内变化很小,程序会在图像上显示“睡眠”(SLEEP),表明物体处于静止状态。 | ||||||
|  | 通过计算中心点的距离变化(稳定状态的判断),判断物体是否保持静止。 | ||||||
|  | 
 | ||||||
|  | ### 运行方法(以下文件均在Sleeping-post-detection-first-edition目录下) | ||||||
|  | 
 | ||||||
|  | phototest文件夹专门负责检测图片 | ||||||
|  | 
 | ||||||
|  | fps01 ~ fps04 文件夹代表了测试视频和实时检测时所犯的错误和更正过程,fps04为最终优化版本 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user