从拆题到调试:嵌入式蓝莓采摘机器人的视觉与运动控制实战
说实话蓝莓采摘机器人这个题在我参加的嵌入式芯片与系统设计竞赛里算是最“劝退”又最上头的产业赛题之一。蓝莓个头小、果串密、成熟果和未成熟果颜色又接近还要用嵌入式芯片去完成识别、定位、采摘全流程光是拆题就能劝退一拨人。但反过来想这种题目恰恰是最贴近真实产业需求的农业机器人从来不是实验室里挥挥手就完事而是要在一片“乱七八糟”的环境里稳定干活。这篇文章我按自己的实际参赛经历把蓝莓采摘机器人的拆题、视觉、控制、调试和现场答辩经验完整盘一遍给正在准备类似赛题或者想做农业机器人项目的朋友一个可落地的参考。1. 拆题蓝莓采摘机器人到底在考什么1.1 赛题背后的需求逻辑很多人拿到这种题目第一反应是“做一台机械臂抓蓝莓”。但如果你真这么想后面大概率会被评审问住。蓝莓采摘不是简单地“抓取”它有几个非常具体的难点第一果实小而且簇生。蓝莓不像苹果那样一颗一颗挂得清清楚楚它常常是一串上面挤着十几颗果实之间挨得很近机械结构稍微一误差就会碰到旁边的果。第二成熟度判断困难。蓝莓的颜色从浅绿、粉红到深蓝紫都有而且在自然光下容易反光单纯用颜色阈值很容易误判。第三蓝莓果皮很薄机械手一用力就破了这直接影响了采摘执行机构的设计。第四场景是动态的、非结构化的树叶遮挡、果实部分被挡住这对视觉算法和采摘策略要求很高。所以赛题表面考的是嵌入式设计实际上考的是你在有限的算力和资源下怎么把一个“感知-决策-执行”闭环做得既稳定又高效。评审不会只盯着你有没有识别出来他们更关心你的系统有没有工程化思维识别失败的时候怎么办机械臂没对准要不要重新来一次吸取到一半果实掉了怎么办这些问题才是产业赛题真正想让你回答的。1.2 方案选型为什么用嵌入式MCU而不是Linux板刚立项的时候我们团队也纠结过市面上跑视觉的板子那么多直接用Linux开发板加摄像头加机械臂不是更省事吗但仔细分析赛题限制和产业场景会发现嵌入式MCU方案才是更符合题目本质的。产业赛题往往有明确的原厂芯片要求有的甚至要求核心控制必须跑在指定厂商的MCU上。我们选的这家半导体原厂主控是Cortex-M系列内核主频不算特别高但外设丰富尤其是定时器、PWM、ADC、通信接口这些跟电机控制、舵机驱动、传感器采集非常对口。更重要的是MCU方案天然强调实时性蓝莓采摘过程中视觉一帧数据出来机械臂必须立刻响应Linux系统由于任务调度的不确定性反而容易出现毫秒级的抖动。当然MCU算力跑不了复杂深度学习模型所以视觉算法必须轻量化。我们的做法是传统图像处理为主颜色空间转换加形态学滤波加连通域分析这套算法在MCU上完全跑得起来而且帧率能做到15到20帧左右采摘速度完全够用。等系统运行稳定后我们才在PC上模拟测试了更复杂的模型发现性价比不高果断放弃。整体系统我们分成了三层感知层负责图像采集和果实检测决策层运行状态机执行层控制机械臂和吸取机构。感知层用一个普通的摄像头加上主控MCU上的图像处理模块执行层是两个舵机加一个直线模组配合真空泵和吸嘴。这个架构看起来简单但每一步都踩过不少坑下面详细说。2. 视觉系统从“看到”到“看懂”2.1 图像采集与颜色空间选择视觉是整个采摘机器人的“眼睛”也是我们调试时间最长的地方。一开始我们用RGB颜色空间直接做阈值分割结果发现只要灯光角度一变采集到的蓝莓颜色就完全不一样。今天调好的阈值第二天换个时间就识别不到果实了。后来我们改用HSV颜色空间。HSV把色调H、饱和度S、亮度V分开其中H通道对光照变化相对不敏感尤其适合处理蓝莓这种“颜色随成熟度明显变化”的果实。具体做法是我采集了几十张成熟蓝莓和未成熟蓝莓的样本图片分别在HSV三个通道上统计像素分布。成熟的蓝莓果H值大概在230到280之间蓝紫色区域S值比较高V值受反光影响大要放宽。未成熟的蓝莓果H值落到60到100附近绿色区域跟叶片很接近。这里有个关键技巧与其直接用RGB的“蓝”去区分不如先框定一个ROI感兴趣区域把摄像头视野里机械臂采摘范围之外的部分直接裁掉既减少干扰又降低计算量。光照方面我们给摄像头加了一圈低角度的白色LED补光灯避免蓝莓表面出现大面积高光。光打得太直会有镜面反射打得太暗又看不清深色果实最终我们把补光灯角度调到45度左右效果最稳定。记住农业机器人现场的光线绝对不是你实验室的灯光环境一定要做固定光源把变量控制住。2.2 分割、去噪与果实定位图像分割这一块我用的流程是颜色阈值二值化、形态学开运算去噪、连通域标记、果实轮廓筛选。颜色阈值选在HSV空间的H通道上做然后配合S通道排除白色反光点。二值化之后画面里会有很多细小的噪点主要是叶片边缘反光和远处虚化的背景用一个3×3或5×5的开运算就能处理掉大部分。连通域分析之后会得到一系列候选区域。接下来不是直接当成蓝莓而是要做形状筛选。蓝莓果实的形状接近圆形我用轮廓面积和最小外接圆面积的比值来判断圆形度圆形度低于0.5的直接认为是叶片或不规则噪点。同时果实太小了也不能要我设了一个最小像素面积阈值比如在320×240的分辨率下果实成像面积一般不会小于30个像素低于这个值就不处理。这里有一个容易被忽略的点蓝莓是一簇一簇长的两个或多个果实粘连在一起二值化后连通域会变成一个大团。这时候如果简单取连通域中心就会让机械臂去摘两个果实的中间空位。我的做法是如果连通域面积超过单果面积的1.6倍就用距离变换加局部极大值来分水岭分割出单个果实中心。这个方法在OpenCV里很好实现在MCU上做简化版也不太复杂。虽然分水岭在粘连严重时偶尔会过分割但至少比直接定位中心靠谱得多。成熟度判断也不能只看颜色阈值算出来的H值是不是蓝色。因为蓝莓有一种情况是“半蓝半红”就是还没完全熟透颜色介于蓝紫和粉红之间。我们单独引入了一个成熟度评分计算每个果实在HSV空间中属于成熟果特征的概率根据H分布的直方图打分分数超过70%才允许采摘。这个评分不用机器学习一个简单的查表模型就够了非常适配嵌入式环境。2.3 从像素坐标到机械坐标的换算视觉识别出的是果实中心的像素坐标但机械臂需要知道的是目标点在世界坐标中的位置这中间要做一个坐标映射。摄像头我们固定安装在机械臂上方的一个支架上所以可以采用线性标定的方式。具体做法是在采摘平面上放一张棋盘格标定板让机械臂末端分别移动到几个已知的格点记录下每个格点在摄像头画面里的像素坐标同时也记录机械臂的实际坐标。然后利用仿射变换公式求出两个坐标系之间的转换矩阵。假设机械臂采摘平面基本水平像素坐标到机械坐标的转换可以简化为x_world a00 * u a01 * v a02 y_world a10 * u a11 * v a12其中u、v是像素坐标x_world、y_world是机械臂坐标系下的坐标。我们需要至少三个点解出a00、a01、a02、a10、a11、a12六个参数实际操作中我取9个点用最小二乘法求解精度更高。有两点要提醒第一标定时用的棋盘格必须放在机械臂实际水平运动的平面上高度差一点点映射结果都会偏。第二摄像头镜头有畸变尤其是视野边缘位置。我们买的是普通无畸变摄像头但为了保险还是在校准数据里排除了图像边缘10%的区域。机械臂采摘范围也尽量限制在画面中间区域边缘部分容易“看着到了实际差一截”。标定完成后一定要求机械臂先移动到标定点测试实际反馈用坐标误差来验证映射表。我当时第一次测试就发现中心和边缘差出了将近15毫米后来排查是摄像头支架有一点倾斜重新固定后才解决。视觉系统看似软件问题很多坑其实是硬件固定造成的。3. 运动控制与采摘执行稳、准、不伤果3.1 执行机构的三种常见方案对比蓝莓采摘的执行机构我们调研和测试过好几种方案这里可以给大家做个对比。第一种是传统多关节机械臂加夹爪。好处是灵活、展示效果好答辩时看起来很唬人坏处是运动学复杂末端定位精度容易受舵机虚位影响而且蓝莓果实太小夹爪力度稍微控制不好就会把果子夹破。第二种是直线模组加垂直气缸加吸嘴。这个方案我们最终采用了。直线模组负责水平位置的XY两个方向移动垂直方向用一个丝杆或舵机控制的升降机构末端装一个柔性吸嘴通过真空泵负压把蓝莓吸起来。吸嘴的好处是接触果实的时候不需要“夹”力度是均匀分布的不容易摘坏而且只要吸住果实跟吸嘴之间是一个密封状态容错率比夹爪高很多。第三种是并联机械臂Delta机器人。速度快、精度高但机械结构安装难度大而且赛题没有要求极限速度投入产出比不高。我们选择第二种方案还有一个原因吸嘴从上方吸取蓝莓时不需要非常精确地对着果实中心。蓝莓直径大概10到14毫米吸嘴内径我们用了6毫米只要吸嘴落点落在果实表面负压就能把果实吸住。这相当于系统对视觉定位误差有了一定的容忍度调试难度明显下降。采摘执行部分的硬件接线比较直接直线模组用步进电机驱动器接主控的脉冲输出口升降台用PWM舵机控制真空泵通过继电器开关控制吸嘴附近放一个微型气压传感器用来判断是否真的吸住了果实。这一步非常关键后面调试时帮了大忙。3.2 动作状态机与实时调度采摘机器人不能是简单的循环“找果-摘果”因为场景里可能出现叶片遮挡、果实被零件挡住、吸空等情况。我们给整个系统写了一个状态机一共五个状态空闲FIND、移动MOVE、下降DOWN、吸取SUCK、释放RELEASE。状态转移的逻辑是视觉持续扫描一旦找到成熟果实就锁定目标坐标进入MOVE状态机械臂移动到目标上方后进入DOWN状态升降机构带着吸嘴下降到果实上方大概10毫米处开启真空泵进入SUCK状态气压传感器检测到负压变化说明吸住了就抬起机械臂进入RELEASE状态移动到收集盒上方关闭真空泵释放果实再回到空闲状态继续扫描。状态机的C伪代码大概长这样// 状态机主循环在MCU的while(1)中运行 void system_task(void) { switch (current_state) { case FIND: if (detect_fruit(fish_pos)) { calculate_target(target_pos, fish_pos); current_state MOVE; } break; case MOVE: move_to(target_pos); // 闭环运动到位返回true if (is_arrived(target_pos)) { current_state DOWN; } break; case DOWN: lower_arm(descend_height); if (is_lowered()) { pump_on(); current_state SUCK; } break; case SUCK: delay_ms(300); if (check_pressure()) { // 负压达标 raise_arm(); current_state RELEASE; } else { // 没吸到回退到DOWN重新调整位置 retry_count; if (retry_count MAX_RETRY) { current_state FIND; } else { adjust_offset(); current_state MOVE; } } break; case RELEASE: if (is_above_collector()) { pump_off(); delay_ms(200); current_state FIND; } break; } }使用这样的状态机逻辑清楚每个状态可以单独测试不用担心互相干扰。还有一点经验两轴运动不要同时以最高速度运行否则机械结构会产生振荡。我们给步进电机用了梯形加减速曲线上升沿和下降沿都预留一段加速时间虽然单次运动慢了零点几秒但整体系统稳定性提升了非常多。舵机控制升降时也用了PWM渐变避免舵机瞬间到位把蓝莓抖掉。实时调度方面我们没有上复杂的RTOS而是用了一个裸机主循环加定时器中断的方式。图像采集和处理放在后台任务里只要识别到新一帧目标坐标就更新一个全局结构体变量状态机在另一个任务里读取这个变量。定时器中断里只处理步进电机脉冲计数和时间基准保证运动控制的时间精度。如果你的MCU支持也可以使用FreeRTOS把视觉任务、运动任务、人机交互任务分成三个独立任务这样代码结构更清晰但要注意任务间的数据同步别让机械臂正在运动中视觉任务又把目标坐标改掉了。3.3 关键参数与调试心得调采摘机器人最折磨人的就是那一堆参数。下面挑几个影响最大的参数说说。步进电机速度我们不能只看电机能跑多快还要看视觉帧率跟不跟得上。视觉系统识别一帧要50毫秒左右机械臂如果跑太快到了指定位置之后目标果实已经因为机械振动偏移了。我们最后把XY轴的移动速度设定在每秒60毫米左右精度和速度平衡得比较好。电机加速度设定为速度值的两倍保证不会丢步。舵机PWM频率升降舵机我们用的PWM频率是50Hz对应脉宽在500到2500微秒之间。很多人会忽略舵机电源一个舵机启动瞬间电流可能到1安培以上如果跟主控共用电源屏幕都会闪舵机还会抖动。一定要给舵机单独配一个5V稳压模块主控和舵机共地就行我在这里吃过不少亏。真空泵吸取时间负压检测是我们自己加的因为只靠延时吸取太不靠谱。吸嘴碰到蓝莓后真空泵开始工作气压传感器检测到负压降到设定值我们用的是-30kPa就认为吸住了。这里的判断阈值不要设得太灵敏否则吸嘴还没完全贴合果实就误判。我们最终把稳定时间设为200毫秒再判断既保证了可靠性又不会太慢。吸嘴高度是一个微调参数。下降到位后吸嘴距离果实表面太远吸力不够太近又会把旁边的果实压坏。我们用了限位开关加光电测距双重保证实际采摘时吸嘴会先快速下降距离目标大约20毫米处减速然后以很慢的速度轻轻贴上去。这个“快-慢-停”的动作是整个采摘不伤果的关键。4. 常见问题排查与实践经验4.1 问题速查表这里我把调试过程中遇到过的典型问题整理成了一张表基本覆盖了大家可能踩的大部分坑。现象可能原因排查思路果实识别不稳定时好时坏光照变化、白平衡漂移固定LED补光调整摄像头曝光和增益为手动模式未成熟蓝莓被当成成熟果H通道阈值范围太宽统计两种果实的H分布缩小阈值窗口增加S通道约束机械臂移到目标点但抓偏坐标标定误差或机械结构松动重新标定检查支架固定限制采摘区域在视野中心吸嘴吸不住果实真空泵流量不足、吸嘴内径太小换大流量泵或增大吸嘴直径检查管路密封果实被吸破吸力过大、吸嘴材质过硬换成硅胶软吸嘴减小真空泵开度或加节流阀舵机抖动电源功率不足、PWM信号不稳独立电源供电检查PWM周期是否稳定加滤波电容步进电机丢步加速度过大、速度过高降低加速度给XY模块加强支撑刚性系统跑一会就卡死图像缓冲区溢出或者状态机死循环检查视觉任务是否占用了过长CPU时间在主循环中增加看门狗复位这些问题的共性结论是先硬件后软件。我们曾经花了两天时间调识别算法最后发现是摄像头镜头松了画面一直在轻微旋转。所以联调之前先把所有螺丝紧一遍把所有线卡固定好这个习惯能省一半调试时间。4.2 联调顺序与现场演示的经验我们的联调顺序遵循“每个模块先独立验证再两两组合最后整机”。视觉模块单独跑的时候我们通过串口把识别结果显示在电脑上位机上人眼确认每一颗蓝莓的坐标和成熟度评分是否正确。机械臂模块单独跑的时候不接视觉直接输入预设坐标看它能不能准确到达和吸取。两两组合的时候第一步先做“视觉定位机械臂移动”但不开真空泵。也就是让机械臂移动到果实上方停止后人工确认落点是否准确。确认无误后再开启真空泵进入完整流程。最后整机联调的时候我们在采摘区域做了几十次不同位置的蓝莓测试统计成功率。注意一定要记录失败案例不要只盯着成功案例看。现场演示的时候有几个小技巧值得分享。第一提前把现场的灯光环境固定好最好自己带补光灯不要指望赛场灯光合适。第二蓝莓摆放不要过于刁钻可以模拟比较真实的簇生状态但不要故意把果实全部藏在叶子下面展示核心能力比挑战极端工况重要。第三准备一个简单的计数功能每成功摘一颗蓝莓显示屏上的采摘数量加一评委看得到系统在干活印象分直接拉满。答辩时讲方案不要只讲“我用了什么模块”而是讲“我为什么这么选”。比如我们讲为什么用吸嘴而不是夹爪换成产业视角就是“蓝莓果皮薄夹持容易损伤负压吸取更适合柔性采摘”。再比如讲为什么用传统视觉而不是神经网络我们的说法是“竞赛场景相对固定传统颜色特征已经很可区分而且嵌入式算力有限传统算法的实时性和可解释性更好”。这种回答方式评审一听就知道你真的做过系统设计而不是只会调包。5. 最后说两句做完这个蓝莓采摘机器人我最深的体会是嵌入式竞赛的产业题比的不是谁的技术更“高级”而是谁的系统更“稳”。我们曾经一度想在MCU上跑一个小型神经网络觉得这样才够酷但调了一周效果始终不稳定后来老老实实回到传统视觉加上精细的标定反而达到了又快又准的效果。农业采摘场景下的变量太多工程上真正重要的是容错能力和可维护性而不是算法复杂度。如果你也准备做这个赛题我的建议非常直接先去把机械结构装稳再谈视觉算法先把吸嘴吸得住一棵果再想怎么提高速度。每一步都留好手动测试的入口关键参数能调则调别写在代码里写死。这样哪怕现场出问题你也能在几分钟内通过调参救回来。蓝莓采摘机器人这个项目不容易但做完之后你对嵌入式系统怎么跟现实世界打交道会有一个非常深刻的理解。

相关新闻

大模型工程落地五段路线:从应用集成到部署优化

大模型工程落地五段路线:从应用集成到部署优化

2026年了,如果你还站在"大模型学习路线"这个词面前犹豫,说明你已经意识到一个问题:单纯刷短视频和零散教程,永远拼不出能上手的技能体系。我见过太多工程师朋友,上半年还在跟我聊怎么把模型接进项目&#xf…

2026/10/19 6:41:56 阅读更多 →
三端口固态变压器MPDPC全栈控制架构逆向与实战演训

三端口固态变压器MPDPC全栈控制架构逆向与实战演训

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 6:40:56 阅读更多 →
开关电源EMC整改的关键:PCB布局高频环路与接地设计要点

开关电源EMC整改的关键:PCB布局高频环路与接地设计要点

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 6:40:56 阅读更多 →

最新新闻

普通个人电脑跑大模型:显存、量化与CPU+GPU混合推理实战指南

普通个人电脑跑大模型:显存、量化与CPU+GPU混合推理实战指南

前阵子有个朋友问我:“普通个人电脑到底能跑多大的大模型?”我当时没直接甩个数字给他,因为这个问题本身就是一个“多变量博弈”:同样叫“7B”的模型,float16 版本和 int4 量化版本,显存需求能差出三倍&…

