
2025-C题国一-基于单目视觉的目标物测量装置
简介
本设计构建了一套基于单目视觉的目标物测量系统,采用树莓派与STM32双核架构,实现目标距离、图形边长及装置功耗的高精度实时测量。系统集成YOLOv5-Lite轻量化识别算法与电流检测电路。
简介:本设计构建了一套基于单目视觉的目标物测量系统,采用树莓派与STM32双核架构,实现目标距离、图形边长及装置功耗的高精度实时测量。系统集成YOLOv5-Lite轻量化识别算法与电流检测电路。开源协议
:CC BY-NC 3.0
描述
基于单目视觉的目标物测量装置
一、团队介绍
我们是由山东大学电子信息专业学生组成的参赛团队,团队成员包括:
李同学:负责电路设计、机械结构、STM32开发和视觉算法辅助
刘同学:负责视觉算法开发、STM32编程
沈同学:负责技术报告撰写、模型训练和STM32辅助开发
队伍分工明确,彼此精诚团结,在项目开发过程中克服了多个技术难题,最终完成了这个高性能的视觉测量系统。
二、题目要求

基本要求1-3:测量并显示三个基本目标物(正方形、等边三角形、圆形)的D(误差 ≤ 5cm)和x(误差 ≤ 1cm)。
基本要求4:实时监测供电电流I_s(误差绝对值 ≤ 5%)。
发挥部分1-2:测量并显示四个发挥目标物(单个正方形,若干面积不等、彼此分离或局部重叠的正方形组合图形,若干印有1位白色阿拉伯数字编号、面积不等的正方形组合图形)的D(误差 ≤ 2cm)和x(误差 ≤ 0.5cm)。
发挥部分3:测量并显示指定编号正方形的D(误差 ≤ 2cm)和x(误差 ≤ 0.5cm)。
发挥部分4:测量并显示旋转物面上发挥目标物的D(误差 ≤ 2cm)和x(误差 ≤ 0.5cm)。
发挥部分5:实时显示功耗P和最大功耗P_max。
赛题请见附件:2025年全国大学生电子设计竞赛C题-基于单目视觉的目标物测量装置.pdf
三、设计摘要
本系统以树莓派为图像处理核心,STM32F407VET6为主控制器,结合单目摄像头、电流检测模块与液晶显示屏,构建了一套高精度、低功耗的视觉测量系统。通过YOLOv5-Lite轻量化网络识别编号图形,结合传统图像算法处理几何图形,测距基于单目视觉模型,电流检测采用INA180放大器与ADC采样。系统响应快、精度高、功耗低,全面满足题目要求。
四、题目分析与理论计算
4.1 单目视觉测距原理
基于针孔成像模型,利用相似三角形原理进行尺度换算:
D = (k × W) / w
其中D为目标距离,W为参照物实际宽度,w为图像中像素宽度,k为比例系数。
比例系数k计算公式:
k = (W * D) / w
通过标定得到k=1796.49。
4.2 几何图形边长测量原理
x = (L_px × W) / w
其中x为实际边长,Lpx为图像中像素长度
4.3 多正方形组合图形处理
4.3.1局部重叠情况:采用几何假设验证算法,通过识别直角点并验证中点距离
首先,提取二值图像轮廓,并获取轮廓上的所有顶点,筛选出夹角接近直角(满足)的角点作为候选。对于每对候选角点P1和P2,构建向量再以其为边生成垂直向量,从而拟合正方形其余两点:
最终形成候选正方形。随后,分别计算三条边中点M23、M34和M41到原始轮廓的最短距离,若距离绝对值均小于5个像素,则判定该正方形假设有效。
4.3.2分离情况:直接通过轮廓提取和边数筛选
4.4 编号正方形识别
基于YOLOv5-Lite轻量化网络,使用2000+标注图像训练,实现数字区域实时检测
4.5 电流与功耗测量
P = 5V × I
采用INA180+10mΩ采样电阻+STM32 ADC实现毫安级精度测量
五、总体设计
系统总体设计框图:

总体设计思路:
系统采用双核架构,树莓派专注于图像处理和识别算法,STM32负责系统控制、电流检测和数据显示。两处理器通过串口通信协同工作,既保证了图像处理的计算能力,又实现了精确的电流测量和系统控制。
六、硬件电路组成
6.1 核心控制器
- STM32F407VET6开发板:见立创商城,编号C22370035

