
人工智能深度学习计算机视觉科研【免费下载链接】DeepLabCutOfficial implementation of DeepLabCut: Markerless pose estimation of user-defined features with deep learning for all animals incl. humans项目地址https://gitcode.com/gh_mirrors/de/DeepLabCut点击查看免费下载数据质量决定模型上限。DeepLabCut 提供了一条基于napari-DeepLabCut 插件的聚类Clustering异常帧检测工作流在 napari 可视化界面中打开CollectedData_ScorerName.h5标注文件一键聚类逐帧定位标注错误并直接在图谱中修正后保存从而将高质量样本重新注入训练集。本文是官方 cookbook 配方 ClusteringNapari.md 的深度展开读完你将掌握聚类找错 → 可视化精修 → 重训模型的完整主动学习闭环以及它与extract_outlier_frames等既有异常帧工具的异同。为什么需要聚类标签质量与主动学习TL;DR你的数据质量至关重要DeepLabCut 默认提供的check_labels只能帮你看一眼标注是否放在了正确位置、是否存入了正确格式其实现见 trainingsetmanipulation.py对应 CLI 命令也在 cli.py 中。但用户标注错误如把左耳标成右耳、漏标尾根点对模型性能的伤害往往是隐蔽且持续的仅仅检查并不足以发现所有问题。主动学习Active Learning的核心思路是将分析视频得到的预测结果或人工标注文件中表现最差的帧找出来人工修正后放回训练集再迭代训练。DeepLabCut 官方用户指南 standardDeepLabCut_UserGuide.md 明确阐述了这个框架找出疑似异常帧putative outlier frames是主动学习的关键难点——分析视频没有 ground truth无法直接判断预测对错常见的启发式方法包括利用身体部位轨迹的连续性来识别解码器可能产生大误差的图像不需要修正所有错误——通过重新标注少量代表性样本再重训即可消除大部分系统性错误。也正是围绕如何更聪明地找出异常帧社区提出了聚类方案不依赖逐帧轨迹启发式而是对标注帧本身做特征聚类把长得不一样的帧成组暴露出来供人工快速筛查。napari-DeepLabCut 插件聚类功能入口聚类功能属于napari-DeepLabCut插件napari 平台的 DeepLabCut 标注/精修插件。该插件随DeepLabCut[gui]一并安装也可以作为独立插件单独使用pip install napari-deeplabcut napari启动后在菜单中打开Plugins - napari-deeplabcut: Keypoint controls插件支持直接打开 DeepLabCut 的config.yaml、图像文件夹、视频以及.h5标注文件详见 docs/gui/napari/basic_usage.md。聚类配方演示所用数据是 Horse-30 数据集Mathis, Biasi 等人WACV 2022作为演示与开发集其结构与任意 DeepLabCut 项目的labeled-data/目录一致。开始之前请打开你的标注文件CollectedData_ScorerName.h5路径位于项目labeled-data/视频文件夹/下。注意插件默认假设config.yaml位于CollectedData...文件向上两级的位置即标准 DeepLabCut 项目结构把数据保持在项目目录内可获得最佳兼容性。实战聚类检测异常帧1. 打开文件与运行聚类在 napari 中打开CollectedData_ScorerName.h5后点击插件面板上的cluster按钮等待数秒画面中会出现一个新的点图层——每一簇点对应一组特征相似/相异的帧。2. 点击查看关键点在新图层上点击任意一个点右侧图像面板会同步显示该帧对应的图像与关键点标注位置。这一步让你能在不看原始视频的情况下快速判断这帧的耳朵是不是标反了尾巴根是不是漏标了3. 可视化精修如果决定修正该帧建议先把点移动到明显错误位置以验证流程点击show img进入精修模式使用插件提供的标注/选择工具移动或增删关键点精修完成后务必按下Ctrl-S保存等价于菜单File - Save Selected Layer(s)...。4. 返回聚类视图继续筛查点击close img可回到聚类图层继续挑选并精修下一帧。所有修改会写回CollectedData_ScorerName.h5同时生成配套的.csv但 DeepLabCut 训练时以.h5为权威标注来源。⚠️ 关键提醒每次编辑完一帧都要按Ctrl-S否则修改不会落盘。5. 重训闭环拿到更新后的CollectedData文件后进入Create Training Dataset流程创建新的 training shuffle然后重新训练网络。可参考 create_training_dataset API 文档 与 Training-Evaluation 指南。聚类实现的接口约定与自定义聚类按钮背后的实现位于 napari-deeplabcut 仓库中的kmeans.py对应文档提及的kmeans.py文件。如果你想更换聚类算法需要注意保持以下接口契约输入方式保持为pandas DataFrame即插件读取CollectedData的方式不变输出必须依次包含三部分顺序不能变聚类点cluster points簇颜色对应的点颜色points colors in the cluster colors帧名frame names。这一约定保证了 napari 图层能正确把点坐标、颜色、帧索引三者对齐渲染。修改时建议先阅读插件的读取与渲染逻辑再替换聚类核心如改为 DBSCAN、HDBSCAN 或基于特征的聚类保持 DataFrame 输入输出形状一致即可无缝接入。与 extract_outlier_frames 的对比两种找错路线聚类工作流聚焦人工标注文件的筛查而 DeepLabCut 主线还提供了针对**分析结果H5 预测文件**的异常帧提取函数extract_outlier_frames两者互为补充。该函数定义在 outlier_frames.py核心参数如下参数默认值含义outlieralgorithmjump异常判定算法fitting对轨迹拟合 ARIMA/SARIMAX 模型并计算偏差、jump任一体部位移超过epsilon、uncertain置信度低于p_bound、manual启动 napari 手动挑选、list提供帧号列表epsilon20fitting/jump模式的像素距离阈值p_bound0.01uncertain模式下的置信度下限ARdegree/MAdegree3/1SARIMAX 模型的自回归/滑动平均阶数fitting模式alpha0.01fitting模式显著性水平extractionalgorithmkmeans从候选异常帧中挑选最终帧的方式kmeans或uniform与extract_frames逻辑一致cluster_resizewidth30kmeans模式下图像下采样宽度保持宽高比cluster_colorFalse是否保留彩色通道参与聚类False时按灰度向量处理更省算力automaticFalse是否跳过交互式确认直接提取comparisonbodypartsall参与异常判定的部位集合可传子集如[hand,Joystick]从源码看其实现逻辑清晰可循jump模式对坐标逐帧做差分后平方求和任一体部位移超过epsilon**2即标记为候选outlier_frames.pyfitting模式先用SARIMAX拟合轨迹把置信度低于p_cutoff的估计值置为缺失nan再拟合然后按偏差距离筛选outlier_frames.pymanual模式直接调用launch_napari打开视频与dataname供人工挑选outlier_frames.py。对应地DeepLabCut GUI 的Extract Outlier Frames标签页也集成了 napari 精修入口launch_refinement_gui调launch_napari()见 extract_outlier_frames.py。完整参数文档见 docs/api/deeplabcut.extract_outlier_frames.rst。典型调用示例基于 API 文档import deeplabcut # 默认 jump 算法 deeplabcut.extract_outlier_frames( /analysis/project/reaching-task/config.yaml, [/analysis/project/video/reachingvideo1.avi], ) # kmeans 挑选 更严格的跳变阈值 deeplabcut.extract_outlier_frames( /analysis/project/reaching-task/config.yaml, [/analysis/project/video/reachingvideo1.avi], epsilon5, extractionalgorithmkmeans, )注意extract_outlier_frames要求目标视频已经过analyze_videos分析并生成对应 H5 文件否则会抛出 It seems the video has not been analyzed yet 的提示见 outlier_frames.py。两种找错路线的选用建议人工标注刚完成、准备造训练集之前优先用napari 聚类筛查CollectedData把漏标、错标在源头消灭——这正是本文主推的用法也是check_labels无法替代的深度检查视频分析完成、预测质量不稳时用extract_outlier_frames从机器预测 H5 中抽取异常帧通过manual或uncertain模式批量精修预测结果再并入训练集。两条路线殊途同归都服务于用最少的人工标注成本把特征检测器提升到预定的置信水平这一主动学习目标。修好之后记得创建新的 training shuffle再重训不要直接覆盖旧 shuffle这样便于对比修正前后的性能差异。当前能力边界与后续规划按官方配方文档的说明当前功能仍有明确的边界现阶段演示与支持的是人工标注user-labels即CollectedData_ScorerName.h5——人工标注永远值得检查与修正这是训练出最好模型的前提下一阶段将支持machinelabels-*.h5文件machinelabels-iter....h5这类机器预测输出届时可直接对网络预测结果做聚类筛查形成完整主动学习闭环。值得一提的是napari-deeplabcut 插件本身已经支持打开并精修machinelabels...文件机器标签用交叉标记显示、GT 用圆盘标记显示精修结果会合并写回CollectedData详见 basic_usage.md 的 Refining machine labels 小节因此机器标签 → 聚类 → 人工精修的工作流正在逐步落地。结语聚类方法为 DeepLabCut 的主动学习工具箱新增了一条直观、高效的异常帧发现路径把二维点图上的聚类簇变成需要复查的帧集合让数据质量检查从枯燥的逐帧翻看变成可视化批量筛查。无论你是刚完成首轮标注的新手还是正在冲刺精度的进阶用户都值得把聚类 → 精修 → Ctrl-S → 新 shuffle 重训这一循环纳入标准工作流。Happy Hacking赞分享人工智能深度学习计算机视觉科研【免费下载链接】DeepLabCutOfficial implementation of DeepLabCut: Markerless pose estimation of user-defined features with deep learning for all animals incl. humans项目地址https://gitcode.com/gh_mirrors/de/DeepLabCut点击查看免费下载相关推荐DeepLabCut 标注与标签修正完全指南napari-deeplabcut 插件基本用法详解DeepLabCut 标注与标签修正完全指南napari deeplabcut 插件基本用法详解 napari deeplabcut 是 DeepLabCut人工智能深度学习计算机视觉科研DeepLabCut napari 标注插件故障排查指南图层锁定、帧丢失与标注错位修复DeepLabCut napari 标注插件故障排查指南图层锁定、帧丢失与标注错位修复 napari deeplabcut 是 DeepLabCut 项目内置人工智能深度学习计算机视觉科研DeepLabCut napari GUI 标注插件完整指南关键点标注、标签精修与半自动点追踪DeepLabCut napari GUI 标注插件完整指南关键点标注、标签精修与半自动点追踪 napari DLC napari deeplabcut 人工智能深度学习计算机视觉科研上一篇yuzu模拟器终极指南在PC上免费畅玩Switch游戏的完整教程下一篇3种颠覆性方法从Windows系统底层彻底移除Microsoft Edge的技术解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考