喝水检测数据集实战:995张VOC+YOLO双格式训练与避坑指南
简介这份喝水检测数据集面向计算机视觉学习者与目标检测开发者用于训练和验证「喝水行为」相关模型可应用于课堂行为分析、驾驶疲劳监测或健康习惯识别等场景。数据集同时提供Pascal VOC与YOLO两种标注格式包含jpg原图及一一对应的xml、txt标注文件省去格式转换环节可直接接入主流检测框架。压缩包共2000个文件以997个txt标注、995个xml标注和8个jpg图片为主整体约39.23MB体积轻便易于下载与本地部署。标注共3类分别为drink、face、phone对应框数1040、1016和17总框数2073均使用labelImg按矩形框规则完成标注准确合理。目前已有198人学习下载适合作为小规模训练集或迁移学习起点帮助读者快速搭建喝水检测实验、验证模型效果并积累数据预处理经验。1. 喝水检测数据集实测995 张 VOCYOLO 双格式到底能训出什么前阵子接了个小活客户要在办公区工位上判断员工有没有在喝水用来做久坐提醒的触发条件。听起来简单真上手才发现公开的喝水检测数据集少得可怜——要么是杯子检测要么是饮水机检测真正标注「人正在喝水」这个动作的没几个。翻了一圈找到这份 995 张、3 类别的 VOCYOLO 双格式包体量不大但胜在拿来就能训。它解决的就是「从零标注喝水动作」这个最耗时的环节适合做行为识别入门、工位健康监测原型、或者想快速验证 YOLO 训练流程的从业者。995 张不算多但作为冷启动数据集够你把 pipeline 跑通、把基线模型立起来后面再靠自己的场景数据做增量。2. 拆开压缩包先看什么VOC 与 YOLO 双格式的目录结构与类别定义拿到一个目标检测数据集我习惯先不急着写训练脚本而是把目录结构和标注文件翻一遍。这一步花十分钟能省掉后面几个小时的报错排查。这份包解压后是标准的双格式布局VOC 和 YOLO 各一套图片共用或各存一份具体取决于打包方式。下面按我实际拆包的顺序讲。2.1 目录树与文件对应关系解压后典型结构长这样不同打包习惯会有微调但核心目录名不会变drink_detection_dataset/ ├── JPEGImages/ # 所有原始图片jpg 格式 ├── Annotations/ # VOC 格式的 XML 标注文件 ├── ImageSets/ │ └── Main/ │ ├── train.txt # 训练集图片名列表不带扩展名 │ ├── val.txt # 验证集图片名列表 │ └── trainval.txt # 训练验证合集 ├── labels/ # YOLO 格式的 txt 标注文件 │ ├── train/ │ └── val/ ├── images/ # YOLO 训练用的图片目录 │ ├── train/ │ └── val/ └── data.yaml # YOLO 训练配置文件关键点在于VOC 的 XML 和 YOLO 的 txt 描述的是同一批图片的同一批框只是坐标系不同。VOC 用左上角右下角的绝对像素坐标YOLO 用归一化后的中心点宽高。如果你只打算用 YOLO 训练那labels/和images/两个目录就够了Annotations/可以留着做备份或转其他格式用。提示先确认images/train和labels/train里的文件名是否一一对应除了扩展名。我遇到过打包时漏拷几张图的情况训练时直接报「找不到标签文件」查半天才发现是文件缺失。2.2 三个类别到底标了什么3 类别是这份数据集的核心信息。根据喝水检测这个场景类别划分通常是围绕「人-杯-动作」三个维度来的。常见做法是类别 ID类别名标注内容0person人体整体框1cup杯子或水瓶2drinking人正在喝水的动作区域这里要特别注意drinking这个类别的标注粒度直接决定模型能学到什么。如果标的是「人手举杯到嘴边」这个局部区域那模型学的是动作特征如果标的是整个人体框加上一个 drinking 标签那本质上还是分类逻辑套在检测框架里。打开几个 XML 看看object里的bndbox坐标范围就能判断标注策略。import xml.etree.ElementTree as ET import os from collections import Counter anno_dir drink_detection_dataset/Annotations class_counter Counter() box_sizes [] for xml_file in os.listdir(anno_dir)[:50]: # 先抽 50 个看看分布 tree ET.parse(os.path.join(anno_dir, xml_file)) root tree.getroot() for obj in root.findall(object): name obj.find(name).text class_counter[name] 1 bbox obj.find(bndbox) w int(bbox.find(xmax).text) - int(bbox.find(xmin).text) h int(bbox.find(ymax).text) - int(bbox.find(ymin).text) box_sizes.append((name, w, h)) print(类别分布:, class_counter) # 按类别看框的平均尺寸判断标注粒度 for cls in class_counter: sizes [(w, h) for n, w, h in box_sizes if n cls] avg_w sum(s[0] for s in sizes) / len(sizes) avg_h sum(s[1] for s in sizes) / len(sizes) print(f{cls}: 平均框尺寸 {avg_w:.0f}x{avg_h:.0f})这段脚本的作用是快速摸清标注分布。class_counter告诉你三个类别是否均衡——如果drinking只有几十个框那训练时这一类基本学不动得靠数据增强或调整 loss 权重来补。box_sizes则帮你判断标注粒度drinking的平均框如果明显小于person说明标的是局部动作区域如果两者尺寸接近那可能是整人框加标签。2.3 995 张的分布够不够用995 张图、3 类别平均下来每类三百来个框假设标注均衡这个量级做迁移学习是够的但从零训练肯定不够。我的经验是用 YOLOv8n 或 YOLOv8s 这种轻量模型冻结 backbone 先训 50 轮再解冻微调 100 轮mAP 能到 0.7 以上就算正常。如果drinking类样本偏少可以考虑用 copy-paste 增强把这一类的实例数翻倍。另外要注意图片的多样性。翻一遍JPEGImages看看是不是同一个场景、同一个人的连续帧。如果是视频抽帧来的那相邻帧高度相似随机划分 train/val 会导致验证集泄漏——验证集里的图和训练集里的图几乎一样mAP 虚高。这种情况得按时间或按人划分不能随机分。3. 从 VOC 到 YOLO 训练格式转换、data.yaml 配置与训练命令格式转换这一步很多人觉得网上脚本一搜就有复制粘贴就完事。但实际翻车最多的就是这里——坐标系搞反、类别 ID 对不上、图片路径写错训练时 loss 不降或者直接报错。下面把转换逻辑和训练配置拆开讲。3.1 VOC XML 转 YOLO txt 的坐标计算VOC 的bndbox给的是xmin, ymin, xmax, ymax单位是像素。YOLO 需要的是归一化后的class_id center_x center_y width height全部在 0 到 1 之间。转换公式center_x (xmin xmax) / 2 / img_width center_y (ymin ymax) / 2 / img_height width (xmax - xmin) / img_width height (ymax - ymin) / img_heightimport xml.etree.ElementTree as ET from PIL import Image import os def voc_to_yolo(xml_path, img_dir, out_dir, class_map): xml_path: VOC 标注文件路径 img_dir: 图片所在目录 out_dir: YOLO 标签输出目录 class_map: 类别名到 ID 的映射如 {person:0, cup:1, drinking:2} tree ET.parse(xml_path) root tree.getroot() filename root.find(filename).text img_path os.path.join(img_dir, filename) img Image.open(img_path) img_w, img_h img.size lines [] for obj in root.findall(object): cls_name obj.find(name).text if cls_name not in class_map: continue cls_id class_map[cls_name] bbox obj.find(bndbox) xmin float(bbox.find(xmin).text) ymin float(bbox.find(ymin).text) xmax float(bbox.find(xmax).text) ymax float(bbox.find(ymax).text) # 边界裁剪防止标注超出图片范围 xmin max(0, xmin) ymin max(0, ymin) xmax min(img_w, xmax) ymax min(img_h, ymax) cx (xmin xmax) / 2 / img_w cy (ymin ymax) / 2 / img_h w (xmax - xmin) / img_w h (ymax - ymin) / img_h lines.append(f{cls_id} {cx:.6f} {cy:.6f} {w:.6f} {h:.6f}) out_name os.path.splitext(filename)[0] .txt with open(os.path.join(out_dir, out_name), w) as f: f.write(\n.join(lines)) # 批量转换 class_map {person: 0, cup: 1, drinking: 2} for xml_file in os.listdir(Annotations): voc_to_yolo( os.path.join(Annotations, xml_file), JPEGImages, labels_all, class_map )几个容易出错的参数点class_map必须和data.yaml里的names顺序完全一致否则模型学出来的类别是乱的。边界裁剪那几行别省——有些标注框会超出图片边界不裁剪的话归一化后坐标可能小于 0 或大于 1YOLO 训练时虽然不报错但会引入噪声。{:.6f}保留六位小数是 YOLO 官方脚本的习惯精度够用。3.2 data.yaml 的路径与类别配置YOLO 训练靠data.yaml找数据。这份数据集如果自带data.yaml先打开核对路径和类别名如果没有自己写一个path: /home/user/drink_detection_dataset # 数据集根目录绝对路径 train: images/train # 相对 path 的训练图片目录 val: images/val # 相对 path 的验证图片目录 nc: 3 # 类别数 names: # 类别名顺序必须和 class_map 一致 0: person 1: cup 2: drinkingpath用绝对路径最稳相对路径在不同工作目录下跑容易找不到文件。train和val写相对于path的路径YOLO 会自动去对应目录找图片然后去同级的labels目录找同名 txt。这里有个隐含约定images/train对应的标签目录必须是labels/trainYOLO 会把路径里的images替换成labels。如果你把标签放在别的地方得用train_labels参数单独指定。注意names的键从 0 开始和转换脚本里的class_map值一一对应。我见过有人class_map里person给 0data.yaml里names第一行写cup训出来的模型把人都认成杯子。3.3 训练命令与关键超参环境装好 ultralytics 之后一条命令启动训练yolo detect train \ data/home/user/drink_detection_dataset/data.yaml \ modelyolov8n.pt \ epochs150 \ imgsz640 \ batch16 \ lr00.01 \ lrf0.01 \ patience30 \ projectruns/drink \ nameexp1逐个说参数modelyolov8n.pt用预训练权重做迁移学习995 张图从零训基本没戏。imgsz640是 YOLO 的默认输入尺寸如果你的图片分辨率远大于 640可以调到 1280但显存占用会翻倍。batch16在 8G 显存上跑 640 尺寸刚好显存不够就降到 8。lr00.01是初始学习率迁移学习场景下这个值偏大可以降到 0.001 更稳。patience30表示 30 轮 mAP 不提升就早停防止过拟合。训练过程中重点看mAP50和mAP50-95两个指标。mAP50到 0.8 以上、mAP50-95到 0.5 以上说明模型基本可用。如果drinking类的 AP 明显低于其他两类回去检查这一类的样本量考虑用copy_paste0.3增强。4. 避坑与排查995 张数据集训练时最容易翻车的五个地方这一章是我自己踩过的坑也是帮别人排查时遇到最多的。每条按「现象 → 原因 → 解决」写你训练时对着查。4.1 训练 loss 不降mAP 一直是 0现象启动训练后box_loss和cls_loss在几个 epoch 内几乎不变验证集 mAP 始终为 0。原因最常见的是标签路径不对。YOLO 找不到标签文件时不会报错而是把所有图片当成「无目标」来训loss 自然不降。其次是data.yaml里nc和实际类别数不一致或者names顺序和标签里的 class_id 对不上。解决先跑一遍yolo detect train加--verbose看日志里有没有WARNING: No labels found。然后手动检查labels/train目录下 txt 文件数量是否和images/train里的图片数量一致。最后用yolo detect val加载训练好的模型看混淆矩阵如果所有预测都集中在一个类基本就是类别映射错了。4.2 验证集 mAP 虚高实际推理一塌糊涂现象训练日志里mAP50到 0.95 以上但拿新图片推理时框位置偏移严重或者漏检。原因验证集和训练集来自同一段视频的相邻帧图片高度相似模型相当于在「背答案」。995 张如果是视频抽帧来的这个问题几乎必然出现。解决按时间或按场景重新划分 train/val。如果图片文件名里有时间戳或序号按序号分段前 80% 做训练后 20% 做验证。如果已经随机分好了至少把验证集里的图片和训练集做一次相似度比对剔除高度相似的。4.3 drinking 类漏检严重现象person和cup检测正常但drinking类几乎检不出来AP 低于 0.2。原因drinking类的样本量太少或者标注框太小。995 张里如果drinking只有一两百个框模型学到的特征不够。另外如果drinking标的是手部举杯的局部区域这个区域在整图中占比很小YOLO 的 640 输入尺寸下可能只剩几十个像素特征提取困难。解决先统计drinking类的实例数如果少于 300用copy_paste增强把这一类的实例贴到其他图片上。如果标注框确实太小考虑把输入尺寸调到 1280或者改用 YOLOv8m 这种更大的模型。另一个思路是把drinking和cup合并成一个类先保证检出率再在业务层做逻辑判断。4.4 训练到一半显存溢出现象前几个 epoch 正常跑到中途报CUDA out of memory。原因YOLO 训练时如果开了mosaic增强每个 batch 的图片尺寸会动态变化某些 batch 拼接后的尺寸偏大显存占用飙升。另外如果cacheTrue把图片缓存到内存图片多的时候也会挤占显存。解决把batch降到 8 或 4或者设置close_mosaic10在最后 10 个 epoch 关闭 mosaic。如果用了cacheTrue改成cacheFalse或cacheram限制缓存量。显存实在紧张就用imgsz416先跑通流程。4.5 推理时框重叠严重NMS 压不住现象同一杯子上出了好几个框或者一个人身上既有person又有drinking框叠在一起。原因drinking和person在空间上高度重叠NMS 的 IoU 阈值默认 0.7如果两个框的 IoU 超过这个值得分低的会被压掉。但如果两个类别的框重叠YOLO 默认是跨类别做 NMS 的可能导致drinking框被person框压掉。解决推理时设置agnostic_nmsFalse让 NMS 按类别独立做。如果还是重叠严重调低iou阈值到 0.5让 NMS 更激进地压框。业务层也可以加逻辑如果drinking框和person框的 IoU 超过 0.5只保留drinking。5. 进阶用法用这份数据集做增量训练与推理验证995 张跑通之后真正的活才刚开始——你得把它用到自己的场景里。这一章讲两个方向一是怎么用自己的数据做增量训练二是怎么验证模型在真实场景下的表现。5.1 增量训练冻结 backbone 再解冻如果你手头有自己场景的喝水图片哪怕只有一两百张也可以在这份数据集训好的模型基础上做增量。做法是分两阶段第一阶段冻结 backbone只训检测头学习率设小一点第二阶段解冻全部用更小的学习率微调。# 第一阶段冻结 backbone只训 head yolo detect train \ datamy_data.yaml \ modelruns/drink/exp1/weights/best.pt \ epochs50 \ freeze10 \ lr00.001 \ projectruns/finetune \ namestage1 # 第二阶段解冻全部小学习率微调 yolo detect train \ datamy_data.yaml \ modelruns/finetune/stage1/weights/best.pt \ epochs100 \ lr00.0001 \ projectruns/finetune \ namestage2freeze10表示冻结前 10 层YOLOv8n 的 backbone 大概就是前 10 层。第一阶段学习率用 0.001第二阶段降到 0.0001避免把预训练学到的特征冲掉。自己的数据如果和原数据集场景差异大比如原数据集是办公室你的是车载第一阶段可以多训几轮让 head 先适应新场景。5.2 推理验证别只看 mAP看实际业务指标mAP 是学术指标业务上更关心的是「该报的有没有报不该报的有没有误报」。写个推理脚本在验证集上跑一遍统计每个类别的检出率和误报率from ultralytics import YOLO import os model YOLO(runs/drink/exp1/weights/best.pt) val_dir drink_detection_dataset/images/val results model.predict( sourceval_dir, conf0.25, # 置信度阈值业务上可以调 iou0.5, # NMS 的 IoU 阈值 saveTrue, save_txtTrue # 保存预测结果方便和 GT 对比 ) # 统计每个类别的检出数量 from collections import Counter det_counter Counter() for r in results: for cls_id in r.boxes.cls: det_counter[int(cls_id)] 1 print(预测类别分布:, det_counter) # 和验证集 GT 的类别分布对比看哪类漏检多conf0.25是默认值业务上如果漏检代价高可以降到 0.1如果误报代价高提到 0.5。save_txtTrue会把预测结果存成 YOLO 格式的 txt你可以写个脚本和 GT 做逐图对比算出每个类别的 precision 和 recall。这一步比看 mAP 更有意义——mAP 是全局平均业务上可能只关心drinking这一类的 recall。5.3 一个具体技巧用 TTA 提升小目标检出drinking类的框如果偏小推理时开 TTATest Time Augmentation能提一两个点。YOLO 支持augmentTrueresults model.predict( sourceval_dir, conf0.25, augmentTrue, # 开启 TTA对图片做翻转、缩放后分别推理再融合 saveTrue )TTA 的代价是推理速度慢三倍左右如果做实时检测比如 25 帧的视频流这个开销得算进去。我的习惯是离线验证时开 TTA 看上限实际部署时关掉用模型本身的能力扛。从那以后我每次拿到新数据集都强制先跑一遍类别分布统计和标注可视化确认没有漏标、错标、类别不均衡再动手训。这份 995 张的喝水检测数据集体量不大但结构完整VOC 和 YOLO 双格式省了转换的功夫3 类别的划分也贴合实际业务。拿它做冷启动再叠自己的场景数据做增量是条能走通的路。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

松鼠目标检测数据集:528张实拍图+YOLO/VOC双格式标签

松鼠目标检测数据集:528张实拍图+YOLO/VOC双格式标签

简介:本资源是面向计算机视觉初学者与YOLO系列算法实践者的松鼠目标检测专用数据集,适用于YOLOv5/v7/v8/v9/v10/v11等主流版本的模型训练、验证与测试,可直接用于课程实验、课程设计或小型科研项目中的动物目标识别任务。压缩包共1585个文件&…

2026/10/11 23:18:18 阅读更多 →
YOLOv8安全帽与工作服双目标检测实战指南

YOLOv8安全帽与工作服双目标检测实战指南

简介:本资源是基于YOLOv8目标检测框架实现的安全帽与工作服双类别识别项目,面向计算机、电子信息、人工智能等专业学生及初学者,适用于课程设计、期末大作业与毕业设计参考。项目提供完整可运行的Python源码及配套模型权重,涵盖图…

2026/10/11 23:18:16 阅读更多 →
Zabbix 7.0 LTS 部署与 MySQL 分区实战:从零搭建到自动维护

Zabbix 7.0 LTS 部署与 MySQL 分区实战:从零搭建到自动维护

简介:本资源为Zabbix 7.0 LTS部署及数据库分区优化的操作记录文档,面向运维工程师、监控系统管理员及需要处理Zabbix数据库性能瓶颈的技术人员。针对Zabbix历史记录与趋势表数据量膨胀、housekeeper进程繁忙告警频发的问题,文档系统梳理了MyS…

