MediaPipe 数据集构建指南:从零到可训练的完整清单

发布时间:2026/9/2 11:25:32
MediaPipe 数据集构建指南:从零到可训练的完整清单 MediaPipe 数据集构建指南从零到可训练的完整清单【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe这篇介绍 MediaPipe 数据集的完整构建链路。你手里有相机帧或视频素材目标是得到一个能直接喂给 Model Maker 训练的分类数据集。读完你会知道目录怎么摆、标签怎么写、预处理怎么做、以及怎么验证数据真的能用。为分类任务搭好 MediaPipe 数据集的目录结构先把素材归位原始数据来自设备拍照或视频抽帧落成一个类别一个文件夹的结构。Model Maker 的from_folder按这个结构直接读取目录摆对后面大半工作就完成了。仓库里就有一个现成的分类数据集目录可参考raw_data/ ├── four/ # 每类一个文件夹文件名随意 ├── none/ └── rock/命名规则三条类别文件夹用英文小写加数字别用中文或空格train、validation、test 三个切分里同名类别要一致验证集里每个类别至少留一张图素材来自视频时抽帧节奏是关键决策。10 帧/秒是稳妥起点一秒素材出 10 张相邻帧已经不同抽 30 帧/秒则会得到大量近乎重复的图徒增体量。下面这段代码做的事是按 10 帧/秒从视频里等间隔抽帧并保存。import cv2 import os cap cv2.VideoCapture(hand_gestures.mp4) os.makedirs(frames, exist_okTrue) i, saved 0, 0 while cap.isOpened(): ok, frame cap.read() if not ok: break if i % 30 0: # 30 fps 素材取 10 帧/秒 cv2.imwrite(fframes/f_{saved:04d}.jpg, frame) saved 1 i 1 cap.release()桌面端也可以直接用mediapipe/examples/desktop里的示例程序批量拍照命名自动编号。写好标签文件并查掉命名不一致图像分类的标签就是目录结构本身Model Maker 把一级子目录名当类别名不依赖额外标注工具这一步省掉了标注软件的安装和导出。换到目标检测任务才需要框级标注。这类数据用 LabelImg 一类工具生成 Pascal VOC 格式类别名统一收进 LabelMap 文件解析逻辑在 mediapipe/util/label_map_util.cc。做人脸这类检测任务时值得看一眼仓库里的标注结果长什么样图中方框是检测框0,0.93,是类别索引和置信度——这就是检测标注落到像素上的样子。两种标签形态速查形态适用任务载体目录即标签图像分类类别文件夹名LabelMap 条目目标检测item { id name }文本易错点类别名在文件夹、LabelMap、代码注释三处写法不一致训练能跑通但结果对不上号。命名以最短的英文词为准一次定死。数据集预处理统一 224×224 输入与色彩空间预处理做三件事缩放、色彩空间统一、轻度增强。参数先按这张表定参数推荐值说明输入尺寸224×224模型统一输入最小分辨率256×256低于此值放大后模糊抽帧频率10 帧/秒素材到样本的转换率训练/验证比例0.8split(0.8)缩放实现看 mediapipe/util/image_frame_util.cc里面的RescaleImageFrame用 16 位 LinearRGB 做中间计算直接拉伸会有的色偏在这里被避开。增强只做轻度对分类任务有效的就三样水平翻转手势左右镜像后含义不变小角度旋转±15° 以内增强角度鲁棒性亮度对比度抖动覆盖不同光照重模糊、90° 旋转这类变换会把手势类别本身改变别加。用 Model Maker 切分并校验数据集加载与切分两步就能验证数据是否可用。下面这段代码做的事是从目录加载数据集、按 8:2 切分并打印类别数和样本数供核对。from mediapipe.model_maker import image_classifier data image_classifier.Dataset.from_folder( dataset, shuffleTrue) train, val data.split(0.8) print(len(data.label_names), data.size) print(len(train), len(val))核对三件事label_names的个数等于类别文件夹数每个类别不少于 30 张样本低于就回去补采验证集非空且与训练集没有重名图片三条全过数据集交付训练。下一步顺着仓库深入docs/model_makerModel Maker 官方文档训练前查参数用mediapipe/model_maker/python/vision/image_classifier/dataset.pyfrom_folder的实现目录约定有争议时看它mediapipe/model_maker/python/vision/gesture_recognizer/手势识别数据集模块含raw_data真实样例想换任务类别时参考mediapipe/modules/预构建模型想知道目标任务的输入规格时查这里【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考