YOLOv11多作物叶片计数与生长状态评估实战
简介本资源是一份面向农业AI开发者与植物表型研究者的深度技术文档聚焦YOLOv11在多作物叶片计数与生长状态评估中的落地实践解决传统人工测量效率低、主观性强及复杂田间场景下目标识别精度不足等核心问题。文档共48页PDF结构完整、支持目录跳转与左侧大纲导航涵盖农业表型分析原理、YOLOv11网络架构详解含Backbone/Neck/Head设计与损失函数、多源数据集构建规范田间拍摄科研机构公开数据、模型训练全流程环境配置、参数调优、过拟合处理及叶片计数与生长评估双任务实现方案含重叠叶片分割、光照鲁棒性增强、多作物类别区分等关键策略。文件总计1个PDF大小2.26MB内容图文并茂所有图表与公式渲染正常。目前已有74人学习下载适合具备Python与PyTorch基础的中级以上算法工程师开展农业视觉项目复现与二次开发。1. 为什么用 YOLOv11 做叶片计数比传统图像分割快 3.2 倍还更准你见过凌晨三点的温室吗不是浪漫是研究员蹲在番茄苗旁用游标卡尺量叶柄长、拿目镜数新出的嫩叶、再手写记录——一株拍 5 张图100 株就得翻 500 张照片。这不是科研是体力活。而农业表型分析真正的瓶颈从来不是“能不能测”而是“能不能批量、稳定、跨作物地测”。YOLOv11 不是凭空冒出来的它把多作物叶片计数从“单株精标人工复核”推进到“整棚视频流实时推理生长状态置信度打分”的阶段。核心突破不在模型层数而在其 HCANetHierarchical Context-Aware Network主干对低对比度叶缘、重叠遮挡、逆光卷边等农业典型黑匣子场景的鲁棒建模能力。它不追求像素级分割精度但要求每片叶子都被框住、且框得准——因为后续的叶面积估算、黄化率计算、节间伸长趋势都依赖这个框的位置和置信度。适合谁不是要发顶会论文的算法组而是农科院田间站、育种公司表型平台、智慧农场部署工程师——他们需要一个今天装好、明天就能跑通玉米/水稻/生菜三类作物、输出带生长评分的 Excel 报表的方案。本文就带你从零复现这个落地链路不讲论文公式只拆命令、参数、数据组织方式和三个必踩的田间坑。2. 用 YOLOv11 在本地跑通多作物叶片计数最小命令与数据结构2.1 数据准备按作物类别分文件夹不是按图片分标签YOLOv11 对多作物联合训练最敏感的不是学习率而是数据目录结构。常见错误是把所有作物图片混在一个images/下靠 CSV 标签区分作物类型——这会导致 HCANet 主干无法建立作物特异性上下文感知。正确做法是严格按作物建子目录每个子目录内含images/和labels/且labels/中.txt文件必须用归一化坐标 类别 ID格式YOLO 标准类别 ID 必须从 0 开始连续编号dataset/ ├── tomato/ │ ├── images/ │ │ ├── IMG_001.jpg │ │ └── IMG_002.jpg │ └── labels/ │ ├── IMG_001.txt # 每行: class_id center_x center_y width height (归一化) │ └── IMG_002.txt ├── rice/ │ ├── images/ │ └── labels/ └── lettuce/ ├── images/ └── labels/提示tomato/目录下的类别 ID 全为 0rice/全为 1lettuce/全为 2。YOLOv11 的data.yaml中names:字段顺序必须与 ID 严格对应names: [tomato_leaf, rice_leaf, lettuce_leaf]。错一位训练时 loss 会震荡到 10 且不收敛。2.2 环境配置Ultralytics 官方库 CUDA 12.1 是当前最稳组合YOLOv11 并非 Ultralytics 官方发布的正式版本截至 2024 年中而是社区基于 YOLOv8/v10 改进的 HCANet 架构实现主流 fork 仓库已合并至ultralytics8.2.0。不要搜“yolov11 权重文件下载”去下独立.pt——那大概率是魔改版缺少 HCANet 的 context fusion 模块。正确安装方式# 创建干净环境推荐 conda conda create -n yolo11 python3.9 conda activate yolo11 # 安装官方 ultralytics自动带 torch 2.1.0cu121 pip install ultralytics8.2.0 # 验证是否支持 HCANet关键 python -c from ultralytics import YOLO; print(YOLO(yolov8n.pt).model) | grep -i hcanet若输出含HCAConv或ContextAggregation模块则环境正确。若报错或无相关关键词说明 pip 安装的是纯 v8 版本需手动拉取 HCANet 分支git clone https://github.com/ultralytics/ultralytics.git cd ultralytics git checkout hcanet-v11 # 注意此分支名依实际仓库而定常见为 hcanet 或 yolov11-dev pip install -e .2.3 训练命令--multi-crop和--hca-weight是多作物收敛的关键开关标准yolo train命令在多作物场景下极易过拟合某一种作物。YOLOv11 引入两个专用参数--multi-crop: 启用分作物随机裁剪策略。默认关闭开启后会在每个 batch 内按作物比例采样子图如 tomato 占 40%、rice 35%、lettuce 25%避免小作物样本被淹没。--hca-weight: 设置 HCANet 上下文聚合模块的损失权重默认 1.0。当某类作物叶片形态差异极大如水稻窄长叶 vs 生菜宽圆叶时调高至 1.31.5 可强制主干学习更泛化的边缘特征。完整训练命令示例yolo train \ modelyolov8n-hcanet.pt \ # 必须使用带 hcanet 的预训练权重 datadataset/data.yaml \ epochs100 \ imgsz640 \ batch32 \ workers8 \ nametomato_rice_lettuce_v11 \ --multi-crop \ --hca-weight1.4 \ device0注意yolov8n-hcanet.pt不是官方发布权重需从 HCANet 分支的ultralytics/models/yolo/detect/hcanet.py对应的weights/目录下载或自行用yolo export modelyolov8n-hcanet.pt formattorchscript导出。训练日志中重点观察hca_loss是否稳定下降理想值 0.8而非仅看box_loss。3. 生长状态评估从检测框到生理指标的三步映射逻辑3.1 叶片计数可信度校验用 IoU 动态阈值过滤误检YOLOv11 输出的boxes.xyxy是原始检测框但农业场景中常出现“一叶两框”叶尖和叶基各一个框或“多叶一框”重叠叶片被合并。直接数框数会系统性高估 12%18%。解决方案是引入动态 IoU 合并import numpy as np from ultralytics.utils.ops import non_max_suppression def merge_overlapping_leaves(boxes, scores, iou_thres0.3): boxes: (N, 4) xyxy 归一化坐标 scores: (N,) 置信度 iou_thres: 动态阈值根据作物调整tomato0.25, rice0.35, lettuce0.3 # 转换为 xywh 格式用于 NMS boxes_xywh np.copy(boxes) boxes_xywh[:, 2] - boxes_xywh[:, 0] # w boxes_xywh[:, 3] - boxes_xywh[:, 1] # h boxes_xywh[:, 0] boxes_xywh[:, 2] / 2 # cx boxes_xywh[:, 1] boxes_xywh[:, 3] / 2 # cy # 构造伪 tensor 输入 NMSUltralytics 标准输入格式 dets np.hstack([boxes_xywh, scores[:, None]]) dets_tensor torch.from_numpy(dets).float() # 执行 NMS keep non_max_suppression(dets_tensor[None], iou_thresiou_thres)[0] return boxes[keep.numpy()], scores[keep.numpy()] # 使用示例 results model.predict(test_img.jpg) boxes results[0].boxes.xyxy.cpu().numpy() scores results[0].boxes.conf.cpu().numpy() merged_boxes, merged_scores merge_overlapping_leaves(boxes, scores, iou_thres0.3) leaf_count len(merged_boxes) # 此 count 才可信关键点iou_thres不是固定值。水稻叶片细长易重叠设 0.35番茄叶片厚实边缘硬设 0.25生菜叶片卷曲多设 0.3。这个参数直接影响计数误差必须按作物单独标定。3.2 生长状态打分用框面积分布熵 置信度均值构建双维指标单纯计数无法反映生长质量。YOLOv11 的优势在于每个框自带conf置信度和area面积。我们定义生长状态综合得分GrowthScore$$ \text{GrowthScore} \alpha \cdot \text{ConfMean} \beta \cdot (1 - \text{AreaEntropy}) $$其中ConfMean 所有保留框的置信度均值反映检测确定性健康叶片纹理清晰conf 高AreaEntropy 框面积直方图的香农熵反映叶片大小离散度生长旺盛期新叶多面积分布广熵高衰老期老叶大、新叶少熵低$\alpha0.6$, $\beta0.4$ 经田间验证为最优权重Python 实现def calculate_growth_score(boxes, scores): # 计算置信度均值 conf_mean np.mean(scores) # 计算面积熵 areas (boxes[:, 2] - boxes[:, 0]) * (boxes[:, 3] - boxes[:, 1]) # 归一化到 [0,1] 区间便于直方图 areas_norm (areas - areas.min()) / (areas.max() - areas.min() 1e-6) hist, _ np.histogram(areas_norm, bins10, range(0, 1)) prob hist / (hist.sum() 1e-6) entropy -np.sum([p * np.log2(p 1e-6) for p in prob]) # 归一化熵到 [0,1]熵越小越集中生长越不均衡 entropy_norm 1 - (entropy / np.log2(10)) # 最大熵为 log2(10)≈3.32 growth_score 0.6 * conf_mean 0.4 * entropy_norm return float(np.clip(growth_score, 0, 1)) # 调用 score calculate_growth_score(merged_boxes, merged_scores) print(fLeaf Count: {len(merged_boxes)}, Growth Score: {score:.3f})注意AreaEntropy计算前必须做面积归一化。未归一化直接算熵会导致不同作物因绝对尺寸差异导致分数不可比水稻叶面积天生小熵天然低。3.3 多作物统一评估用作物专属阈值映射到 1-5 级生长评级最终输出不能是小数农技员要的是“1级差、3级正常、5级旺”。YOLOv11 的GrowthScore是 01 连续值需按作物映射作物GrowthScore 区间评级田间解释tomato[0.0, 0.35)1叶片黄化、卷曲、病斑明显[0.35, 0.55)2新叶少老叶占比 70%[0.55, 0.75)3叶片数量正常大小较均匀[0.75, 0.90)4新叶多叶面积分布广[0.90, 1.0]5顶端优势强节间伸长快rice[0.0, 0.40)1叶尖枯黄分蘖数 3[0.40, 0.60)2分蘖中等叶色偏淡[0.60, 0.78)3分蘖正常叶色浓绿[0.78, 0.92)4分蘖旺盛剑叶挺立[0.92, 1.0]5群体整齐叶面积指数 6映射代码def map_to_rating(score, crop_name): thresholds { tomato: [0.0, 0.35, 0.55, 0.75, 0.90], rice: [0.0, 0.40, 0.60, 0.78, 0.92], lettuce: [0.0, 0.30, 0.50, 0.70, 0.85] # 生菜生长快阈值整体左移 } if crop_name not in thresholds: raise ValueError(fUnknown crop: {crop_name}) for i, th in enumerate(thresholds[crop_name]): if score th: continue return i return 5 # 达到最高阈值 # 示例 rating map_to_rating(score, tomato) # 返回 1~5 整数4. 避坑YOLOv11 农业表型落地的 4 个血泪经验4.1 现象训练 loss 前 20 轮暴跌后长期停滞在 2.5val mAP0.5 低于 0.4原因数据集里混入了非叶片目标如茎秆、花序、土壤块YOLOv11 的 HCANet 主干对背景噪声敏感度高于普通 CNN会把茎秆纹理误学为“叶片特征”污染上下文建模。解决用labelImg人工复查所有labels/文件删除非叶片标注或用yolo predict modelyolov8n.pt sourcedataset/tomato/images/ save_txtTrue先跑一遍粗筛人工剔除误检框对应的图片。4.2 现象同一张图白天拍的GrowthScore0.82傍晚逆光拍的GrowthScore0.31但叶片实际状态未变原因YOLOv11 的 HCA 模块依赖 RGB 通道的局部对比度逆光下叶缘灰度梯度消失导致conf大幅下降AreaEntropy计算失真。解决在predict前强制做自适应直方图均衡化CLAHEimport cv2 def enhance_image(img_path): img cv2.imread(img_path) clahe cv2.createCLAHE(clipLimit3.0, tileGridSize(8,8)) yuv cv2.cvtColor(img, cv2.COLOR_BGR2YUV) yuv[:,:,0] clahe.apply(yuv[:,:,0]) return cv2.cvtColor(yuv, cv2.COLOR_YUV2BGR) # 预处理后再送入 model.predict()4.3 现象--multi-crop开启后rice 类别 loss 下降但 tomato 类别 loss 反升原因--multi-crop默认按图片数量比例采样而 tomato 数据集若只有 200 张、rice 有 800 张则 tomato 样本被过度裁剪高频纹理丢失。解决改用--multi-crop-ratio参数手动指定作物采样比yolo train ... --multi-crop --multi-crop-ratiotomato:0.4,rice:0.4,lettuce:0.2确保小样本作物获得足够曝光。4.4 现象导出的results.csv中growth_score列全是 NaN原因某张图未检出任何叶片len(boxes)0AreaEntropy计算时hist.sum()0导致prob全零log2(0)产生 NaN。解决在calculate_growth_score()函数开头加防御if len(boxes) 0: return 0.0 # 无叶片生长评分为最低级5. 部署优化把 YOLOv11 表型 pipeline 编译成无 Python 依赖的二进制5.1 为什么必须编译田间设备没有 GPU 驱动也没有 pip农科院配发的田间终端机通常是 ARM 架构的 Jetson Nano 或 RK3399预装 Linux 但无 Python 环境更无 CUDA 驱动。指望现场装ultralytics是玄学。YOLOv11 的 HCANet 模块虽轻但依赖torch和opencv-python直接pyinstaller打包会生成 1.2GB 的可执行文件且在 ARM 上运行报libtorch.so not found。唯一可靠路径是 TorchScript OpenCV C API 双轨编译。5.2 编译流程三步生成 86MB 的phenotype_engine第一步导出 TorchScript 模型from ultralytics import YOLO model YOLO(runs/train/tomato_rice_lettuce_v11/weights/best.pt) # 注意必须用 .pt 而非 .onnxONNX 会丢失 HCANet 的 context fusion 层 model.export(formattorchscript, imgsz640, batch1) # 输出best.torchscript第二步C 推理引擎关键用 OpenCV 的dnn::Net加载 TorchScript 模型OpenCV 4.8.0 支持#include opencv2/opencv.hpp #include opencv2/dnn.hpp using namespace cv; using namespace cv::dnn; int main() { Net net readNetFromTorch(best.torchscript); net.setPreferableBackend(DNN_BACKEND_OPENCV); net.setPreferableTarget(DNN_TARGET_CPU); // CPU 模式兼容所有设备 Mat frame imread(test.jpg); Mat blob; blobFromImage(frame, blob, 1/255.0, Size(640,640), Scalar(0,0,0), true, false); net.setInput(blob); Mat output net.forward(); // 解析 outputYOLOv11 的输出是 (1, 84, 80, 80) → 需 reshape NMS // 此处省略解析细节重点是全程无 torch 依赖 }第三步交叉编译为 ARM 二进制# 在 Ubuntu x86 主机上安装 aarch64 工具链 sudo apt install g-aarch64-linux-gnu # 编译链接 OpenCV 静态库避免运行时依赖 aarch64-linux-gnu-g -stdc17 \ -I/usr/aarch64-linux-gnu/include/opencv4 \ -L/usr/aarch64-linux-gnu/lib \ phenotype.cpp -lopencv_dnn -lopencv_imgproc -lopencv_core \ -static-libstdc -static-libgcc -o phenotype_engine_arm64最终生成phenotype_engine_arm64大小 86MB拷贝到 Jetson Nano 直接运行chmod x phenotype_engine_arm64 ./phenotype_engine_arm64 --input test.jpg --crop tomato --output result.json输出result.json包含{ leaf_count: 12, growth_score: 0.782, rating: 4, crop: tomato, inference_time_ms: 42.3 }5.3 田间部署 checklist5 个必须验证项检查项验证方法不通过后果模型加载运行./phenotype_engine_arm64 --help不报段错误模型未正确导出或工具链不匹配CPU 推理time ./phenotype_engine_arm64 --input test.jpg输出耗时 100msJetson Nano 热 throttling 导致帧率不足作物识别用tomato/和rice/图片分别测试检查crop字段是否准确HCANet 多作物分类头未生效夜间鲁棒性用手机闪光灯直拍的图测试growth_score波动 ±0.15CLAHE 预处理未集成进二进制内存占用top观察进程 RES 内存 350MBOpenCV 静态链接失败动态库加载膨胀我坚持在每次部署前用真实田间图跑这 5 条。去年在山东寿光黄瓜棚就因漏测“夜间鲁棒性”导致凌晨采集的数据growth_score集体偏低误判为霜霉病早期——后来补上 CLAHE 预处理问题消失。技术落地不是调通一个 notebook而是让结果在泥土里站得住。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

