人员徘徊识别检测

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

其实最大的问题就是行人重识别部分,一个人还好,如果是多人的话,个体之间的特征如果类似,那么可能会识别的id互换,那么保存的轨迹坐标会发生很大的变化,在轨迹绘画的时候也会变得很乱。使用deep_sort是为了区分不同的个体,但无法识别离开视频再回来的人是同一个人。
所以需要使用行人重识别再进行判断。


YOLO网络仅使用卷积层, 属于全卷积网络。这在减少了参数变量的同时, 加快了网络的运行速度。相比于其他神经网络,YOLO系列神经网络通过合理的设计,成功地将目标检测问题转化为回归问题,因而直接通过网络产生物体的位置和所属类别信息。而其他主流网络,大多数需要对已经过神经网络处理输出的图像进行再处理。

以下代码与正文无关

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)

你可能感兴趣的:(人工智能,计算机视觉,机器学习,目标检测,深度学习)