无人机频射信号检测:YOLOv5目标检测实战与数据集解析
简介面向无人机频射信号检测与识别任务这份数据集包含364张原始图像及配套的yolov5格式标注txt文件平均正确识别率达到94.3%适用于基于目标检测框架的模型训练与算法验证。资源包共729个文件以jpg图像和txt标签为主体并附1个yaml配置文件可直接接入yolov5的data配置流程省去手工转换格式的步骤。压缩包整体约136.82MB结构简洁清晰364张图片与364个标注文件一一对应覆盖kong、Mini3Pro等不同机型与频段场景可作为无人机探测、频谱感知以及低慢小目标识别方向的入门或进阶实验数据。目前已有453人学习使用对需要快速获取规范标注样本的开发者而言这份现成数据集可显著降低数据准备门槛便于将精力集中到检测模型的设计与调优上。1. 无人机频射信号检测数据集好在哪364张图、94.3%正确率值不值得拿来训夜里一架无人机从楼顶起飞光学摄像头里什么都看不清楚但它的频射信号早就把位置暴露了。无人机频射信号检测数据集就是要让模型学会在频谱图像上找到这段信号——不是识别无人机的样子而是识别它“发出声音”的那条频带。这个数据集只有364张原始图片平均正确识别率在94.3%且标注直接做成 YOLOv5 格式几乎是把“从信号到目标检测”这条路替你铺好了。对做低空安防、反无人机、频谱监测的人来说它是当前少见的、能直接进模型验证的射频数据集。对新手来说它也是理解“非视觉数据怎么套进目标检测框架”的最佳样本后面我从成像原理、标注结构、训练参数讲到翻车现场一条线走完。2. 频射信号图片到底长什么样检测目标、成像方式和选型逻辑2.1 时频图上的目标不是无人机是通信信号拿到这个数据集先别急着解压训练。第一步要搞清楚图片里那个框到底框住了什么。常见的频射检测数据集图像来自接收机采集的频谱数据横轴是时间纵轴是频率颜色深浅代表信号功率这种图叫时频图也叫瀑布图。你看到的一条亮线、一个亮斑不是无人机在天上的外形而是它和遥控器之间通信链路在频域上留下的能量痕迹。无人机的遥控链路通常是一个持续或突发的窄带信号在时频图上表现为一条像素宽度不等的亮线图传链路往往占用更宽的带宽表现为一块较宽的亮带如果遇到跳频体制亮线会像阶梯一样在频率轴上跳动。目标检测模型在频射任务里找的就是这些亮带和亮线而不是任何“无人机形状”。我接触到不少准备拿这个数据集做演示的人第一反应都是“这图里花花绿绿的看不懂”这完全正常时频图不是给人看的是给卷积网络找纹理规律用的。2.2 为什么选用YOLO而不是传统信号检测有人会问检测频射信号明明有传统的能量检测、循环谱相关检测为什么非要转成图片再用 YOLO我的观点是单信号、高信噪比场景下传统方法确实又快又准但真实电磁环境下信号是混叠的同一时刻可能有 WiFi、蓝牙、基站和其他脉冲干扰能量检测在这种场景下误报率很高而且它对“某个具体型号无人机的信号特征”没有区分能力。把信号画成时频图再交给 YOLO本质上是把信号检测问题转换成了图像模式识别问题。这么做有几个实打实的好处第一卷积网络对局部纹理、边缘、连续性很敏感正好匹配信号亮带的结构特点第二YOLO 系列有大规模预训练权重哪怕是做频射图片也可以从视觉特征迁移起步364张图就能训起来就是靠这个第三目标检测框天然能输出信号“在哪个时间、哪个频段出现”这个信息可以直接交给后续的测向或定位设备比单纯分类多了一个空间定位维度。2.3 364张图对训练规模意味着什么364张原始图片在目标检测领域算非常小的数据集。正常视觉检测项目动辄几千上万张这里只有三百多张所以训练策略必须跟着这个数字走。首先不能用随机初始化从头训必须加载 yolov5s.pt 这类预训练权重做迁移学习其次图像增强不能全开尤其是 mosaic 这类会切割拼接的增强方式对频谱图的信号连续性破坏很大最后验证集划分必须小心因为样本少随机划分很容易让同一次采集的信号同时出现在训练集和验证集里造成指标虚高。这个规模能干什么也有限制。我一般把 364 张的数据集定位为“POC 和数据可行性验证”阶段花半天训一版模型看它能不能在真实采集的时频图上框出无人机信号验证这个方向值不值得继续投入。它不建议直接拿去部署全天候系统也不建议当作论文里的最终实验数据。你在文档里看到94.3%这个数字应该理解为“基于这批数据、按这套标注得到的实验结论”不是所有无人机信号都能做到这个水平。3. 数据集结构拆解把364张原始图和YOLOv5标注对齐3.1 目录、标签文件和classes约定怎么写YOLOv5 格式的标注核心就是每个图片文件对应一个同名.txt标签文件。常见目录结构如下drone_rf/ ├── images/ │ ├── 0001.jpg │ ├── 0002.jpg │ └── ... ├── labels/ │ ├── 0001.txt │ ├── 0002.txt │ └── ... └── classes.txt打开任意一个labels/0001.txt每一行代表一个目标框格式固定为class_id x_center y_center width height这里的x_center、y_center、width、height全部是归一化坐标取值范围 0 到 1。比如一行数据是0 0.5023 0.3712 0.0254 0.0889意思就是类别 0 的目标中心点在图片横向 50.23%、纵向 37.12% 的位置框的宽度占整张图 2.54%、高度占 8.89%。频射图片里的框和普通视觉框在语义上有一点关键区别普通照片里框住的是“人、车、狗”频射图里框住的是“一段信号在某个时间窗口、某个频段上的能量聚集区”。所以框的宽度对应的是时间长度框的高度对应的是频率宽度。如果你把标注打开看会发现很多框是窄长条这就是窄带遥控信号的典型形态。此时千万不要按普通视觉的常识去要求“框要四四方方才正常”窄条框是频射数据的常态。3.2 标注体检脚本先查一遍框质量再开训拿到数据集第一件事不是训练是给标注做体检。频射数据集因为标注主观性很强经常出现标签缺失、坐标越界、框小到离谱等问题。我习惯先跑一段脚本把整个 labels 目录扫一遍。下面这个脚本可以复用import os from pathlib import Path img_dir Path(images) label_dir Path(labels) issues [] for img_path in sorted(img_dir.glob(*.jpg)): label_path label_dir / (img_path.stem .txt) if not label_path.exists(): issues.append(f{img_path.name}: 缺少标签文件) continue for line in label_path.read_text().strip().splitlines(): parts line.strip().split() if len(parts) ! 5: issues.append(f{img_path.name}: 行格式异常 - {line}) continue cls, cx, cy, w, h parts w float(w) h float(h) if w 0 or h 0 or w 1 or h 1: issues.append(f{img_path.name}: 宽高越界 - {line}) continue if w * h 0.005: issues.append(f{img_path.name}: 框面积过小 - {line}) if issues: for msg in issues: print(msg) else: print(标注检查通过)这段脚本做三件事查缺失的标签文件、查每行格式是否合法、查标注框的归一化宽高是否越界最后加了一个“框面积小于0.5%”的告警。这个 0.005 阈值不是硬性标准但它能帮你快速发现那些小到不可能被有效检测的标注。频射信号目标本身占图比例就小如果框面积长期小于 1%这个数据集的训练难度会显著上升。脚本跑完你才对“这批数据能不能用来训练”有个底。3.3 按场景划分训练/验证/测试集别让同源图片串组364张图怎么划分是整个流程里最容易出错的一步。很多人直接random.shuffle一下70% 训练、20% 验证、10% 测试结果训练时指标漂亮拿去测试就崩。原因很简单同一架无人机、同一时刻、同一个频段的时频图改成不同起始时间切出来画面非常相似。如果这些相似片段一部分进了训练集、一部分进了验证集模型等于提前见到了答案。我一般会先看图片文件名。很多采集系统会把时间戳或批次号写进文件名比如20240517_batch03_frame0021.jpg。这时候按批次号划分同一个批次的图片全部进同一个集合。如果没有明显的批次标识就用图片内容做粗聚类把看起来来自同一段连续采集的图归为一组。下面是一个基于文件名前缀的分组划分脚本import os import random from collections import defaultdict from pathlib import Path img_dir Path(images) prefix_groups defaultdict(list) for img_path in sorted(img_dir.glob(*.jpg)): prefix _.join(img_path.stem.split(_)[:2]) prefix_groups[prefix].append(img_path.name) all_items list(prefix_groups.values()) random.Random(42).shuffle(all_items) n_train int(len(all_items) * 0.8) train_groups all_items[:n_train] val_groups all_items[n_train:] print(训练组数量:, len(train_groups), 验证组数量:, len(val_groups))这段脚本的假设是文件名前缀能代表采集批次。如果你的数据集命名没有这个规律就不要硬套改成按文件夹或者按人工分组。划分完之后把对应文件复制到images/train、images/val、labels/train、labels/val四个目录再写一个drone_rf.yamlYOLOv5 就可以直接开训了。4. 复现94.3%正确率的训练路线配置、命令与指标对账4.1 写一份drone_rf.yaml数据配置YOLOv5 训练前需要一个数据配置文件。数据集的classes.txt写的是类别名但 YOLOv5 读取的是 yaml 文件。如果你的数据集没有自带按下面的模板自己补一份就行。类别数量以你实际拿到的标注为准下面用常见的双类别结构做示例# drone_rf.yaml path: /data/drone_rf train: images/train val: images/val test: images/test nc: 2 names: 0: drone_signal 1: remote_signalpath指向数据集根目录train、val、test是相对path的图片目录路径。这里有个坑YOLOv5 在训练时会把train和val路径拼到path下面如果你的数据集目录结构不是images/train而是train/images就要写成train: train/images。很多人在这一步反复报路径错误不是数据有问题是相对路径写错了。4.2 从预训练权重开始训练命令逐一拆解配置没问题后进入训练环节。以 YOLOv5 官方仓库为例最小可复现命令如下python train.py \ --data drone_rf.yaml \ --weights yolov5s.pt \ --img 640 \ --batch 16 \ --epochs 150 \ --device 0 \ --mosaic 0.1 \ --workers 4 \ --seed 20240601逐个参数说--weights yolov5s.pt是加载 COCO 预训练权重这是小数据集能否训起来的关键364张图从零开始训基本必废--img 640是把输入分辨率统一缩放到 640x640如果你的时频图不是方形网络会做拉伸填充这个值越大检测小目标越有利但显存占用也随之上涨--batch 16对 364 张图来说很合适每轮约 18 个 batch梯度更新频率适中--mosaic 0.1是我特别调低的一项下面第 5 章会展开说。--workers 4是数据加载线程数Windows 上如果报错就改成 0--seed 20240601固定随机种子保证不同次训练可以复现。这组参数在 364 张图上单卡训练大约一到两小时能出结果。训练结束后在runs/train/exp目录下能找到weights/best.pt和weights/last.pt后续验证和推理都用best.pt。4.3 针对小样本频射数据调三个关键参数第一是输入分辨率。频射时频图的高宽比例往往不是 1:1常见的是宽大于高的横幅图或者窄而高的条幅图。YOLOv5 默认把图缩放到正方形这意味着原图的宽高比信息被拉伸或压缩了。建议先统计数据集里图片的尺寸分布如果大部分图是 1280x720那--img 640相当于把横向信息压掉一半窄带信号的精细结构可能丢失。我一般会用 640 先跑一版再用 960 或 1280 跑第二版对比小目标检测能力是否提升。第二是增强策略。YOLOv5 默认开启的 HSV 扰动、平移缩放、mosaic 都是为自然图像设计的。频射时频图的颜色是伪彩色代表功率强度HSV 扰动会让相同信号变成不同颜色等于在教模型“颜色不重要”这反而破坏了功率信息mosaic 把四张图拼在一起更是直接把信号亮带切断。所以训练频射数据我建议把--mosaic 0.1或直接设 0同时把--hsv 0 0 0关掉。第三是 epoch 数量。364 张图的小数据集epoch 太少学不完太多会过拟合。我在类似规模的数据集上习惯先训 150 到 200 epoch观察results.png里的验证集指标曲线如果 120 epoch 后 val mAP 开始下降而 training loss 还在降那就是过拟合信号把模型回滚到验证集最好的那个 epoch 即可。best.pt本来就是按验证集指标自动保存的所以这一步不算额外操作。4.4 94.3%到底对应哪个指标怎么验证标题里写“平均正确识别率在94.3%”这句话必须跟你的训练结果对账。严格来说目标检测领域没有“识别率”这个标准术语发布方说的可能是准确率 accuracy也可能是 mAP50或者召回率。准确率关心的是“整张图里有没有无人机信号”mAP50 关心的是“框得准不准”两个数字没有可比性。同一样本集图片级准确率通常会明显高于 mAP50因为只要框有重叠就算识别成功。训练完成后用验证命令确认自己跑出来的水平python val.py \ --weights runs/train/exp/weights/best.pt \ --data drone_rf.yaml \ --task val \ --img 640这个命令会输出 Precision、Recall、mAP50、mAP50-95 四组指标。如果发布方文档里说 94.3% 是图片级正确识别率你就按“预测框与真实框 IoU 大于 0.5 算命中”的比例去复算如果对方说的是 mAP50你的复现结果应该和这个数比较接近。拿到数据后先做一次完整训练再看这个 94.3% 到底落在哪个指标上是避免后面向领导、客户汇报时口径出错的关键一步。5. 频射信号检测的5个翻车现场标注、增强与预处理的避坑排查5.1 现象一loss降、mAP不涨问题出在目标太小和划分冲突某次做模拟项目X时我用这套数据集训练loss 一直降得非常顺滑从2.1降到0.4看起来一切正常但验证集 mAP 一直卡在0.3上不去。后来检查发现两个问题叠加。第一时频图上信号目标本身很窄很多框的面积不到整张图的1%640分辨率下只有一个 6x6 像素的小斑网络很难学第二我最初用随机划分同一次采集的连续帧同时出现在训练和验证集里训练时见过了相似样本验证 mAP 虚高等到换批数据测试就崩。解决方式是两条腿走路一是换 1280 分辨率加细标注把小目标放大后再训二是改为按采集批次分组划分让验证集真正代表没见过的数据。改了之后 mAP50 从0.3跳到0.7以上。损失函数下降不是好消息的唯一来源在一张小数据集上 loss 好看但 mAP 不动先查目标尺度和集划分。5.2 现象二mosaic把连续信号带拼断模型学了错纹理最早训练时我用的是 YOLOv5 默认增强也就是--mosaic 1.0。跑完看结果模型漏检最多的场景是跳频信号也就是那些在频域上一条一条跳跃的亮线。后来把中间层特征导出来看才发现问题出在 mosaic 上。mosaic 把四张图缩放后拼成一张大图每条信号带都被强行切断成好几段网络学到的模式是“片段化的噪声”而不是“连续扫频的亮带”。解决方法是把 mosaic 概率调低到 0.1只保留少量拼接增强以增加样本多样性同时关闭 HSV 扰动。这样模型才能看到完整的信号结构。频射信号最重要的特征是连续性和频率变化规律任何破坏这两个属性的增强都应该关闭。5.3 现象三标注框框住整片噪声区域样本质量崩塌这是标注质量层面的坑。部分标注人员在理解任务时把整片频谱图上颜色较亮的地方都框上了个别框甚至覆盖了三分之一张图。在频射检测里这样的标注等于告诉模型“亮的地方就是目标”。于是训练出来的模型遇到有干扰脉冲的时频图时误检率陡然升高。原因在于标注规范和检测目标没对齐。我建议对每一条标注重新确认这个框是否正好圈住一个通信信号的能量带而不是一张图里的所有强能量区域。如果数据集中框的面积普遍偏大可以设置一个宽高上限把框占比超过15%的目标挑出来人工复核。后续自己采集数据时也一定要先把标注规则写清楚再发给标注人员。5.4 现象四预处理和FFT参数不一致训练验证两个世界频射数据集有一个独有的坑原始 IQ 数据变成时频图的过程中FFT 点数、窗函数、重叠率、归一化方式都会影响图片长什么样。同一个信号用 256 点 FFT 画出来是粗颗粒的亮斑用 2048 点 FFT 画出来就是细长的亮线。如果数据集的 364 张图来自不同参数下的信号处理过程模型会同时学习多种“画风”导致训练困难。某公司给我一批补充数据时我直接混进原数据集训练结果是验证集准确率大跌。查了才发现新图片的色阶归一化范围和原数据不一致同样的信号功率一张图里是红色另一张图里是蓝绿色。解决方法是把预处理管线固定成统一协议保存一份信号处理参数表包括采样率、FFT点数、窗函数类型、重叠率、动态范围上限。之后所有新增数据都走同一套管线这个坑就能彻底避开。5.5 现象五小数据集随机划分同源图片串到两个集合还有一个更隐蔽的问题364张图看起来不多但如果采集时是连续录了一段长信号再按时间窗切成一张张图那么相邻帧之间的差异非常小。随机划分时第 21 帧进了训练集第 22 帧进了验证集模型在训练时等于见过验证集的近似副本。此时验证指标再高也不能反映真实场景下的表现。解决方法是按信号片段分组。拿到数据先看文件名有没有时间戳、批次号、采集点编号没有的话用图片之间的像素差做聚类把相似度过高的图片归为一组。分组后按组划分保证同一个信号源的所有帧只出现在一个集合里。这个操作在小数据集上对最终模型的真实泛化能力有决定性的影响值得在训练前多花半小时处理。6. 让364张数据变成自己的数据资产自采集扩展、类别拆分与留痕习惯6.1 自采集IQ数据并自动生成时频图候选框364张只是起步。我建议在跑通训练之后考虑用自己的接收设备采集更多数据。常见做法是用低成本接收设备采集 IQ 数据保存成复数格式再离线转换为时频图。转换时 FFT 参数必须与原始数据集的生成方式保持一致。一键生成时频图的参考代码如下import numpy as np from scipy import signal def iq_to_waterfall(iq, fs, fft_size512, overlap0.5): # iq: 复数IQ数据fs: 采样率 f, t, Sxx signal.spectrogram( iq, fsfs, windowhann, npersegfft_size, noverlapint(fft_size * overlap) ) Sxx_db 20 * np.log10(Sxx 1e-9) Sxx_db - Sxx_db.min() img (Sxx_db / (Sxx_db.max() 1e-9) * 255).astype(np.uint8) return img, f, t这段代码用频谱图函数把 IQ 数据变成时频图输出 0 到 255 的灰度或伪彩色图像。生成图片之后可以用能量检测做自动候选框也就是在时频图上找能量高于背景阈值的连通区域画成矩形框。自动框的精度不够但作为预标注人工复核的工作量会大幅降低。我一般这样把一小时采集数据变成几百张可训练图片效率高于纯手工标注。6.2 类别拆分、轻量部署和一个“参数锁死”习惯如果你不满足于“有没有无人机信号”可以把标注细分成遥控信号、图传信号、遥控器信号甚至按跳频、定频等不同体制分门别类。类别细分后模型能给出的信息量就从“有异常信号”升级为“这是什么类型的信号”对后续研判和处置决策的帮助更大。代价是每个类别都需要足够样本364张图做单一类别尚可拆成多个类别规模不足这就是为什么要自采集扩展。轻量部署方面我习惯用 TensorRT 把 best.pt 转成 FP16 引擎固定输入尺寸部署到边缘设备上。时频图生成模块做成实时流式处理边采集边推理形成完整的频射监测链路。最后说一个我自己的习惯每个实验开始前把 FFT 参数、划分方式、增强配置全写在实验记录里同一份数据集永远只用同一套信号处理管线。频射检测的翻车大多不在模型结构而在成像口径不一致。先锁死参数再谈调模型你会少走很多弯路这也是我在这类数据集上吃过亏后的最大教训。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

