随着人工智能和5G互联网的普及,物联网、智慧生活已经逐渐走入人们的生活。但是目前的智慧城市、智慧家居的普及需要一套可以快速构建整套硬件、软件相互结合的平台。而随着机器学习技术的发展,传统方式以其实现周期长,功能单一,搭建困难等缺点已经不适合未来智慧生活的需要,因此,目前需要一款能够在复杂场景应用(不过分依赖于PC端)并且可以进行二次开发的平台。
在汉斯出版社《软件工程与应用》期刊中,有学者设计的图像智能处理平台致力于将机器学习方法推广到复杂环境中应用。该平台可以让用户在此平台上进行特定的串口输入或二次开发,在计算机视觉方面功能丰富,基于本平台进行二次开发之后可快速构建出一系列丰富的图像处理功能,可以应用于复杂环境中,如交通信号识别及流量控制、自动驾驶场景检测、辅助驾驶、防盗检测、防盗预警、生物特征识别等多方面复杂环境。
值得一提的是,平台的软件库为gcForest的C++工业级实现奠定基础,允许用户以Tensorflow类似的方法在PC机上构建模型进行训练,训练完毕后保存模型并部署到嵌入式设备。通过良好的易用性有力地扩展了gcForest的应用环境。gcForest基于决策树原理构造,对标神经网络的新一代深度模型,有计算开销较小、可解释性强等优势。gcForest的更广泛使用也将对深度模型研究带来更多其它可能。
本项目将从底层开始构建一套用于嵌入式设备的基础图像处理算法库和gcForest推断库,并在PC端实现对应的gcForest训练库,允许用户在PC端进行gcForest模型训练,并将保存的模型下载到嵌入式设备,以使用推断库进行推断。该嵌入式库可以运行在指定的STM32硬件上。
平台将为用户提供两种调用方法:一是使用约定的串口指令直接向芯片传入期望执行的算法和输入数据(一般为图像张量),二是基于库的源ma进行二次开发,同想要实现的业务逻辑一同编译并下载到芯片,数据依然通过串口输入。两种方法的运算结果均通过串口输出。平台为使用者提供了智能的图像采集功能,允许利用低功耗的OV7670摄像头实现机器视觉检测方面的应用,为用户提供C语言支持接口,并提供19个基础的图像处理算法以实现处理复杂输入。允许用户自主选择帧差分算法、颜色追踪、标记跟踪、人脸检测、图像捕捉、眼动跟踪、矩阵ma检测/解ma、直线检测等功能。
我们在嵌入式设备上实现的gcForest推断库实现了参数化多粒度扫描和级联森林两个主要模块,并将其组装为计算图。将训练好的gcForest模型存入可读入设备,输入数据(一般图像张量)进行推断。基于gcForest的储存将按照三部分内容展开:第一部分以逗号分隔格式存储各个多粒度扫描窗口参数;第二部分以逗号分隔形式存储级联森林每层各个随机森林ID;第三部分以S-Express形式存储每个ID对应的实际随机森林中各个决策树结构。推断库通过这些数据实例化其所描述的gcForest模型为计算图结构。
平台采用了一系列新技术,第一个完成了gcForest算法在嵌入式平台的实现,为使用者提供了智能的图像处理功能,并提供了19个基本视觉算法以实现处理复杂输入。借助高性能STM32系列芯片,支持嵌入式设计,允许扩展多种内存格式,提供功能、存储、性能的优化支持,满足了用户的个性化应用需求。随着本平台应用范围的不断扩大,用户对系统的功能需求也会越来越丰富,所以对系统功能的扩充不可避免。另外,系统的性能与用户体验效果的提高对保持系统的使用优势至关重要,所以我们要进行系统性能的研究,不断提高系统性能。