Aidlux边缘设备简介

本文内容主要来源于江大白老师主讲的《AidLux智慧安防实战训练营》,感谢江老师和Aidlux工作人员的无私倾情奉献和细致指导。

目录

1 AI项目开发及Aidlux的特点

1.1 跨平台应用的系统

1.2 安卓&Linux移植开发流程

1.3 Aidlux算法优化

 1.4 Aidlux App软件应用


1 AI项目开发及Aidlux的特点

AI项目开发的整体流程:

Aidlux边缘设备简介_第1张图片

由上图可知,在实际项目中,一般先由数据工程师对于数据标注,再由算法工程师进行算法训练。

(比如对于人体框进行标注,由算法工程师训练人体检测模型)

因为用到不同的算法设备上,再由嵌入式工程师进行算法适配,和视频结构化平台的开发。

针对不同的图像进行算法处理,得到结构化的数据信息。(比如在Nvidia边缘设备使用,将人体检测模型在设备上适配,并开发视频结构化平台,对于视频流进行检测处理,得到人体检测框的Box信息)。

再将算法处理后的数据,对接到系统软件工程师,进行业务平台业务功能的处理。(比如将人体检测的检测框信息,对接给数据中台上,设置一些业务功能,例如越界识别等)。

最后对接到客户系统中,并交给运维工程师进行现场落地部署。(比如将越界人员的信息,对接到客户大屏上,进行展示)。

这里的数据处理和算法开发,很多算法岗的同学都会比较了解,因为平时工作中,都是使用Python来进行开发的。

而在模型移植、视频结构化部分,目前市面上基本都是采用C++的方式。

不过训练营主要采用一种更便捷的方式,Aidlux平台,即模型移植也采用Python的方式。且大家可以基于一台安卓手机,也可以基于一台AidBox边缘设备都可以进行开发,并且无缝衔接。

那么为什么Aidlux可以进行Python版本的AI模型开发和移植呢?

1.1 跨平台应用的系统

AIdlux主打的是基于ARM架构的跨生态(Android/鸿蒙+Linux)一站式AIOT应用开发平台。

用比较简单的方式理解,我们平时编写训练模型,测试模型的时候,常用的是Linux/window系统。而实际应用到现场的时候,通常会以几种形态:GPU服务器、嵌入式设备(比如Android手机、人脸识别闸机等)、边缘设备。GPU服务器我们好理解,而Android嵌入式设备的底层芯片,通常是ARM架构。而Linux底层也是ARM架构,并且Android又是基于Linux内核开发的操作系统,两者可以共享Linux内核。因此就产生了从底层开发一套应用系统的方式,在此基础上同时带来原生Android和原生Linux使用体验。

Aidlux边缘设备简介_第2张图片

因此基于ARM芯片,开发了Aidlux平台,可以在安卓手机上直接下载Aidlux使用。同时基于ARM芯片,比如高通骁龙的855芯片和865芯片,也开发了AidBox边缘设备,提供7T OPS和15TOPS算力,可以直接在设备上使用。

Aidlux边缘设备简介_第3张图片

而使用这些设备平台开发的时候,和在Linux上开发都是通用的,即Linux上开发的Python代码,可以在安卓手机、边缘设备上转换后使用。

1.2 安卓&Linux移植开发流程

那么为什么可以转换后使用呢?

常规的方式,应用在手机Android时,需要将PC上编写的代码,封装成Android SO库(C++)。

经过测试后,封装JNI调用SO库,最终在Android上使用Java调用JNI,最终再进行测试发布。

因此我们可以看到,这样的流程需要一系列的工作人员参与,比如C++、Java、Python的工程师。

但是大多数算法人员可能会用Python更多一些,比如上面编写的整套算法。

Aidlux将其中的整个开发流程,全部打通,通过Aidlux平台,可以将PC端编写的代码,快速应用到Android系统上。

Aidlux边缘设备简介_第4张图片

1.3 Aidlux算法优化

那么有了Android和Linux双系统开发的基础,就可以做很多的事情了。而AI算法应用,就是比较典型的一种。

不过这里就涉及到,芯片对于AI算法的优化加速的能力。Aidlux内部一方面内置了多种深度学习框架,便于快速开发。另外对于多种算子进行了优化加速,很多算法的性能,也都能达到实时使用。

Aidlux边缘设备简介_第5张图片

 1.4 Aidlux App软件应用

详细信息请参考《Aidlux&VScode编程调试及AI案例测试》,文中有详细步骤说明。

你可能感兴趣的:(深度学习,人工智能)