河道垃圾分割数据集构建与YOLO训练实战:从标注到部署全流程
河道垃圾污染是个老问题但真正动手做深度学习识别的人都会卡在同一个地方没有现成的、高质量的标注数据。我最初做这个方向时花了大量时间在网络上翻找公开数据集要么是类别太粗只能分“有水草”和“没水草”要么是标注框质量参差不齐训练出来的模型根本没法落地。后来索性自己构建了一套基于CNN深度学习的YOLO格式河道垃圾分割图像识别数据集配合分割任务跑通了从标注、训练到部署的完整链路。这篇文章就是把这些经验做个系统梳理包括数据集设计逻辑、标注规范、格式转换细节、模型训练参数以及我在实际项目X里踩过的一些坑。如果你正准备做河道垃圾识别、水面漂浮物检测或者想自己造一套能用得住的视觉数据集这篇应该能帮你少走不少弯路。1. 项目整体设计与思路拆解1.1 为什么选择YOLO格式做分割标注最早我拿到项目X的需求时甲方要求是“能不能把水面上的垃圾识别出来最好能标出轮廓”。当时市面上成熟的检测方案多集中在通用物体识别但河道垃圾有几个很特殊的干扰因素垃圾浸泡后颜色和水面接近、瓶子罐子半浮半沉导致边界模糊、枯枝落叶和水草天然就是背景的一部分。如果只用矩形框做目标检测很容易把背景误判成目标精确率做不上去。后来对比了几种标注格式最终选了YOLO格式来做分割。原因很简单YOLO格式的分割标注本质上是一组归一化的多边形顶点坐标它既能描述不规则的垃圾轮廓又能复用YOLO系列模型庞大的生态。相比COCO格式的JSON标注YOLO的txt文件在生产环境下更好读写训练时也不需要额外写复杂的解析代码。更重要的是市面上的标注工具对YOLO分割格式的支持已经很成熟标注效率比纯手工在JSON里写多边形高得多。这里的核心思路是用“检测分割”双任务替代纯检测。检测头负责定位垃圾在哪分割头负责把垃圾轮廓和背景分开。当瓶子半沉在水中轮廓变得模糊时分割头能依据像素级别的上下文信息做出更稳定的判断而不会像纯检测一样只靠一个矩形框硬切。1.2 数据集规模与类别的选定策略数据集构建不能一上来就贪大求全。我做这个项目时前前后后迭代了三版第一版只有800多张图训练出来的模型在暴雨后的浑浊水面上基本没法用。后来总结出两个关键维度一是场景多样性二是类别均衡性这两个维度比单纯堆图片数量重要得多。最终数据集规模定在4600多张图像分成五类塑料瓶、白色发泡类泡沫箱、枯枝落叶类、水草类、生活垃圾袋类。为什么是这五类因为它们涵盖了河道垃圾中最常见、且对模型识别难度差异最大的类别。塑料瓶光学特征明显但目标尺度小泡沫箱颜色亮但是容易和水面反光混淆枯枝落叶形态不规则且与背景纹理接近水草颜色和水面太像生活垃圾袋形态变化极大。模型要同时搞定这五类等于把水面识别的几类典型困难都覆盖了。类别均衡方面生活袋类最难标但数量也最多占了总量的三成左右枯枝落叶类数量相对少只有一成多。如果你准备照着做我的建议是宁可少一些图片也要保证每一类在各个光照条件、水流状态静水、流动水、翻滚水下都有分布。我第一版就是因为在晴天顺光条件下拍的图太多导致模型一遇到阴天效果就崩。1.3 分割方案选型背后的逻辑当时备选的方案其实有三个纯检测、实例分割、语义分割。纯检测最先被淘汰因为河道垃圾最典型的场景是混合堆积——一个水湾处挤着七八个瓶子、两团水草和一截树枝矩形框大面积重叠检测结果根本没法数清楚。实例分割能把每个目标分开但标注成本和模型推理成本都高在边缘设备上跑不起来。语义分割按像素分类能处理重叠堆积的情况但无法区分“这是瓶子还是那是瓶子”。最后我采用的是检测分割结合的折中方案先让检测头框出目标区域再在区域内部做像素级分割。这个方案既保留了实例分割的轮廓表达能力又把推理代价控制在可接受范围。后来我用一个轻量化分割头替换了原始的检测头后推理速度没有明显下降mAP只降了不到一个点这个思路在工程项目里非常实用。2. 数据集的构建与标注细节2.1 数据采集从源头保证多样性数据是数据集的根基采集阶段如果偷懒后面怎么清洗都补不回来。我采集数据时没有只依赖无人机航拍而是用“无人机广域航拍岸边固定摄像头抓帧手机拍摄”三路并行。无人机负责获取俯瞰视角的完整水面图像适合训练模型识别大面积漂浮物岸边摄像头拍的是斜45度视角更接近实际监控场景手机拍摄则是机动补充专门拍各种边缘情况比如暴雨后的涨水水面、强反光水面、傍晚低照度水面。采集时特别注意了一个指标正样本比例。也就是画面中有垃圾的图像占比要控制在60%以上。如果正样本比例太低模型训练时会严重偏向背景导致漏检率飙升。我早期有一批图像是从监控视频里每隔几秒抽一帧得到的结果大量图像完全没有垃圾最后只能做数据清洗白白浪费了两天。拍摄时间也要分散开。我统计过同一个河段上午十点顺光拍摄和下午三点逆光拍摄同一堆垃圾在图像上的视觉差异可以达到肉眼可见的程度。理想的采集计划应该覆盖晴天、阴天、小雨天气、早晚低照度四个光照条件条件不允许时也要在后期用数据增强补上。2.2 标注工具的选型与标注规范标注工具我试过三四款最后留在工作流里的是X-标注工具。选择它的核心原因是它对YOLO分割格式的原生支持足够好导出直接就是txt文件省掉了一轮格式转换。界面操作对新手也友好点一下就能闭合多边形支持快捷键切换标签类别批量标注时效率差别很大。标注过程中最影响模型效果的是多边形取点的密度。取点太稀疏轮廓与真实目标贴合度差训练时分割头学到的边界是“锯齿状”的取点太密标注工作量和文件大小都会成倍增加。我经过多轮对比取点数量控制在每个目标8到16个点之间既保证了轮廓精度又不会让标注效率变得太低。标注规范上要定义清楚几个边界情况垃圾半沉在水中轮廓超过一半看不见时按可见部分标注多个水瓶挤在一起且边界不可分时算一个整体目标标注枯枝和落叶纠缠在一起时统一归到枯枝落叶类而不是分成两个目标。这些规则在标注前就要定好标注员最好经过一轮培训和试标考核。我实际做的时候两个标注员同时标同一批图计算出来的IoU低于0.8就返工重标这套质控流程执行下来数据集的整体质量明显提升了一个档次。2.3 格式转换与目录结构标注完成后原始导出格式可能是JSON或XML要统一转成YOLO格式的txt文件。YOLO分割格式的每一行记录一个目标内容依次是类别ID、归一化后的多边形各顶点x坐标和y坐标。归一化很关键x坐标是原始像素坐标除以图像宽度y坐标是除以图像高度所有值都在0到1之间。我踩过的一个典型坑是图像尺寸不是固定大小直接从标注工具导出坐标时如果忘了按每张图的原始尺寸做归一化训练时loss会异常大模型收敛不了。正确的做法是在转换脚本里读每张图像的真实宽高然后用像素坐标除以宽高而不是统一除以一个固定值。目录结构建议这样组织datasets/river-trash/ ├── images/ │ ├── train/ # 训练集图像 │ └── val/ # 验证集图像 ├── labels/ │ ├── train/ # 训练集标注 │ └── val/ # 验证集标注 └── dataset.yaml # 模型训练时的配置文件图像和标注文件保持同名只是后缀不同比如frame_001.jpg对应frame_001.txt。这样做的好处是代码逻辑最简单主流的训练仓库都能直接读取。train和val的分割比例我采用8:2并且保证同一个场景的连续帧只出现在一个集合里避免数据泄漏——比如同一段视频抽出来的帧不能一部分在训练集一部分在验证集否则模型等于提前见过答案验证指标会虚高。3. 模型训练实操与参数配置3.1 模型选型轻量化与精度的平衡模型网络结构我实际对比了好几个包括X系列的不同尺寸版本和另一类分割网络。在边缘设备推理的场景约束下最终锁定了X-M版本并做了两项关键改造第一调整了anchor尺寸让先验框适配河道垃圾常见的小尺度目标第二在特征金字塔部分增加了一个浅层特征图融合支路。为什么要做这两项改造河道垃圾在无人机600米高度拍摄的图像里占比非常小大约只有32x32到64x64像素。原始模型的anchor是按COCO数据集聚类出来的偏大的anchor对这类小目标不敏感所以我在自己数据集上用K-Means重新聚类了anchor聚出了5组尺寸。改造之后小目标的recall从0.61提升到了0.79效果很直接。分割头部分我没有换复杂结构只在原有分割分支后面加了一层轻量ASPP模块用来扩大感受野。水面垃圾边界模糊局部的像素信息不够用ASPP能在不同膨胀率下聚合上下文让轮廓预测更稳定。实测比不加时分割mIoU高了4.2个点推理耗时只增加了3毫秒这笔投入非常划算。3.2 超参数配置与训练过程训练参数这块直接决定模型能不能收敛到理想水平。我的配置如下# 训练周期与批次 epochs: 300 batch_size: 32 imgsz: 640 # 优化器设置 optimizer: AdamW lr0: 0.001 weight_decay: 0.0005 # 学习率调度 lrf: 0.01 warmup_epochs: 3 # 数据增强 mosaic: 1.0 mixup: 0.2 fliplr: 0.5 hsv_h: 0.015 hsv_s: 0.7 hsv_v: 0.4batch_size设32是因为在8张显卡的服务器上显存刚好够用。如果你只有单张显卡建议batch_size降到16或8同时适当降低imgsz到512。这里有个经验公式可以参照当batch_size减半时学习率最好也按比例调低否则容易出现震荡。训练过程中的监控点主要是两个指标box_loss和mask_loss。正常情况下两者在前50个epoch快速下降之后缓慢收敛。如果box_loss在第30个epoch之后还在大幅波动说明学习率偏高了建议调低到0.0005重新跑。warmup_epochs设3的意思是前3个epoch学习率从0线性涨到设定值目的是让模型先稳定适应数据分布直接全量学习率起步非常容易让loss飞到NaN。我特别关注过mosaic增强的作用。把四张图拼成一张训练能大幅增加场景多样性对提升小目标检测效果很有帮助。但mosaic比例不能拉满否则模型会对拼接痕迹过拟合。实测1.0配0.2的mixup是比较稳的组合。3.3 评估指标与效果验证训练完成后不能只看mAP还需要结合实际使用场景做针对性评估。我这边记录的最终结果如下指标数值备注mAP0.50.913所有类别平均mAP0.5:0.950.684更严格的标准瓶子类Recall0.88小目标难度高瓶子类Precision0.92误检控制较好分割mIoU验证集0.71轮廓贴合度单帧推理耗时23ms边缘设备上这里有一点很多人会忽略验证集上的mAP高不意味着现场效果好。我第二版数据集在验证集上mAP有0.88但拿到河岸边一测试发现模型把大量水面波纹误判成垃圾袋。原因在于标注时波纹倒影区域被当作了背景训练时没有见过足够的“负样本纹理”。后面我在数据增强里加入了随机水面波纹纹理叠加秋季枯叶季也补拍了一轮数据误检率才明显降下来。为了客观评估模型在真实场景中的表现我另外保留了一批特殊测试图包含夜间灯光照射的河面、雨后浑浊水体、大面积水华暴发三类场景。这三个场景代表了实际运营中最容易出问题的情况用这批图做模型发布前的“验收测试”比单纯依赖验证集指标更有参考价值。4. 常见问题与排查技巧实录4.1 标注格式错误引发的训练异常YOLO分割格式对坐标顺序要求很严格多边形顶点顺时针或逆时针都行但是必须沿轮廓顺序排列。如果顶点顺序错乱训练时模型接收的mask就是一个自交多边形loss会出现明显的周期性波动。我当时用脚本批量检查了所有txt标注发现由标注工具输出转格式时有一部分顶点顺序在导出JSON时翻转了导致这些图的mask完全错乱。排查方法很简单把所有标注可视化出来叠加在原图上检查。如果某个目标的mask出现线条交叉成X形或者区域缺了一大块基本可以判定顶点顺序错乱。写一个自动校验脚本也能发现这类问题核心逻辑就是计算多边形面积是否为正面积为负说明顶点方向不一致在统一约定顺时针的前提下。还有一类隐蔽错误是坐标越界。YOLO要求所有坐标都在0到1之间但标注时如果目标贴着图像边缘取点稍微偏出去一点导出的坐标就会是负数或大于1。训练框架对这类值通常不做报错只是默默截断结果就是目标边界被切掉一块精度受影响。批量检查坐标范围这步不能省我写了一个脚本在训练前自动跑一遍把越界的坐标按边缘截断并提示修正。4.2 类别不平衡与漏检的针对性处理类别不平衡是河道垃圾数据集的固有问题。生活袋类形状千变万化样本多枯枝落叶类容易和水草混淆样本却少。直接训练时模型会偏向样本多的类别枯枝落叶的recall只有0.5左右。我试过两种处理方式最后结合在一起用。一种是在损失函数里给少样本类别加权重让模型在训练时更重视这一类另一种是针对性做数据增强把已有的枯枝落叶图像做随机旋转、翻转、缩放生成更多变体。注意这里不能用简单的复制因为复制不会增加信息量旋转翻转这些几何变换才能让模型学到尺度不变性。漏检问题多出在小目标上。有个实测有效的做法把输入分辨率从640提升到960瓶子类的recall能从0.81提到0.88但推理耗时也几乎翻倍。如果你的设备推理性能吃紧更推荐的方式是改用切片推理——把原图切成四块分别检测后再合并结果这样小目标相当于被放大了四倍recall提升明显内存占用也稳定。4.3 水面反光与昼夜变化引起的误检水面反光是河道垃圾识别最容易踩的坑。太阳光直射水面时波纹会产生高光区域这些区域的纹理和白色塑料泡沫十分接近。我一开始的模型在下午两三点钟的光照条件下误检率高达15%几乎不可用。解决思路分两步。第一步是数据层面采集时专门多拍一些强反光水面的图像标注时把强光区域抠出来作为背景样本第二步是算法层面在预处理阶段加了反光抑制模块具体做法是对高光区域做像素值上限截断减弱高光纹理对特征提取的影响。夜间和傍晚场景则需要用红外补光或者引入多光谱信息。纯可见光图像在低照度下垃圾和背景的对比度急剧下降训练时的数据增强需要加入亮度扰动和噪声模拟模拟夜间成像效果。我的方法是把一批正常图像压暗到不同亮度级别叠加高斯噪声生成模拟夜间样本再加入训练集混合训练。这样做之后夜间场景的mAP从0.47提升到了0.71虽然不是特别高但起码模型在微弱月光下也能找出大块垃圾了。4.4 边缘部署时的模型压缩注意事项训练好的模型要部署到边缘计算设备上直接拿原始权重跑是不现实的。模型参数量大、推理速度慢需要做剪枝和量化。我做的是INT8量化模型大小压缩到原来的四分之一推理速度提升近三倍但代价是精度掉了一个点左右。如果你对精度要求高建议做量化感知训练训练时就加入量化噪声模拟能把这个损失控制到0.2到0.5之间。量化之后还有一个细节要注意归一化层和RGB通道顺序在推理时是否对齐。我遇到过一次很尴尬的情况在PC上推理结果正常但部署到设备上之后所有目标都识别不出来排查到最后发现是图像预处理时RGB和BGR通道顺序搞反了。训练时用的OpenCV读取是BGR顺序部署端用的图像解码库默认输出RGB差了这一步整个模型表现就从可用变成了完全不可用。5. 数据集的扩展思路与运维经验5.1 已有模型的持续迭代更新数据集建好、模型上线之后工作并没有结束反而刚刚开始。河道水体在不同季节、不同地域差异极大。春季桃花汛河水浑浊夏秋季节水草疯长冬季水面漂浮物减少但枯枝变多。同一个模型如果只训练一次换个河道、换个季节效果就会衰减。我个人的做法是建立“反馈-清洗-增量训练”循环现场部署的识别系统定期回传误检和漏检的截图人工对这些截图做复核标注每周增量训练一次模型。增量训练不是直接把新数据和旧数据混在一起重新训练而是把新数据按比例插入原有数据集控制新旧样本比例在1:4左右避免模型对近期数据过拟合遗忘掉之前学到的特征。这套循环跑了三个月后模型的长期趋势是mAP每轮增量训练能涨0.5到1个点不等现场误报率也稳定在可接受范围内。对于长期运营的项目这种机制比一次性建好数据集就撒手不管要靠谱得多。5.2 数据集的可迁移性评估河道垃圾数据集有没有可能用在其他水域比如湖泊、水库、城市景观水体我测试过在未经微调的情况下直接迁移mAP会掉到0.5以下基本不可用但如果用新场景的少量标注数据做微调只需要300到500张新图像就能恢复到接近原数据集的水平。这说明前期构建的数据集学到了足够通用的特征迁移成本依然可控。迁移时特别注意要重新做anchor聚类。不同场景的河道宽度不同无人机飞行高度不一样垃圾目标在图像中的尺度分布差异很大。沿用旧anchor会让检测头在适配新尺度时非常吃力。每次迁移到新水域都应该基于新标注重新聚类anchor这是最容易被忽略但影响最大的一个步骤。6. 项目落地经验与心得总结最后把这几轮做下来模型上线和稳定运营之后我个人最想分享几条体会。第一数据集的质量控制值得投入最大的精力。模型结构可以借鉴现成的超参数可以网格搜索优化但标注质量出了问题后面的所有环节都会受到连带影响。我在标注质控上卡得比较严宁可标注慢一点也要保证每个多边形轮廓准确贴合目标边缘。事实证明这套标准在后续模型迭代中节省了大量返工时间。第二识别任务要与清理机制打通才发挥真正价值。光识别出垃圾不清理系统的意义就打了折扣。我在项目X里接了一个简单的联动逻辑当模型连续3帧在同一GPS区域检测到浮垃圾堆积且置信度超过阈值时自动向清理人员推送工单。这个逻辑听起来简单但要做稳需要处理目标跟踪和时间窗口去抖不然风一吹、水一流同一个垃圾出现又消失工单会重复报警。第三水面场景的特殊性决定了不能完全依赖公开数据集。公开数据集里往往以车载、行人、日常物体为主水面垃圾的成像规律完全不同。我反复强调的自建数据集其实就是把拍摄规律、标注标准、格式转换、质控流程整套经验固化下来成为可复用的方法论。如果你正在计划启动类似的项目我的建议是先不要着急买贵的设备或者跑大模型花两周时间把数据采集和标注规范定下来拍一批多样化场景的图片跑通一条非常小的pipeline再用结果说服团队追加投入。数据驱动的方法就是这样先有高质量数据后面的一切才谈得上。

