Arduino避障小车实战:从硬件选型到PID算法优化
1. 项目概述从“呆萌”到“智能”的跨越“呆萌MiniQ避障小车”这个名字一听就让人联想到一个在房间里跌跌撞撞、却又执着地避开障碍物的小家伙。这不仅仅是一个简单的玩具或教学套件它实际上是一个集成了传感器、控制器和执行器的经典嵌入式系统微缩模型。对于刚接触单片机、机器人或者Arduino的朋友来说这是一个绝佳的入门项目。它能让你亲手触摸到“感知-决策-执行”这一机器人核心控制逻辑的完整闭环。这个项目的核心目标是让小车具备自主感知前方障碍物并做出避让动作的能力。听起来简单但里面涉及的知识点非常密集你需要了解如何用单片机比如Arduino UNO读取传感器如红外或超声波的信号理解这些信号代表的物理意义距离然后编写逻辑代码比如简单的阈值判断或更复杂的PID算法最后驱动执行器舵机控制转向电机驱动轮子完成动作。整个过程就是一次完整的嵌入式系统开发实战。我之所以推荐它是因为它的反馈是即时的、可视的成功让小车跑起来的那一刻那种成就感是看多少理论书都无法替代的。2. 核心硬件选型与功能解析要让小车“活”起来硬件是骨架和肌肉。选型不是越贵越好而是要匹配项目需求和你的学习阶段。下面我们来拆解“呆萌MiniQ”最可能用到的几个核心模块并解释为什么是它们。2.1 主控大脑Arduino UNO的王者地位在创客和机器人教育领域Arduino UNO几乎是无可争议的起点。为什么不是STM32或者树莓派Pico核心原因在于生态和易用性。Arduino IDE提供了极其简单的开发环境库管理器里几乎能找到所有常见传感器的驱动库社区资源教程、代码、问答海量。对于避障小车这个项目UNO的ATmega328P芯片性能完全够用它有14个数字I/O口其中6个支持PWM和6个模拟输入口足以连接舵机、电机驱动、多个传感器甚至一个MP3模块。注意虽然UNO是首选但如果你手头有Nano、Leonardo或者其他兼容板也完全可以。关键是引脚定义要匹配特别是PWM引脚通常标有“~”符号用于舵机控制。2.2 感知之眼红外与超声波传感器的抉择避障的前提是“看见”障碍物。这里有两个主流选择红外测距传感器和超声波测距传感器。红外测距传感器如GP2Y0A21YK0F它通过发射红外光并接收反射光来测算距离。优点是体积小、价格低、响应快。但它的缺点也很明显测量精度受物体表面颜色和材质影响很大深色、吸光材质测不准且有效距离通常较短10-80cm。在“呆萌”小车这种对精度要求不高、更追求快速反应和成本控制的场景下红外是不错的选择。超声波传感器如HC-SR04它发射超声波并计算回声时间来确定距离。优点是几乎不受物体颜色和材质影响测量范围更广通常2cm-400cm精度相对较高。缺点是波束角较宽可能检测到非正前方的障碍且对柔软、吸音的物体如窗帘检测不佳。如何选择如果你的小车主要在光线稳定、障碍物颜色鲜明的桌面或地板上运行红外传感器性价比更高。如果你希望小车环境适应性更强或者想学习更通用的测距方案超声波是更好的选择。很多进阶玩法会同时安装两种传感器取长补短。2.3 转向执行器SG90舵机的控制奥秘让小车转向通常不是直接控制驱动轮差速那需要两个电机和更复杂的驱动而是通过一个舵机来摆动前轮或整个传感器云台。SG90这款9克微型舵机因其价廉物美成为了无数项目的标配。舵机的控制本质是PWM脉冲宽度调制。它有三根线电源VCC、地GND和控制信号SIG。控制信号是一个周期为20ms频率50Hz的脉冲脉冲的高电平持续时间脉宽决定了舵机转动的角度。通常0.5ms脉宽对应0度1.5ms对应90度2.5ms对应180度。这个范围可能因舵机品牌略有差异。在Arduino中我们可以使用强大的Servo库来控制它库函数帮我们处理了底层定时器你只需要调用myservo.write(angle)就能让舵机转到指定角度非常简单。这就是为什么“arduino控制舵机”会成为热门搜索词——因为它把复杂的硬件时序封装成了简单的函数调用。2.4 动力与声音电机驱动与MP3模块电机驱动模块如L298N或TB6612FNGArduino的I/O口输出电流很小约40mA根本无法直接驱动小车的直流电机。电机驱动模块就是一个“电流放大器”它接收Arduino发出的“前进”、“后退”、“停止”等小信号然后从电池取电输出大电流给电机。L298N经典但效率较低发热大TB6612FNG更现代效率高、体积小是当前更推荐的选择。MP3模块如DFPlayer Mini为了让小车更“呆萌”给它加上声音反馈是个绝妙的主意。DFPlayer Mini模块可以直接读取SD卡或TF卡中的MP3文件通过串口接收Arduino的简单指令如指定曲目编号进行播放。你可以编程让小车在启动时播放一段音乐遇到障碍时发出“哎呀”的提示音这极大地增加了项目的趣味性和完成度。3. 系统搭建与电路连接实战理论清楚了现在让我们动手把各个模块“拼”起来。清晰的电路连接是项目成功的基石混乱的接线是调试噩梦的开始。3.1 电源规划稳定供电是重中之重很多新手会忽略电源直接所有模块都从Arduino的5V引脚取电这是大忌。Arduino的板载稳压芯片输出电流有限约500mA-1A同时给舵机、电机驱动、传感器供电极易导致电压骤降引起单片机复位或舵机抖动失灵。正确的供电方案是“双路供电”或“独立供电”控制电路供电Arduino UNO、传感器、MP3模块可以由一个USB线或者一个7-12V的电池通过UNO的DC插孔或VIN引脚供电。UNO板载稳压器会将其稳定到5V和3.3V。动力电路供电舵机和直流电机必须单独供电。准备另一组电池例如两节18650锂电池串联约7.4V直接连接到电机驱动模块的电源输入端。务必确保电机驱动模块的GND和Arduino的GND连接在一起这叫“共地”是所有模块之间信号正确通信的基础。3.2 分模块接线详解假设我们采用“Arduino UNO HC-SR04超声波 SG90舵机 L298N电机驱动 DFPlayer Mini”的方案。接线时请务必断电操作。1. 超声波传感器HC-SR04连接VCC - Arduino 5VTrig触发- 数字引脚 9用于发送脉冲Echo回声- 数字引脚 10用于接收脉冲GND - Arduino GND2. SG90舵机连接棕色线GND- Arduino GND红色线VCC-外部动力电源的5V输出或通过一个独立的5V稳压模块供电切勿接Arduino 5V橙色线信号- 数字引脚 6支持PWM3. L298N电机驱动连接驱动模块电源输入12V, GND - 外部动力电池如7.4V锂电池驱动模块逻辑电源5V, GND - 可以接Arduino 5V和GND为驱动板内部逻辑电路供电。IN1 - 数字引脚 4控制电机A方向IN2 - 数字引脚 5控制电机A方向ENA - 数字引脚 3PWM引脚控制电机A速度电机A输出端子 - 连接小车的左/右电机具体看你的安装方式。关键驱动模块的GND必须与Arduino的GND相连。4. DFPlayer Mini模块连接VCC - Arduino 5VGND - Arduino GNDRX - 数字引脚 11通过一个1K电阻连接因为模块RX是5V电平而Arduino Uno是5V单片机可直接连接但加电阻更安全TX - 数字引脚 10注意与超声波Echo引脚冲突需调整。实际中常将超声波接9和8MP3接10和11SPK1, SPK2 - 连接一个4Ω 3W的小喇叭3.3 布局与焊接技巧在面包板上搭建原型没问题但要让小车可靠运行建议将核心连接特别是电机驱动部分的电源线进行焊接或者使用杜邦线热熔胶固定。电机驱动部分的电流较大接触不良会导致小车行驶不稳定。将Arduino、驱动板等用铜柱固定在小车底盘上避免震动导致松脱。4. 核心代码逻辑与避障算法实现硬件是躯体代码是灵魂。下面我们一步步构建小车的“大脑”程序。4.1 基础驱动让舵机和电机动起来首先我们需要学会驱动各个模块。在Arduino IDE中分别测试每个模块是良好的习惯。#include Servo.h // 引入舵机库 Servo myServo; // 创建舵机对象 int motor_IN1 4; int motor_IN2 5; int motor_ENA 3; void setup() { Serial.begin(9600); myServo.attach(6); // 舵机信号线接引脚6 pinMode(motor_IN1, OUTPUT); pinMode(motor_IN2, OUTPUT); pinMode(motor_ENA, OUTPUT); } void loop() { // 测试舵机从0度转到180度再转回 for(int angle 0; angle 180; angle) { myServo.write(angle); delay(15); // 给舵机转动留出时间 } for(int angle 180; angle 0; angle--) { myServo.write(angle); delay(15); } // 测试电机前进2秒停止1秒后退2秒 digitalWrite(motor_IN1, HIGH); digitalWrite(motor_IN2, LOW); analogWrite(motor_ENA, 200); // PWM值0-255控制速度 delay(2000); analogWrite(motor_ENA, 0); // 停止 delay(1000); digitalWrite(motor_IN1, LOW); digitalWrite(motor_IN2, HIGH); analogWrite(motor_ENA, 200); delay(2000); analogWrite(motor_ENA, 0); delay(1000); }4.2 感知融合读取超声波距离数据接下来编写一个函数来获取超声波测距值。原理是给Trig引脚一个至少10us的高电平脉冲然后监听Echo引脚高电平的持续时间这个时间与距离成正比。const int trigPin 9; const int echoPin 8; // 调整了引脚避免与MP3冲突 long getDistance() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); long duration pulseIn(echoPin, HIGH); // 读取高电平持续时间单位微秒 // 声音速度约340m/s即0.034cm/微秒。距离 (时间 * 声速) / 2 long distance duration * 0.034 / 2; return distance; } void setup() { // ... 其他初始化 pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { long dist getDistance(); Serial.print(Distance: ); Serial.print(dist); Serial.println( cm); delay(100); }4.3 决策核心状态机与简单避障逻辑最简单的避障逻辑可以是一个“状态机”小车默认前进持续检测前方距离。当距离小于一个危险阈值比如20cm时触发避障动作序列。#include Servo.h #include DFRobotDFPlayerMini.h // 需要安装DFPlayer库 Servo myServo; DFRobotDFPlayerMini myDFPlayer; // 引脚定义和距离函数同上此处省略... const int OBSTACLE_DISTANCE 20; // 障碍阈值单位cm enum CarState { FORWARD, BACK_AND_TURN, SCAN }; CarState currentState FORWARD; unsigned long stateStartTime 0; int scanDirection 1; // 1向右 -1向左 int currentAngle 90; // 舵机当前角度90度为正前 void avoidObstacle() { long dist getDistance(); switch(currentState) { case FORWARD: if(dist OBSTACLE_DISTANCE) { // 发现障碍停车准备倒车转向 stopCar(); myDFPlayer.play(1); // 播放编号为1的警告音 currentState BACK_AND_TURN; stateStartTime millis(); } else { moveForward(150); // 以速度150前进 } break; case BACK_AND_TURN: // 倒车一小段距离同时舵机转向一个方向 moveBackward(150); myServo.write(30); // 向左转30度 if(millis() - stateStartTime 800) { // 倒车800ms stopCar(); currentState SCAN; stateStartTime millis(); } break; case SCAN: // 原地扫描寻找可通行方向 currentAngle scanDirection * 10; // 每次扫描变化10度 if(currentAngle 150) { scanDirection -1; currentAngle 150; } if(currentAngle 30) { scanDirection 1; currentAngle 30; } myServo.write(currentAngle); delay(200); // 等待舵机到位和超声波稳定 dist getDistance(); if(dist OBSTACLE_DISTANCE 10) { // 找到足够空间 myServo.write(90); // 回正 delay(300); currentState FORWARD; } // 扫描超时处理比如转一圈没找到路就随机转向 if(millis() - stateStartTime 5000) { myServo.write(90); moveBackward(200); delay(1000); currentState FORWARD; } break; } } void loop() { avoidObstacle(); delay(50); // 主循环延迟 }这个逻辑虽然简单但已经实现了“感知-决策-执行”的闭环。你可以通过调整延时、速度、扫描角度和阈值来优化小车的避障行为让它看起来更“聪明”或更“呆萌”。5. 性能优化与进阶玩法基础功能实现后我们可以从“能跑”升级到“跑得好”。5.1 提升感知可靠性滤波与多传感器单个超声波传感器读数可能存在偶然跳动。我们可以采用中值滤波或均值滤波来平滑数据。例如连续读取5次距离去掉最大最小值后求平均作为最终的有效距离。更进阶的做法是引入多传感器融合。比如在车头左、中、右各安装一个红外传感器。这样不仅能检测前方有无障碍还能判断障碍物的偏左还是偏右从而做出更合理的转向决策例如左边有障碍就向右转。代码逻辑会从简单的“if-else”升级为基于多路输入的状态决策矩阵。5.2 平滑运动控制PID的引入你是否发现小车在启动、停止和转向时非常生硬这就是开环控制的缺点。我们可以为电机引入简单的PID速度控制。虽然对于直流电机精确的位置PID比较复杂但一个简单的P比例控制就能大大改善体验。例如我们设定目标速度是200PWM值。通过编码器如果电机带或估算得到当前实际速度。速度误差 目标速度 - 实际速度。然后输出PWM 上次PWM Kp * 误差。这个Kp就是比例系数需要调试。这样电机就能更平滑地加速到目标速度而不是猛地一下全速转动。对于舵机控制如果想让它更平稳地转动到目标角度而不是“跳”过去也可以使用PID。这就是搜索热词中“yaw角通过pid控制舵机”的由来。你可以设定目标角度读取当前角度可能需要电位器反馈但SG90是开环的通常用软件模拟平滑用PID计算出一个平滑变化的控制量逐步达到目标这能让云台转动非常顺滑。5.3 增加交互与趣味性蓝牙遥控加一个HC-05或HC-06蓝牙模块用手机APP如Arduino Bluetooth Controller控制小车实现手动遥控与自动避障的切换。路径记录与循迹增加红外反射式传感器TCRT5000让小车能沿着地面的黑线行走结合避障实现更复杂的任务。灯光系统在车头加装LED不同状态前进、避障、报警显示不同颜色或闪烁模式。上位机调试通过串口将超声波距离数据、小车状态实时发送到电脑用Processing或Python编写一个简单的图形界面来可视化小车的“所见所想”这对调试复杂算法非常有帮助。6. 常见问题排查与调试心得做项目一半时间在搭建另一半时间在调试。下面是我和学生们在制作避障小车时踩过的坑和解决方法。问题现象可能原因排查步骤与解决方案舵机抖动或不转1. 供电不足最常见2. 信号线接触不良3. 机械卡死1.务必使用独立电源为舵机供电不要从Arduino取电。用万用表测量舵机VCC-GND电压运动时是否低于4.8V。2. 检查信号线连接尝试更换一个数字引脚。3. 手动转动舵机盘检查是否有阻碍。超声波读数一直为0或超大1. 引脚接错Trig/Echo2. 供电不稳3. 物体超出范围或太近1. 仔细核对Trig和Echo是否接反。2. 确保传感器VCC电压稳定在5V。3. HC-SR04最小测距约2cm前方物体不要贴太近。检查是否有连续障碍物导致声波多次反射。电机只震动不转1. 电机驱动模块使能端ENA/ENB未接或未给高电平/PWM2. 电源功率不足3. 电机线虚焊或接触不良1. 检查ENA是否接到了PWM引脚并在代码中设置了输出如analogWrite(enaPin, speed)。2. 动力电池电量是否充足尝试更换新电池或使用稳压电源。3. 用力按压电机接线端子或重新焊接。小车行为混乱Arduino频繁复位1. 电机启停瞬间产生大的电压浪涌干扰单片机2. 电源总功率不足1. 在电机驱动模块的电源输入端并联一个大电容如470uF 25V电解电容以吸收浪涌。2. 确保动力电池和控制电路电池分开或使用大容量、高放电率的电池如18650动力电池。3. 检查所有GND是否可靠连接在一起。MP3模块不发声1. 喇叭阻抗不匹配或损坏2. 串口引脚冲突3. SD卡文件格式不对1. DFPlayer Mini推荐4Ω 3W喇叭8Ω的会声音很小。检查喇叭好坏。2. 确保代码中SoftwareSerial引脚与接线一致且不与其它功能引脚冲突。3. SD卡需格式化为FAT32MP3文件命名为4位数字如“0001.mp3”放在根目录。调试心得的精髓化整为零逐个击破。千万不要把所有代码和硬件接好后再上电测试。一定要分模块调试先只接Arduino和超声波在串口监视器里看距离数据是否正常。然后单独测试舵机让它来回转动。再单独测试电机驱动让轮子空转。最后测试MP3模块播放指定文件。所有模块单独工作正常后再将它们整合到一起并逐一加入功能逻辑。遇到问题时善用串口打印Serial.print()输出关键变量如距离值、状态机状态、接收到的指令等这是嵌入式调试最强大的“眼睛”。最后保持耐心硬件项目的乐趣就在于解决这些层出不穷的小问题每一次成功的排查都会让你对系统的理解更深一层。当你看到自己亲手打造的小车灵活地避开所有障碍时所有的努力都值了。

相关新闻

Arduino磁悬浮控制系统:从PID算法到硬件实现的完整指南

Arduino磁悬浮控制系统:从PID算法到硬件实现的完整指南

1. 项目缘起:从“不可能”到桌面上的悬浮 几年前我第一次在科技展上看到磁悬浮地球仪时,就被那种反重力的视觉效果深深吸引。当时就在想,这玩意儿原理是啥?能不能自己做一个?后来了解到,商用磁悬浮展示品通…

2026/7/29 16:23:57 阅读更多 →
基于C51单片机的智能小车:红外避障与循迹系统全解析

基于C51单片机的智能小车:红外避障与循迹系统全解析

1. 项目概述:从玩具到智能移动平台的跨越几年前,我在实验室角落里翻出一堆落灰的C51单片机开发板和几个废旧玩具车的电机轮子,当时就想,能不能用这些“电子垃圾”攒出一个能自己跑、自己躲障碍的小车?这个念头&#xf…

2026/7/29 16:22:56 阅读更多 →
2015年可穿戴设备市场复盘:技术瓶颈、赛道分化与未来启示

2015年可穿戴设备市场复盘:技术瓶颈、赛道分化与未来启示

1. 项目概述:回望那个被“戴”在身上的未来 2015年,如果你走在科技圈或者关注消费电子,几乎不可能绕开“可穿戴设备”这个词。它不像今天这样,智能手表、无线耳机已经成了许多人手腕上、耳朵里的标配,带着一种理所当然…

2026/7/29 16:22:56 阅读更多 →

最新新闻

GetQzonehistory:三分钟永久保存你的QQ空间青春记忆

GetQzonehistory:三分钟永久保存你的QQ空间青春记忆

GetQzonehistory:三分钟永久保存你的QQ空间青春记忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还记得那些年在QQ空间留下的青春足迹吗?那些深夜的感慨、节日…

2026/7/29 16:34:00 阅读更多 →
许可证监控做了很多,为什么企业还是判断不准哪些许可证真的该增购

许可证监控做了很多,为什么企业还是判断不准哪些许可证真的该增购

很多企业在做工业软件许可证管理时,都会遇到一种很典型的情况:一边看到许可证利用率不高,一边又持续感受到资源紧张和并发冲突。表面上看,这像是一个矛盾现象;但从许可证监控和使用分析的角度看,这恰恰说明…

2026/7/29 16:34:00 阅读更多 →
深度探索 UTM:苹果生态下的跨平台虚拟化引擎

深度探索 UTM:苹果生态下的跨平台虚拟化引擎

深度探索 UTM:苹果生态下的跨平台虚拟化引擎 【免费下载链接】UTM Virtual machines for iOS and macOS 项目地址: https://gitcode.com/gh_mirrors/ut/UTM 在移动与桌面计算边界日益模糊的今天,UTM 作为苹果生态系统中首屈一指的虚拟化解决方案&…

2026/7/29 16:34:00 阅读更多 →
中药复方成分解析的技术痛点与标准化解决方案

中药复方成分解析的技术痛点与标准化解决方案

中药复方成分解析是中医药基础科研与应用研究的核心基础,直接支撑药效机制挖掘、临床疗效评估、行业质量标准制定等关键工作。由于中药复方具备多成分共存、多靶点调控、多通路起效的系统性特征,化学组成错综复杂,对分析检测技术的精准性、规…

2026/7/29 16:34:00 阅读更多 →
Nintendo Switch大气层整合包:从零开始的完整实战指南

Nintendo Switch大气层整合包:从零开始的完整实战指南

Nintendo Switch大气层整合包:从零开始的完整实战指南 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 欢迎来到Nintendo Switch大气层整合包的世界!无论你是第一次接…

2026/7/29 16:34:00 阅读更多 →
消息队列终极对比:Kafka、Pulsar、RocketMQ与RabbitMQ的场景化选型指南

消息队列终极对比:Kafka、Pulsar、RocketMQ与RabbitMQ的场景化选型指南

消息队列终极对比:Kafka、Pulsar、RocketMQ与RabbitMQ的场景化选型指南消息队列是分布式系统的"中枢神经"——选对了,架构弹性十足;选错了,补丁打到怀疑人生。本文不对任何MQ做"纸面评测",而是从存…

2026/7/29 16:33:00 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