- 树莓派4B:https://e.tb.cn/h.hBM3D0rMRixFd6X?tk=l2E04LjzAXw CZ193

6.2 视觉模块
- 1200万像素摄像头模块:https://3.cn/2-oNTlr3?jkl=@LCCNg4FfatH@ MF3390

6.3 电流检测模块
- INA180A3电流检测放大器:见附件BOM表
- 10mΩ高精度采样电阻:见附件BOM表
6.4 电源管理
- XL6019E1升压模块(5V→12V):见附件BOM表
- SP1117V33TC降压模块(5V→3.3V):见附件BOM表

6.5 显示模块
- 7寸LCD显示屏:https://e.tb.cn/h.hyBpJUjpBpEbHK8?tk=aQ5N4Ljvkz4 CZ057

6.6 保护电路
- TVS防静电保护
- 自恢复保险丝
七、程序设计与实现
程序流程图:

7.1 基础要求实现
- 图像采集与预处理:通过摄像头获取图像,进行灰度化、二值化处理
- 轮廓提取:使用OpenCV库提取图形轮廓
- 形状识别:基于轮廓特征识别圆形、正方形、三角形
- 距离计算:利用标定参数计算目标距离
- 电流检测:通过ADC采样计算系统功耗
7.2 发挥部分实现
- 重叠正方形分离:采用直角识别和几何假设验证算法
- 编号识别:集成YOLOv5-Lite模型进行数字识别
- 倾斜校正:基于透视变换原理处理倾斜目标
- 功耗统计:实时计算并显示系统功耗和最大功耗
八、实物展示
见系统整体实物图

见电流检测模块特写

见屏幕显示效果

九、测试结果与分析
9.1 基本要求测试结果
| 测试项目 | 测量误差 | 要求误差 | 是否达标 |
|---------|---------|---------|---------|
| 目标距离 | ≤1.2cm | ≤5cm | 是 |
| 图形边长 | ≤0.4cm | ≤1cm | 是 |
| 电流测量 | ≤3% | ≤5% | 是 |
9.2 发挥部分测试结果
| 测试项目 | 测量误差 | 要求误差 | 是否达标 |
|---------|---------|---------|---------|
| 目标距离 | ≤1.0cm | ≤2cm | 是 |
| 正方形边长 | ≤0.4cm | ≤0.5cm | 是 |
| 响应时间 | <5s | <5s | 是 |
9.3 功耗测试
- 平均功耗:6.59W
- 最大功耗:7.01W
- 满足题目功耗要求
十、注意事项
摄像头标定:使用前必须进行比例系数k标定,保证测距精度
电阻选型:电流采样电阻应选用低温漂、高精度型号(0.1%精度)
系统优化:树莓派需关闭图形界面以降低功耗
图像处理:设置合适的轮廓滤波阈值,避免噪声干扰
电路布局:布线时注意模拟与数字地分离,减少电流检测干扰
光照条件:避免强光直射和过度阴暗环境,保证图像质量
十一、演示视频
见演示视频
视频内容:
系统上电启动,屏幕初始化
放置不同目标物(基本图形、重叠正方形、编号图形)
一键测量,5秒内显示距离、边长、电流、功耗
倾斜目标物的识别与测量
电流表对比验证测量精度
十二、软件源码
见附件源码
项目结构:
├── stm32_code/ STM32主控程序
├── raspberry_pi_code/ 树莓派图像处理程序
├── yolov5_s_new.onnx/ YOLOv5-Lite模型文件
├── calibration/ 摄像头标定程序
└── documentation/ 项目文档
十三、结语
本项目成功实现了基于单目视觉的目标物测量装置,各项指标均满足甚至超过题目要求。特别在重叠正方形识别和低功耗设计方面有创新性突破。
最后,我们为所有使用K230、OpenMV等设备但未能取得理想结果的队伍鸣不平。技术有时候真不能填平设备落后的沟渠,愿胜者实至名归,愿所有努力都能得到应有的回报。
开源协议:本项目采用CC BY-NC 3.0开源协议,欢迎学习和交流。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论