2026年AI模型API聚合服务实力横评:词元之河与硅基流动的稳定性与落地适配对比

2026年AI模型API聚合服务实力横评:词元之河与硅基流动的稳定性与落地适配对比

中小技术团队部署大模型应用,普遍要过三道坎:其一,境外模型直连受网络策略、IP 信誉与额度审批限制,平均开通要等好几个工作日;其二,国产模型协议碎片化,Qwen、GLM、DeepSeek、Claude 各家的字段…

2026/10/18 5:36:42 阅读更多 →
GPS+INS组合导航:惯导漂移、误差状态卡尔曼滤波与工程避坑指南

GPS+INS组合导航:惯导漂移、误差状态卡尔曼滤波与工程避坑指南

简介:面向组合导航学习与研究者的Matlab实现资源,重点解决GPS信号在高楼密集区、树林或电磁干扰下易丢失,而惯导系统误差随运行时间不断累积的问题,通过两者优势互补实现连续稳定的高精度导航。资源适合导航专业学生、算法工程师及…

2026/10/18 5:35:42 阅读更多 →
轨道缺陷检测实战:4278张图COCO转YOLO训练裂缝与间隙模型

轨道缺陷检测实战:4278张图COCO转YOLO训练裂缝与间隙模型

简介:铁路轨道缺陷数据集是一套面向目标检测与缺陷识别任务的实用资源,专注于铁路巡检场景,适合从事轨道病害检测、计算机视觉算法研究的工程师与学者。数据集中包含4278张原始图片,已按COCO JSON格式完成标注,能清晰区…

2026/10/18 5:35:42 阅读更多 →

最新新闻

Servlet+JSP+MySQL:手把手拆解经典Java Web新闻发布系统

Servlet+JSP+MySQL:手把手拆解经典Java Web新闻发布系统

简介:基于Java Servlet、JSP和MySQL的Web新闻发布系统源码,适合正在学习Java Web开发的初学者,以及需要课程设计或毕业设计参考的学生。项目采用MVC分层模式,实现了新闻的发布、编辑、删除和展示,还包含用户登录认证、…

2026/10/18 6:30:52 阅读更多 →
老系统重构实战:从数据库连接池打爆到模块化单体选型复盘

老系统重构实战:从数据库连接池打爆到模块化单体选型复盘

这期节目聊完,我在整理笔记的时候发现,Dirk和Linus两个人聊得最投入、最没有嘉宾包袱的一次,反而是这期讲"旧系统改造"的。原因很简单:他们俩都亲手拆过自己的烂摊子,也都被人用"别动,动了出…

2026/10/18 6:30:52 阅读更多 →
基于SAM的多阶段细化橄榄树遥感分割方案与实践

基于SAM的多阶段细化橄榄树遥感分割方案与实践

做农业遥感这几年,“橄榄树分割”这个需求我前前后后碰过好几回。刚开始觉得这事不难——树冠是圆的、叶子是常绿的,卫星图上看起来就是一片片绿色圆斑,做个阈值分割加形态学处理,应该分分钟搞定。真上了项目才发现,远…

2026/10/18 6:30:52 阅读更多 →
贪吃蛇不是玩具:JavaScript状态机驱动的游戏内核设计

贪吃蛇不是玩具:JavaScript状态机驱动的游戏内核设计

1. 这不是玩具代码,而是一次对前端基础能力的全面压力测试“使用 JavaScript 开发贪吃蛇游戏”——看到这个标题,很多人第一反应是:“老掉牙了,网上教程一抓一大把。”但如果你真去翻过那些所谓“5分钟上手”的教程,就…

2026/10/18 6:30:52 阅读更多 →
自动化测试框架选型:Selenium、Cypress与Playwright深度对比

自动化测试框架选型:Selenium、Cypress与Playwright深度对比

聊到自动化测试框架,圈子里每隔一阵就要吵一轮:Selenium这么老还这么稳,Cypress开发体验爽到飞起,Playwright又带着一堆黑科技来抢地盘,旁边还站着Puppeteer和Appium盯着移动端那块蛋糕。到底选谁?这个问题…

2026/10/18 6:30:52 阅读更多 →
力扣198打家劫舍补充(滚动数组)

力扣198打家劫舍补充(滚动数组)

补充力扣198打家劫舍(动态规划)-CSDN博客的滚动数组写法,只有小改动 原未使用滚动数组代码: class Solution {public int rob(int[] nums) {int length nums.length;if(nums null || length 0){ return 0; }if(length 1){re…

2026/10/18 6:29:52 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

2026/10/18 0:00:55 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/18 0:55:02 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →