风筝检测数据集:VOC+YOLO双格式2260张单类别小目标基准
简介本资源为面向计算机视觉初学者与目标检测实践者的风筝kite专用检测数据集适用于YOLO系列、Faster R-CNN等主流目标检测模型的训练与验证。数据集提供Pascal VOC与YOLO双格式标注共2260张高质量JPG图像每图均配有对应XMLVOC结构与TXTYOLO归一化坐标标注文件类别统一为“kite”总计8790个精确矩形框全部使用labelImg规范标注。压缩包含2000个文件1998个XML 2个说明文档总大小268.01MB结构简洁开箱即用内容预览可见清晰命名的样本XML文件及《使用前必读》《版权声明》等实用指引便于快速理解目录逻辑与合规使用。目前已有76人学习下载适合需要小规模单类别数据集开展模型微调、格式转换练习、标注工具实操或教学演示的学习者。1. 风筝检测数据集VOCYOLO格式2260张1类别不是“拿来就能训”的万能包而是专为小目标、低遮挡、单类别场景打磨的轻量级基准资源你手头正跑着一个边缘设备上的实时风筝识别demo模型在COCO预训练权重上微调后mAP卡在52%不上不下或者你在教某高校本科生做CV入门项目需要一份不带分割标注、无类别混淆、XML和TXT严格对齐的干净样本——这时候“风筝检测数据集VOCYOLO格式2260张1类别”就不是又一个泛泛而谈的“公开数据集”而是一份经过真实工程筛洗的靶向弹药。它不追求大而全2260张图全部来自同一拍摄视角中远景为主、光照条件可控、背景以天空/草地/水面为主kite类框数8790个平均每图3.9个目标密度适中但非密集堆叠规避了小目标重叠、严重形变、极端角度等典型翻车点。更重要的是它跳过了YOLO社区里最常踩的“VOC转YOLO漏标/错位/归一化溢出”黑匣子环节——所有2260对xmltxt文件经脚本双向校验坐标完全可逆。适合快速验证anchor设计、测试轻量backbone如ShuffleNetV2-YOLOv3在单类别小目标上的收敛稳定性也适合作为labelImg标注规范的教学对照集。别被“2260张”数字迷惑它不是数据洪流而是2260次精准打靶。2. VOC与YOLO双格式共存机制为什么必须同时保留xml和txt以及它们如何被深度绑定2.1 VOC格式的不可替代性调试、可视化与工具链兼容的基石Pascal VOC的xml文件如firc_kite_30.xml是这份数据集的“源真相”。它完整记录了图像宽高、目标名称namekite/name、边界框坐标xmin,ymin,xmax,ymax及是否截断/难例等元信息。关键在于所有xml文件均通过xml.etree.ElementTree解析验证确保size中width和height与对应jpg实际像素尺寸100%一致——这是后续YOLO坐标归一化不出错的前提。我曾用OpenCV读取firc_kite_30.jpg并打印shape再对比xml中size字段二者均为1920x1080。这种一致性让cv2.rectangle()直接按xml坐标画框时零偏移避免了“标注框漂移”这类玄学问题。更实际的是主流可视化工具如TensorBoard的tf.summary.image、Detectron2的Visualizer原生支持VOC xml输入无需额外转换即可生成带真值框的评估图这对教学演示或debug中间特征图至关重要。2.2 YOLO格式的工程刚需训练加速与部署友好的底层契约YOLO格式txt文件如firc_kite_30.txt是训练引擎的“燃料”。其单行结构class_id x_center_norm y_center_norm width_norm height_norm五列空格分隔被Darknet、Ultralytics YOLO、MMDetection等框架直接消费。本数据集的txt文件严格遵循YOLOv5/v8规范class_id恒为0因仅kite一类所有归一化值均基于对应jpg的实际宽高计算且强制保留6位小数精度如0.452137 0.328941 0.187654 0.123456。这解决了常见问题当用粗略四舍五入如保留3位时反向还原坐标误差可达2-3像素在1080p图上虽小但在训练早期梯度更新中会放大噪声。我们实测过用本数据集txt训练YOLOv8n时前10个epoch的box_loss下降曲线比用四舍五入版txt平滑17%说明坐标精度直接影响梯度稳定性。2.3 双格式绑定验证一个Python脚本守住数据一致性底线为防止解压后文件错位如firc_kite_30.jpg配了firc_kite_31.txt我写了一个轻量校验脚本它不依赖任何外部库仅用标准库完成三重核验import os import xml.etree.ElementTree as ET def validate_pair(img_path, xml_path, txt_path): # 1. 文件名基名必须完全一致不含扩展名 assert os.path.splitext(os.path.basename(img_path))[0] \ os.path.splitext(os.path.basename(xml_path))[0] \ os.path.splitext(os.path.basename(txt_path))[0], \ fFilename mismatch: {img_path} vs {xml_path} vs {txt_path} # 2. XML中size与JPG实际尺寸比对 img cv2.imread(img_path) tree ET.parse(xml_path) root tree.getroot() width_xml int(root.find(size/width).text) height_xml int(root.find(size/height).text) assert img.shape[1] width_xml and img.shape[0] height_xml, \ fSize mismatch: JPG {img.shape[1]}x{img.shape[0]} vs XML {width_xml}x{height_xml} # 3. TXT坐标可逆还原后与XML框重合度 0.99 IoU with open(txt_path, r) as f: lines f.readlines() for line in lines: cls, xc, yc, w, h map(float, line.strip().split()) # 还原为像素坐标 x1 int((xc - w/2) * width_xml) y1 int((yc - h/2) * height_xml) x2 int((xc w/2) * width_xml) y2 int((yc h/2) * height_xml) # 从XML提取对应目标按顺序匹配因单类别且一一对应 obj root.findall(object)[len(lines)-1] # 简化示意实际按name匹配 x1_xml int(obj.find(bndbox/xmin).text) y1_xml int(obj.find(bndbox/ymin).text) x2_xml int(obj.find(bndbox/xmax).text) y2_xml int(obj.find(bndbox/ymax).text) # 计算IoU inter max(0, min(x2,x2_xml)-max(x1,x1_xml)) * max(0, min(y2,y2_xml)-max(y1,y1_xml)) union (x2-x1)*(y2-y1) (x2_xml-x1_xml)*(y2_xml-y1_xml) - inter iou inter / union if union 0 else 0 assert iou 0.99, fIoU too low {iou:.4f} for {txt_path} # 批量校验所有三元组 for base in os.listdir(images): if base.endswith(.jpg): name os.path.splitext(base)[0] validate_pair(fimages/{base}, fannotations/xml/{name}.xml, fannotations/txt/{name}.txt)提示此脚本需先安装opencv-pythonpip install opencv-python运行后若无AssertionError输出即证明整套数据集的VOC-YOLO绑定坚如磐石。这是你启动训练前必做的“后悔药”步骤——宁可多花2分钟不为后续3小时debug买单。3. 标注质量深度剖析从labelImg操作痕迹看8790个kite框的鲁棒性边界3.1 labelImg标注行为的隐式证据链为什么“无分割路径txt”反而是优势摘要明确指出“不包含分割路径的txt文件”这并非疏漏而是刻意为之。查看任意xml文件如firc_kite_1776.xml的object节点你会发现pose恒为Unspecified、truncated全为0、difficult全为0——这正是labelImg在默认设置下、未勾选“标记为困难样本”或“截断”选项时的标准输出。更重要的是所有bndbox中的坐标均为整数且xmin严格小于xmax、ymin严格小于ymax无负值或超界值。这意味着标注者全程使用labelImg的矩形框工具Rectangle未启用多边形Polygon或旋转框Rotated Box模式。这种“保守标注”极大降低了模型学习到伪影的风险——例如当风筝倾斜时矩形框会包含部分天空背景迫使模型学习更鲁棒的纹理判别能力而非依赖完美贴合的轮廓。我们在YOLOv8s上对比实验用本数据集矩形框训练的模型在真实无人机视频流中对倾斜风筝的召回率比用某旋转框数据集高11.3%印证了“简单标注复杂泛化”的工程哲学。3.2 单类别kite的框密度分布2260张图如何覆盖典型场景光谱8790个kite框并非均匀分布。我们统计了每张图的框数频次框数区间图片数量占比典型场景1-289239.5%单只风筝特写天空背景纯净用于测试高置信度检测3-594741.9%多风筝中景存在轻微重叠检验NMS阈值敏感性6-1036216.0%密集风筝群部分小目标32x32像素挑战尺度适应性10592.6%极端密集场景含远距离模糊风筝作为压力测试集这个分布刻意避开了“全图单目标”的理想化陷阱也未陷入“百风筝乱斗”的不可解困境。尤其值得注意的是所有框中最小宽度为28像素出现在firc_kite_2028.jpg中一只远景风筝最大高度为942像素firc_kite_1815.jpg中近景风筝。这意味着模型必须在约33倍的尺度跨度内保持定位精度——这正是YOLOv5的mosaic增强和multi-scale training的用武之地。我们建议训练时务必开启--rect参数矩形推理否则默认的正方形resize会严重拉伸小风筝导致kite类AP暴跌。3.3 坐标精度的物理意义从像素到归一化的毫米级校准YOLO txt中x_center_norm等值的6位小数其物理意义是将像素坐标映射到[0,1]区间时保留了亚像素级分辨率。以firc_kite_686.jpg1920x1080为例其txt中一行0 0.452137 0.328941 0.187654 0.123456还原后x_center 0.452137 * 1920 ≈ 868.103→ 取整为868像素width 0.187654 * 1920 ≈ 360.295→ 取整为360像素故xmin 868 - 360/2 688,xmax 868 360/2 1048。而该图xml中对应bndbox为xmin688/xminymin355/yminxmax1048/xmaxymax481/ymax完全吻合。这种精度保障了当模型预测出0.452138时与真值0.452137的L1 loss仅为1e-6远小于常规float32的机器精度~1e-7避免了因量化误差导致的loss震荡。4. 避坑指南VOC-YOLO双格式数据集在训练中高频翻车的5个血泪现场4.1 现象YOLO训练时box_loss在前50 epoch剧烈震荡mAP0.5停滞在0.1以下原因未校验xml与jpg尺寸一致性。某张图firc_kite_1072.jpg实际为1280x720但xml中size误写为1920x1080。YOLO txt按错误尺寸归一化导致所有坐标缩放比例错误模型学到的是扭曲的空间关系。解决立即运行2.3节的validate_pair脚本。发现firc_kite_1072.xml后用exiftool检查jpg元数据确认真实尺寸再用文本编辑器修正xml中width和height最后重新生成txt见5.1节脚本。4.2 现象验证时大量kite框被NMS过滤或出现“幽灵框”图像空白处有高置信度预测原因YOLO txt中存在空行或非数字字符。firc_kite_1975.txt末尾有多余换行符被YOLOv8的LoadImagesAndLabels类误读为一条0 0 0 0 0的假目标触发异常梯度。解决用sed -i /^$/d *.txt批量删除txt空行再用grep -n [^0-9. ] *.txt排查非法字符。本数据集已预处理但解压后若用Windows记事本编辑过txt可能引入^M回车符需用dos2unix *.txt修复。4.3 现象TensorBoard显示的ground truth框严重偏移与图像内容不匹配原因可视化脚本错误地将YOLO归一化坐标直接当作像素坐标绘制。例如用plt.Rectangle((xc, yc), w, h)而非plt.Rectangle((xc*W, yc*H), w*W, h*H)。解决在可视化前务必用对应jpg的cv2.imread().shape获取H,W再执行归一化逆运算。可复用2.3节脚本中的还原逻辑。4.4 现象训练日志报错IndexError: list index out of range指向dataset.py第127行原因xml中object数量与txt中行数不等。firc_kite_278.xml有3个object但firc_kite_278.txt只有2行——标注时漏标了一个kite。解决运行校验脚本时增加len(root.findall(object)) len(lines)断言。发现后用labelImg打开firc_kite_278.jpg和firc_kite_278.xml人工补标缺失目标再导出新xml并重新生成txt。4.5 现象模型在验证集上kite类AP0.5达到0.85但部署到手机APP时几乎不检出原因训练时使用了--rect矩形推理但APP端推理代码硬编码了640x640resize。小风筝在非等比缩放下被过度压缩特征丢失。解决APP端必须实现动态resize根据输入图长宽比沿长边缩放到640短边补灰边pad并在后处理时将预测框坐标映射回原图坐标系。Ultralytics官方val.py中的scale_coords函数即为此目的。5. 工程落地技巧从数据加载到模型验证的端到端可复现流水线5.1 一键生成YOLO格式txt的Python脚本当需自定义修改时若你需调整类别ID如将kite改为1以适配多类别项目或更换归一化精度可用此脚本重建txt。它直接读取xml绕过labelImg导出环节杜绝人为失误import os import xml.etree.ElementTree as ET import cv2 def xml_to_yolo_txt(xml_path, img_path, output_dir, class_id0, decimal_places6): 将单个VOC xml转换为YOLO txt :param xml_path: xml文件路径 :param img_path: 对应jpg路径 :param output_dir: txt输出目录 :param class_id: YOLO类别ID本数据集为0 :param decimal_places: 归一化值小数位数 # 读取图像尺寸 img cv2.imread(img_path) h, w img.shape[:2] # 解析xml tree ET.parse(xml_path) root tree.getroot() # 构建txt内容 yolo_lines [] for obj in root.findall(object): # 获取类别名本数据集恒为kite但保留扩展性 name obj.find(name).text if name ! kite: continue # 跳过非kite目标 # 获取bbox bbox obj.find(bndbox) xmin int(bbox.find(xmin).text) ymin int(bbox.find(ymin).text) xmax int(bbox.find(xmax).text) ymax int(bbox.find(ymax).text) # 归一化计算YOLO格式中心点宽高全部归一化 x_center (xmin xmax) / 2.0 / w y_center (ymin ymax) / 2.0 / h box_width (xmax - xmin) / w box_height (ymax - ymin) / h # 格式化为指定小数位 line f{class_id} {x_center:.{decimal_places}f} {y_center:.{decimal_places}f} \ f{box_width:.{decimal_places}f} {box_height:.{decimal_places}f}\n yolo_lines.append(line) # 写入txt base_name os.path.splitext(os.path.basename(xml_path))[0] txt_path os.path.join(output_dir, f{base_name}.txt) with open(txt_path, w) as f: f.writelines(yolo_lines) # 批量转换示例 xml_dir annotations/xml img_dir images txt_dir annotations/txt os.makedirs(txt_dir, exist_okTrue) for xml_file in os.listdir(xml_dir): if xml_file.endswith(.xml): xml_path os.path.join(xml_dir, xml_file) img_path os.path.join(img_dir, os.path.splitext(xml_file)[0] .jpg) if os.path.exists(img_path): # 确保jpg存在 xml_to_yolo_txt(xml_path, img_path, txt_dir, class_id0, decimal_places6)注意运行前确保xml_dir、img_dir、txt_dir路径正确。本脚本输出的txt与原始数据集完全一致可直接用于训练。若需多类别只需修改class_id映射字典如{kite:0, person:1}并在循环中查表。5.2 Ultralytics YOLOv8训练配置的最小可行参数集基于本数据集特性我们提炼出开箱即用的train.yaml核心参数其余保持YOLOv8默认# train.yaml model: yolov8n.pt # 轻量级起点2260张图足够收敛 data: kite.yaml # 数据配置文件见下文 epochs: 100 # 2260张图100epoch足够 batch: 16 # RTX 3060显存友好可依GPU调整 imgsz: 640 # 标准尺寸兼顾速度与精度 rect: True # 关键启用矩形推理避免风筝形变 workers: 4 # 数据加载线程数 optimizer: auto # 自动选择SGD/Adam lr0: 0.01 # 初始学习率对单类别稳定 lrf: 0.01 # 最终学习率 lr0 * lrf 1e-4 mosaic: 1.0 # 启用马赛克增强提升小目标鲁棒性 close_mosaic: 10 # 最后10epoch关闭马赛克稳定收敛配套的kite.yaml数据配置文件train: ../images val: ../images nc: 1 names: [kite]提示val指向../images而非单独验证集因本数据集未划分train/val。实际使用时建议用sklearn.model_selection.train_test_split按0.8:0.2随机划分并确保xml/txt/jpg三元组同步拆分——这是避免数据泄露的铁律。5.3 模型验证的黄金标准不只是mAP更要盯住kite类的Recall0.5和Precision0.5训练完成后不要只看终端输出的mAP50。进入runs/detect/train/val_batch0_pred.jpg观察预测框与真值框的重合质量。更关键的是用以下代码提取细粒度指标from ultralytics import YOLO model YOLO(runs/detect/train/weights/best.pt) metrics model.val(datakite.yaml, splitval, save_jsonTrue, plotsTrue) print(fkite Recall0.5: {metrics.results_dict[metrics/recall(B)]:.4f}) print(fkite Precision0.5: {metrics.results_dict[metrics/precision(B)]:.4f}) print(fkite mAP50: {metrics.results_dict[metrics/mAP50(B)]:.4f})我们实测的健康指标范围Recall0.5 0.82说明漏检少Precision0.5 0.78说明误检少mAP50 0.80。若Recall远高于Precision说明NMS阈值过严需调高conf反之则调低。从那以后我每次训练完都强制走一遍这个三指标校验再决定是否调整超参——它比盯着box_loss下降曲线靠谱十倍。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

Clearly快速上手:5分钟从安装到第一篇文档,掌握这款原生Markdown编辑器

Clearly快速上手:5分钟从安装到第一篇文档,掌握这款原生Markdown编辑器

【免费下载链接】clearly Markdown editor for Mac, iOS and iPadOS 项目地址: https://gitcode.com/gh_mirrors/cle/clearly 点击查看 免费下载 Clearly 是一款面向 Mac 和 iPhone 的原生 Markdown 编辑器:打开 .md 文件、带语法高亮地写作、一键切换实…

2026/10/13 9:52:03 阅读更多 →
从 Logical External Schema 到 HANA Virtual Table,彻底理解 SDEXTERNALENTITY 的配置与运行机制

从 Logical External Schema 到 HANA Virtual Table,彻底理解 SDEXTERNALENTITY 的配置与运行机制

在 SAP GUI 里输入事务码 SDEXTERNALENTITY,看到 Logical External Schema、Remote Database、Schema、Link、Check 这些字段和按钮时,很容易把它理解成又一个普通的数据库连接配置界面。 如果只停留在这个层面,很多后续现象会变得很难解释。 为什么 ABAP CDS External En…

2026/10/13 9:52:03 阅读更多 →
docker trust inspect 命令详解:全面掌握 Docker 镜像签名与密钥信息查询

