用腾讯优图AI视觉模组做一个驾驶疲劳监测仪
haoteby 2025-05-02 18:28 59 浏览
道路千万条,安全第一条,相信每个人都是牢记于心的,“喝酒不开车,开车不喝酒”其实不难,难的是防范始料未及的事件,疲倦就是众多始料未及事件中,杀伤力稳居前排的,前一秒心里还在想坚持坚持,下一秒可能就失去了意识。相信每个人都体会过,在瞌睡面前,我们是多么无力,想着躺一会儿再起来,结果天都亮了,千万不要在犯困的时候高估自己的毅力~
墨菲定律表明,只要一件事发生的概率大于零,给足够长的时间,这件事就一定会发生。所以近年来高配版的豪车,应用了各种辅助驾驶的技术来应对这些情况,比如主动刹车系统、车道偏离预警、驾驶员监测系统(DMS)等等,这些高大上的技术中,有没有哪一个我们可以DIY一下,给自己的爱车升个级呢?
真的有!近年来,人工智能技术已经发展到了超出想象的地步,以前我们觉得手写识别、语音输入、人脸识别就是很神奇的东西了,现在出现了一种脸部关键点定位的技术,能把五官轮廓都给精确的定位出来。每只眼睛能通过9个坐标点,标出眼睑、瞳孔的位置,这简直太适合用来监测犯困了!
我们知道,用人工智能进行分析,算法的计算量一般都很大,以前用树莓派3B跑过人脸检测,用OpenCV的Haar Cascades算法,要160多毫秒才能跑完一帧人脸检测。如果用效果更好的深度神经网络模型,比如通过NCNN加速框架跑MobileNet-SSD模型,则需要260多毫秒,再跑一个关键点定位模型估计还要几十毫秒,整体帧率就只有3fps了。
当当当,是时候请出这个神奇的模块了,它内置了一颗AI加速芯片,单周期可以运行512次乘加运算,硬件支持卷积、池化、全连接等操作,还带了两颗手机摄像头模组,直接能对拍到的图像跑AI算法进行分析,通过UART输出分析后的结果,非常有意思!
这就是我们隆重推出的腾讯优图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能做出很多有意思的东西,等你一起来探索哦!
相关推荐
- 如何为MySQL服务器和客户机启用SSL?
-
用户想要与MySQL服务器建立一条安全连接时,常常依赖VPN隧道或SSH隧道。不过,获得MySQL连接的另一个办法是,启用MySQL服务器上的SSL封装器(SSLwrapper)。这每一种方法各有其...
- k8s 证书问题排查_k8s dashboard 证书
-
从去年开始一些老项目上陆陆续续出现一些列的证书问题,(证书原理这里就不说了,官方文档一堆)多数刚开始的表现就是节点的kubelet服务起不来,节点状态NotReady表现日志如下failed...
- 企业级网络互通方案:云端OpenVPN+爱快路由器+Win11互联实战
-
企业级网络互通方案:OpenVPN搭建公有云+爱快路由器+Win11三地互联实战指南「安全高效」三地局域网秒变局域网实施环境说明...
- OpenV** Server/Client配置文件详解
-
Server配置详解...
- 接口基础认知:关键信息与合规前提
-
1.核心技术参数(必记)...
- S交换机通过SSH登录设备配置示例(RADIUS认证+本地认证独立)
-
说明:●本示例只介绍设备的认证相关配置,请同时确保已在RADIUS服务器上做了相关配置,如设备地址、共享密钥、创建用户等配置。●通过不同的管理域来实现RADIUS认证与本地认证两种方式同时使用,两...
- SSL证书如何去除私钥密码保护_ssl证书怎么取消
-
有时候我们在生成证书的时候可以加入了密码保护。然后申请到证书安装到了web服务器。但是这样可能会带来麻烦。每次重启apache或者nginx的时候,都需要输入密码。那么SSL证书如何去除私钥密码保护。...
- SSL证书基础知识与自签名证书生成指南
-
一、证书文件类型解析...
- S交换机通过SSH登录设备配置示例(RADIUS认证)
-
说明:本示例只介绍设备的认证相关配置,请同时确保已在RADIUS服务器上做了相关配置,如设备地址、共享密钥、创建用户等配置。假设已在RADIUS服务器上创建了用户名yc123,密码test#123。对...
- HTTPS是什么?加密原理和证书。SSL/TLS握手过程
-
秘钥的产生过程非对称加密...
- HTTPS TLS握手流程_进行tls握手
-
1.客户端向服务器发送`ClientHello`消息,包括支持的TLS版本、加密套件、随机数等信息。2.服务器收到`ClientHello`消息后,解析其中的信息,并根据配置选择一个加密套件。3....
- Spring Boot 单点登录(SSO)实现_spring boot 单点登录jwt
-
SpringBoot单点登录(SSO)实现全指南单点登录(SingleSign-On,SSO)是一种身份验证机制,允许用户使用一组凭证登录多个相关但独立的系统。在微服务架构和企业级系统中,SS...
- 源码分享:在pdf上加盖电子签章_pdf如何加盖电子公章
-
在pdf上加盖电子签章,并不是只是加个印章图片,。而是要使用一对密钥中的私钥对文件进行签字。为啥要用私钥呢?很简单,因为公钥是公开的,其他人才可以用公钥为你证明,这个文件是你签的。这就是我们常说的:私...
- 微信支付商户API证书到期 怎么更换
-
微信支付商户API证书到期更换是一个非常重要的操作,需要仔细按照流程进行。如果证书过期,所有通过API的支付、退款等操作都会失败,将直接影响您的业务。请按照以下详细步骤进行操作:重要前提:分清...