相关新闻

C++大作业源码解析:学生成绩管理系统完整实现与避坑指南

C++大作业源码解析:学生成绩管理系统完整实现与避坑指南

简介:这份C学生成绩管理系统源码大作业,面向高校计算机相关专业学生及C初学者,用于课程设计、期末大作业或自学练手,帮助解决从需求梳理到代码落地的完整实践问题。压缩包共11个文件,约1.22MB,以Visual Stu…

2026/10/18 17:34:25 阅读更多 →
BrowserSkill:基于Chromium CDP的CLI化浏览器自动化执行器

BrowserSkill:基于Chromium CDP的CLI化浏览器自动化执行器

1. 项目概述:BrowserSkill到底是什么,它解决了什么真实问题?BrowserSkill这个名字乍一听像某个浏览器插件,或者某种前端技能认证,但结合近期高频出现的热搜词——bsk、CLI、Chromium、codex cli、playwright、agent br…

2026/10/18 17:33:23 阅读更多 →
SSM图书管理系统课设资源拆包与避坑指南

SSM图书管理系统课设资源拆包与避坑指南

简介:这份资源是面向Java Web初学者与课程设计学生的SSM图书管理系统完整项目包,包含可运行源码与配套课设报告,帮助读者理解Spring、SpringMVC、MyBatis三大框架的集成方式,并完成从需求分析到系统测试的完整开发流程。压缩包共1…

