YOLOv3口罩检测工程落地:小目标识别与边缘部署鲁棒性实战

1. 这不是“又一个YOLO demo”,而是一次真实场景下的工程落地复盘

去年冬天,某高校实验室接了一个社区防疫辅助系统的需求:在老旧监控摄像头画质模糊、光照不均、人员密集穿行的环境下,实时识别未规范佩戴口罩的行为。他们最初找来一个网上下载的YOLOv3口罩检测模型,直接跑通了demo——准确率标称92.3%,测试图里人像清晰、口罩颜色统一、角度正、背景干净。结果一接入真实部署环境,误报率飙升到47%,漏检率逼近35%。值班同学连续三天被后台告警刷屏,最后发现80%的“未戴口罩”报警,其实是有人把口罩拉到下巴上、或用围巾半遮口鼻、或正低头看手机导致面部被遮挡——模型根本分不清“没戴”和“戴得不标准”。这件事让我意识到:YOLOv3口罩识别从来就不是调个预训练权重、改两行代码就能上线的事;它是一场从数据采集逻辑、标注颗粒度、模型结构适配,到边缘设备推理稳定性、业务规则兜底的全链路工程攻坚。本文不讲论文复现,不堆参数表格,只说我在三个不同部署现场(社区出入口、工厂车间、学校闸机)踩过的坑、验证过的方案、以及那些训练日志里不会记录但决定项目成败的细节。核心关键词就四个:YOLOv3、口罩佩戴状态、小目标检测、边缘部署鲁棒性。如果你正面临类似需求——不是做课程设计,而是要让系统真正在灰暗走廊、逆光门口、雨雾天气下稳定工作,那这篇就是为你写的。

2. 为什么是YOLOv3?而不是YOLOv5/v8或更轻量的MobileNet-SSD?

选择YOLOv3绝非守旧,而是基于三类真实约束条件的理性取舍。先说结论:在2023年及之前部署的中低端边缘设备(如Jetson Nano、RK3399、部分国产NPU模组)上,YOLOv3的结构确定性、内存占用可预测性、以及对低精度量化(INT8)的友好度,至今仍优于多数新架构。我拿同一套标注数据在四款模型上做了横向对比,关键指标如下表:

模型输入尺寸参数量FP16推理延迟(Nano)INT8量化后mAP@0.5内存峰值占用对小目标(<32×32)召回率
YOLOv3-Tiny416×4168.2M42ms68.1%382MB51.3%
YOLOv5s640×6407.2M68ms65.7%516MB44.8%
YOLOv8n640×6403.2M73ms63.2%498MB40.1%
MobileNet-SSD300×3005.8M55ms58.9%320MB36.5%

提示:延迟数据基于Jetson Nano(2GB RAM,无散热风扇)实测,所有模型均使用TensorRT 8.2进行FP16/INT8编译。mAP为在自建测试集(含1200张真实场景图)上计算。

表面看YOLOv5s参数更少,但它的PANet特征融合结构在Nano上会产生大量中间特征图缓存,导致内存峰值暴涨,频繁触发swap,实际帧率反而比YOLOv3-Tiny低12%。而YOLOv3的Darknet-53主干网络层级深但结构规整,每一层输出尺寸可精确计算,这对内存受限设备至关重要——你能提前知道第12层特征图会吃掉多少MB,从而预留缓冲区。更重要的是,YOLOv3的Anchor设计(9个先验框分三层)对口罩这种尺度变化剧烈的目标更友好:上层大Anchor抓远处人脸轮廓,中层中Anchor捕获中距离口罩区域,下层小Anchor精确定位近处口罩边缘。我们曾尝试将YOLOv5的Anchor聚类结果(K=9)强行迁移到YOLOv3,mAP提升仅0.8%,但训练收敛速度下降40%,因为YOLOv3的损失函数(CIoU+分类交叉熵)与Anchor尺度分布存在隐式耦合。

另一个常被忽略的点是标签平滑(Label Smoothing)的兼容性。YOLOv3原始实现不支持标签平滑,但我们在训练时强制加入(ε=0.1),结果验证集loss震荡加剧,最终mAP反而下降2.3%。后来发现,YOLOv3的置信度分支(objectness score)本身已包含对负样本的抑制机制,额外平滑会破坏其概率校准。而YOLOv5/v8默认开启标签平滑,这是它们结构差异带来的训练策略依赖。所以选型不是比谁新,而是看谁的“脾气”更匹配你的硬件和数据特性。

3. 数据:90%的模型问题,根源在标注环节的三个致命细节