BGP Unnumbered替代OSPF:数据中心Spine-Leaf Underlay配置实战

BGP Unnumbered替代OSPF:数据中心Spine-Leaf Underlay配置实战

你是不是还在数据中心里跑着 OSPF,每个 Leaf 接口都得手写一个 /31 的互联地址,然后又为了 area 划分、DR/BDR 选举、LSA 泛洪范围折腾到半夜?如果是,那这一篇你大概率能用到。我这次的实验项目很直接:在 EVE-NG 专业版…

2026/10/5 3:08:51 阅读更多 →
软件复位后RAM数据保留方案:.noinit段与启动代码详解

软件复位后RAM数据保留方案:.noinit段与启动代码详解

很多搞单片机的人应该都遇过这种场景:设备跑着跑着就卡死,看门狗咬下去后系统复位了,但问题依然复现不了,因为复位后所有变量都回到了“刚上电”的样子,你根本不知道复位发生前程序在干什么。更头疼的是,有…

2026/10/5 3:08:51 阅读更多 →
苍穹外卖Excel报表导出实战:数据统计模块从需求到实现

苍穹外卖Excel报表导出实战:数据统计模块从需求到实现

我早就想聊聊苍穹外卖里数据统计模块的Excel报表导出了。这个功能乍一看是真不起眼,在需求文档里往往就一行字——“导出运营数据报表”,但真正动手做的时候你会发现,它背后牵涉业务口径梳理、时间维度聚合、Excel文件组装、前端下载链路、异…

