• 重点区域人员徘徊识别监测系统


    重点区域人员徘徊识别监测基于yolo5模型对画面中重要区域进行实时检测分析。首先使用yolov5m模型进行物体检测,筛选出行人,卡车和汽车。考虑到运行效 率和使用背景,只进行三个行人,一辆卡车和一辆汽车的徘徊判定。如果行人过多,就发出人员密集的提示信息。

    使用deep_sort进行目标跟踪。在实现过程中,发现跟踪算法对视频中连续的物体移动跟踪效果很不错,但对物体(或者身体一部分)移动到视频外,会发生ID跳变,识别并不准确,需要使用行人重识别进行track_id的更正。

    每50帧进行一次轨迹判断,计算物体移动的路程和位移,若路程和位移相差30,记为警告一次,如果发生警告2次,即发出警告提示(发出警报),并开始保存并绘画运动轨迹,每50帧修正一次运动轨迹。考虑到警告提示发出后,在边防背景下,会立刻安排人进行处理,如果没有响应,可能就会默认接受,因此警告提示会持续100帧,100帧后会自行消失。在整个徘徊检测过程中,五个物体是独立进行检测的,互不干扰

     import os
    from torch.utils.data import Dataset
    from utils import *
    from torchvision import transforms
    transform = transforms.Compose([
        transforms.ToTensor()
        ])

    class MyDataset(Dataset):
        def __init__(self, path):   
            self.path = path
            self.name = os.listdir(os.path.join(path, 'notedata'))
        def __len__(self):         
            return len(self.name)
        def __getitem__(self, index):  
            segment_name = self.name[index] #XX.png
            segment_path = os.path.join(self.path, 'notedata', segment_name)

  • 相关阅读:
    刷题记录:洛谷P4147玉蟾宫
    双指针算法——复写零
    TAP 文章系列-10 | 从应用感知能力谈 TAP 的约定服务
    ffmpeg 从内存中读取数据(或将数据输出到内存)
    MediaCodec源码分析 configure流程
    vue基础难点总结
    常用的输入对象
    【玄说✅数据结构与算法】【初阶】—— 排序
    Linux 8:线程
    ARP欺骗
  • 原文地址:https://blog.csdn.net/KO_159/article/details/127544607