拿到一个标注好的口罩数据集,第一件事不是跑训练,而是用脚本检查三件事:遮挡标注一致性、佩戴状态定义粒度、以及图像元信息完整性。我们接手的第一个项目,客户提供的2万张标注图,经检查后废弃了6300张,原因全在这三点。

3.1 遮挡标注必须分层,而非简单“打框”

传统做法是:只要人脸区域有口罩,就画一个完整矩形框。这在YOLOv3中会导致严重问题——当人侧身、低头、戴眼镜反光时,模型学到的“口罩特征”其实是“人脸+部分反光+模糊色块”的混合体。我们要求标注团队执行三级遮挡标注法:

  • Level 0(完全可见):口罩完整覆盖口鼻,边缘清晰,无遮挡;
  • Level 1(部分遮挡):口罩被手、头发、围巾遮盖≤30%面积,且口鼻区域仍可见;
  • Level 2(严重遮挡):口罩被遮盖>30%,或仅露出边缘线条,或口鼻不可见。

每张图需标注所有可见人脸的Level,并在XML/JSON中以occlusion_level字段存储。训练时,我们修改YOLOv3的loss计算:对Level 2样本,降低其置信度损失权重(0.3倍),但保留分类损失(因仍需学习“这是口罩”)。实测表明,该策略使严重遮挡场景下的漏检率下降21%,且不增加误报。

3.2 “佩戴状态”必须定义为离散状态机,而非二值标签

很多项目把任务简化为“戴/不戴”二分类,这是最大误区。真实场景中存在至少五种状态:

  • correct:口罩完全覆盖口鼻,鼻夹压紧,无下滑;
  • chin_down:口罩拉至下巴,口鼻完全暴露;
  • nose_uncovered:口罩下滑,鼻孔外露;
  • one_ear:仅挂单耳,口罩悬垂;
  • hand_cover:用手捂口鼻,无口罩。

我们构建了状态转移图:correct → nose_uncovered → chin_down是常见退化路径。训练时,模型输出不再是单一置信度,而是5维状态概率向量(Softmax输出),并设计状态置信度衰减函数:若预测为nose_uncovered但置信度<0.7,则降级为correct(避免过度敏感)。这个设计让业务系统能区分“需提醒”(nose_uncovered)和“需拦截”(chin_down),大幅降低人工复核成本。

3.3 图像元信息必须包含光照与设备指纹

YOLOv3对光照变化极其敏感。我们要求每张图嵌入EXIF信息,并额外记录:

  • light_condition:bright(正午室外)、dim(走廊)、backlight(逆光门口)、low_contrast(阴天雾气);
  • camera_model:webcam_720p、cctv_analog、mobile_phone;
  • motion_blur:none/slight/heavy(由标注员主观评估)。

训练时,这些字段不参与前向传播,但用于动态调整数据增强强度。例如,当light_condition=backlight时,随机阴影增强(RandomShadow)概率提升至0.8;当motion_blur=heavy时,运动模糊核尺寸增大至(15,15)。这套机制使模型在逆光场景下的召回率从58%提升至79%。

4. 模型改造:在Darknet-53上动刀的三个精准切口

YOLOv3的Darknet-53主干网络并非黑箱,其结构有明确的可干预点。我们不做大改,只在三个关键位置做最小侵入式优化,每处改动均通过消融实验验证。

4.1 在CBL模块后插入通道注意力(CA),而非空间注意力

YOLOv3的CBL单元(Conv-BN-LeakyReLU)是特征提取基础。我们发现,口罩的判别性特征(如鼻夹金属反光、口罩边缘褶皱)高度依赖通道维度的响应强度,而非空间位置。因此,在每个CBL后添加Coordinate Attention(CA)模块,其核心是将全局平均池化拆分为X和Y方向,分别生成坐标感知的通道权重。相比SE模块,CA在小目标上提升更显著——因为它保留了位置信息。具体实现(PyTorch伪代码):

class CoordAtt(nn.Module): def __init__(self, channels, reduction=32): super().__init__() self.h_pool = nn.AdaptiveAvgPool2d((None, 1)) # X方向压缩 self.w_pool = nn.AdaptiveAvgPool2d((1, None)) # Y方向压缩 self.conv1 = nn.Conv2d(channels, channels//reduction, 1) self.conv2 = nn.Conv2d(channels//reduction, channels, 1) # 后续拼接与sigmoid激活...

在YOLOv3-spp版本中,仅在第12、25、38层CBL后插入CA(对应不同感受野),参数增量<0.5M,mAP提升1.9%,且不增加推理延迟(CA计算可融合进BN层)。

4.2 修改FPN的上采样方式:用PixelShuffle替代Nearest Upsample

YOLOv3的FPN通过upsample层(最近邻插值)融合深层语义与浅层细节。但在口罩检测中,浅层特征(如口罩边缘)的像素级精度至关重要。我们将upsample替换为PixelShuffle(亚像素卷积),其本质是将通道维度重排为高宽维度,避免插值失真。修改后,小目标定位误差(IoU)提升0.07,尤其对32×32以下目标效果显著。注意:PixelShuffle需配合通道数调整——原upsample输入通道为256,输出应为1024(256×4),再经1×1卷积降回256。此改动使模型对口罩边缘锯齿状伪影的鲁棒性增强。

4.3 在预测头(Prediction Head)前增加轻量级上下文门控(CG)

YOLOv3的预测头直接对特征图做1×1卷积输出bbox。我们发现,口罩状态判断高度依赖局部上下文:例如chin_down常伴随手部动作,nose_uncovered常与眼镜反光共存。因此,在每个预测头前添加Context Gating(CG)模块:用3×3卷积提取3×3邻域统计特征(均值、方差、梯度幅值),与原始特征图逐元素相乘。该模块仅增加0.03M参数,却使状态分类准确率提升3.2%。关键在于,CG不改变特征维度,可无缝插入现有结构。

5. 部署陷阱:TensorRT量化后精度崩塌的根因与修复

将训练好的YOLOv3模型转为TensorRT引擎时,我们遭遇了最棘手的问题:FP16精度尚可(mAP@0.5=72.1%),但INT8量化后暴跌至54.3%。排查耗时两周,最终锁定三个隐藏雷区。

5.1 Anchor尺寸必须与量化校准集分布严格匹配

TensorRT的INT8校准(Calibration)过程会统计各层激活值的分布范围。YOLOv3的Anchor尺寸直接影响预测层的激活值幅度。原始YOLOv3使用COCO数据集聚类的Anchor(如116×90),但口罩目标集中在40×30至120×80区间。若校准集仍用COCO风格图片,预测层激活值会被错误截断。解决方案:用自建数据集重新聚类Anchor,并在校准阶段强制使用该数据集。我们采用K-means++算法,在1万张口罩图上聚类出9组Anchor(如32×24, 48×36, 64×48...),再用这组Anchor训练新模型,最后用同批图校准,INT8 mAP回升至67.8%。

5.2 LeakyReLU的负斜率必须设为0.1,且校准中禁用融合

YOLOv3的LeakyReLU负斜率默认为0.1,但某些TensorRT版本在校准时会将其与前层卷积融合,导致负值区域量化误差放大。我们在ONNX导出时显式设置:

# PyTorch导出ONNX前 model.apply(lambda m: setattr(m, 'negative_slope', 0.1) if isinstance(m, nn.LeakyReLU) else None)

并在TensorRT构建时禁用builder.fp16_mode=True下的自动融合(config.set_flag(trt.BuilderFlag.STRICT_TYPES)),确保LeakyReLU作为独立层参与校准。

5.3 后处理NMS必须在GPU端完成,禁用CPU后处理

早期我们为简化流程,将TensorRT输出的bbox送至CPU做NMS。结果发现:INT8量化引入的微小坐标偏移(如x1=123.4→123),在CPU浮点NMS中被放大,导致大量bbox被错误合并。解决方案:将NMS逻辑写入CUDA Kernel,在GPU端完成。我们采用TensorRT官方sample中的nmsPlugin,但修改其IoU计算为CIoU(考虑中心点距离与长宽比),使重叠判断更符合口罩检测需求。此举使INT8下的重复检测率下降18%。

6. 业务兜底:当AI失效时,用规则引擎守住底线

再好的模型也有失效边界。我们在线上系统中部署了三层兜底机制,确保即使模型置信度<0.3,系统仍能给出合理响应。

6.1 基于人脸关键点的几何规则引擎

当模型输出置信度低于阈值时,启动Dlib人脸关键点检测(68点),计算三个几何指标:

  • 鼻唇距比:鼻尖到上唇中点距离 / 两眼内眦距;
  • 口罩覆盖角:以鼻尖为顶点,连接左右嘴角形成的夹角;
  • 边缘连续性:沿口罩上边缘提取像素梯度,计算连续边缘长度占比。

设定规则:若鼻唇距比>0.45且口罩覆盖角<15°,则判定chin_down;若边缘连续性<0.6,则标记partial_occlusion。该引擎在模型失效时接管,准确率61.2%,虽不如模型,但提供了可解释的决策依据。

6.2 时间序列状态平滑(Temporal Smoothing)

单帧判断易受抖动影响。我们维护一个长度为5的滑动窗口,存储每帧的状态预测与置信度。采用加权投票+状态转移约束:当前帧状态必须与前一帧满足转移矩阵(如correct→nose_uncovered允许,chin_down→correct禁止),且投票权重按置信度衰减(0.9^t)。这使瞬时误报减少73%。

6.3 设备端缓存与本地反馈闭环

在Jetson Nano上开辟16MB共享内存,缓存最近100帧的原始图像与模型输出。当运维人员发现误报时,可通过管理界面标记该帧为false_positive,系统自动将该帧加入本地校准集,并触发轻量级在线微调(仅更新最后三层权重,耗时<8秒)。三个月内,该机制使特定场景(如玻璃门反光)的误报率归零。

7. 实战心得:那些文档里不会写的12条经验

最后分享我在三个现场总结的硬核经验,每一条都来自血泪教训:

  1. 不要相信标注工具的“自动标注”:某项目用CVAT自动标注,结果将1200张图中的围巾、领带、阴影全部标为口罩,返工耗时47人日。必须人工抽检,抽检率不低于15%。

  2. Jetson Nano的SD卡不是存储介质,是性能瓶颈:将模型权重放在eMMC而非SD卡,推理延迟降低22%。SD卡IO等待常占总耗时30%以上。

  3. “实时”不等于“每帧处理”:在30fps摄像头下,我们固定每200ms处理1帧(5fps),其余帧丢弃。实测表明,5fps已足够捕捉口罩状态变化,且CPU占用率从98%降至42%。

  4. 逆光场景下,白平衡比曝光更重要:调试时优先调整摄像头白平衡参数(AWB),而非增益。AWB不准会导致口罩颜色失真,模型直接失效。

  5. 模型文件名必须包含量化精度标识:如yolov3_mask_int8_v2.3.trt。曾因混淆FP16与INT8引擎,导致线上服务持续误报36小时。

  6. TensorRT构建日志必须保存:trtexec --verbose输出中,[MemUsage]行显示各层内存占用,是定位OOM的关键线索。

  7. 不要用OpenCV的resize做预处理:其双线性插值在边缘产生伪影。改用PIL.Image.resize(resample=Image.BICUBIC),小目标保真度提升。

  8. 校准集必须包含“最难样本”:我们专门收集100张极端案例(强反光、重度模糊、多层遮挡)加入校准集,INT8精度波动从±5.2%收窄至±1.3%。

  9. NMS的IoU阈值不是0.45:口罩检测中,0.3更优。因多人密集时bbox天然重叠,过高阈值导致漏检。

  10. 模型版本号必须与数据集版本号绑定:在config文件中写死dataset_version: "mask_v4.2",避免数据与模型错配。

  11. 边缘设备必须监控GPU温度:Nano温度>65℃时,TensorRT会自动降频。我们加装散热风扇并设置温度告警,帧率稳定性提升100%。

  12. 给业务方的报告里,永远用“可操作指标”代替mAP:如“在10米距离内,对低头看手机人员的nose_uncovered识别准确率为83%”,而非“mAP@0.5=72.1%”。

我在实际部署中发现,真正决定项目成败的,往往不是模型结构有多炫酷,而是你是否在数据标注时坚持了三级遮挡标准,是否在校准阶段亲手筛选了100张最难样本,是否在Nano上为SD卡IO单独优化了读取线程。这些事没有论文可引,没有库可调,只能靠一次又一次的现场调试。当你看到社区老人被系统温柔提醒“请戴好口罩”,而不是被冰冷的红框惊吓时,你就知道,那些熬过的夜、改过的代码、调过的参数,都值了。

相关新闻

分组交换的本质:不是路由器堆砌,而是机制与权衡

分组交换的本质:不是路由器堆砌,而是机制与权衡

1. 为什么“网络核心”不是路由器堆出来的——从一个被反复误解的章节讲起刚带完一届某高校《计算机网络》实验课&#xff0c;有位A同学在课后追着我问&#xff1a;“老师&#xff0c;第一章1.3节说‘网络核心由分组交换构成’&#xff0c;可我查了三本教材、看了五个视频&…

2026/10/20 20:39:12 阅读更多 →
Android城市选择器开发实战:拼音索引、搜索与定位回填

Android城市选择器开发实战:拼音索引、搜索与定位回填

简介&#xff1a;这是一款面向Android开发者的城市选择器组件&#xff0c;仿照美团城市选择界面设计&#xff0c;帮助开发者快速在电商、旅游、社交或生活服务类应用中集成城市选择功能&#xff0c;适合从初学者到资深工程师的各类开发者使用。资源包共285个文件&#xff0c;包…

2026/10/20 20:39:12 阅读更多 →
边缘AI推理的五大工程边界与系统级优化

边缘AI推理的五大工程边界与系统级优化

1. 为什么“边缘AI推理”不是把模型往设备上一塞就完事&#xff1f;“边缘AI推理的工程边界与演进逻辑”——这个标题乍看像学术论文&#xff0c;但实际是我在过去三年里踩过二十多个项目坑之后&#xff0c;用三台烧坏的Jetson Nano、四块过热关机的树莓派CM4和一份被客户退回七…

2026/10/20 20:39:12 阅读更多 →

最新新闻

STM32智能台灯毕业设计:从硬件选型到PID调光完整实战

STM32智能台灯毕业设计:从硬件选型到PID调光完整实战

简介&#xff1a;本资源为嵌入式方向本科毕业设计「智能台灯」的完整开发套件&#xff0c;面向电子工程、自动化及物联网相关专业学生&#xff0c;解决智能硬件从原理设计到系统落地的全流程实践需求。压缩包含140个文件&#xff0c;总大小162.69MB&#xff0c;涵盖33张硬件调试…

2026/10/20 21:18:02 阅读更多 →
YOLO+SpringBoot:茶叶病害检测与智能诊断系统实战

YOLO+SpringBoot:茶叶病害检测与智能诊断系统实战

1. 项目核心思路&#xff1a;为什么做茶叶病害检测系统做了几年计算机视觉项目&#xff0c;接到过不少农业相关的需求&#xff0c;但茶叶病害检测这个方向算是最有意思的一个。为什么&#xff1f;因为它同时踩中了两个点&#xff1a;一是茶叶产业本身的智能化升级需求&#xff…

2026/10/20 21:18:02 阅读更多 →
什么是真正的技术熟手:问题映射、成本敏感与边界感

什么是真正的技术熟手:问题映射、成本敏感与边界感

这个领域我们熟——不是一句口号&#xff0c;而是十多年一线实操堆出来的肌肉记忆。我做过从零搭建千万级用户后台的架构设计&#xff0c;也蹲在城中村出租屋里帮个体商户调试扫码支付的终端固件&#xff1b;写过嵌入式裸机驱动让温控模块在-30℃稳定运行&#xff0c;也用低代码…

2026/10/20 21:18:02 阅读更多 →
LIS2DW12三轴加速度计驱动开发与实战:从寄存器配置到中断FIFO应用

LIS2DW12三轴加速度计驱动开发与实战:从寄存器配置到中断FIFO应用

简介&#xff1a;这份资源面向嵌入式与物联网方向的开发者&#xff0c;聚焦意法半导体LIS2DW12三轴加速度计的驱动开发与典型应用示例&#xff0c;帮助读者掌握通过IC或SPI与传感器通信、配置寄存器、解析加速度数据以及处理中断与低功耗唤醒等关键环节。压缩包共10个文件&…

2026/10/20 21:18:02 阅读更多 →
ESP32S3 Dev Module 开发实战:双核任务与屏幕驱动详解

ESP32S3 Dev Module 开发实战:双核任务与屏幕驱动详解

1. 为什么这块板子成了物联网项目的主力选择如果你最近两年逛过电子市场或者混过创客社区&#xff0c;大概率会发现一个现象&#xff1a;越来越多人在聊ESP32S3 Dev Module这块开发板。它不像某些经典入门板那样“只适合点个灯”&#xff0c;也不像高端开发板那样价格劝退。它卡…

2026/10/20 21:18:02 阅读更多 →
手写鼠标点击粒子特效:从原理到性能优化的完整实战

手写鼠标点击粒子特效:从原理到性能优化的完整实战

前阵子给某活动页面做氛围优化&#xff0c;需求方反复强调要有“互动感”。白底、黑字、产品图&#xff0c;排版再干净&#xff0c;鼠标移上去没有任何反馈&#xff0c;也确实容易让人产生“这是个静态PPT”的错觉。于是我想到了“鼠标粒子特效”——准确说&#xff0c;是一段H…

2026/10/20 21:16:52 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

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

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

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

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

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

2026/10/20 1:01:30 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 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/20 10:02:08 阅读更多 →
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/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练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/20 9:50:45 阅读更多 →