本文为 2023 年第十八届中国研究生电子设计竞赛“安谋科技”企业命题三等奖分享。
In-Cabin Multimode System
参赛单位:华东理工大学
队伍名称:悄悄滴进村
参赛队员:束智勇、王安南、杨沁泽
作品介绍
作品基本实现内容
实现每个模块之间的功能,实现多个模块之间的数据通信和信息传递,确保功能的联动和协作。
基本实现的功能:跟踪、音源定位、人脸识别、手势识别、疲劳检测和语言识别等。
整体架构图
EAIDK610 与 R329 通过 WIFI 指定协议通讯
EAIDK610 与 K210 通过 GPIO 进行通讯
实现
在详细设计阶段,我们对每个模块进行详细设计,包括定义模块的接口和功能。考虑系统的性能要求和可扩展性,进行优化和调整设计。分别对多个模块进行介绍。
音源定位模块(跟踪功能)
该模块使用 Sipeed Maix Dock K210 开发板和麦克风阵列模块,通过采集音频数据并进行信号处理,实现对声源方向的定位。具体算法包括声源定位算法,通过PWM 模块控制二维数字舵机云台的转动,将摄像头对准声源方向。
人脸识别模块
该模块利用 Sipeed Maix Dock K210 开发板和摄像头模块,通过实时采集图像数据,运用人脸检测和识别算法,实现对驾驶员的人脸识别功能。通过分析人脸特征点和身份信息,为后续功能提供数据支持。
手势识别模块
该模块使用 EAIDK610 开发板和摄像头模块,通过实时图像采集和手势识别算法,实现对驾驶员手势的识别。具体识别的手势包括“OK”、“Right”、“Left”和“Stop”,通过分析手势特征点的位置和动作,实现对手势的准确识别。
本项目录入了“OK”、“Right”、“Left”、“Stop”四个静态动作手势,分别对这四个动作进行测试,
疲劳检测模块
该模块利用 EAIDK610 开发板和摄像头模块,通过人脸识别算法提取关键点,进一步提取眼睛和嘴巴的关键点,实现对驾驶员的眨眼和打哈欠行为的检测。通过分析一定时间跨度内的眨眼和打哈欠情况,判断驾驶员是否存在疲劳驾驶的风险。
语音识别模块
该模块利用 Sipeed MaixSense R329 开发板和 Maix-Speech 离线语音库,实现语音唤醒和指令识别功能。通过麦克风模块采集声音数据,利用离线语音库进行语音识别,实现对用户语音指令的理解和响应。
上图是 K210 开发板识别到注册人脸后,将数据信息发送给 EAIDK610 开发板,然后EAIDK610 执行从 R329 开发板接收到的指令信息。
技术流程
EAIDK610 与 R329 之间采用了 Socket 网络通信。首先在EAIDK610 侧创建一个服务器端的Socket,服务器接收客户端的连接并管理客户端连接的套接字对象,监听指定 IP 地址和端口号,使用多线程实现了接收客户端连接、接收客户端发送的数据以及向客户端发送数据三个功能;在 R329 侧搭建一个客户端与服务器进行通信,通过套接字与服务器建立连接,可以接收服务器发送的消息,并可以通过标准输入发送消息给服务器。
EAIDK610 与 K210 之间采用了 GPIO 通信,在EAIDK610 侧注册四个 GPIO端口,其中三个用于接收并解码 K210 侧发送过来的人脸 ID 信息,一个用于向K210 侧发送启停信息。
顺序:搭建好通信框架后就可以进行信息交互和处理了,首先 EAIDK610 端会获取到 R329 端发送过来的唤醒信号,同时发送启动信号给 K210 端,随后再接收 R329 端发送过来的指令信息和 K210 端发送的人脸身份信息,可以设定相应身份的权限,然后判断指令信息的合法性再进行指令输出。
创新
展望
AI+ 座舱赋能
团队认为,智能汽车的发展不能只关注“巡路”和“车辆周边信息”的探寻,要深度挖掘“驾驶员”所能提供的信息,实现 AI+ 座舱赋能,合理的方式寻求座舱内、外信息探寻的双头并进。
根据本项目的现阶段的实现,团队认为项目还有五个方面的发展趋势。结构:把笨重并且缺乏足够灵活度的舵机系统升级为圆盘结构,提供横向 360°、纵向 75°的摄像空间,减小视野盲区,提供更为优秀的灵活性。音源:更进一步解决噪声问题,对不同分贝有不同的感知信道。视觉:提升识别和判断算法能力。提供更高精度的缩放、聚焦能力、提供边云协同的功能,以及其他算法实现。跟踪:着重于灵敏度的提升,完善对某一目标的持续跟踪或对不同目标的切换跟踪。智能度:结合大模型可在边缘设备微调部署的特点,实现车载客户端的“边缘智能”,提升车内“电子管家”的智能性。
参赛感悟
提升动手能力的最好的方法就是参加一场比赛,而安谋科技企业赛道的研究生电子设计比赛,能让小组成员从零开始对某一想法进行实践和完成,而不是把实验室的成果生拉硬套地照搬过来。希望之后参加更多的类似比赛。