C#,基于视频的目标识别算法(Moving Object Detection)的原理、挑战及其应用

时间:2022-12-21 14:51:51

C#,基于视频的目标识别算法(Moving Object Detection)的原理、挑战及其应用

本文概述了基于监控视频之连续帧信息的各种目标识别算法及其存在的问题与挑战,结合实际应用开发的工作,文中给出了实验性基于帧差算法和改进型背景算法的非人工智能目标识别算法的实际效果。

目标识别算法一直并将持续成为人工智能研究与应用的重点,因为它离生活比较近。本文是写给初学者或初入门者,阅读一下,可以避免或少入坑。

一、目标识别算法的需求与典型应用

1.1 基本需求

从一段连续的视频中提取移动的目标(物体)。

附加的需求包括但不限于识别目标类型、空间位置、移动方向、移动速度及目标分类与统计。

1.2 典型应用

1.2.1 车辆识别与违章处置

1.2.2 军事目标的识别与处置

军事目标往往与非军事目标混杂,而且军事目标无法获得大量的训练集进行训练,因而其特征数据无法用于经常性的识别。军事设备小、精、快,干扰大,因而对于软件的运行环境有较高的、较特殊的要求。

1.2.3 目标的分类与统计

1.2.4 工农业应用

1.2.5 视频压缩

监控视频往往都是连续进行的,随着时间的积累,会生成极大量的视频数据。实际使用中,大量的帧并不具备应用价值,属于“废帧”。废帧,一般就是没有“移动目标”的帧。如果,将这些“废帧”,淘汰出去,可以极大地减少存储需求。按北京联高软件开发有限公式的实验,这样的压缩比,可以达到甚至超过1000:1。24小时的高清监控,可以压缩到10MB一下。

二、目标识别算法的分类

至今为止,目标识别的算法有基于帧差法、背景对比法和基于特征信息的人工智能算法。

2.1 帧差法 Frame difference method

C#,基于视频的目标识别算法(Moving Object Detection)的原理、挑战及其应用

帧差法的原理非常简单,就是比较前后两帧图像之间的差异,并提取其中的有效信息成为目标。

为了提高帧差法的效率,精度, 可以选择缩小图片、灰度化、高斯模糊或中值过滤(模糊)、均值模糊等等。

帧差法的优点是:(1)算法简单,利于在各种特殊平台运行;(2)计算速度快,硬件要求低。

帧差法存在如下难以解决的困难与挑战:(1)一般物体都有联系区域,帧差法会留下很多的“空洞”,这为后续的处理制造很大的困难;(2)帧差法对阴影几乎无能为力。

为了部分解决问题,后续发展了“三帧法”等改进算法,但限于帧差法的基本原理,无法从根本上解决问题。

2.2 背景对比法

背景对比法的原理就是尝试着提取视频中的“背景图”,然后将帧图与背景图做比较,因而提取目标信息。

背景对比法的优点是:(1)算法简单,利于在各种特殊平台运行;(2)计算速度快,硬件要求低。

背景对比法存在几乎无法解决的困难与挑战:怎么提取好的背景?

除了一些极个别的应用场景,实际上很少使用背景对比法。

C#,基于视频的目标识别算法(Moving Object Detection)的原理、挑战及其应用

 

2.3 光流法 Optical Flow

光流法模拟人的眼睛对目标的跟踪。

其基本原理是按照 颜色 或 特征值,计算两帧之间这些点的对应关系,进而确定目标信息。同一个特征点的逐帧移动,形成了“流”,此谓之光流。

光流法正如其光鲜的名字一样,一旦出现,就被寄予厚望。然而,残酷是实际需求,很快就破灭了其发展的势头,而逐步湮灭。

光流法的有点是很多的,但最大问题是:(1)在复杂的实际场景下,特征点的选择是很难的;稀疏光流往往信息不够,而致密光流,其计算量又令人畏惧。(2)无论是稀疏光流、致密光流,其计算量与较低的精度,都使得很难普及应用。

C#,基于视频的目标识别算法(Moving Object Detection)的原理、挑战及其应用

 

2.4 人工智能算法

目标识别算法的历史很长,实际上是从数字影像开始就出现的技术。然而,一直未能获得巨大的突破,直至基于训练集的人工智能技术的出现。

基于人工智能的目标识别原理是:(1)获得与应用相关的大量训练素材;(2)训练并获得特征数据集合;(3)以特征计算帧图片中目标的匹配度,达到约定阈值者为识别对象。

人工智能法的优势:(1)算法应用范围广;(2)识别精度高;(3)光线、阴影等的影响较小;

人工智能法的困难与挑战:(1)如果是工业应用而非学校科研,你必须自己构造数量庞大的训练集;(2)如果是工业应用而非学校科研,必须多次训练以获得理想的特征数据集;(3)运行环境要求高,CPU,GPU等等都必须较好。

再强调一下,人工智能法的最大问题是获得巨量的训练集。什么概念呢?如果需要获得足够高的识别率,往往是200000张图片起步,而且这些图片都必须做标记!多大的工作量啊!!

另外,人工智能算法在一些场合无法展开应用,比如视频压缩、军事应用、红外监控与热成像等等。

C#,基于视频的目标识别算法(Moving Object Detection)的原理、挑战及其应用

 

三、联高算法

北京联高软件开发有限公司参与的科研项目属于工业应用,市面上没有现成的训练集可以使用,而且该系统的应用环境也不能使用高性能计算机。

C#,基于视频的目标识别算法(Moving Object Detection)的原理、挑战及其应用

 

联高算法是帧差法、背景法与光流法的综合体。

联高算法的优势:

(1)无需训练,开机即用;自主训练,越用越准;

(2)100% C# 源代码,未用 OpenCV 及其他组建;支持 .NET ,可运行于 Windows,Linux 及各种国产操作系统。

(3)速度快!精度高!

(4)可用于航天器、飞行器、红外监控、热成像监控及各种特殊监控设备;

(5)用于 视频监控 的超高比率压缩。

(6)适用于各种环境比较恶劣的监控视频。