墨菲定律表明,只要一件事发生的概率大于零,给足够长的韶光,这件事就一定会发生。
以是近年来高配版的豪车,运用了各种赞助驾驶的技能来应对这些情形,比如主动刹车系统、车道偏离预警、驾驶员监测系统(DMS)等等,这些高大上的技能中,有没有哪一个我们可以DIY一下,给自己的爱车升个级呢?

真的有!
近年来,人工智能技能已经发展到了超出想象的地步,以前我们以为手写识别、语音输入、人脸识别便是很神奇的东西了,现在涌现了一种脸部关键点定位的技能,能把五官轮廓都给精确的定位出来。
每只眼睛能通过9个坐标点,标出眼睑、瞳孔的位置,这切实其实太适宜用来监测犯困了!

我们知道,用人工智能进行剖析,算法的打算量一样平常都很大,以前用树莓派3B跑过人脸检测,用OpenCV的Haar Cascades算法,要160多毫秒才能跑完一帧人脸检测。
如果用效果更好的深度神经网络模型,比如通过NCNN加速框架跑MobileNet-SSD模型,则须要260多毫秒,再跑一个关键点定位模型估计还要几十毫秒,整体帧率就只有3fps了。

当当当,是时候请出这个神奇的模块了,它内置了一颗AI加速芯片,单周期可以运行512次乘加运算,硬件支持卷积、池化、全连接等操作,还带了两颗手机摄像头模组,直接能对拍到的图像跑AI算法进行剖析,通过UART输出剖析后的结果,非常故意思!

用腾讯优图AI视觉模组做一个驾驶疲乏监测仪

这便是我们隆重推出的腾讯优图AI视觉模组VisionSeed

目前VisionSeed模块供应的算法有:人脸检测、90点关键点定位、姿态角解算、人脸识别,还能够把自己演习的模型下载到模块上的AI芯片中运行。

我们先通过腾讯供应的PC端配置工具,看看模块上的AI算法输出的信息:

[T1]

通过USB把VisionSeed连上电脑后,识别出来一个video0设备和ttyACM0设备,用配置工具打开ttyACM0,就能源源不断的获取到实时剖析数据了,左下角立时显示出了我的脸部关键点,随着我眨眼、摇头、张嘴,这个虚拟的小人也随着变革,数据可视化界面上,选择“左眼开闭”,曲线就开始滚动起来了,我每次眨眼,曲线就涌现一个向下的尖峰,如果闭眼,曲线就稳定在0.05以下的位置,非常灵敏!

我们要把这个模组装到车上,当检测到闭眼的时候输出报警声。
由于AI芯片上不能运行程序,以是须要一个单片机,这次我们用10块钱的STM32来运行报警的逻辑。

要怎么在STM32上获取到AI剖析的结果呢?看了一下VisionSeed的文档,中间金黄色的FPC软排线里有UART接口,我们只须要把左边的那个接口板用个单片机更换掉,直接通过FPC座接到VisionSeed上,就能在STM32单片机上拿到结果了。

我们选择STM32F103来运行报警逻辑,通过串口0连接VisionSeed,串口1用来掌握MP3模块发出报警声,PC13连接一个状态指示灯,事理图还是很大略的:

开始画板,右侧通过0.5mm间距的30pin连接器和VisionSeed相连;下方的Micro-USB接口供电,同时导出了VisionSeed的USB旗子暗记,可以方便调试;中间是STM32F103C8T6单片机;上方的4pin接口是ST-Link烧录口;左侧背面是一个3.5mm音频接口,用来向音箱输出报警声;正面还叠加了一个串口掌握的MP3播放模块,布局是相称紧凑了。

导出gerber文件到工厂做板,三天后板子得手:

焊接元器件,推举利用回流焊工艺,做PCB的时候加30元做一个钢网,就可以方便的手工印刷锡膏,把元器件放到焊盘上,送进烤箱,没错,家里烤面包的烤箱就可以!
温度设定到250℃,看着锡膏完备融化后断电,一个个完美的焊点就涌现了:

再用电烙铁焊上MP3模块:

末了要装到VisionSeed上。
利用VisionSeed自带的散热片,构造稳固而紧凑。
先拆掉左侧的接口板:

换上我们做好的单片机:

开始调试STM32程序。
VisionSeed供应了开源的C++、Python、js的SDK,供应数据解析,直接就能得到人脸框、90个关键点的坐标。
短短数十行代码,我们就完成了对双眼18个点的坐标剖析,进而判断闭眼是不是超过了安全的韶光:

通过ST-Link把程序下载到单片机中,然后把模组装到方向盘后,接上5v供电和音箱,坐上驾驶座,闭上眼睛,当当当——警铃大作,开车再也不怕犯困啦!

后记:

VisionSeed不仅仅是个集成了摄像头+AI芯片的模块,AI算法才是效果的担保,它内置了腾讯优图的算法,效果过硬。

现在通过VisionSeed人工智能视觉模块,我们把AI能力开放出来,你我也能打仗到天下一流的腾讯优图人工智能算法,乃至能运用在自己的DIY产品中。
相信随着AI能力的不断开放,将会惠及更多的AI爱好者们。

此外,视觉模块内还包括了人脸识别功能,只要通过附带工具软件管理数据库,能够实时离线识别库中的身份,非常强大。

VisionSeed能做出很多故意思的东西,等你一起来探索哦!