ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Label Studio 时间序列活动识别标注模板:TimeSeries 多通道配置与活动区间标注全解析

Label Studio 时间序列活动识别标注模板:TimeSeries 多通道配置与活动区间标注全解析 Label Studio 时间序列活动识别标注模板TimeSeries 多通道配置与活动区间标注全解析【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio本篇以 Label Studio 官方的 Activity Recognition人体活动识别标注模板为核心完整讲解如何用TimeSeries/TimeSeriesLabels/Channel三个标签配置多通道传感器时间序列的区间标注。读完后你将能够独立编写该模板的 Labeling Config、理解 CSV 数据源与时间列解析规则、掌握overviewChannels等关键参数的实现原理并能读懂标注结果导出的timeserieslabels结果格式。模板定位多通道时间序列上的活动分类该模板面向Time Series Analysis时间序列分析场景当需要对人体活动识别Human Activity Recognition, HAR做时间序列分类时使用它可以在同一条时间序列的多个通道如速度、加速度上框选出不同活动类型对应的时间区间。仓库中该模板的元信息位于 config.yml其中列出了典型应用方向健身追踪、健康监测、运动表现、康复、可穿戴设备等以及常见的下游模型LSTM、CNN-LSTM、Random Forest、SVM、隐马尔可夫模型、注意力机制等可作为选型参考。模板的核心思路是标注员在时间轴上拖拽出一个起止时间区间的 Region并为该区间打上Run、Walk、Fly、Swim、Ride之一的标签——即按时间区间做活动分类这是 HAR 数据集构建的典型标注范式。完整 Labeling Config模板文档 给出的完整配置如下仓库内的模板文件 config.xml 与之完全一致View !-- Control tag for region labels -- TimeSeriesLabels namelabel toNamets Label valueRun backgroundred/ Label valueWalk backgroundgreen/ Label valueFly backgroundblue/ Label valueSwim background#f6a/ Label valueRide background#351/ /TimeSeriesLabels !-- Object tag for time series data source -- TimeSeries namets valueTypeurl value$timeseriesUrl sep, timeColumntime timeFormat%Y-%m-%d %H:%M:%S.%f timeDisplayFormat%Y-%m-%d overviewChannelsvelocity Channel columnvelocity unitsmiles/h displayFormat,.1f strokeColor#1f77b4 legendVelocity/ Channel columnacceleration unitsmiles/h^2 displayFormat,.1f strokeColor#ff7f0e legendAcceleration/ /TimeSeries /View所有标注配置都必须包裹在View标签中参见 View 标签文档。整个配置由两部分组成TimeSeriesLabelsControl 标签提供标注员可以应用到时间序列图区间上的标签列表TimeSeriesObject 标签声明时间序列数据源其内部嵌套若干Channel子标签描述每条数据通道。TimeSeriesLabels 控制标签定义可选活动类别TimeSeriesLabels的name属性是标注结果中from_name的来源toName必须指向被标注的TimeSeries对象的name——本例中即label指向ts。每个Label的value是活动类别名background决定该区间在图上的填充色支持 HTML 颜色名red、green、blue或十六进制色值#f6a、#351。TimeSeriesLabels的完整参数表来自 官方参数说明参数类型默认值说明namestring元素名称toNamestring要标注的TimeSeries的 namechoicesingle|multiplesingle允许单选还是多选标签maxUsagesnumber单个标签在每个任务中最大使用次数showInlinebooleantrue标签是否在同一行内联显示opacityfloat0.9标注区间的透明度fillColorstringtransparent区间填充色strokeColorstring#f48a42区间描边色strokeWidthnumber1区间描边宽度模板中每个Label都显式指定了background使不同活动区间在图上颜色分明若需要一个区间可选多个活动例如 Run 与 Ride 同时发生可将choice改为multiple——此时导出结果中的timeserieslabels数组会包含多个值。TimeSeries 对象标签数据源与时间轴解析TimeSeries的valueTypeurl参数表示时间序列数据以 URL 形式提供而非内嵌 JSONvalue$timeseriesUrl则指定该 URL 存放于任务数据键timeseriesUrl中sep,指定 CSV 使用逗号分隔符CSV 文件的标准分隔符。三个 time 参数分别控制数据文件中时间所在列timeColumntime、文件内时间字符串的解析格式timeFormat%Y-%m-%d %H:%M-%d %H:%M:%S.%f注意.%f表示微秒、以及标注界面上的显示格式timeDisplayFormat%Y-%m-%d只显示到日期。TimeSeries完整参数表来自 官方参数说明参数类型默认值说明namestring元素名称供toName引用valuestring数据查找键valueTypeurl时指向 URL否则期望 JSONvalueTypeurl|jsonurl时间序列数据格式syncstring与之同步播放的 Object 名称cursorColorstring同步播放光标的颜色timeColumnstring提供时间值的列名或索引缺省时自动生成timeFormatstring解析timeColumn中值的 strftime 模式由 d3 提供timeDisplayFormatstring时间值的显示格式日期用 strftime数值用 d3 number 格式durationDisplayFormatstring.0fbrush 范围中时长的显示格式sepstring,CSV 分隔符overviewChannelsstring在概览窗口中显示的通道名/索引列表逗号分隔overviewWidthstring25%概览窗口的默认宽度百分比fixedScalebooleanfalse是否将 Y 轴缩放到能容纳全部数据的最大值时间列解析的源码级细节从源码 TimeSeries.jsx 可以看到时间轴的处理逻辑get keyColumn() { // for virtual column use just an uniq random name to not overlap with other column names return (self.timecolumn || #$).toLowerCase(); } get parseTimeFn() { return self.timeformat self.timecolumn ? d3.utcParse(self.timeformat) : Number; }由此可以确认两点若省略timeColumn编辑器内部会生成一个名为#$的虚拟时间列用自增索引作为时间轴这与 TimeSeries 标签文档 中To use autogenerated indices as time axes, dont use thetimeColumnparameter的说明一致只有同时提供了timeFormat和timeColumn时才会用d3.utcParse按 strftime 模式解析时间字符串即解析为 UTC 时间否则按数值处理。本模板的%Y-%m-%d %H:%M:%S.%f正是对应数据中2020-01-04 00:00:00.000000这种含微秒的字符串格式。重要限制数据中的时间轴必须已排序否则TimeSeries标签无法正常工作见 标签文档开头提示。overviewChannels概览窗口只显示关键通道overviewChannelsvelocity参数指定在主图下方的小型概览窗口overview中只绘制velocity通道。其实现可参见 TimeSeries.jsx 中的filteredOverviewChannelsgetter该视图会把overviewchannels按逗号切分、转小写后与数据列名逐一匹配只保留命中的通道渲染到概览图。这一设计对 HAR 场景很实用当主图需要看acceleration的细微波形时概览窗口仍用velocity提供全程速度的缩略全景帮助标注员快速定位当前浏览位置。配合overviewWidth默认25%即默认显示全程的前四分之一可以控制概览窗口默认覆盖的时间跨度。Channel 子标签逐通道的外观与单位描述TimeSeries内的每个Channel描述一条数据列列名column、单位units、数值显示格式displayFormat使用 d3-format 语法、曲线颜色strokeColor以及图例名称legend。模板中两条通道分别用蓝色#1f77b4和橙色#ff7f0e区分速度miles/h与加速度miles/h^2。Channel完整参数表来自 官方参数说明参数类型默认值说明columnstring列名或索引legendstring通道在图例中的显示名unitsstring单位显示名displayFormatstringd3-format 格式串如,.1f千分位 1 位小数12345.6 → 12,345.6heightnumber200该通道绘图区高度像素strokeColorstring#f48a42曲线颜色十六进制strokeWidthnumber1线宽markerColorstring#f48a42数据点标记颜色markerSizenumber0标记尺寸markerSymbolnumbercircle标记形状timeRangestringX 轴数据范围dataRangestringY 轴数据范围showAxisstring控制坐标轴显示fixedScaleboolean若给定则覆盖TimeSeries的fixedScaledisplayFormat,.1f的含义是用千分位分隔符分组、保留 1 位小数并按浮点数格式化。若数据是百分比语义也可以用%类型如%.1将 1.2345 显示为 123.4%。数据准备CSV 结构与数据键约定valueTypeurl模式下timeseriesUrl键应指向一个可访问的 CSV 文件其内容约定为第一列模板中为time列时间值字符串格式与timeFormat一致例如2020-01-04 00:00:00.000000其余各列与Channel的column属性一一对应的数据列本例为velocity与acceleration分隔符与sep参数一致逗号按时间升序排列。模板文件末尾的示例数据注释见 config.xml给出了官方示例 CSV 的 URL 形态/samples/time-series.csv?timetimevaluesvelocity%2Caccelerationsep%2Ctf%25Y-%25m-%25d%25H%3A%25M%3A%25S.%25f其中查询参数time时间列名、values数据列列表、sep分隔符、tftime format双 URL 编码由 Label Studio 的时序数据代理层解析实际使用时可换成你自己存储的、符合上述结构的 CSV。若更偏好把时序数据内嵌在任务 JSON 中可省略valueTypeurl并让value直接指向存放 JSON 数组的键valueTypejson配置写法参见 TimeSeries 标签文档 中的第二个示例。标注结果格式timeserieslabels标注员在图上拖出的每个活动区间在导出结果中是一条type: timeserieslabels的 result。模板文件中附带的示例标注config.xml 注释内展示了三条典型结果{ value: { start: 2020-01-04 00:00:00.000000, end: 2020-01-11 00:00:00.000000, instant: false, timeserieslabels: [Run] }, id: kbNNRWV2xs, from_name: label, to_name: ts, type: timeserieslabels }各字段含义start/end区间起止时间格式与timeFormat对应模板示例中为含微秒的日期字符串instantfalse表示这是一个时间段region而非时间点timeserieslabels所选标签值的数组标签名取自TimeSeriesLabels的name这里是label与from_name一致to_name被标注对象TimeSeries的name这里是tsid该 result 的唯一标识。导出后这类结果即可直接用于训练数据构造对start–end窗口内的多通道采样做切片并以timeserieslabels中的活动类别作为标签喂给 LSTM / CNN-LSTM 等时序分类模型。相关资源TimeSeries 标签文档含MultiChannel分组用法与更多示例TimeSeriesLabels 标签文档参数参考表TimeSeries、Channel、TimeSeriesLabels模板源文件config.xml、config.yml编辑器实现TimeSeries.jsx同组其他时间序列模板变点检测、异常检测、信号质量、时间序列预测位于 time-series-analysis 目录配置结构可与本模板相互对照【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进