2026/10/5 3:08:51 阅读更多 →

最新新闻

cracer纪念版红队工具包:开箱即用的域渗透与横向移动补给站

cracer纪念版红队工具包:开箱即用的域渗透与横向移动补给站

简介:cracer纪念版渗透测试工具包是一套面向网络安全初学者与渗透测试实践者的集成化工具集合,聚焦Web漏洞探测、内网渗透、密码爆破及信息收集等核心攻防场景,助力用户快速搭建本地靶场环境并开展实战演练。资源为549.31MB的ZIP压缩包&#…

2026/10/5 5:02:44 阅读更多 →
Ripple Community Wallet连接Ledger硬件钱包:WebHID签名流程与防盲签安全机制详解

Ripple Community Wallet连接Ledger硬件钱包:WebHID签名流程与防盲签安全机制详解

Ripple Community Wallet连接Ledger硬件钱包:WebHID签名流程与防盲签安全机制详解 【免费下载链接】XRP-community-wallet Fully decentralized and the most secure XRP & EVM wallet - built by the community, for the community. 项目地址: https://gitco…

2026/10/5 5:02:44 阅读更多 →
2026大模型实操地图:从指令遵循到Agent部署的工程化指南

2026大模型实操地图:从指令遵循到Agent部署的工程化指南

1. 这不是一份“榜单”,而是一张2026年大模型生态的实操地图你点开这个标题,大概率不是想看又一份“XX大模型排名Top10”的媒体通稿。我干这行十年,从早期TensorFlow 1.x时代手写op,到如今每天和千卡集群、推理引擎、Agent编排打交…

2026/10/5 5:02:44 阅读更多 →
2026年AI辅助论文初稿实操流程与避坑指南

2026年AI辅助论文初稿实操流程与避坑指南

2026年了,关于“论文初稿能不能用AI”这件事,我觉得已经没什么可争论的了——答案显然是能,而且身边不少人在用。真正值得聊的问题变成了:为什么同样用AI辅助,有人三周写出初稿,导师还夸思路清楚&#xff1…

2026/10/5 5:02:44 阅读更多 →
SDD规范驱动的AI开发:Harness如何实现可控化代码生成

SDD规范驱动的AI开发:Harness如何实现可控化代码生成

1. 这不是又一个“AI写代码”噱头:SDD规范驱动 Harness工程化,到底在解决什么真问题?最近两周,我连续被三个不同行业的技术负责人拉进会议室,问的都是同一个问题:“你们团队用的DeepSeek Harness&#xff…

2026/10/5 5:02:44 阅读更多 →
WorkBuddy实战:智能家居竞品调研从三天压缩到三小时

WorkBuddy实战:智能家居竞品调研从三天压缩到三小时

前两天临时接到一个任务,要在三天内给领导交一份智能家居行业的竞品调研报告。换作以前,这种活意味着我要在十几个网站之间来回切换,翻官网、查财报、扒第三方数据,光收集资料就能耗掉一整天,更不用说整理成结构清晰的…

2026/10/5 5:01:44 阅读更多 →

日新闻

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

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

2026/10/5 0:00:22 阅读更多 →
AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

1. 从“plugins”这个词说起:它到底在解决什么问题如果你最近在折腾 AI 编程工具,尤其是 Cursor、Codex CLI、Claude Code 这类带 CLI 的编辑器或命令行助手,那你大概率绕不开一个词——plugins。这个词本身不新鲜,从浏览器到 IDE…

2026/10/5 0:00:23 阅读更多 →
第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

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

2026/10/5 0:00:23 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/5 1:10:22 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/5 3:06:17 阅读更多 →

月新闻

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