守林员小陈每天的工作,大部分时间都用来在林间巡逻,以便第一时间发现安全隐患。枯燥繁重的工作让年轻的他有点郁闷。
有天他举着朋友圈里转发的文章问领导,听说有地方都能用AI来识别山火了,咱们啥时候能用上啊,以后我也算半个用电脑上班的白领了。
领导懒得搭理他,新的智能监控摄像机刚安装不久,图像质量提升了不说,目标识别、异常行为监控之类的功能也都有了,哪里还有经费换个“火眼金睛”!年轻人啊,就是身在福中不知福!
小陈嗫嚅道:都不能及时更新,还叫智能啊……
类似的经历,正在城市的各个角落上演。
让摄像机看懂正在发生的事件并提出告警,已经在越来越多的智慧城市项目中落地,不过实现形式却各有不同。
目前,机器视觉智能分析主要分为两类:一种是前端智能化硬件分析,另一种是后端服务器分析。这两种部署方式的区别,主要体现在三个方面:
1.时效性不同。
前端智能化,侧重于对视频进行实时分析,能够实现“事中报警”,比如在机场、高铁站,一旦发现移动目标出现了触发预定义分析规则的行为,就会引发联动;
而后端智能化则会先将前端摄像机采集的视频流存储到服务器中,根据预设的不同规则,从海量的数据中提取出相关信息,集中优势计算资源做更深入的分析,实现检测与事件检测的协同联动,方便“事后查证”。
2.数据量不同。
实时分析与预警,需要前端智能化有较高的计算性能来支撑,如果把算法集成在硬件配置低的摄像机上,处理速度变慢,就会丧失前端智能的优势。因此,大部分前端只能运行相对简单的、对实时性要求很高的算法。
后端智能分析会根据需求配置足够强大的硬件资源,可以处理成百上千摄像机组成的系统所上传的数据,运行复杂的、允许一定延时的算法。
3.成本焦点不同。
智能前置对摄像机提出了强大的软硬件计算能力要求,终端硬件成本比较高,好处是可以节省带宽资源,帮助后端减轻计算压力,同时实现无人值守,也能够节省人力成本;
而后端智能则需要在存储管理、传输带宽、服务器集群等方面进行较大的投入,来保障数据传输的稳定性,当然,分析运算的集中化也让算法升级、设备运维都变得简化。
那在现实中,究竟是“前端好”还是“后端好”呢?
用一句网络语总结,小孩子才做选择,成熟的大人当然是全都要。
前端的响应速度与稳定性,与后端的资源能力和全局视角,两者互为补充,可以更加贴近一线、事半功倍。
举个最简单的例子,当自动驾驶汽车走在路上,如果摄像机采集的内容还要传送到云端进行识别、判断、分析,一旦遇到网络不好的环境,那还没等指令下传,事故可能就已经发生了。最佳的解决方案,当然是由自带智能算法的前端直接完成实时的路况判断、障碍物识别、违法检测,而更复杂的线路分析等海量数据学习,可以在泊车时交给后端处理,岂不两全其美?
前后端协同,前端智能化是重中之重
既然前后端协同,已经成为视频分析系统的必然趋势,那么,如何以更低耗能、更低成本实现前端智能化,也就成为各行各业智能化管理中的当务之急。
一方面,尽管人们早已习惯了大街小巷摄像机的存在,但其中大部分是仅具备视频采集功能的传统摄像机,能“看清”就不错了,在视频线索查找时依然需要启动人海战术,消耗大量人力物力。
因此,能“看懂”发生了什么的智能化、数字化、高清化摄像机也就成了大势所趋。有数据显示,2019年的前端智能化增速相比2018年,提升了100%。
另一方面,越来越多的智能算法开始从后端转移到前端来完成。比如大家熟悉的车牌号识别、目标识别等等,能够有效减轻后端的计算压力,实时告警还可以有效降低漏抓误报的可能。
但在实际场景中,光线、姿态、清晰度等等,都有可能影响识别效果,这就要求前端有终端芯片、软件平台等基础的支撑,来使更多算法可以落地。
尤其是在多媒体技术不断更新迭代的情况下,文字、图形、影像、动画、声音及视频等不同形态的数据混合在一起,需要技术雄厚、结合具体应用场景来攻克的企业才能完成这一挑战。
就拿公共安全领域来说,有的是静态识别,比如车辆、颜色等等;有的是异常行为,比如突然加速、聚集、突然跌倒等等;还有的要针对移动物体进行智能化跟踪分析、复杂场景下的视频分析等等……这些都需要不断引入新的算法来解决。
从这个角度看,前端视觉感知的种类、数量和质量,直接决定了智能化程度的高低。
此外,前端智能化要实现工程上的成本最优,需要可以演进式地发展。其中就存在着不少阻碍,比如有的前端系统比较难接入和兼容,想要在监控功能基础上增加智能分析,往往需要重复安装摄像机,重复建设无疑会造成极大的资源浪费;
再比如,目前市场发展不均衡,有的厂家有算法但产品不足,有的厂家算法和产品都有但缺乏配套软件,最后呈现的分析效果和效率也都差异很大。
软件缺乏可持续的演进能力,最直接的结果就是很容易遭遇性能瓶颈,尤其是在摩尔定律接近极限、难以突破的现状下,智能摄像机每3-6个月就需要迭代一次,如果没有开放OS和相应软件来对系统进行自动升级,以及加速算法加载与迭代,那么前端硬件的内置算力会很快被极速的计算量耗尽。
正如图灵奖得主David Patterson所说,未来十年将是计算架构“新黄金十年”,通过架构优化、“软硬协同”的方式来提升整体计算性能,将成为大势所趋。
总的来看,尽管前端智能化的前途看起来一片光明,但它也受限于许多前置条件,比如低成本量产的嵌入式AI芯片、高性能场景化的垂直算法、全流程可演进的软件平台等等,没有这些,前端智能摄像机也很难飞入街头巷陌。
淬炼前端:华为的三个智能方程式
在前端智能化已经势不可挡的情境中,华为也结合自身大量的计算、存储、联接、云化、智能、安全等各个领域的技术积累与商业实践,在“全栈云、全智能、全场景”的机器视觉和大数据解决方案基础上,给出了一个体系完备、面面俱到的解题样本。
第一道方程式:AI芯+算法商城,实现前端性能升级
算力是智能的基础,提供“软硬协同”的算力支撑,华为也有自己的思路:
一方面,华为软件定义摄像机(SDC)搭载专业AI芯片,算力最高可达20T,可以在极致低功率、极致算力等不同场景中为前端释放极致算力。让硬件可以轻松实现如目标分类和属性识别等能力,甚至可以完全取代后端服务器来完成视频全量特征分析,提升实时响应能力。
此外,华为算法与应用商城HoloSens Store也应运而生,实现前端智能算法按需可选,在线加载,赋予前端越来越强大的能力。
第二道方程式:软件定义+按需适配,实现能力开放
智能视频监控系统往往会在城市的多个场景、多种业务下使用,比如白天要检测车辆排队长度、甄别事故,晚上则重点看护应急车道情况。如何最大化地根据个性化需求来进行设计,让前端智能能够快速响应、不断创新呢?
答案自然是允许合作伙伴开发多元化的垂直场景算法,这就需要开放性的软件定义来将底层硬件能力释放出去,实现多维感知传感器硬件等终端,以及多种软件能力的接入。
华为就基于容器架构,华为打造业界首创摄像机OS,推出“软件定义”架构。以标准、归一化的软件运行环境,实现软硬件解耦,统一调用底层硬件的计算和编排能力、统一由操作系统封装,开发者只需要聚焦功能侧的能力,大大降低了开发门槛。
另一方面,通过一系列行业标准的北向接入协议,打造了开放的软件生态。合作伙伴在完成算法训练与开发之后,就可以快速集成SDC OS公共软硬件能力,打造成各自行业中具有差异化竞争力的商用产品。
这样做的好处是,能够让大量合作伙伴加入并品尝前端智能化的商业机会,按照各自聚焦的场景开发大量匹配行业属性的长尾算法,解决客户的实际问题,同时接口标准的统一,能够持续演进迭代,进一步降低部署成本,增加其竞争优势。
第三道方程式:多算法+多工具,自动化敏捷开发
对于应用前端智能的企业/机构来说,要自己训练一个AI模型还是比较复杂、技能门槛较高的工作。想要实现AI普惠,前提就要让应用开发变得更容易、更快捷,使其成为ICT从业人员的一项基本技能。
因此华为也将完善的SDC Studio开发工具链开放出来,提供通用算法模型、算法模型文件格式转换、数据的自动标注等服务,以降低应用者的开发成本,提升调测效率。结合前面提到的算法商城,可以共同实现在SDC上的算法与应用管理,以便让前端智能算法和应用可以根据不同场景、全生命周期都能够持续演进、敏捷开发。
完成了这三道方程式的解题,华为也就引领前端智能来到了一个新的维度:
这里不再是单一视觉图像的世界,而是集合了多种传感器,让视觉、听觉、雷达、定位等各种数据互相交织,形成一张全息感知的智能网络,为城市治理、交通等精准护航;
也不再是需要重复“打补丁”的成本雷区,通过软件定义摄像机SDC的开放服务化接口,让前端可以跟随数字技术的变化而动,不断升级更大的价值;