2026/10/19 7:16:12 阅读更多 →
个人电脑跑大模型:显存、量化与CPU/GPU混合推理实战指南

个人电脑跑大模型:显存、量化与CPU/GPU混合推理实战指南

经常有人问我:“我的电脑就一块普通显卡,显存不大,到底能不能跑得动现在流行的大模型?”这个问题听起来很玄,其实拆开就是一笔账:大模型跑起来消耗多少显存,取决于它的规模,也取决于…

2026/10/19 7:16:12 阅读更多 →
ADPAM自适应双感知注意力:提升红外小目标检测的YOLOv11改进实践

ADPAM自适应双感知注意力:提升红外小目标检测的YOLOv11改进实践

中午刚从标注平台拉完一批红外测试图,视线还没从屏幕上挪开,我就把几个常用检测模型跑了一遍对比——YOLOv8n、YOLOv9t,还有最新的YOLOv11n。结果跟在座大多数做小目标检测的兄弟预想的一样:漏检一串,虚警一堆&#xf…

2026/10/19 7:16:12 阅读更多 →
当视频生成跑赢播放:VDN-H3如何用混合注意力重新定义实时AI视频

当视频生成跑赢播放:VDN-H3如何用混合注意力重新定义实时AI视频

当视频生成跑赢播放:VDN-H3如何用混合注意力重新定义实时AI视频 一个被忽视的瓶颈 2026年8月,MiniMax H3正式开源,33B参数的扩散Transformer、2K分辨率、15秒时长、原生立体声音频——参数表足够惊艳。但真正把H3跑起来的人很快会发现一个尴尬的现实:生成一段14秒的视频,…

2026/10/19 7:16:12 阅读更多 →
中枢炎症体外新模型|猫脑星形胶质细胞(BA)功能与科研应用解析

中枢炎症体外新模型|猫脑星形胶质细胞(BA)功能与科研应用解析

星形胶质细胞是中枢神经系统数量最多的胶质细胞,并非单纯的脑组织填充细胞,在脑发育、神经递质稳态维持、血脑屏障调控中承担关键作用。静息状态下,它维持离子平衡、清除突触间隙谷氨酸、分泌神经营养因子;当遭遇外伤、缺血、Aβ …

2026/10/19 7:16:12 阅读更多 →
CVE-2018-7600 漏洞分析:从 CVSS 评分到 Drupalgeddon 2 复现

CVE-2018-7600 漏洞分析:从 CVSS 评分到 Drupalgeddon 2 复现

实验环境 Kali GNU/Linux 2024.4Docker / Docker ComposeVulhubBurp Suite Community目标:Drupal 8.5.0,CVE-2018-7600一、CVSS 版本演化与 CVE-2018-7600 评分 1. CVSS v2 / v3 / v4 的主要区别版本发布时间核心变化局限性CVSS v22006基础指标、时间指标…

2026/10/19 7:15:12 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →