前端智能化的加速时刻:华为机器视觉的创新方程式

来源:脑极体

守林员小陈每天的工作,大部分时间都用来在林间巡逻,以便第一时间发现安全隐患。枯燥繁重的工作让年轻的他有点郁闷。

有天他举着朋友圈里转发的文章问领导,听说有地方都能用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的开放服务化接口,让前端可以跟随数字技术的变化而动,不断升级更大的价值;

更不是通用算法的“一言堂”,不同种类、不同厂商的多算法在框架体系内生长,一同将AI推向各个实际场景的细枝末节之中。这样的城市之眼,不正是你我所期许的吗?

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/487093.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue-Router + Vuex 实现单页面应用

效果查看(一个食品安全网,大家也可以发布一些食品安全的见闻,尽举手之劳): 源代码:https://pan.baidu.com/s/1i43H3LV 如果想要服务器端代码可以在评论里说明一下 利用vue路由和vuex实现了一个单页面应用,项目结构如下: 入口:main.js import ./global.cs…

改变宇宙之前,GPT-3最先改变的可能是OpenAI

大数据文摘出品来源:bdtechtalks编译:HippoGPT-3是人工智能研究实验室OpenAI的最新成果。它是有史以来规模最大的语言模型,引发了一系列关于人工智能将如何快速改变众多行业的讨论。但是,很少有人去讨论GPT-3是如何改变OpenAI本身…

Java王者火柴人

前言 基于Java的飞翔小鸟游戏,本代码来自b站up主分享。本游戏所需的图片素材需要自己获取并下载,在此视频下,视频链接:【Java经典小游戏项目之飞翔的小鸟】 https://www.bilibili.com/video/BV1ou411o7br/?p10&share_source…

Windows 快捷键

win快捷键: 单独按Windows:显示或隐藏 “开始”功能表 WindowsBREAK:显示“系统属性” 对话框 WindowsD:显示桌面或恢复桌面 WindowsM:最小化所有窗口 WindowsShiftM:还原最小化的窗口 CtrlShiftN&am…

day2-元组 列表-赋值和深浅拷贝

一 元组 元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表 用途:一般情况下用于自己写的程序能存下数据,但是又希望这些数据不会被改变,比如:数据…

乖乖给行人让路?学界推出无人机控制技术NMPC,可在低空中实现自主导航和避障...

来源:万物智能视界前天,在深圳经济特区40周年庆上,上千架无人机在深圳上空演绎了一场大型灯光秀。近些年,各种无人机高空秀屡见不鲜,在刚刚过去的七夕夜上,上海警方也运用无人机开启了一场反欺诈安防宣传。…

个人银行管理系统

// 4-10个人银行账户管理系统.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 #include <iostream> #include <cmath> using namespace std; class SavingsAccount {//存储账户类 private:int id; //账号double balance; //余额…

一天学习一个设计模式之命令模式

命令模式&#xff08;Command&#xff09;&#xff0c;将一个请求封装为一个对象&#xff0c;从而使你可用不同的请求对客户进行参数化&#xff1b;对请求排队或记录请求日志&#xff0c;以及支持可撤销的操作。 代码如下&#xff1a; 1 /** 2 * 抽象命令角色类 3 */ 4 publi…

PNAS:张航课题组揭示人类为何“扭曲”概率信息

来源&#xff1a;脑科学2020年8月25日&#xff0c;北京大学心理与认知科学学院、北京大学IDG麦戈文脑科学研究所、北大-清华生命科学联合中心的张航研究组在美国科学院院刊&#xff08;PNAS&#xff09;上发表了题为“The bounded rationality of probability distortion”的文…

修改结构体中成员的值

#include <iostream> using namespace std; struct student { char name[10]; float grade; }; //更改student数据的grade成员&#xff0c;参数形式为引用 void change(student& x, float grade) { x.grade grade; } //更改student数据的grade成员&…

Object.prototype的成员介绍

3.Object.prototype的成员介绍 Object.prototype是js中所有的对象的祖宗Object.prototype中所有的成员都可以被js中所有的对象使用&#xff01;3.1. 方法&#xff1a; hasOwnProperty 语法&#xff1a; 对象.hasOwnProperty("属性名")功能&#xff1a; 判断当前对象自…

为什么AI感知与人类感知无法直接比较?

来源丨TechTalks作者丨Ben Dickson编译丨科技行者人类级别的表现、人类级别的精度……在开发AI系统的企业中&#xff0c;我们经常会听到这类表述&#xff0c;其指向范围则涵盖人脸识别、物体检测&#xff0c;乃至问题解答等各个方面。随着机器学习与深度学习的不断进步&#xf…

C++中冒号的用法

1.冒号&#xff08;:&#xff09;用法 &#xff08;1&#xff09;表示机构内位域的定义&#xff08;即该变量占几个bit空间&#xff09; typedef struct _XXX{unsigned char a:4;unsigned char c;} ; XXX&#xff08;2&#xff09;构造函数后面的冒号起分割作用&#xff0c;是…

JaveScript运算符(JS知识点归纳三)

JaveScript中有许多的运算符,在这里就只说明一些需要注意的. 01 一元运算符 一元:指的是参与运算的操作数只有一个 最经常使用的是 -- 计算规则: /-- 前置于操作数的时候 , 先进行 aa1,再去进行运算 /--后置于操作数的时候 , 先进行运算,在进行aa1 无论/--前置于操作数还是后…

微软白皮书:47页报告详解中国芯片设计云技术

来源&#xff1a;智东西在多方面因素的推动下&#xff0c;中国的芯片设计行业迎来了前所未有的发展契机。当前&#xff0c;我国芯片设计业的产品范围已经涵盖了几乎所有门类&#xff0c;且部分产品已拥有了一定的市场规模&#xff0c;但我国芯片产品总体上仍然处于中低端&#…

Restful Service 中 DateTime 在 url 中传递

在C# url 中一旦包特殊字符&#xff0c;请求可能就无法送达。可以使用如下方法&#xff0c;最为便捷。 请求端&#xff1a; beginTime.Value.ToString("yyyyMMddHHmmss") 接收端&#xff1a; DateTime? dtBeginTime null; DateTime tempTime;if (DateTime.TryParse…

【无标题】this指针

在 C 中&#xff0c;每一个对象都能通过 this 指针来访问自己的地址。this 指针是所有成员函数的隐含参数。因此&#xff0c;在成员函数内部&#xff0c;它可以用来指向调用对象。 友元函数没有 this 指针&#xff0c;因为友元不是类的成员。只有成员函数才有 this 指针。 下…

一文读懂马斯克展示脑机接口:硬币大小芯片植入猪脑 实时读取猪脑信息

视频&#xff1a;马斯克展示脑机接口设备无线实时读取猪脑信息&#xff0c;时长约7分10秒来源&#xff1a;腾讯科技马斯克展示了一群实验猪。这些实验猪之前曾接受过外科手术&#xff0c;由手术机器人将最新版的Neuralink设备植入大脑。这些项目的目标都是利用大脑植入技术实现…

循环,函数,指针作业

一、循环 题目1&#xff1a;7-6 统计素数并求和 提交列表&#xff1a; 流程图&#xff1a; 问题&#xff1a; 解决&#xff1a;mn最多一个素数&#xff0c;都为0无答案&#xff1b;m和n本身也可能是素数。 题目2&#xff1a;7-12 约分最简分式 提交列表&#xff1a; 流程图&…

字符数组的应用

一维数组 char s[10]; s可以存储的字符串的最大长度&#xff08;字符串中字符的个数&#xff09;为9个字符&#xff0c;在最后一个字符后面存储一个字符\0&#xff08;ASCII码为0的字符&#xff09;作为字符串的结束标志 char s2[10]{"student"}; char s3[10]&quo…