2026/10/11 23:18:15 阅读更多 →

最新新闻

绝缘子缺陷检测数据集清洗与工业级训练实战指南

绝缘子缺陷检测数据集清洗与工业级训练实战指南

简介:本资源是面向电力AI研发人员、工业视觉工程师及智能巡检系统开发者的绝缘子缺陷检测专用YOLO格式数据集,解决无人机航拍场景下绝缘子破损、污闪、积雪等9类典型缺陷的精准识别与定位难题。数据集共2139张真实巡检图像(含训练/验证/测试集…

2026/10/12 0:05:01 阅读更多 →
牙科影像龋齿四级像素级分割数据集与临床落地实践

牙科影像龋齿四级像素级分割数据集与临床落地实践

简介:本资源是一套面向医学影像AI研究者与口腔临床算法开发者的专业蛀牙分割数据集,专为U-Net、DeepLab等分割模型训练设计,解决真实场景下多类别蛀牙区域精细识别与程度量化评估难题。数据集含400张高精度口腔内窥镜及X光影像(对…

2026/10/12 0:05:01 阅读更多 →
条形码目标检测数据集实战:从YOLOv8训练到部署

条形码目标检测数据集实战:从YOLOv8训练到部署

简介:这是一份面向目标检测与计算机视觉学习者的条形码识别数据集,涵盖零售、物流、制造等场景下的真实商品条码图像,适合用于训练YOLO系列模型或开展算法实验。数据集共684张图片,按训练集624张、验证集60张划分,采用…

2026/10/12 0:04:01 阅读更多 →
MongoDB复制集扩缩容实战:从rs.add到选主事故复盘

MongoDB复制集扩缩容实战:从rs.add到选主事故复盘

月初帮业务团队扩容一套 MongoDB 复制集,需求描述只有一句话:“加一台新机器进复制集,扛一下读流量。”我反问了一句:“你打算怎么加?”对方很自信:“rs.add() 啊,一行命令的事。”我当场就把计…

2026/10/12 0:04:01 阅读更多 →
Debian新手入门:从部署到日常操作的完整指南

Debian新手入门:从部署到日常操作的完整指南

第一次装完Debian,盯着黑乎乎的终端窗口迷茫好一会儿,这是我至今印象很深的场景。系统能开机、能登录,但下一步该敲什么命令完全没头绪。后来用久了才想明白一件事:Linux的入门难点从来不是"怎么把系统装上"&#xff0c…

2026/10/12 0:04:01 阅读更多 →
多模态大模型入门:从原理到实战,一文搞懂图文音视频一体模型

多模态大模型入门:从原理到实战,一文搞懂图文音视频一体模型

一、什么是多模态大模型? 💡 核心定义:多模态大模型是能够同时处理、理解和生成文本、图像、音频、视频等多种模态信息的人工智能模型。它打破了传统单模态模型(如仅处理文本的GPT-3或仅处理图像的ResNet)的限制&#…

2026/10/12 0:04:00 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →