AidLux · 2022年12月05日 · 四川

零基础边缘端智能安防训练营 | Lesson 1

5个课时,落地AI应用!

欢迎大家来到AidLux零基础边缘端智慧安防训练营~

本次训练营的课程,将全程一路干货。

从AI行业的算法现状、行业应用、项目落地等多个角度,带着大家深入浅出的学习AI应用的一系列落地全过程。

除了经验分享之外,本次训练营还会带着大家一步步实战,利用安装AidLux的安卓手机,实现一整套的越界识别功能。

我们希望能够通过训练营,让更多的同学掌握AI应用落地相关的实战经验,对大家的工作和生活产生帮助。

Lesson 1 的内容框架如下:

  1. 智慧城市场景应用介绍
  2. 智慧城市AI项目工程化方式
  3. AI项目边缘设备落地方案
  4. 越界识别算法功能
    5.Lesson2课件下载

1. 智慧城市场景应用介绍

目前,AI视觉已经越来越多地应用在各个行业场景中,比如智慧城市、工业视觉检测、自动驾驶等。

我们先简单了解一下目前AI视觉行业中的一些基本情况

1.1 智慧城市的场景划分

智慧城市应用领域涉及很广,按照行业领域划分,主要归类如下:
训练营lesson1图1.png

智慧城市覆盖面广泛,很多宣传做智慧城市的公司,其实主要涉及的只是其中某个板块。

要么专注于AI视觉方面,做各类场景的AI视觉解决方案;

要么专注于某一领域,比如专门做智慧园区、智慧交通的软件提供商、视觉提供商。

不同公司的业务领域、覆盖范围不一样,但通常而言,智慧城市行业主要是对空间内的人、车、物进行识别分析。

1.2 智慧城市的算法划分

了解了智慧城市的场景领域划分后,切入到AI视觉算法就更加清晰了。

一般情况下,我们学习的AI视觉算法主要是底层的应用技术,比如目标检测、图像分割、OCR识别等算法。

通常而言,在各个行业实际应用中,不同的场景,对应不同的算法功能,而不同的算法功能则由不同应用技术组合而成。
训练营lesson1图2.png

从上图中,可以看到最底层的是各类的AI算法,往上层组成各种的算法功能,再根据不同场景的实际需求,找到相应的算法功能去解决。

再从场景倒推,比如以下面智慧园区、智慧社区、智慧金融、智慧消防的应用场景为例,每种场景都会对应不同的算法功能。
训练营lesson1图3.png
训练营lesson1图4.png
训练营lesson1图5.png

不同场景中算法应用的需求是不一样的:

比如安全生产中,侧重的是对于人员行为、穿着等的监管,比如安全帽、反光衣等;

而智慧园区中,侧重的是安防相关的应用,常用功能是越界识别、人脸识别等。

但从算法功能实现来说,很多不同算法功能的底层技术都是一样的。

1.3 不同的AI算法功能

以本次训练营课程中涉及的越界识别功能为例,其底层的算法技术,主要是人体检测+人体追踪+区域业务功能判断。

此处的业务功能,主要是判断监管的区域,在某个时间内,是否有人体闯入。
训练营lesson1图6.png
人体检测+人体追踪+不同的业务功能,也可以实现各种各样不同的算法功能。

比如可以实现客流统计——统计经过线段或者区域的人员数量。
训练营lesson1图7.png

再比如人员在离岗——统计某一个设定区域内是否检测到人体,如果没人的话,分析是否合规。
训练营lesson1图8.png

因此,从事智慧城市行业首先需要对于整个智慧城市有一个大场景分类。

再针对不同的场景,去了解有哪些算法应用。进而再判断不同的算法应用,由哪些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路摄像头采用各类算法进行分析,会采用边缘设备的方式。

因为涉及到多个摄像头的处理,其中会有大量的视频流编解码处理,单路多模型、多路多模型的分析,相对而言更复杂。
训练营lesson1图9.png

③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芯片)。
训练营lesson1图10.png
不用担心没有边缘计算设备,本次训练营内容使用AidLux APP安装到安卓手机或者平板上即可。

就可以把手机或者平板变成一个移动边缘计算设备,整个流程熟悉了之后大家可以尝试使用AidBox边缘设备。
训练营lesson1图11.png
本次训练营,会手把手带着大家,利用手机端AI芯片,完成智慧城市领域中应用非常广泛的越界识别算法功能。

4. 越界识别算法功能

越界识别属于综合型的算法应用。
在AI算法应用中,从简单到复杂划分,一般有三种类型:

(1)简单型算法应用
有些算法功能,采用单一的算法模型,比如目标检测就能完成算法应用。

比如安全帽检测、反光衣检测,通常采集安全帽数据集、反光衣数据集,利用一个目标检测算法就能完成算法功能应用。

(2)中等型算法应用

中等型算法则是多个模型串联的功能。

比如越界识别,由人体检测+人体追踪+业务功能(区域监测)串联处理。

再比如人流统计,是由人体检测+人体追踪+业务功能(画线统计)串联处理。

(3)复杂型算法应用

复杂型算法是更加复杂的多种算法的串联。

比如像动态人脸识别,是人体检测+人脸追踪+人脸关键点+旋转矫正+人脸特征提+人脸比对的综合型算法。
在做项目时,经历了复杂型算法的捶打后,再做简单和中等型算法,思路上就比较简单清晰了。

5. Lesson 2 课前准备

第一节涉及代码层面的不多,主要是先从整体架构上和大家一起了解行业现状,大家也可以慢慢温习下本节课的内容。

从第二节课开始,就会涉及到相关软件的下载和安装,需要准备的东西如下:
(1)安卓设备(手机/平板)

设备需要满足几个条件:ARM64位,Android6以上;

(2)下载AidLux软件

可以在各大安卓应用商店搜索AidLux,下载安装;也可以点击这里,在官网下载。

本节课到此结束~

大家可以加入AidLux AI开发者交流群,群内有AidLux工程师和江大白等众多AI行业专家,可以给予技术指导以及进行交流互动。

训练营所需的数据集、资料包,都可以在AidLux AI交流群内获取呦~

推荐阅读
关注数
5
内容数
54
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息