使用Yolo12算法进行区域内实时目标计数

使用Yolo12算法进行区域内实时目标计数

    正在检查是否收录...

视频演示

使用Yolo12算法进行区域内实时目标计数


 

大家好,今天给大家分享一个使用yolo12算法进行区域内目标实时计数的项目。

计数效果

程序效果

如上图所示,程序会检测画面中的所有行人,紫色的矩形框是我们统计的区域

当行人从北向南进入紫色矩形框时,会计入进入人数

当行人从南向北进入紫色矩形框时,会计入离开人数

核心代码

处理的核心流程大概如下:

  • 读取视频
  • 设置区域的坐标
  • 初始化目标计数对象
  • 依次读取视频中的帧图像,调用counter进行统计
  • 释放视频资源
import cv2 from ultralytics import solutions # 读取视频 cap = cv2.VideoCapture("MOT16-04-raw.webm") #判断视频是否读取成功 assert cap.isOpened(), "Error reading video file" # 检测区域的坐标 # region_points = [(20, 400), (1080, 400)] # line counting region_points = [(20, 400), (600, 400), (600, 300), (20, 300)] # rectangle region # region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)] # polygon region # 初始化目标计数对象 counter = solutions.ObjectCounter( show=True, # 是否显示检测过程 region=region_points, # 检测区域 model="yolo12n.pt", # 使用的检测模型 classes=[0], # 检测的类别 ) # 处理视频 while cap.isOpened(): # 读取视频帧图像 success, im0 = cap.read() #判读是否读取成功 if not success: print("Video frame is empty or processing is complete.") break #调用counter进行计数处理 results = counter(im0) #释放视频对象 cap.release() #按键处理 cv2.waitKey(0) cv2.destroyAllWindows() # 关闭所有窗口
使用Yolo12算法进行区域内实时目标计数

上述代码中,我们已经对关键地方做了注释,这里大概对关键地方进行下说明:

我们这里需要region_points设置区域的坐标,分别是四组坐标,分别表示矩形区域的左上角、右上角、右下角、左下角。

region_points坐标除了设置矩形外,还可以设置直线和多边形,当坐标只有两组的时候,是一条直线,当超过4组之后,是多边形区域。

在solutions.ObjectCounter我们需要设置一些参数,这里的model需要填写权重文件,这里我们写了yolo12n的预训练权重文件。

GUI系统

上述我们提到,我们需要设定一组坐标来控制检测的区域部分,但是坐标的部分不是太好把控,因为我们需要把坐标值和视频中的实际位置关联起来。

所以更好的办法是做一个界面,然后可以通过鼠标在图像上进行框选来绘制矩形框,这样更加直观的显示矩形框的位置。

识别效果

界面我们采用pyqt5实现的,可以选择绘制矩形还是直线。

有GUI后,我们对程序把控的能力会更强一些,我们可以中途停止视频的处理,也可以随时更换新的视频来进行检测。

这就是本次的内容,有问题欢迎小伙伴评论区留言~

 

  • 本文作者:WAP站长网
  • 本文链接: https://wapzz.net/post-27875.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
本站部分内容来源于网络转载,仅供学习交流使用。如涉及版权问题,请及时联系我们,我们将第一时间处理。
文章很赞!支持一下吧 还没有人为TA充电
为TA充电
还没有人为TA充电
0
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
2.8W+
9
1
2
WAP站长官方

Redis 介绍与 Node.js 使用教程

上一篇

再见 Claude,封禁中国等 “敌对国家” 的公司使用!脸都不要了?

下一篇
评论区
内容为空

这一切,似未曾拥有

  • 复制图片
按住ctrl可打开默认菜单