红外电力设备目标检测数据集实战:从VOC转YOLO到切图推理全流程
简介这份红外电力设备目标检测数据集面向电力AI检测、智能电网运维及计算机视觉方向的研究者与开发者提供可直接用于YOLO系列模型训练的真实热成像标注数据。资源包共2000个文件以1474个txt标注文件、524张jpg热成像图片为主另含1个yaml数据配置与1份docx说明文档压缩包约66.77MB目录结构清晰便于按训练、验证、测试划分快速接入。数据集总计1474张图片其中训练集1030张、验证集295张、测试集149张覆盖CTH、CTL、DisjuntorH、arrester-H、bushing、disconnector_V等12类高低压电力设备部件标注采用YOLO格式边界框与类别标签贴合电力行业标准。读者可借此构建断路器、避雷器、套管等部件的自动识别模型用于设备状态监控、故障预警与巡检机器人开发也可作为电力工程与计算机视觉交叉研究的实验基准。目前已有104人学习下载适合需要真实工业场景数据的中高级目标检测实践者。1. 红外电力设备目标检测数据集从一份 .zip 到能跑通的检测基线拿到「红外电力设备目标检测数据集-.zip」这个标题的人十有八九正卡在同一个地方手头有红外巡检图想用目标检测把绝缘子、避雷器、变压器套管这些设备框出来但公开的红外数据要么没有标注要么类别对不上电力场景。红外成像和可见光完全是两套分布——热斑、温升、背景热源干扰、对比度低、边缘糊直接拿 COCO 或可见光电力数据训出来的权重迁移过去mAP 掉一大截是常态。这份数据集的价值就在于它把「红外 电力设备 检测框」三件事凑齐了省掉自己从热像仪原始图开始标注的几周工作量。它适合两类人一类是想快速验证红外检测可行性的算法同学另一类是做变电站/输电线路智能巡检、需要拿数据说话的一线工程人员。下面按「先看清数据长什么样 → 转成 YOLO 能吃的格式 → 训练调参 → 避坑 → 进阶验证」的顺序讲透。2. 先搞清红外电力数据集的分布特征与类别体系2.1 红外图和可见光图的差异到底影响什么很多人把红外数据集当成「灰度版的可见光」来处理这是第一个认知偏差。红外热像仪的成像机理是接收目标自身辐射温度高的区域亮、温度低的区域暗所以电力设备在红外图里的表现和可见光完全不同绝缘子串在可见光里是清晰的伞裙结构在红外里可能只是一条明暗渐变的带变压器本体温度均匀时几乎和背景融为一体只有局部过热才凸显。这意味着两件事——第一基于纹理和边缘的检测头比如依赖高频细节的小目标分支在红外上收益有限第二数据增强不能照搬可见光那套颜色抖动HSV 变换在单通道红外图上没有意义甚至会破坏温度语义。常见做法是把红外图统一成单通道灰度或伪彩色三通道。伪彩色iron/rainbow 调色板看着信息丰富但调色板映射是非线性的同一温度在不同调色板下像素值差异巨大跨设备泛化时反而是负担。我一般优先用原始灰度只有在预训练权重是 ImageNet 三通道、懒得改第一层时才复制成三通道。这个选择直接影响后面归一化参数怎么设。2.2 类别体系与标注格式要先盘清楚电力红外检测的类别通常围绕设备类型和缺陷状态两条线组织。设备类型线绝缘子、避雷器、套管、导线、金具、变压器本体缺陷状态线一般发热、严重发热、疑似缺陷。数据集如果只标了设备框那你只能做设备定位如果带了缺陷等级才能做状态判别。拿到 .zip 第一件事不是解压就训而是把标注文件抽几个出来看类别名和框的粒度。标注格式常见三种Pascal VOC 的 XML、COCO 的 JSON、YOLO 的 txt。红外电力数据集里 VOC 和 YOLO txt 居多因为标注工具labelImg默认就这两种。先统计一下每类框数量类别极度不均衡是电力数据的通病——绝缘子可能几千个框避雷器可能就几十个。这个统计结果决定你后面要不要做重采样、要不要用 focal loss。# 解压后先看目录结构别急着写训练脚本 unzip 红外电力设备目标检测数据集-.zip -d ir_power_dataset cd ir_power_dataset # 统计图片数量和标注文件数量两者对不上说明有脏数据 find . -name *.jpg -o -name *.png -o -name *.bmp | wc -l find . -name *.xml -o -name *.txt | wc -l # 看标注目录长什么样 ls -R | head -50这段命令的作用是先建立对数据规模的直觉。图片数和标注数不一致常见原因是有些图没标负样本或者标注文件命名和图片对不上。ls -R看目录层级判断是 train/val 已经分好还是全混在一起。如果全混在一起后面要自己按 8:1:1 切分切分时注意同一台设备的连续帧要分到同一侧否则验证集泄漏指标虚高。2.3 用脚本统计类别分布和框尺寸在动手转格式前先跑一个统计脚本把类别直方图和框的宽高分布画出来。框尺寸分布决定了 anchor 怎么设、输入分辨率选多大。红外电力数据里小目标远处的金具、销钉和大目标变压器本体可能同时存在如果小目标占比高输入分辨率 640 就不够得往上提到 1024 甚至 1280。import os, glob import xml.etree.ElementTree as ET from collections import Counter # 假设是 VOC 格式遍历所有 xml 统计类别和框尺寸 cls_counter Counter() size_list [] for xml_path in glob.glob(ir_power_dataset/**/*.xml, recursiveTrue): tree ET.parse(xml_path) root tree.getroot() for obj in root.findall(object): name obj.find(name).text cls_counter[name] 1 bbox obj.find(bndbox) w float(bbox.find(xmax).text) - float(bbox.find(xmin).text) h float(bbox.find(ymax).text) - float(bbox.find(ymin).text) size_list.append((w, h)) print(类别分布:, cls_counter.most_common()) # 按面积分档看小目标占比 small sum(1 for w, h in size_list if w * h 32 * 32) mid sum(1 for w, h in size_list if 32 * 32 w * h 96 * 96) large sum(1 for w, h in size_list if w * h 96 * 96) print(f小目标:{small} 中目标:{mid} 大目标:{large})逻辑说明cls_counter给出每类框数量直接暴露不均衡程度。size_list按 COCO 的面积分档标准32²、96²统计小中大目标比例。参数上如果小目标占比超过 30%训练输入就别用 640至少 1024同时 anchor 要用 k-means 在你自己数据上重新聚类别用 COCO 默认 anchor。这一步花十分钟能省掉后面几轮盲调。3. 把 VOC/COCO 标注转成 YOLO 格式并跑通训练3.1 VOC 转 YOLO txt 的转换脚本与坐标归一化YOLO 格式要求每张图一个同名 txt每行class_id cx cy w h全部归一化到 0~1。VOC 的坐标是绝对像素值转换时要除以图片宽高。这里最容易翻车的是类别 id 映射——必须固定一个类别到 id 的字典train 和 val 用同一份否则类别错位训出来的模型把绝缘子认成避雷器。import os, glob import xml.etree.ElementTree as ET from PIL import Image # 固定类别映射顺序一旦定下就不要改 CLASSES [insulator, arrester, bushing, wire, fitting, transformer] cls2id {c: i for i, c in enumerate(CLASSES)} def voc_to_yolo(xml_path, out_dir): tree ET.parse(xml_path) root tree.getroot() img_path root.find(path).text if root.find(path) is not None else None # 有些数据集 path 字段是错的用 filename 拼 filename root.find(filename).text size root.find(size) img_w int(size.find(width).text) img_h int(size.find(height).text) lines [] for obj in root.findall(object): name obj.find(name).text if name not in cls2id: continue # 跳过不在类别表里的脏标注 cid cls2id[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) # 归一化注意中心点和宽高 cx (xmin xmax) / 2.0 / img_w cy (ymin ymax) / 2.0 / img_h w (xmax - xmin) / img_w h (ymax - ymin) / img_h # 裁剪到 [0,1]防止标注越界导致训练报错 cx, cy min(max(cx, 0), 1), min(max(cy, 0), 1) w, h min(max(w, 0), 1), min(max(h, 0), 1) lines.append(f{cid} {cx:.6f} {cy:.6f} {w:.6f} {h:.6f}) out_path os.path.join(out_dir, os.path.splitext(filename)[0] .txt) with open(out_path, w) as f: f.write(\n.join(lines)) os.makedirs(labels, exist_okTrue) for xml_path in glob.glob(ir_power_dataset/**/*.xml, recursiveTrue): voc_to_yolo(xml_path, labels)逻辑说明CLASSES是全局唯一的类别顺序训练配置里的names必须和它逐字一致。归一化后做min/max裁剪是因为手工标注经常有框超出图像边界的情况不裁的话 YOLO 训练时坐标会算出负值或大于 1触发断言失败。:.6f保留六位小数精度足够且文件不会太大。转换完抽查几个 txt用cat看一眼确认没有空文件空文件代表该图无目标是合法的负样本但要有意识地保留一部分。3.2 生成 train/val 划分和 data.yamlYOLO 训练需要一个 data.yaml 描述路径、类别数和类别名。划分时按图片切分不要按标注行切分。同一台设备的连拍帧要整体分到一侧避免验证集里出现训练集见过的几乎相同的图。import os, glob, random, shutil random.seed(42) # 固定种子保证可复现 imgs glob.glob(ir_power_dataset/**/*.jpg, recursiveTrue) random.shuffle(imgs) n len(imgs) train_imgs imgs[:int(n * 0.8)] val_imgs imgs[int(n * 0.8):] for split, items in [(train, train_imgs), (val, val_imgs)]: os.makedirs(fdataset/images/{split}, exist_okTrue) os.makedirs(fdataset/labels/{split}, exist_okTrue) for p in items: shutil.copy(p, fdataset/images/{split}/) lbl os.path.join(labels, os.path.splitext(os.path.basename(p))[0] .txt) if os.path.exists(lbl): shutil.copy(lbl, fdataset/labels/{split}/)# data.yaml path: ./dataset train: images/train val: images/val nc: 6 names: [insulator, arrester, bushing, wire, fitting, transformer]逻辑说明random.seed(42)保证每次划分一致方便复现实验。nc必须等于CLASSES长度names顺序必须和转换脚本里的cls2id完全一致这是最常见的低级错误来源。路径用相对路径方便整个目录搬到别的机器上跑。3.3 用 YOLOv8/v11 跑通第一个基线环境配置是新手最容易卡住的地方。ultralytics 现在装起来很简单但 CUDA 版本和 torch 版本要对上。我一般用 conda 建独立环境先装 torch 再装 ultralytics避免它自动拉一个 CPU 版 torch。conda create -n ir_det python3.10 -y conda activate ir_det # 按自己显卡的 CUDA 版本装 torch这里以 cu118 为例 pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118 pip install ultralytics # 验证 GPU 可用 python -c import torch; print(torch.cuda.is_available())# 单卡训练基线先跑 50 epoch 看趋势 yolo detect train \ datadata.yaml \ modelyolov8s.pt \ epochs50 \ imgsz1024 \ batch8 \ device0 \ workers4 \ projectruns_ir \ namebaseline逻辑说明modelyolov8s.pt用预训练权重红外单通道和 ImageNet 三通道不匹配ultralytics 会自动处理第一层复制通道或改通道数不用手动改。imgsz1024是因为前面统计小目标占比高。batch8是 1024 分辨率下显存的保守值显存够可以往上加。workers4是数据加载线程Windows 下建议设 0 避免多进程报错。跑起来后重点看mAP50和mAP50-95两条曲线如果 10 epoch 内 loss 不降先查 data.yaml 路径和类别 id。4. 红外检测训练里最容易翻车的几个坑4.1 现象mAP 一直卡在 0.1 以下不涨原因八成是类别 id 错位或标注路径没对上。YOLO 读不到标签时不会报错会把所有图当负样本训loss 看着在降但模型什么都没学到。另一个可能是图片和 txt 文件名不一致比如图片是IMG_001.JPG大写扩展名txt 是IMG_001.txt某些系统下匹配失败。解决训练前跑一次校验确认每张图都能找到对应 txt且 txt 里的 class_id 都在[0, nc)范围内。ultralytics 训练日志里会打印train: Scanning...的标签数量如果 labels 数为 0 或远小于预期就是路径问题。4.2 现象验证集指标虚高实际部署一塌糊涂原因数据泄漏。同一台设备的连续红外帧被随机分到了 train 和 val两边的图几乎一样验证集等于在考训练集。红外巡检数据连拍帧特别多这个坑踩得最狠。解决按设备 id 或拍摄批次划分而不是按图片随机划分。如果数据里有文件名规律比如substation01_xxx按前缀分组后再切分。切完检查 train 和 val 的文件名前缀有没有重叠。4.3 现象模型把背景热源当成设备框出来原因红外图里阳光反射、地面余热、其他发热物体都会形成高亮区域和电力设备的热特征相似。如果训练集里这类负样本少模型学不会区分。解决主动收集一批纯背景红外图不含电力设备作为负样本加入训练集比例控制在 5%~10%。负样本就是没有对应 txt 的图片YOLO 会自动当背景处理。这一步对降低误检率效果立竿见影。4.4 现象小目标远处金具、销钉几乎检不到原因输入分辨率不够或者 anchor 尺寸和实际目标不匹配。1024 分辨率下一个 20 像素的销钉经过多次下采样后在特征图上只剩一两个像素检测头根本感知不到。解决提高输入到 1280 或 1536同时开启 YOLO 的multi_scale训练。如果还不行考虑切图推理把大图切成小块分别检测再合并这是电力巡检里处理超大分辨率红外图的常规手段。4.5 现象训练 loss 正常但推理时框全叠在一起原因NMS 的 IoU 阈值设太高或者同一目标被多个 anchor 重复预测。红外目标边缘模糊模型对框的回归不确定容易产生大量重叠框。解决推理时把iou阈值从默认 0.7 降到 0.5 左右conf从 0.25 提到 0.4 过滤低置信框。这两个参数在yolo detect predict里直接传不用重训。5. 进阶用切图推理和温度阈值做二次校验基线跑通后真正决定这套方案能不能上巡检业务的是推理阶段怎么处理大分辨率和误检。红外巡检原图动辄 640×480 到 1024×768但设备在画面里占比很小直接整图推理小目标全丢。我一般用切图推理把原图按 640×640 滑窗切重叠 128 像素每块单独推理最后用 NMS 合并。重叠是为了避免目标正好被切在边界上。from ultralytics import YOLO import cv2 import numpy as np model YOLO(runs_ir/baseline/weights/best.pt) def sliding_window_detect(img_path, win640, stride512, conf0.4, iou0.5): img cv2.imread(img_path) h, w img.shape[:2] all_boxes [] for y in range(0, max(h - win, 0) 1, stride): for x in range(0, max(w - win, 0) 1, stride): patch img[y:ywin, x:xwin] res model.predict(patch, confconf, iouiou, verboseFalse)[0] for box in res.boxes: xyxy box.xyxy[0].cpu().numpy() # 把局部坐标还原到全图坐标 xyxy[0] x; xyxy[1] y; xyxy[2] x; xyxy[3] y all_boxes.append((*xyxy, float(box.conf[0]), int(box.cls[0]))) # 跨窗口 NMS 合并 if not all_boxes: return [] boxes np.array([b[:4] for b in all_boxes]) scores np.array([b[4] for b in all_boxes]) idx cv2.dnn.NMSBoxes(boxes.tolist(), scores.tolist(), conf, iou) return [all_boxes[i] for i in idx] results sliding_window_detect(test_ir.jpg) print(f检测到 {len(results)} 个目标)逻辑说明win640是单块推理尺寸stride512保证相邻块有 128 像素重叠。局部坐标还原那一步容易写错xyxy是[x1,y1,x2,y2]x 方向加x、y 方向加y别加反。最后用 OpenCV 的NMSBoxes做跨窗口去重阈值和单块推理保持一致。这套流程比整图推理慢 3~5 倍但小目标召回能提升 20 个点以上值不值取决于你的业务对漏检的容忍度。再进一步红外数据有个可见光没有的维度——温度。如果热像仪原始文件带温度矩阵很多格式如.seq、.raw或带 radiometric 的 TIFF可以把检测框内的温度读出来设一个阈值做二次校验框内最高温超过阈值的才判定为「发热缺陷」否则只报设备位置。这一步把纯视觉检测升级成「检测 测温」的闭环误报率能再降一截。我踩过的坑是不同设备出厂标定不一样温度阈值不能全局统一得按设备型号分别标定这个标定表是后面运维的核心资产。最后说个习惯每次训完模型我都会把验证集里误检和漏检的图单独导出来看一遍而不是只看 mAP 数字。红外检测的失败模式很集中——要么是背景热源误报要么是小目标漏检看图比看指标更快定位问题。这套流程从解压数据集到能出可用的检测结果顺利的话两三天卡住的话多半卡在格式转换和数据划分上把第 3、4 章的两步做扎实后面就是调参的体力活。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

Java超大文件分片上传实战:解决OOM与连接超时

Java超大文件分片上传实战:解决OOM与连接超时

在 Java 后端开发里,“JAVA http 请求”本身不算难事,难点是当请求体变成几个 GB 的超大附件时,问题会全部冒出来。我之前负责一个数据文件交换平台,用户经常上传 3GB、6GB 的现场采集包,最初同事按普通 Multipart 方式…

2026/10/12 17:52:48 阅读更多 →
SS728M05身份证验证终端Windows接口包对接指南:从DLL调用到稳定部署

SS728M05身份证验证终端Windows接口包对接指南:从DLL调用到稳定部署

简介:面向Windows平台的神思SS728M05身份证验证SDK开发包,专供需要集成二代身份证读取、解码与真伪校验的开发者使用。接口封装了神思硬件设备的底层通信协议,适用于银行开户、网络实名认证、酒店登记等实名制场景,开发者无需深入…

2026/10/12 17:51:23 阅读更多 →
Windows 11下Qt 5.15.2安装与Qt Creator工具链配置实战

Windows 11下Qt 5.15.2安装与Qt Creator工具链配置实战

过去几年我一直用着 Qt 5.15.2,从 Windows 10 换到 Windows 11 之后,又新装了两台机器,都是走的在线安装器这条路。说实话,这版本没到“装一次就再无波澜”的程度,但只要你理解它背后的逻辑,每一步都知道要…

2026/10/12 17:51:28 阅读更多 →

最新新闻

JSTL 标签库实战:从脚本片段到标签封装的核心技巧

JSTL 标签库实战:从脚本片段到标签封装的核心技巧

1. 从脚本片段到标签封装&#xff1a;JSTL 到底解决了什么问题很多人第一次接触 JSTL&#xff0c;是在维护一个老项目的时候。打开 JSP 文件&#xff0c;满屏的<% for(...) { %>、<% if(...) { %>和<% request.getAttribute("xxx") %>&#xff0c;…

2026/10/12 17:55:23 阅读更多 →
告别API依赖!GitHub上那些可以完全本地运行的优质开源AI项目盘点:用TaoToken统一Key打通本地与云端

告别API依赖!GitHub上那些可以完全本地运行的优质开源AI项目盘点:用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 17:55:23 阅读更多 →
共享单车数据集VOC格式实战:从标注解析到YOLO训练全流程

共享单车数据集VOC格式实战:从标注解析到YOLO训练全流程

简介&#xff1a;这份共享单车数据集采用VOC格式整理&#xff0c;面向从事目标检测算法练习、课程设计或毕业设计的学生与开发者&#xff0c;可用于训练和验证单车识别模型&#xff0c;解决真实街景中共享单车标注样本不足的问题。压缩包共272个文件&#xff0c;包含136张jpg实…

2026/10/12 17:55:23 阅读更多 →
Python机器学习预测电影首周票房实战指南

Python机器学习预测电影首周票房实战指南

简介&#xff1a;这是一套面向计算机专业本科生的机器学习实战项目资源&#xff0c;聚焦电影票房预测这一典型回归建模任务&#xff0c;适用于毕业设计、课程设计及期末大作业场景。资源包含完整可运行的Python源码、清洗后的TMDB 5000电影数据集&#xff08;含credits与movies…

2026/10/12 17:55:23 阅读更多 →
Jupyter Notebook虚拟环境配置指南:Kernel与conda/venv绑定方法

Jupyter Notebook虚拟环境配置指南:Kernel与conda/venv绑定方法

1. 先搞清楚&#xff1a;为什么 Notebook 老是"用错环境"我最初接触这个问题&#xff0c;是因为在同一个项目里同时跑了两个不同版本的深度学习框架&#xff0c;一个依赖 Python 3.8&#xff0c;一个依赖 Python 3.10。Jupyter Notebook 默认启动时用的是系统 PATH 里…

2026/10/12 17:55:23 阅读更多 →
Tesseract OCR中文识别实战:安装、调优与避坑指南

Tesseract OCR中文识别实战:安装、调优与避坑指南

简介&#xff1a;Tesseract OCR 安装包与中文语言包面向需要在本地完成图片文字识别的开发者、测试人员及自动化办公用户&#xff0c;尤其适合用 Python 调用 OCR 引擎处理中文文档、票据或截图的人群。压缩包共 723 个文件&#xff0c;约 36.01MB&#xff0c;以 C 源码&#x…

2026/10/12 17:54:23 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

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

周新闻

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

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

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

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

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

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

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

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

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

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 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/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/11 14:36:54 阅读更多 →