基于STM32和K210视觉识别的智能车设计与实现

王建诚

盐城工学院学报(自然科学版) ›› 2025, Vol. 38 ›› Issue (4) : 54 -59.

PDF (954KB)
盐城工学院学报(自然科学版) ›› 2025, Vol. 38 ›› Issue (4) : 54 -59. DOI: 10.16018/j.cnki.cn32-1650/n.202504008
汽车工程研究

基于STM32和K210视觉识别的智能车设计与实现

作者信息 +

Design and Implementation of an Intelligent Vehicle Based on STM32 and K210 Vision Recognition

Author information +
文章历史 +
PDF (976K)

摘要

自动驾驶技术是智能汽车发展的核心方向,其中基于视觉感知的环境理解方案因成本低、信息丰富而备受关注。针对结构化场景下的路标识别与自主控制问题,设计并实现了一种以STM32微控制器为控制核心,K210为视觉处理单元的智能车系统。系统通过摄像头采集道路图像,由K210模块基于YOLOv2目标检测算法实时识别转向、限速与红绿灯等的关键路标,通过串口传输至STM32,进而控制电机完成循迹、转向与调速等动作。实验结果表明,系统在K210平台上实现约14 帧/s的稳定运行,平均检测精度达91.5%(mAP@0.5),在模拟路况下实现了基本的自动驾驶功能。

Abstract

Autonomous driving technology represents a core direction in the development of intelligent vehicles. Among various approaches, vision-based environmental perception solutions have attracted significant attention due to their low cost and rich informational output. To address the challenges of road sign recognition and autonomous control in structured environments, this paper designs and implements an intelligent vehicle system featuring an STM32 microcontroller as the control core and a K210 visual processing unit for vision tasks.The system captures road images via a camera, and the K210 module employs the YOLOv2 object detection algorithm to recognize key road signs—such as turn indicators, speed limits, and traffic lights—in real time. The recognition results are transmitted via serial communication to the STM32, which then controls the motors to perform actions including path following, steering, and speed adjustment. Experimental results show that the system operates stably on the K210 platform at approximately 14 f/s, achieving a mean average precision (mAP@0.5) of 91.5%. It successfully demonstrates basic autonomous driving capabilities under simulated road conditions.

Graphical abstract

关键词

STM32 / 视觉识别 / 智能车

Key words

STM32 / visual recognition / intelligent vehicle

引用本文

引用格式 ▾
王建诚. 基于STM32和K210视觉识别的智能车设计与实现[J]. 盐城工学院学报(自然科学版), 2025, 38(4): 54-59 DOI:10.16018/j.cnki.cn32-1650/n.202504008

登录浏览全文

4963

注册一个新账户 忘记密码

近年来,以电能为主要储能动力源的新能源汽车成为我国工业制造新质生产力的重要代表之一。截止2024年底,我国新能源车渗透率已经达到了50%1。随着汽车电气化的普及,国内以华为、百度为代表,国外以特斯拉为代表的数字科技巨头企业加速推动汽车的智能化发展2。针对无人驾驶技术,目前从技术上主要有两种解决方案,包括以特斯拉FSD为代表的纯视觉方案和华为ADS为代表的激光雷达方案。上述两种方案均存在自身的优势和难点。由于涉及人身安全和隐私等法律问题,无人驾驶汽车距离真正落地尚有一段时间,但就一些具体场景而言,智能车已经开始进入我们的日常生活,如快递配送、医院送药、酒店送餐等3-5。因此,在此类场景中,智能车除需具备基本循迹能力外,还需实现对转弯、限速、红绿灯等标牌的精准识别,以完成安全的自主运行,此项研究具有重要的现实意义。
在自动驾驶环境感知领域,视觉感知因其信息丰富、成本相对较低而成为研究热点。对于交通标牌(如转向、限速、红绿灯)的准确识别是实现高级驾驶辅助系统(ADAS)和特定场景下自动驾驶功能的关键技术之一。国内外学者在此方面已开展了广泛研究。例如,Redmon等6提出的YOLO系列目标检测算法,因其在速度和精度上的平衡,被广泛应用于实时交通标志与信号灯检测任务中。在国内,王浩等7基于改进的YOLOv3算法,通过引入PAN和选取CSPNet等方法实现了对交通标志的快速识别,有效提升了模型的检测速度。张达为等8基于改进YOLOv3模型,在主干网络中引入Down-up连接,减小检测算法的模型参数,提高了检测模块的运行速度和鲁棒性。牟家宇等9提出了一种改进YOLOv7-tiny的交通标志实时检测算法,采用了条件参数化卷积结构和TinyFPN特征融合网络结构,平衡检测速度和精度。胡均平等10基于单阶段算法YOLOv5提出了一种自适应特征融合算法和跨阶段局部网络思想,提高了检测精度5.4%,为后续模型轻量化提供参考。
然而,现有研究仍面临一些挑战。许多高性能的深度学习模型计算复杂度高,难以在算力有限的嵌入式终端上实现实时推理。现实场景中的光照变化、目标遮挡及形变等问题,仍会显著影响视觉识别算法的准确性与稳定性。在特定封闭或结构化场景(如园区物流)中,如何实现低成本、高效率的多任务协同(如循迹与多类路标识别并行处理),仍是当前应用落地的难点之一11。针对上述轻量化与实时性挑战,本文设计并实现了一种基于STM32微控制器与K210视觉处理模块,面向结构化场景的智能车系统。本研究重点聚焦于转向、限速、红绿灯等关键路标的嵌入式实时识别与控制,旨在探索一种在资源受限环境下兼顾性能与成本的技术方案,为特定场景下的智能车应用提供实践参考。

1 设计方案

图1展示了基于视觉识别的智能车系统设计方案。本系统主要分为4个部分:决策模块、循迹单元、机器视觉单元和驱动控制单元。决策模块选用STM32单片机,负责对所有外部信息进行综合处理,并发出最终的控制指令。循迹单元采用4路红外传感器,负责实现基础的巡线功能。机器视觉单元包括摄像头模块和图像处理模块。其中,摄像头模块(一颗200 W像素高清摄像头)负责图像采集;图像处理模块(专用处理器)则负责对图像进行算法处理和识别,并将识别结果传输给决策模块。驱动控制单元包含电池模块、电机驱动模块和前后轮电机,该单元由电池模块供电,并通过电机驱动模块精确控制前后轮电机,以执行决策模块的指令,实现对车辆方向和速度的调控。

2 硬件系统设计

2.1 决策模块设计

本设计选用STM32F103C8T6芯片为决策模块的处理器,采用单片机最小系统电路,STM32引脚配置如图2所示。一方面,STM32负责读取红外探测器的状态,并接收、处理图像处理模块发送的信息。4路红外探测器与STM32的GPIO引脚(PC12~PC15)连接,通过检测引脚的高低电平状态判断路线规划。同时,STM32与图像处理模块通过USART串口方式进行通信。由于STM32只负责接收图像识别信息,因此STM32的复用功能引脚PA3(RXD)引脚与K210处理器的TXD引脚连接。另一方面,根据上述模块采集到的外部信息,STM32单片机通过产生PWM波控制电机驱动器,从而实现对电机转向和转速的控制。

2.2 机器视觉单元设计

图像处理模块采用嘉楠科技研发的K210处理器,该芯片采用双核64位RISC-V架构,支持机器视觉和听觉多模态信息识别与处理。K210内置KPU(卷积神经网络加速器)等专用硬件加速单元,并集成FPU浮点运算单元,如图3所示。该芯片的最大特色是具备卷积神经网络硬件加速器KPU,能够高效处理卷积神经网络运算4。相比于树莓派等通用计算平台和openMV等专用视觉模块,K210在机器视觉识别方面展现出低成本和高性能的特点,完全满足设计需求。

K210开发板支持监督学习方法对路标等道路信息进行分类,无需借助外部服务器处理,可以在断网条件下实现目标识别。模型训练过程主要分为两步,首先是读取不同角度和场景下的路标图片,然后对图片进行标记。

2.3 循迹单元设计

循迹模块采用4路的红外传感器进行巡线,它主要利用物体的反射特性。当探测器下方为黑色路线时,红外线被吸收,红外接收器无法接收到反射信号,此时输出低电平至STM32单片机。反之,当探测器下方为非规划路线(白色)时,红外接收器收到反射信号,输出高电平。图4分别是直行、右转和左转路线下4路红外传感器的输出信息。

2.4 驱动控制单元设计

驱动模块采用基于AT8236芯片的电机驱动板,支持2路霍尔编码器的测速电机,能够与STM32单片机进行直接连接,通过接收PWM波进行调速控制。小车选用4个独立控制的310电机,电机内置AB相增量式霍尔编码器,用于向STM32反馈转速和方向信号,形成闭环控制。例如,通过控制两个信号的相位差,即可控制电机的旋转方向。

3 系统软件设计

系统软件部分由巡线子程序、转向子程序、解限速子程序和红绿灯子程序。主程序完成各模块初始化后,小车进入巡线状态。在巡线过程中,系统持续检测图像处理模块发送的路标识别结果,并根据识别到的路标类型(转向、解限速或红绿灯)触发相应的子程序。其核心判断逻辑如图5所示。

图6为转向识别子程序流程图。图6中,当检测到K210图像处理模块发送的数据为转向路标时,STM32根据识别结果控制电机转动。若识别为左转路标时,则控制右侧电机正转,左侧电机减速或静止,通过差速实现左转;反之,则控制左侧电机正转,右侧电机减速或静止以实现右转。

图7为解限速子程序流程图。图7中,当K210识别到限速或解限速标识时,将识别结果发送给STM32单片机。STM32根据识别到的路标类型(限速标或解限速标),控制前后电机执行减速或加速。

图8为红绿灯识别子程序流程图。图8中,当K210识别到指示灯时,根据灯发光的颜色,向STM32单片机发送识别结果。当识别到红灯、绿灯和黄灯时,STM32分别控制前后电机执行停止、加速或减速操作。

4 路标图像识别处理

由于基于深度学习的目标检测模型其性能在很大程度上依赖于训练数据的质量与数量,我们首先构建了路标图像数据集。在项目初期,为快速验证流程,通过摄像头采集了约50张不同路标的图像作为初始数据集并进行精确标注。为提升模型的泛化能力,后续通过数据增强(如旋转、缩放、调整亮度和对比度等)技术显著扩充了数据集规模。在算法选择上,本文采用YOLOv2目标检测算法。尽管YOLOv3/v4等后续版本在检测精度上有所提升,但其模型复杂度和计算量也显著增加。考虑到本系统所采用的K210处理器在内存和算力上的严格限制,以及对实时性的高要求(>10 帧/s),YOLOv2在精度与效率之间提供了最佳的平衡点。经过实验验证,YOLOv2模型在经过充分训练和量化后,能够在K210上稳定高效地运行,完全满足本设计对指定路标的识别需求

在训练过程中,需要对模型训练参数进行细致的设置和调优,以提升模型的收敛速度和泛化能力。训练完成后,利用专用工具将模型转换为K210支持的格式(如.kmodel),然后将该模型文件与加载它的应用程序(如main.py)一同存入TF卡,并部署至K210核心板。在完成上述软件部署后,系统即可进行实时识别。图9直观地展示了机器视觉单元在实际场景中的预测效果,图中清晰地显示了模型对“左转”、“限速”等路标的识别结果,包括定位边框、预测的类别标签及其置信度,有效验证了识别功能的可靠性。

在完成软硬件设计后,即可进行小车组装、硬件连接和程序植入,从而完成智能车实物的实际制作,如图10所示。图10中,智能车实物的核心控制器(STM32与K210)及传感器布局清晰可见。

为量化评估模型性能,在自建的模拟结构化道路的测试集上进行了系统测试。该测试集共包含140个样本,涵盖4类待识别目标(转向标志(左/右)、限速标志(30 km/h)、解除限速标志与交通信号灯(红/黄/绿)),每类目标各出现20次。所有样本均采集自与训练环境相似但场景布局与光照条件不同的模拟道路(图11)。

表1为各类路标识别性能实地测试结果。测试时,模型在K210平台上的平均推理帧率维持在14 帧/s,满足实时控制要求。在对测试结果进行精确率与召回率计算时,设定交并比IoU阈值为0.5,若检测框与真实框的IoU≥0.5且分类正确,则记为真正例;若分类错误或IoU低于阈值,则记为假正例;未检出的真实目标,记为假负例。

表1可知,测试结果的精确率达到93.5%,召回率达到92.1%,平均精度均值(mAP@0.5)达到91.5%。显然,基于YOLOv2的轻量化模型能够在K210平台上取得精度与速度的良好平衡,设计的智能车能够准确识别出红灯信号,并通过串口将识别结果(包括置信度与坐标)输出至上位行显示,同时控制车体作出正确的制动响应。

通过一系列测试,本系统被证实能够稳定实现循迹行驶,并能基于K210的视觉识别结果,对转向、限速/解限速及红绿灯等路标作出准确的控制动作,完成了在简单结构化路况下的自动驾驶功能。

5 结语

设计了一种基于STM32和K210视觉识别的智能车,采用模块化设计思想,将系统分为决策单元、机器视觉单元、循迹单元和驱动控制单元。STM32单片机根据K210视觉识别结果和巡线信号,向驱动控制单元发送指令。在软件方面,程序包括主程序、转向识别子程序、解限速子程序、红绿灯识别子程序。

通过系统的实物制作与功能测试,验证了本次设计的智能车能够稳定实现巡线行驶。基于K210的视觉识别模块,小车能够准确识别转向、限速/解限速及红绿灯等路标,并实时控制车辆完成转向、调速、启停等相应动作。测试结果表明,该智能车系统实现了在简单结构化路况下的基本自动驾驶功能,达到了设计预期。

参考文献

[1]

中国汽车流通协会乘联会. 2024年全国乘用车市场分析[EB/OL]. (2024-12-07) [2025-09-16].

[2]

安晖, 宋娟, 王伟, . 从百度、特斯拉最新成果看智能网联汽车发展趋势[J]. 机器人产业2021(5): 26-28.

[3]

王怡雯, 张晓辉. 基于STM32的医用送药智能车设计与实现[J]. 电脑知识与技术2023(10): 25-28.

[4]

孙元. 基于STM32的智能车的设计与实现[J]. 内蒙古科技与经济2023(5): 98-100, 103.

[5]

高婷婷, 刘佳, 陆佳楠, . 面向青少年人工智能教育的多目标识别系统设计[J]. 电脑知识与技术202218(7): 78-80, 91.

[6]

REDMON JDIVVALA SGIRSHICK Ret al. You only look once: unified, real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). June 27-30, 2016, Las Vegas, NV, USA. IEEE, 2016: 779-788.

[7]

王浩, 雷印杰, 陈浩楠. 改进YOLOV3实时交通标志检测算法[J]. 计算机工程与应用202258(8): 243-248.

[8]

张达为, 刘绪崇, 周维, . 基于改进YOLOv3的实时交通标志检测算法[J]. 计算机应用202242(7): 2219-2226.

[9]

牟家宇, 南新元. 基于YOLOv7-tiny改进的交通标志小目标实时检测算法[J]. 科学技术与工程202424(30): 13072-13079.

[10]

胡均平, 王鸿树, 戴小标, . 改进YOLOv5的小目标交通标志实时检测算法[J]. 计算机工程与应用202359(2): 185-193.

[11]

张爱群, 李炯球. 多传感器信息融合的无人车导航系统设计研究[J]. 电子世界2021(16): 5-6.

AI Summary AI Mindmap
PDF (954KB)

0

访问

0

被引

详细

导航
相关文章

AI思维导图

/