三、AI应该用在前端还是后台?
未来智能化一定会在安防监控行业非常普遍且深入的发生,但它在实现时可放在不同的设备里,有时候可以把智能放在前端,如摄像头里,甚至录像机里。也可以把一些智能放在后台的数据中心、服务器上去运算,到底什么样的分配是一种比较合理的分配。关于这个问题,我想给大家分析一下。
1、把智能放在前端的好处
我觉得智能放在前端最大的好处是针对一个视频流时,它所有的运算资源都专注于前端。放在前端有一个好处就是大量数据,用不着通过非常拥挤的网络传到数据中心去。
我们要意识到安防监控网络上的数据都是视频文件,它的码流、数据量比其他任何形式的文件大很多。
你想象一下,如果你有一个千兆的以太网,那么这个千兆的以太网能够同时传多少视频?
一般来说,一个高清的视频码流都会到2到4 MB,也就是说在一个千兆以太网上,可能最多放个一两百个视频就会把这个网络全部占满,所以把智能放在前端的好处可以节省一些带宽。
2、智能放在后台的好处
把智能放在后台的好处有点像云计算,云计算的一大优点是分享,我在后台可以用非常强大的硬件、非常复杂的软件把识别性能做得非常好,因为人们对识别的精度要求永远是无止境的。但这样会导致对识别算法、硬件要求比较高,如果放在服务器里可以达到这个条件,同时分享给不同的前端。
其次,如果把这些设备放到后台,那么它的算法升级、运维都会比较可靠,不像前端摄像头如果发生了软、硬件故障。尤其是硬件的故障,维护会非常麻烦。
3、哪些功能应该放在前端摄像头中
我个人是这么看这个问题的,视频里面的检测、跟踪、去重:检测就是对目标的检测,跟踪就是跟踪这个目标在摄像头里画面中的移动,去重就是我把它送去识别时,从多次的检测中选一个比较好的视角去检测,把很多重复的检测去掉。
这3项内容特别适合也应该放在摄像头里面去做,为什么呢?因为这些内容跟摄像头画面里到底有没有目标是无关的。你如果不检测也不知道有没有目标。
这部分运算是随着视频流的启动,一直需要开动,它不存在分享这件事。这样识别应该放在这个摄像头的前端来做。通过检测、跟踪、去重后,把识别的对象作为照片流通过网络传到后台,这时候它已经是一个截屏图像或者是截图的一小部分,数据量很小。而且这个数据量和目标的多少,以及场景里面活动的激烈程度相关:当人比较多时数据就多一些。当夜深人静人比较少的时候,它就没有数据。这样一来,把识别放在后台服务器来做,就可保障识别精度做得更高。比对就不用说了,因为你每识别出一个物体,就要跟一些客户的敏感目标库做比对,看他是不是一个值得关注的对象。
近期,我在市场上发现了这么一个迹象,早期很多客户安装了智能化产品,它的路数不是很多。所以很多时候就是把传统的IP Camera和后台的服务器直接连接起来,这样早期的方式是可行的,但是他会给客户的带宽带来很大的负担。
4、哪些功能不该放在前端摄像头中
当智能化产品进行推广时,我相信这种方式很难快速进行。所以当下急需解决的事就是前端智能化。我发现有一些厂商试图把识别和比对放在摄像头里去做,我认为这是有问题的,为什么呢?你在摄像头里做识别,识别产生人脸特征。由于每个公司各自的算法不同,就要求客户后台的比对系统只能对接这种特征。这样一来的话就给客户带来很大麻烦,假如我今年采购这个厂商的设备,那我的后台也需要依据这些设备来建设。
到了明年,我想采购不同厂商设备时,就会发现不兼容性。我认为图片是最兼容的、供通行的数据,所以得从客户的角度看待问题,识别算法和比对不要放在摄像头前端,回头会给客户带来很多不灵活的负担。
比对我觉得就更不应该放在前端,因为比对需要把客户的核心资源对比库放在摄像头上,在很多公安应用里面这些都是核心机密。你可以想象,如果有黑客攻击了摄像头就会从里面获取跟黑名单相关的核心信息。我认为核心信息应该永远待在数据中心,待在客户最核心的保密网络里,而非前端。这就是我对智能前端和后端分工的看法。