Алгоритм распознавания поведения персонала охрана через алгоритм инфраструктуры сетевой модели opencv+python, алгоритм распознавания поведения персонала Камера видеонаблюдения может выявить и оценить, соответствует ли поведение сотрудника требованиям правил. При обнаружении любого поведения, не соответствующего правилам, Алгоритм. распознавания поведения персонала Система видеонаблюдения будет автоматически отправлять предупреждающие сообщения.
1. Распознавание поведения
在Алгоритм распознавания поведения персонала В сфере видеонаблюдения большая часть исследований направлена на распознавание поведения человека.Основной идентификацией являются также некоторые опасные виды поведения в семье, такие как обнаружение падений детей и пожилых людей, проникновения посторонних лиц и т. д. Их можно классифицировать как поведение человека в рамках идентификации.
Алгоритм распознавания поведения персонала видеонаблюдения(action распознавание), то есть различение действий человека на основе видеоизображений, которое включает, помимо прочего, опасные действия, такие как падение.
В поле поля оно в основном включает в себя следующие подполя:
Классификация необрезанного видео. Длинный необрезанный видеоряд содержит несколько типов действий во временных рядах, и многие из действий не требуют особого внимания, поэтому этот тип видео требует глобального анализа для классификации.
Распознавание обрезанных действий: обрезанный видеопоследовательность содержит тип действия, длина последовательности является переменной, она изучается и классифицируется на основе метки видео.
Предложение временных действий: найдите сегменты видео, содержащие действия в длинной видеопоследовательности, а затем извлеките и классифицируйте их, аналогично извлечению и классификации потенциальных кадров в задачах обнаружения целевых изображений.
Временная локализация действий. Аналогично описанному выше, то есть поиск сегментов видео с поведением действий в длинных видеопоследовательностях и последующая классификация видеосегментов.
События с плотными субтитрами: для длинного необрезанного видеопоследовательности, которая может содержать множество действий, найдите существующие сегменты поведения видео-боевиков и опишите поведение видео.
Далее мы поговорим об Алгоритме. распознавания поведения персонала Краткий анализ и краткое изложение текущего состояния исследований смежных технологий в области видеонаблюдения.
1.1 Алгоритм распознавания поведения персонала наборы данных, связанные с охраной видеонаблюдения
Об Алгоритме распознавания поведения персонала Существует множество баз данных в области видеонаблюдения, наиболее часто используемые из них — UCF101, HMDB51, Kinetics и THUMOS. 2014 г. и ActivityNet.
Первые три в основном используются для классификации распознавания действий и в основном включают в себя большое количество различных типов действий. Среди них UCF101 содержит 13320 видеороликов и 101 тип действий, HMDB51 содержит 7000 видеороликов и 51 тип действий, а Kinetics содержит 300 тыс. видеороликов. и 400 типов действий.
Последние два в основном используются для обнаружения поведения. Источником данных является YouTube, который также широко используется.
1.2 Алгоритм распознавания поведения персонала видеонаблюдения Статус исследования
Учитывая, что для Алгоритма распознавания поведения персонала Обнаружение видеонаблюдения происходит в основном в режиме реального времени и требует обнаружения и анализа каждого кадра видео. Поэтому обработка и анализ видеопоследовательностей больше соответствует вышеупомянутому Temporal. Action Proposal、Temporal Action Локализация и плотные субтитры Здесь также будут представлены области, связанные с событиями, и, конечно же, исследования в других областях.
Сначала выполните плотную выборку признаков, разделите каждый кадр видео на разные масштабы, разделите изображения разных масштабов по сетке для сбора характерных точек и отслеживайте изменения характерных точек во временном ряду, чтобы сформировать траекторию, затем извлеченная траектория является Операцией; , получите дескриптор траектории и дескриптор движения/структуры (HOG, HOF, MBH) и используйте метод Bag of Features для кодирования объектов и используйте классификатор SVM для их классификации.
Видно, что алгоритм DT может извлекать признаки из видеопоследовательностей любой длины и извлекать соответствующие признаки, главным образом, на основе изменений оптического потока человека.
Источник: Плотные бумажные траектории и дескрипторы границ движения для распознавания действий.
Об Алгоритме распознавания поведения персонала Методы обнаружения целей, текущие основные алгоритмы можно разделить на две категории. Один тип основан на регионе Алгоритм R-CNN предложения, включая R-CNN, Fast R-CNN,Faster R-CNN и т. д., все они двухэтапные, то есть им нужно сначала сгенерировать целевой кадр-кандидат, то есть целевую позицию, а затем классифицировать и регрессировать кадр-кандидат. Другой тип — это одноэтапные алгоритмы, такие как Yolo и SSD, которые используют только сверточную нейронную сеть CNN для прямого прогнозирования категорий и местоположений различных целей. Условно говоря, первый тип метода точнее, но медленнее. Второй тип алгоритма быстрее, но точность ниже.
Алгоритм распознавания поведения персонала охранная сигнализация для обнаружения падения,В настоящее время проводится множество исследований, основанных на обнаружении портативных носимых датчиков.,Однако возможности обнаружения падения с помощью компьютерного зрения очень ограничены.,Далее мы представим исследования последних лет по обнаружению падений визуальными методами.
"""
2023.1.1
Этот код реализует пакетное преобразование файлов JSON, экспортированных Labelme, в файлы TXT, необходимые yolo, и включает нормализацию координат.
Оказывается, после аннотации labelme идет следующее: 1.jpg 1.json
После обработки этим скриптом результат 1.jpg 1.json 1.txt
"""
import os
import numpy as np
import json
from glob import glob
import cv2
from sklearn.model_selection import train_test_split
from os import getcwd
classes = ["NOFight", "Fight", "Person"]
# 1. Путь метки
labelme_path = "Data20200108/"
isUseTest = False # Создавать ли набор тестов
# 3. Получите файлы для обработки
files = glob(labelme_path + "*.json")
files = [i.replace("\\", "/").split("/")[-1].split(".json")[0] for i in files]
print(files)
if isUseTest:
trainval_files, test_files = train_test_split(files, test_size=0.1, random_state=55)
else:
trainval_files = files
# split
train_files, val_files = train_test_split(trainval_files, test_size=0.1, random_state=55)
def convert(size, box):
dw = 1. / (size[0])
dh = 1. / (size[1])
x = (box[0] + box[1]) / 2.0 - 1
y = (box[2] + box[3]) / 2.0 - 1
w = box[1] - box[0]
h = box[3] - box[2]
x = x * dw
w = w * dw
y = y * dh
h = h * dh
return (x, y, w, h)
wd = getcwd()
print(wd)
def ChangeToYolo5(files, txt_Name):
if not os.path.exists('tmp/'):
os.makedirs('tmp/')
list_file = open('tmp/%s.txt' % (txt_Name), 'w')
for json_file_ in files:
json_filename = labelme_path + json_file_ + ".json"
imagePath = labelme_path + json_file_ + ".jpg"
list_file.write('%s/%s\n' % (wd, imagePath))
out_file = open('%s/%s.txt' % (labelme_path, json_file_), 'w')
json_file = json.load(open(json_filename, "r", encoding="utf-8"))
height, width, channels = cv2.imread(labelme_path + json_file_ + ".jpg").shape
for multi in json_file["shapes"]:
points = np.array(multi["points"])
xmin = min(points[:, 0]) if min(points[:, 0]) > 0 else 0
xmax = max(points[:, 0]) if max(points[:, 0]) > 0 else 0
ymin = min(points[:, 1]) if min(points[:, 1]) > 0 else 0
ymax = max(points[:, 1]) if max(points[:, 1]) > 0 else 0
label = multi["label"]
if xmax <= xmin:
pass
elif ymax <= ymin:
pass
else:
cls_id = classes.index(label)
b = (float(xmin), float(xmax), float(ymin), float(ymax))
bb = convert((width, height), b)
out_file.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n')
print(json_filename, xmin, ymin, xmax, ymax, cls_id)
ChangeToYolo5(train_files, "train")
ChangeToYolo5(val_files, "val")
# ChangeToYolo5(test_files, "test")