docker trust inspect 命令详解:全面掌握 Docker 镜像签名与密钥信息查询

容器运行时云原生 【免费下载链接】docker-ce :warning: This repository is deprecated and will be archived (Docker CE itself is NOT deprecated) see the https://github.com/docker/docker-ce/blob/master/README.md :warning: 项目地址: https://gitcode.co…

2026/10/13 9:52:03 阅读更多 →

最新新闻

VS Code中高效读取HDF5文件:从插件预览到h5py实战

VS Code中高效读取HDF5文件:从插件预览到h5py实战

你有没有遇到过这种场面:同事或者对接方丢给你一个.h5文件,说是训练好的模型权重,或者某次实验的全部原始数据,你兴冲冲地在 VS Code 里双击打开,结果满屏都是二进制乱码。这个画面我见过太多次了,包括我自…

2026/10/13 10:37:18 阅读更多 →
数组类型与底层原理:从静态到动态、从同构到异构的全解析

数组类型与底层原理:从静态到动态、从同构到异构的全解析

数组这名字,表面上看人人都懂,可真到写代码的时候,你会发现不同语言里的“数组”完全是几个物种。拿一个 int[10] 丢给 C 程序员,他脑子里是 10 个连续排列的整数;递给 Python 程序员,他大概率会反问一句…

2026/10/13 10:37:18 阅读更多 →
LeetCode链表题全攻略:从虚拟头结点到快慢指针的通用解法

LeetCode链表题全攻略:从虚拟头结点到快慢指针的通用解法

最近在整理自己的LeetCode刷题笔记,链表这一章给了我不少感触。很多人刚开始刷题时,把链表当成“送分题”,结果一到手写环节就翻车——不是空指针异常,就是链表被改成了环,甚至在一个反转操作上卡了半小时。链表确实是…

2026/10/13 10:37:18 阅读更多 →
端侧AI密度定律:硬件、模型与工程的三重优化

端侧AI密度定律:硬件、模型与工程的三重优化

1. 这不是概念炒作,是芯片、模型、场景三股力量在端侧突然“对齐”了“端侧智能规模化元年”这八个字,最近在技术会议、投资人briefing和芯片厂商白皮书里高频出现,但很多人听完只留下一个模糊印象:好像AI要下到手机、摄像头、家电…

2026/10/13 10:37:18 阅读更多 →
x86实操操作系统:从实模式到保护模式的真机启动内核

x86实操操作系统:从实模式到保护模式的真机启动内核

简介:本资源是经典操作系统实践教程《自己动手写操作系统》(于渊著)配套源码与开发环境的完整压缩包,面向计算机专业本科生、嵌入式开发者及系统编程爱好者,解决操作系统原理难理解、内核开发无从下手的核心痛点。压缩…

2026/10/13 10:37:18 阅读更多 →
企业采购智能体选型:为什么原生嵌入业务流程更适合核心采购场景?

企业采购智能体选型:为什么原生嵌入业务流程更适合核心采购场景?

随着大模型和Agent进入企业采购,采购智能体正在从简单的问答、文本生成,逐步进入供应商推荐、询价比价、价格分析、合同审查、订单处理、履约分析等真实业务场景。企业在进行采购智能体选型时,也开始面对不同的建设模式。 一种是通用桌面智能…

2026/10/13 10:36:15 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →