异常检测是识别与正常模式显著不同的数据点或行为的过程。常用的方法包括统计分析、机器学习(如神经网络)和基于规则的系统。例如通过传感器的数据可以了解产品工作的过程中帮我我们检测是否出现了异常现象。
九月份ST公司的巡回研讨会展中ST的工程师介绍了他们异常检测是项目。项目大题介绍了STM32如何利用NanoEdge实现产品中电流异常检测。这个项目不禁让我想起来自己多年前想到过的一个项目:
日光灯管电流异常检测 。不过这个项目也局限于构思阶段,基于当时自己的技术水平以及理解并不太适合部署。
日光灯管的启动流程大体如下:电源供电后,电流流入灯管,激发内部低压气体,产生自由电子。自由电子与气体原子碰撞,释放紫外线光,照射到内壁的荧光粉,激发并发出可见光。随着温度升高,电流稳定,灯管发出明亮光源。整个过程通常在几秒内完成。但是由于
** 灯管老化或接触不良 ** ,会引发过热或电弧,甚至出现爆炸的风险。
而日光灯管爆炸危害通常是很大的,所以有一种能够低成本的检测启动电流是否异常的设备对于这种危害可以适当程度的避免。而这种检测产品工作状态与平常是否异常的技术就是
** 异常检测 ** 。
异常检测通常还可以根据设备的具体工作状态来选择是否学习,例如在使用STM32的NanoEdge时会要求,在运行异常检测代码前需要 **
预训练(学习)几组正常的数据 ** 。这样子的好处是设备再调用学习的时候可以根据现场的情况进行适当的改变。
当然也可以通过云模型的方式定期的更新模型,不过这种方式成本较高可能不适合大面积的铺开使用,而使用前一种方式的话,只需要一款最基本的单片机和电流检测模块以及相应的控制部分,可以大幅度的减少产品成本。
事实上这种异常检测的适用范围极广,例如无人机自检,当无人机的叶片出现异常时总会产生异常的振动信号,而这种振动时常是肉眼无法判断的,这时候我们就可以利用 **
机器学习部署异常检测模型 **
,当启动无人机自检的时候就可以检测振动信号和正常值是否有异常,而正常信号可以从正常飞行过程中获取,也可以将正常的信号存入外部存储器等等,这是一种高效的,低成本的检测方法。
总而言之,异常检测的适用范围很广而且现在有像 ST 的 NanoEdge AI ,Mat lab的 工具库等快速训练和部署 异常检测的
工具 可以非常方便的从传感器中获取原始数据,并训练自己的机器学习模型来使用。