安防视频监控中的AI功能
AI无处不在。人工智能AI→机器学习ML→深度学习DL→计算机视觉CV,而安防中的AI智能功能的实现主要依靠计算机视觉,实现对图像,语音和文字的理解和识别。而AI功能主要受算法,算力,大数据这三因素影响。
AI功能
安防中的AI功能,有基于前端摄像机的智能功能,也有基于后端中心平台的智能功能,或者云边结合。
其中基于前端摄像机的AI智能功能,有个新的概念,软件定义摄像机,即摄像机的智能功能主要是由软件决定(SDC),还是硬件来决定引起行业热烈讨论,争论不休。我的观点:市场需求决定,不是由技术决定。
安防领域常见的AI功能分为以下4大类:
- 人体分析:人脸识别、体态识别、人体特征提取等;
- 车辆分析:车牌识别、车辆识别、车辆特征提取等;
- 行为分析:目标跟踪监测、异常行为分析等;
- 图像分析:视频质量诊断、视频摘要分析等。
如果更进一步细分,目前主要有这些智能功能:
- 人形,动物侦测
- 人脸侦测,人脸识别
抓拍,属性,眼镜,发型,性别,表情等 - 人流,车流统计
- 车辆,行人道路违章
- 多维感知(人表情,车,行为分析)
- 视频结构化
- 通用smart功能
行为分析:越界侦测,区域入侵侦测,进入/离开区域侦测,徘徊侦测,人员聚集侦测,快速运动侦测,停车侦测,物品遗留/拿取侦测
异常侦测:场景变更侦测,音频异常(音频陡升/陡降侦测,音频有无侦测),虚焦侦测
统计:过线计数功能 - 车辆检测
支持车牌抓拍,颜色,车型,主品牌,子品牌,年款等识别,机非人识别,检测正向或逆向行驶的车辆以及行人和非机动车,自动对车辆牌照进行识别,可以抓拍无车牌的车辆图片。
算力
算力即处理器的运算能力,一般单位TOPs,即Tera Operations Per Second的缩写,1TOPs表示处理器每秒钟可进行一万亿次(10^12)操作。
对应的还有GOPs(Giga Operations Per Second),MOPs(Million Operation Per Second)。1GOPs代表处理器每秒钟可进行十亿次(10^9)
操作,1MOPs代表处理器每秒钟可进行一百万次(10^6)操作。
在某些情况下,处理器的功耗也是需要考虑的重要因素。因此还使用 TOPs/W来作为评价处理器运算能力的一个性能指标,TOPs/W 用于度量在1W功耗的情况下,处理器能进行多少万亿次操作。
常见的一些处理器的算力和功耗可以参考这个统计:Neural Network Accelerator Comparison
Lightspeeur2803能耗效率比达到24Tops/W,是目前能耗效率比最高的AI芯片。Google的TPU3.0运算速度达到了420TOPs。
安防芯片里,Hi3516CV500达到0.5TOPs,Hi3516DV300/Hi3516AV300均达到1.0TOPs,Hi3519AV100达到2.0Tops,Hi3559AV100达到4.0TOPs(华为用这个芯片做出了20TOPs的电警卡口摄像机)。
瑞芯微的RV1109支持1.2Tops,RV1126支持2.0Tops。
算力主要由AI芯片性能决定。AI芯片主要分为传统CPU,GPU,半定制化芯片,全定制化芯片4种。
AI芯片分类
名称 | 主要厂家 | 特点 | ||
---|---|---|---|---|
CPU | Intel,AMD | 不能并行处理计算 | ||
GPU | NVIDIA,AMD | 具备强大并行计算能力与浮点计算能力。 | GPU 平台在算法训练上非常高效。但在推断中对于单项输入进行处理的时候,并行计算的优势不能完全发挥出来。 | |
FPGA | Xilinx,Altera | 可编程的阵列,半定制化 | ||
ASIC | TPU | 专用集成电路 | Tensor Processing Unit, 张量处理器 | |
#rowspan# | NPU | 寒武纪,Apple | NPU(Neural network Processing Unit),神经网络处理器 | |
#rowspan# | VPU | Intel | Vector Processing Unit 矢量处理器 | |
#rowspan# | BPU | 地平线 | Brain Processing Unit,大脑处理器 | |
#rowspan# | BM1680 | 比特大陆 | ||
#rowspan# | EPU | / | ||
#rowspan# | DPU | Wave Computing | Deep learning Processing Unit, 即深度学习处理器 | |
#rowspan# | HPU | Microsoft | Holographics Processing Unit 全息图像处理器 | |
#rowspan# | IPU | Graphcore | Intelligence Processing Unit |
算法
算法(algorithm)是在数学和计算机科学之中,为任何一系列良定义的具体计算步骤,常用于计算、数据处理和自动推理。作为一个有效方法,算法被用于计算函数,它包含了一系列定义清晰的指令,并可于有限的时间及空间内清楚的表述出来。
20世纪早期的数学家、逻辑学家在定义算法上出现了困难,直到英国数学家图灵提出了著名的图灵论题,并提出一种假想的计算机的抽象模型,这个模型被称为图灵机。图灵机的出现解决了算法定义的难题,图灵的思想对算法的发展起到了重要的作用。
算法的核心是创建问题抽象的模型和明确求解目标,之后可以根据具体的问题选择不同的模式和方法完成算法的设计。
机器学习里常见的算法有决策树、随机森林算法、逻辑回归、SVM、朴素贝叶斯、K最近邻算法、K均值算法、Adaboost算法、神经网络、马尔可夫等等。
解决不同的问题可能会用到不同的算法,也可能用相同的算法。没有某种算法是万能的,只是适用的范围不同而已。针对不同场景选择合适的算法很重要。
算法没有高级低级之分,快速简便的解决问题才是根本,一味追求复杂的算法,有时相当于“用高射炮打蚊子”。
大数据
据不完全统计,目前全国各行各业采用的监控摄像头约 2.25 亿只,一个中等城市90天产生的数据量约36PB。如何把这些彼此孤立,无序、非结构化的数据利用起来,集中管理,进行有序、精选的结构化处理,将意义非凡。
目前雪亮工程,平安城市,智慧城市等一系列项目实现了一定区域内的视频监控联网,视频数据集中管理。这些视频大数据可以用来帮助建立,训练各种算法模型,改进算法。同时改进优化后的算法可以迅速加入项目实践,接受实战检验。
未来还可以进一步深耕、挖掘视频大数据,使其价值最大化。
参考资料:
- 全局动点摄像机
- 软件定义摄像机
- 华为SDC软件定义摄像机
- 软件定义摄像机区别传统摄像机的三大硬核标准
- 我们眼里的软件定义摄像机
- Neural Network Accelerator Comparison
- 维基百科:算法
- 十大最受欢迎的AI算法模型
- 算法 – Algorithm
- NVIDIA white paper DEEP LEARNING