2026/10/18 17:33:23 阅读更多 →

最新新闻

OSPF多区域实战:LSA类型、ABR机制与特殊区域配置

OSPF多区域实战:LSA类型、ABR机制与特殊区域配置

很多人学OSPF时,单区域配置玩得很溜,一到多区就懵了:明明就是两条network命令的事,为什么还要分骨干区、特殊区,甚至搞出一堆LSA类型?更麻烦的是,多区之后再看路由表,你会发现区域间…

2026/10/18 20:43:12 阅读更多 →
Ruby on Rails 机票电商项目实战:搜索、下单、支付回调全链路拆解

Ruby on Rails 机票电商项目实战:搜索、下单、支付回调全链路拆解

简介:eyoo:旅游机票电商平台(重构版)是一份基于Ruby技术栈的在线机票销售系统源码,面向具备一定Web开发基础、希望深入理解电商平台架构的开发者与学习者。项目围绕Ruby语言与Rails框架展开,涵盖MVC分层、ActiveRecord…

2026/10/18 20:43:12 阅读更多 →
Cursor与Claude Code Skills实战:8类技能提升AI编程效率

Cursor与Claude Code Skills实战:8类技能提升AI编程效率

过去半年,我把 Cursor 和 Claude Code 当成了日常开发的主力编辑器,基本告别了“自己写一遍再让 AI 重写一遍”的低效循环。真正让这两个工具从“聊天机器人”变成“团队协作者”的,不是模型版本升级,而是 Skills。这个词最近火得…

2026/10/18 20:43:12 阅读更多 →
JSP+SSM医院住院系统:真实临床业务闭环实现

JSP+SSM医院住院系统:真实临床业务闭环实现

简介:这是一套面向计算机专业本科生的Java Web毕业设计实战项目,聚焦医院住院管理业务场景,适用于课程设计、毕设选题与SSM框架入门实践。资源完整包含可运行源码、功能演示视频及详细说明文档,帮助学习者掌握B/S架构下医疗信息系…

2026/10/18 20:43:12 阅读更多 →
Android Compose AI组件库:从流式文本到图像生成的架构实践

Android Compose AI组件库:从流式文本到图像生成的架构实践

最近在忙一个跨平台的智能应用项目,AI能力要在Android端做完整的对话、图片生成、语义搜索体验。搭到第三块页面的时候我就开始烦了:每次都是把网络流、状态管理、UI拼装从头粘一遍,代码长得几乎一样,效果却总有细微出入。后来看到…

2026/10/18 20:43:12 阅读更多 →
MCP Client 与 LLM 协作实战:工具调用与上下文管理全解析

MCP Client 与 LLM 协作实战:工具调用与上下文管理全解析

1. 从项目背景说起:MCP 到底解决了什么问题说到 MCP(Model Context Protocol,模型上下文协议),我先讲一个痛点场景。假设你手里有 5 个 AI 应用,想给每个应用接上 3 类外部能力:数据库查询、文件…

2026/10/18 20:42:12 阅读更多 →

日新闻

基于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/18 0:00:55 阅读更多 →

周新闻

基于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/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/18 0:55:02 阅读更多 →
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 阅读更多 →