5个课时,落地AI应用!
欢迎大家来到AidLux零基础边缘端智慧安防训练营~
本次训练营的课程,将全程一路干货。
从AI行业的算法现状、行业应用、项目落地等多个角度,带着大家深入浅出的学习AI应用的一系列落地全过程。
除了经验分享之外,本次训练营还会带着大家一步步实战,利用安装AidLux的安卓手机,实现一整套的越界识别功能。
我们希望能够通过训练营,让更多的同学掌握AI应用落地相关的实战经验,对大家的工作和生活产生帮助。
Lesson 1 的内容框架如下:
1. 智慧城市场景应用介绍
2. 智慧城市AI项目工程化方式
3. AI项目边缘设备落地方案
4. 越界识别算法功能
5. Lesson2课前准备
1. 智慧城市场景应用介绍
目前,AI视觉已经越来越多地应用在各个行业场景中,比如智慧城市、工业视觉检测、自动驾驶等。
我们先简单了解一下目前AI视觉行业中的一些基本情况
1.1 智慧城市的场景划分
智慧城市应用领域涉及很广,按照行业领域划分,主要归类如下:
智慧城市覆盖面广泛,很多宣传做智慧城市的公司,其实主要涉及的只是其中某个板块。
要么专注于AI视觉方面,做各类场景的AI视觉解决方案;
要么专注于某一领域,比如专门做智慧园区、智慧交通的软件提供商、视觉提供商。
不同公司的业务领域、覆盖范围不一样,但通常而言,智慧城市行业主要是对空间内的人、车、物进行识别分析。
1.2 智慧城市的算法划分
了解了智慧城市的场景领域划分后,切入到AI视觉算法就更加清晰了。
一般情况下,我们学习的AI视觉算法主要是底层的应用技术,比如目标检测、图像分割、OCR识别等算法。
通常而言,在各个行业实际应用中,不同的场景,对应不同的算法功能,而不同的算法功能则由不同应用技术组合而成。
从上图中,可以看到最底层的是各类的AI算法,往上层组成各种的算法功能,再根据不同场景的实际需求,找到相应的算法功能去解决。
再从场景倒推,比如以下面智慧园区、智慧社区、智慧金融、智慧消防的应用场景为例,每种场景都会对应不同的算法功能。
不同场景中算法应用的需求是不一样的:
比如安全生产中,侧重的是对于人员行为、穿着等的监管,比如安全帽、反光衣等;
而智慧园区中,侧重的是安防相关的应用,常用功能是越界识别、人脸识别等。
但从算法功能实现来说,很多不同算法功能的底层技术都是一样的。
1.3 不同的AI算法功能
以本次训练营课程中涉及的越界识别功能为例,其底层的算法技术,主要是人体检测+人体追踪+区域业务功能判断。
此处的业务功能,主要是判断监管的区域,在某个时间内,是否有人体闯入。
人体检测+人体追踪+不同的业务功能,也可以实现各种各样不同的算法功能。
比如可以实现客流统计——统计经过线段或者区域的人员数量。
再比如人员在离岗——统计某一个设定区域内是否检测到人体,如果没人的话,分析是否合规。
因此,从事智慧城市行业首先需要对于整个智慧城市有一个大场景分类。
再针对不同的场景,去了解有哪些算法应用。进而再判断不同的算法应用,由哪些AI算法实现。
当然,不同的AI公司切入点不同。
有的公司只做特定场景的AI解决方案,比如针对机场场景、港口场景做深入挖掘;
有些公司则从平台入手,比如做通常场景的算法商城、通常算法的训练平台等。切入的领域不一样,产品应用也不同。
了解行业应用背景以后,我们再来看看技术方面常用的项目架构和工程化方式,依旧以智慧城市为例。
2. 智慧城市AI项目开发交付方式
2.1 AI项目开发交付流程
AI项目的一般开发交付流程通常包括以下环节:
①数据采集——现场数据采集、数据标定、数据集校验;
②模型训练——设计模型、训练模型;
③模型部署——模型转化、模型量化、模型裁剪、模型微调;
④工程化开发——视频编解码、视频结构化开发、多任务开发管理;
⑤业务开发——根据项目的需求,设计业务规则,完成相应业务逻辑处理代码的编写调试;
⑥项目部署——制作安装包或者docker镜像,安装部署在目标平台上,现场测试。
通常来说,从①~③是算法人员方面的工作,主要涉及Python方面算法的使用;
④主要是工程化方面的工作,主要涉及C++方面的开发;
而⑤~⑥主要是中台开发的工作,主要涉及Python、Java方面的开发。
tips:其中还有AI软件的产品设计、UI设计、前端开发等没有罗列出来。
可见整个开发过程涉及的编程语言比较多,而很多算法同学主要还是用Python技术路线,对于算力设备上所用的C++并不是很熟悉。
本次训练营会通过使用AidLux平台来解决这个矛盾。
AidLux可为单一设备同时提供Android和Linux运行环境,仅使用Python就能实现算法加速优化。
学习使用AidLux平台,会极大的方便大家后期工作中开发和部署落地AI应用。
2.2 各种AI算力设备
AI现场应用通常是通过摄像头采集视频图像,再利用算力设备的算力,进行算法分析处理,进而得到处理结果。
算力设备多种多样,但总体而言主要分为三种形态:GPU服务器、边缘设备、端侧嵌入式设备。
①端侧嵌入式设备:主要特点是算力偏小
比如手机、人脸识别闸机等,内部都有一个AI算力芯片,可以进行一些简单轻量级的AI算法模型处理;
比如人脸识别、OCR识别等,不过处理的视频流路数,一般只针对设备上的一路视频流,进行智能分析。
②AI边缘设备:主要用于多路视频多种算法分析
当分析的视频流路数变多时,比如针对10路摄像头采用各类算法进行分析,会采用边缘设备的方式。
因为涉及到多个摄像头的处理,其中会有大量的视频流编解码处理,单路多模型、多路多模型的分析,相对而言更复杂。
③GPU服务器:
此处所说的GPU服务器主要分成两种,一种是我们常用的GPU训练服务器;另一种是专门用于推理的GPU服务器。
两者的底层架构不同,在项目推理应用时,主要用的还是推理GPU服务器。
有些同学可能好奇:有了边缘设备,为什么还用GPU服务器呢?
这是因为在一些智慧城市应用的场景中,会有一个中央机房统一管理,现场的摄像头路数会很多。
例如智慧交通场景常常有数千路摄像头,园区场景常常有数百路摄像头。
此时如果再用每几十路视频一个边缘设备的方式,可能就需要在现场机房里采用几十台、甚至上百台边缘设备了。
因此,在这种情况下,通常采用GPU服务器的方案,让每台服务器可以负责上百路摄像头的分析。
2.3 AI边缘设备和GPU设备不同
部分场景直接使用GPU服务器做视频分析,还存在几个问题:
①许多场景下,数据源(摄像头)是分布式的,可能分布在不同的子网内,甚至分布在不同的城市。
使用GPU服务器集中处理延时大、带宽占用高、能耗高(因为传输的数据中大部分是无效信息);
对于分散的工地或者连锁店店铺等场景,如果要集中处理,不仅要占用宝贵的专线带宽,还要内网穿透,麻烦且不经济。
②有的场景下使用GPU,会显得大材小用,比如连锁店铺的客流统计,每个店铺可能只有2-4路摄像头,少的甚至只有1路,使用GPU会造成算力过程、资源浪费。
3. AI项目边缘设备落地方案
从前面可以看到,AI边缘设备是非常重要的算力载体设备。
其中非常关键的就是AI芯片,目前市面上的销售方式,主要有以下两种:
(1)AI芯片模组
公司自研AI芯片,比如寒武纪,对外销售的主要是AI芯片模组,由一些外部的设备公司再集成到边缘设备或者工控机上,以设备公司的品牌对外销售。
(2)AI边缘设备
部分公司会自研或者采购AI芯片,以AI边缘设备的形态对外销售,为AI解决方案企业提供算力设备,比如英伟达,算能科技,阿加犀。
一般来说,想要玩转边缘设备,通常会开发一整套的视频结构化功能。
通过C++的方式调用算力,将需要处理的结构化信息输出,比如编程Json形式,为后面的业务处理提供分析的信息。
市面上的边缘设备,也主要是以C++的方式来进行开发。
本次训练营主要使用另外一种边缘设备开发的方案,即以Python的方式。
该方式的好处在于,算法工程师使用Python开发的模型,可以直接无缝衔接继续开发应用。比如直接用于AidBox GS865边缘设备(基于高通865芯片)。
不用担心没有边缘计算设备,本次训练营内容使用AidLux APP安装到安卓手机或者平板上即可。
就可以把手机或者平板变成一个移动边缘计算设备,整个流程熟悉了之后大家可以尝试使用AidBox边缘设备。
本次训练营,会手把手带着大家,利用手机端AI芯片,完成智慧城市领域中应用非常广泛的越界识别算法功能。
4. 越界识别算法功能
越界识别属于综合型的算法应用。
在AI算法应用中,从简单到复杂划分,一般有三种类型:
(1)简单型算法应用
有些算法功能,采用单一的算法模型,比如目标检测就能完成算法应用。
比如安全帽检测、反光衣检测,通常采集安全帽数据集、反光衣数据集,利用一个目标检测算法就能完成算法功能应用。
(2)中等型算法应用
中等型算法则是多个模型串联的功能。
比如越界识别,由人体检测+人体追踪+业务功能(区域监测)串联处理。
再比如人流统计,是由人体检测+人体追踪+业务功能(画线统计)串联处理。
(3)复杂型算法应用
复杂型算法是更加复杂的多种算法的串联。
比如像动态人脸识别,是人体检测+人脸追踪+人脸关键点+旋转矫正+人脸特征提+人脸比对的综合型算法。
在做项目时,经历了复杂型算法的捶打后,再做简单和中等型算法,思路上就比较简单清晰了。
5. Lesson 2 课前准备
第一节涉及代码层面的不多,主要是先从整体架构上和大家一起了解行业现状,大家也可以慢慢温习下本节课的内容。
从第二节课开始,就会涉及到相关软件的下载和安装,需要准备的东西如下:
(1)安卓设备(手机/平板)
设备需要满足几个条件:ARM64位,Android6以上;
(2)下载AidLux软件
可以在各大安卓应用商店搜索AidLux,下载安装;也可以点击这里,在官网下载。
本节课到此结束~
大家可以点击这里加入AidLux AI开发者交流群,群内有AidLux工程师和江大白等众多AI行业专家,可以给予技术指导以及进行交流互动。
训练营所需的数据集、资料包,都可以在AidLux AI交流群内获取呦~