Figure 1.
Overall workflow of the proposed skeleton-semantic adaptive keyframe extraction framework for industrial assembly videos. The framework consists of five stages: OpenPose-based BODY-25 skeleton extraction, skeleton feature construction with confidence filtering and coordinate normalization, motion activity estimation using anchor-based relative motion and temporal smoothing, adaptive threshold generation, and keyframe selection based on the comparison between feature distance and adaptive threshold . After a frame is selected, the reference feature is updated for subsequent keyframe decisions. Arrows indicate the processing flow between stages.
Figure 1.
Overall workflow of the proposed skeleton-semantic adaptive keyframe extraction framework for industrial assembly videos. The framework consists of five stages: OpenPose-based BODY-25 skeleton extraction, skeleton feature construction with confidence filtering and coordinate normalization, motion activity estimation using anchor-based relative motion and temporal smoothing, adaptive threshold generation, and keyframe selection based on the comparison between feature distance and adaptive threshold . After a frame is selected, the reference feature is updated for subsequent keyframe decisions. Arrows indicate the processing flow between stages.
Figure 2.
Representative frames from Group-1, Group-2, and Group-3 industrial assembly videos.
Figure 2.
Representative frames from Group-1, Group-2, and Group-3 industrial assembly videos.
Figure 3.
Matched-budget comparison of Etr, CVsd, and MSD for eight methods at 271 keyframes per segment. Bars show the mean across three video segments, and error bars show one standard deviation.
Figure 3.
Matched-budget comparison of Etr, CVsd, and MSD for eight methods at 271 keyframes per segment. Bars show the mean across three video segments, and error bars show one standard deviation.
Figure 4.
Temporal distributions of keyframes selected by eight methods at a matched budget of 271 frames per video segment.
Figure 4.
Temporal distributions of keyframes selected by eight methods at a matched budget of 271 frames per video segment.
Figure 5.
Normalized multimetric comparison of eight methods at 271 keyframes per segment. Each metric is oriented so that a higher normalized score indicates a more favorable value.
Figure 5.
Normalized multimetric comparison of eight methods at 271 keyframes per segment. Each metric is oriented so that a higher normalized score indicates a more favorable value.
Figure 6.
Event recall within ±0.5 s and mean nearest-keyframe temporal error for eight methods under matched keyframe budgets of 60, 120, and 271 frames per segment. Each point aggregates the 34 manually annotated transitions from the three video segments.
Figure 6.
Event recall within ±0.5 s and mean nearest-keyframe temporal error for eight methods under matched keyframe budgets of 60, 120, and 271 frames per segment. Each point aggregates the 34 manually annotated transitions from the three video segments.
Figure 7.
Matched-budget ablation results for Etr, TC, CVsd, and MSD. Markers show the mean over the three video segments, and error bars show one standard deviation.
Figure 7.
Matched-budget ablation results for Etr, TC, CVsd, and MSD. Markers show the mean over the three video segments, and error bars show one standard deviation.
Figure 8.
Sensitivity of the selected-frame count and manually annotated event recall to , , epsilon, , the multiplier, and the multiplier. Error bars show one standard deviation across the three video segments.
Figure 8.
Sensitivity of the selected-frame count and manually annotated event recall to , , epsilon, , the multiplier, and the multiplier. Error bars show one standard deviation across the three video segments.
Figure 9.
Distribution of selected keyframes under the matched-budget setting across the three video groups.
Figure 9.
Distribution of selected keyframes under the matched-budget setting across the three video groups.
Figure 10.
Multimetric comparison of neck-anchor and hip-center-anchor results across the three video groups.
Figure 10.
Multimetric comparison of neck-anchor and hip-center-anchor results across the three video groups.
Figure 11.
Normalized bilateral-wrist motion-activity sequences obtained with the neck and hip-center anchors. Curves are smoothed over 24 frames for visualization only; all statistics and keyframe decisions use the original activity coefficients. Each panel reports the activity correlation, activity MAE, and keyframe overlap within ±3 frames.
Figure 11.
Normalized bilateral-wrist motion-activity sequences obtained with the neck and hip-center anchors. Curves are smoothed over 24 frames for visualization only; all statistics and keyframe decisions use the original activity coefficients. Each panel reports the activity correlation, activity MAE, and keyframe overlap within ±3 frames.
Figure 12.
Event recall and temporal overlap with the baseline keyframe set under controlled wrist dropout, upper-body occlusion, coordinate jitter, and global camera vibration. Error bars show one standard deviation over 30 runs per perturbation level.
Figure 12.
Event recall and temporal overlap with the baseline keyframe set under controlled wrist dropout, upper-body occlusion, coordinate jitter, and global camera vibration. Error bars show one standard deviation over 30 runs per perturbation level.
Figure 13.
Person-detection rate, feature-joint missing rate, wrist-joint missing rate, and keyframe overlap with the original-lighting rerun under controlled illumination transformations. Error bars show one standard deviation across the three segments.
Figure 13.
Person-detection rate, feature-joint missing rate, wrist-joint missing rate, and keyframe overlap with the original-lighting rerun under controlled illumination transformations. Error bars show one standard deviation across the three segments.
Figure 14.
Processing speed, peak memory, and wrist-keypoint missing rate of the decision-stage implementation.
Figure 14.
Processing speed, peak memory, and wrist-keypoint missing rate of the decision-stage implementation.
Figure 15.
OpenPose inference speed, end-to-end processing speed, average latency, and peak GPU memory increase in the AutoDL benchmark.
Figure 15.
OpenPose inference speed, end-to-end processing speed, average latency, and peak GPU memory increase in the AutoDL benchmark.
Table 1.
Main notation used in the proposed skeleton-semantic keyframe extraction method.
Table 1.
Main notation used in the proposed skeleton-semantic keyframe extraction method.
| Symbol | Definition |
|---|
| The frame of the input industrial assembly video |
| Total number of video frames |
| Two-dimensional coordinate of the -th BODY-25 joint in frame |
| Confidence score of the -th joint in frame |
| Confidence threshold for valid skeleton keypoint detection |
| Joint index set used for skeleton feature construction |
| Joint index set used for motion activity estimation |
| Skeleton feature vector of frame |
| Anchor point used for relative motion calculation |
| Relative motion magnitude at frame |
| Smoothed motion magnitude after sliding-window filtering |
| Normalized motion activity coefficient |
| Adaptive threshold at frame |
| Lower bound of the adaptive threshold |
| Upper bound of the adaptive threshold |
| Feature distance between the current frame and the reference keyframe |
| Output keyframe index set |
| Sliding-window size |
| Maximum allowed frame gap between two adjacent keyframes |
Table 2.
Pseudocode of the proposed skeleton-semantic adaptive keyframe extraction method.
Table 2.
Pseudocode of the proposed skeleton-semantic adaptive keyframe extraction method.
| Line | Operation |
|---|
| Input | Video frames; confidence threshold selected joint set wrist-joint set sliding-window size W; maximum frame gap target keyframe count. |
| Output | |
| 1 | Extract BODY-25 keypoints and confidence scores from every frame using OpenPose. |
| 2 | Form the confidence-validity mask, normalize the complete BODY-25 coordinate sequence, and temporally interpolate low-confidence normalized coordinates. |
| 3 | Select the upper-body joints
and concatenate their normalized coordinates to construct the frame feature |
| 4 | Use the neck joint as the default anchor; use the hip center only in the anchor-comparison experiment. |
| 5 | Calculate bilateral-wrist motion relative to the anchor and smooth the motion magnitude with a W-frame mean filter. |
| 6 | Normalize the smoothed motion magnitude to obtain the activity coefficien |
| 7 | Determine by 30-iteration binary search over [0.01, 3.0], set using the inverse activity-threshold mapping. |
| 8 | with the first frame and use its feature as the reference feature. |
| 9 | For each subsequent frame, calculate or the frame gap exceeds add the frame to and update the reference feature. |
| 10 | When an exact budget B is required, retain the binary-search output with the smallest |N − B| (ties: earlier search iteration). If N < B, add unselected frames in ascending order of (ties: lower frame index). If N > B, rank non-endpoint selected frames by the sum of distances to their adjacent selected frames; remove in ascending order only when the resulting gap is <=Gmax (ties: lower frame index). Do not rerun sequential reference updates; stop at N = B and return K. |
Table 3.
Parameter settings used in this study.
Table 3.
Parameter settings used in this study.
| Parameter | Value | Description |
|---|
| 0.2 | Confidence threshold for valid skeleton keypoints |
| 15 | Sliding-window size for temporal smoothing |
| ε | 10−5 | Small threshold for suppressing numerical fluctuations |
| 50 | Maximum allowed frame gap between adjacent keyframes |
| {1, 2, 3, 4, 5, 6, 7, 8} | Joint set for skeleton feature construction |
| {4, 7} | Wrist-joint set for motion activity estimation |
| Anchor | Neck (default); hip center (comparison) | Anchor used for relative wrist-motion calculation |
| 2.5 | Adaptive-threshold bound ratio |
| search interval | [0.01, 3.0] | Binary-search interval for capacity tuning |
| Search iterations | 30 | Fixed number of binary-search iterations |
Table 4.
Dataset statistics of the industrial assembly videos used in the experiments.
Table 4.
Dataset statistics of the industrial assembly videos used in the experiments.
| Dataset | Video File | Frames | Duration | FPS | Resolution | Motion Intensity | Main Operation Characteristics |
|---|
| Group-1 | video951.mp4 | 2882 | 00:02:00 | 24.00 | 640 × 368 | Low-to-medium | Repeated material handling, label/material preparation, positioning, and short stable assembly intervals |
| Group-2 | video2.mp4 | 2938 | 00:02:02 | 24.00 | 640 × 368 | Medium | Fine assembly and component positioning with more frequent wrist movement and operation transitions |
| Group-3 | video3.mp4 | 3207 | 00:02:13 | 24.00 | 640 × 368 | Medium-to-high | Longer sequence with material handling, side reaching, workpiece transfer, and more missing-keypoint cases |
Table 5.
Experimental environment configuration.
Table 5.
Experimental environment configuration.
| Environment | Parameter | Specification |
|---|
| Keyframe extraction and post-processing | CPU | Intel Core i7-11700K @ 3.60 GHz |
| Keyframe extraction and post-processing | Operating system | Microsoft Windows 10 (64-bit) |
| Keyframe extraction and post-processing | Pose estimator | OpenPose v1.7.0, BODY-25 |
| End-to-end runtime benchmark | Cloud platform | AutoDL Linux container |
| End-to-end runtime benchmark | CPU | Intel Xeon Platinum 8474C |
| End-to-end runtime benchmark | GPU | NVIDIA GeForce RTX 4090D, 24 GB |
| End-to-end runtime benchmark | Driver/CUDA | Driver 580.105.08/CUDA 13.0 |
| End-to-end runtime benchmark | Python | Python 3.8.10/NumPy 1.23.3 |
| End-to-end runtime benchmark | OpenPose setting | BODY-25; net resolution −1 × 368; one person |
| Modern transformer baseline | Transformer software | PyTorch 2.9.0/torchvision 0.24.0; CPU inference |
| Modern transformer baseline | Transformer model | MViT-V2-S; Kinetics-400 pretrained; no fine-tuning |
| Modern transformer baseline | Transformer input | 96 clips/segment; 16 frames/clip; temporal stride 3; 224 × 224 crop |
Table 6.
Keyframe extraction performance on the three industrial assembly video segments.
Table 6.
Keyframe extraction performance on the three industrial assembly video segments.
| Dataset | Original Frames | Keyframes | CR | Etr | TC | CVsd | KR | MSD |
|---|
| Group-1 | 2881 | 271 | 90.59% | 0.1006 | 89.74% | 0.2289 | 0.6023 | 0.8877 |
| Group-2 | 2938 | 270 | 90.81% | 0.0604 | 93.93% | 0.4467 | 0.6044 | 0.6934 |
| Group-3 | 3207 | 271 | 91.55% | 0.0748 | 92.49% | 0.3218 | 0.6029 | 0.7556 |
Table 7.
Matched-budget comparison at 271 keyframes per segment (mean ± standard deviation across three video segments).
Table 7.
Matched-budget comparison at 271 keyframes per segment (mean ± standard deviation across three video segments).
| Algorithm | Feature Space | Frames/ Segment | Etr | TC (%) | CVsd | KR | MSD |
|---|
| Proposed method | Skeleton | 271 | 0.0786 ± 0.0204 | 92.05 ± 2.13 | 0.3340 ± 0.1117 | 0.6031 ± 0.0009 | 0.7781 ± 0.1003 |
| Uniform sampling | Temporal index | 271 | 0.0633 ± 0.0081 | 93.61 ± 0.87 | 1.0140 ± 0.0924 | 0.6701 ± 0.0164 | 0.3100 ± 0.0125 |
| Pose-space clustering | Pose | 271 | 0.0678 ± 0.0068 | 93.15 ± 0.75 | 1.1498 ± 0.0353 | 0.6875 ± 0.0076 | 0.2829 ± 0.0160 |
| Pixel-space clustering | Decoded pixels | 271 | 0.0686 ± 0.0065 | 93.07 ± 0.72 | 1.0595 ± 0.0633 | 0.6839 ± 0.0122 | 0.2867 ± 0.0150 |
Fixed-threshold (pixel MSE) | Decoded pixels | 271 | 0.1015 ± 0.0169 | 89.76 ± 1.65 | 1.5184 ± 0.1122 | 0.7497 ± 0.0138 | 0.1931 ± 0.0054 |
| ORB + Flow | Decoded pixels | 271 | 0.1359 ± 0.0052 | 86.29 ± 0.44 | 2.0589 ± 0.1720 | 0.7990 ± 0.0171 | 0.1087 ± 0.0177 |
| Motion-adaptive | Decoded pixels | 271 | 0.0767 ± 0.0032 | 92.26 ± 0.36 | 1.1533 ± 0.0034 | 0.7020 ± 0.0057 | 0.2454 ± 0.0123 |
| MViT-V2-S feature clustering | Pretrained video transformer | 271 | 0.0645 ± 0.0068 | 93.48 ± 0.74 | 1.0681 ± 0.0754 | 0.6822 ± 0.0160 | 0.2961 ± 0.0305 |
Table 8.
Matched-budget comparison against 34 manually annotated assembly-process transitions across the three video segments.
Table 8.
Matched-budget comparison against 34 manually annotated assembly-process transitions across the three video segments.
| Budget per Segment | Method | Total Keyframes | Events | ER at ±0.5 s (%) | Mean Nearest-Keyframe Error (s) |
|---|
| 60 | Proposed method | 180 | 34 | 41.18 | 0.602 |
| 60 | Uniform sampling | 180 | 34 | 52.94 | 0.499 |
| 60 | Pose-space clustering | 180 | 34 | 41.18 | 0.825 |
| 60 | Pixel-space clustering | 180 | 34 | 44.12 | 0.661 |
| 60 | Fixed-threshold (pixel MSE) | 180 | 34 | 35.29 | 1.534 |
| 60 | ORB + Flow | 180 | 34 | 32.35 | 1.983 |
| 60 | Motion-adaptive | 180 | 34 | 70.59 | 0.413 |
| 60 | MViT-V2-S feature clustering | 180 | 34 | 61.76 | 0.518 |
| 120 | Proposed method | 360 | 34 | 58.82 | 0.482 |
| 120 | Uniform sampling | 360 | 34 | 97.06 | 0.243 |
| 120 | Pose-space clustering | 360 | 34 | 67.65 | 0.478 |
| 120 | Pixel-space clustering | 360 | 34 | 91.18 | 0.254 |
| 120 | Fixed-threshold (pixel MSE) | 360 | 34 | 61.76 | 0.618 |
| 120 | ORB + Flow | 360 | 34 | 35.29 | 1.741 |
| 120 | Motion-adaptive | 360 | 34 | 97.06 | 0.168 |
| 120 | MViT-V2-S feature clustering | 360 | 34 | 94.12 | 0.219 |
| 271 | Proposed method | 813 | 34 | 79.41 | 0.259 |
| 271 | Uniform sampling | 813 | 34 | 100.00 | 0.107 |
| 271 | Pose-space clustering | 813 | 34 | 97.06 | 0.148 |
| 271 | Pixel-space clustering | 813 | 34 | 100.00 | 0.102 |
| 271 | Fixed-threshold (pixel MSE) | 813 | 34 | 94.12 | 0.165 |
| 271 | ORB + Flow | 813 | 34 | 38.24 | 1.597 |
| 271 | Motion-adaptive | 813 | 34 | 97.06 | 0.089 |
| 271 | MViT-V2-S feature clustering | 813 | 34 | 100.00 | 0.120 |
Table 9.
Matched-budget ablation results across the three industrial assembly video segments (mean ± standard deviation).
Table 9.
Matched-budget ablation results across the three industrial assembly video segments (mean ± standard deviation).
| Budget | Variant | Etr | TC (%) | CVsd | MSD |
|---|
| 60 | A: Pixel + Static | 0.0951 ± 0.0024 | 90.40 ± 0.27 | 0.6477 ± 0.1129 | 0.5311 ± 0.0823 |
| 60 | B: Skeleton + Static | 0.0963 ± 0.0096 | 90.28 ± 1.06 | 0.6300 ± 0.0932 | 0.6004 ± 0.0267 |
| 60 | C: Pixel + Adaptive | 0.0946 ± 0.0051 | 90.44 ± 0.60 | 0.6289 ± 0.0957 | 0.5601 ± 0.0547 |
| 60 | D: Skeleton + Adaptive | 0.0990 ± 0.0076 | 90.00 ± 0.85 | 0.5883 ± 0.0669 | 0.6105 ± 0.0422 |
| 120 | A: Pixel + Static | 0.0852 ± 0.0043 | 91.40 ± 0.51 | 0.8315 ± 0.0312 | 0.4179 ± 0.0096 |
| 120 | B: Skeleton + Static | 0.0971 ± 0.0058 | 90.20 ± 0.65 | 0.4089 ± 0.0094 | 0.8415 ± 0.0253 |
| 120 | C: Pixel + Adaptive | 0.0893 ± 0.0050 | 90.98 ± 0.58 | 0.7779 ± 0.0275 | 0.4289 ± 0.0364 |
| 120 | D: Skeleton + Adaptive | 0.0981 ± 0.0105 | 90.09 ± 1.14 | 0.4320 ± 0.0230 | 0.8123 ± 0.0042 |
| 271 | A: Pixel + Static | 0.0739 ± 0.0059 | 92.54 ± 0.66 | 1.0907 ± 0.0562 | 0.2747 ± 0.0168 |
| 271 | B: Skeleton + Static | 0.0794 ± 0.0201 | 91.97 ± 2.11 | 0.3439 ± 0.1093 | 0.7692 ± 0.1025 |
| 271 | C: Pixel + Adaptive | 0.0720 ± 0.0069 | 92.73 ± 0.75 | 1.0815 ± 0.0399 | 0.2935 ± 0.0274 |
| 271 | D: Skeleton + Adaptive | 0.0784 ± 0.0197 | 92.08 ± 2.06 | 0.3301 ± 0.1147 | 0.7830 ± 0.1057 |
Table 10.
Parameter sensitivity results across the three industrial assembly video segments (mean ± standard deviation).
Table 10.
Parameter sensitivity results across the three industrial assembly video segments (mean ± standard deviation).
| Parameter | Value | Keyframes | Etr | CVsd | MSD | ER ± 0.5 s (%) |
|---|
| 5 | 265.3 ± 2.9 | 0.0797 ± 0.0190 | 0.3256 ± 0.1076 | 0.7882 ± 0.1001 | 77.31 ± 10.42 |
| 15 | 270.7 ± 0.6 | 0.0786 ± 0.0204 | 0.3324 ± 0.1093 | 0.7789 ± 0.0992 | 77.31 ± 10.42 |
| 25 | 271.7 ± 3.2 | 0.0782 ± 0.0202 | 0.3366 ± 0.1124 | 0.7769 ± 0.1070 | 77.31 ± 10.42 |
| 35 | 272.3 ± 4.0 | 0.0784 ± 0.0194 | 0.3394 ± 0.1151 | 0.7735 ± 0.1053 | 77.31 ± 10.42 |
| 0.1 | 273.0 ± 16.7 | 0.0874 ± 0.0151 | 0.3371 ± 0.0987 | 0.8255 ± 0.0796 | 84.72 ± 6.05 |
| 0.2 | 270.7 ± 0.6 | 0.0786 ± 0.0204 | 0.3324 ± 0.1093 | 0.7789 ± 0.0992 | 77.31 ± 10.42 |
| 0.3 | 256.3 ± 4.7 | 0.0736 ± 0.0199 | 0.3226 ± 0.0808 | 0.7282 ± 0.0888 | 77.31 ± 10.42 |
| 0.4 | 232.0 ± 16.5 | 0.0716 ± 0.0203 | 0.2921 ± 0.0955 | 0.6703 ± 0.1007 | 73.61 ± 16.37 |
| epsilon | 0 | 270.7 ± 0.6 | 0.0786 ± 0.0204 | 0.3324 ± 0.1093 | 0.7789 ± 0.0992 | 77.31 ± 10.42 |
| epsilon | 1 × 10−6 | 270.7 ± 0.6 | 0.0786 ± 0.0204 | 0.3324 ± 0.1093 | 0.7789 ± 0.0992 | 77.31 ± 10.42 |
| epsilon | 1 × 10−5 | 270.7 ± 0.6 | 0.0786 ± 0.0204 | 0.3324 ± 0.1093 | 0.7789 ± 0.0992 | 77.31 ± 10.42 |
| epsilon | 1 × 10−4 | 270.7 ± 0.6 | 0.0786 ± 0.0204 | 0.3324 ± 0.1093 | 0.7789 ± 0.0992 | 77.31 ± 10.42 |
| 30 | 293.0 ± 7.9 | 0.0703 ± 0.0150 | 0.4075 ± 0.0910 | 0.7333 ± 0.0930 | 86.81 ± 8.19 |
| 50 | 270.7 ± 0.6 | 0.0786 ± 0.0204 | 0.3324 ± 0.1093 | 0.7789 ± 0.0992 | 77.31 ± 10.42 |
| 75 | 254.0 ± 10.1 | 0.0908 ± 0.0252 | 0.3003 ± 0.1197 | 0.8006 ± 0.1055 | 68.98 ± 7.90 |
| 100 | 254.3 ± 3.5 | 0.0955 ± 0.0252 | 0.2806 ± 0.1226 | 0.8111 ± 0.1046 | 61.57 ± 5.61 |
| multiplier | 0.75 | 273.0 ± 2.6 | 0.0777 ± 0.0187 | 0.3356 ± 0.1084 | 0.7759 ± 0.0974 | 77.31 ± 10.42 |
| multiplier | 1 | 270.7 ± 0.6 | 0.0786 ± 0.0204 | 0.3324 ± 0.1093 | 0.7789 ± 0.0992 | 77.31 ± 10.42 |
| multiplier | 1.25 | 269.3 ± 1.5 | 0.0785 ± 0.0206 | 0.3293 ± 0.1094 | 0.7809 ± 0.1010 | 77.31 ± 10.42 |
| multiplier | 0.75 | 306.7 ± 4.0 | 0.0744 ± 0.0193 | 0.4000 ± 0.1236 | 0.7134 ± 0.1074 | 86.34 ± 11.95 |
| multiplier | 1 | 270.7 ± 0.6 | 0.0786 ± 0.0204 | 0.3324 ± 0.1093 | 0.7789 ± 0.0992 | 77.31 ± 10.42 |
| multiplier | 1.25 | 241.0 ± 5.6 | 0.0867 ± 0.0166 | 0.3066 ± 0.0802 | 0.8252 ± 0.0870 | 73.15 ± 5.78 |
Table 11.
Comparison of neck-anchor and hip-center-anchor configurations under the same method settings.
Table 11.
Comparison of neck-anchor and hip-center-anchor configurations under the same method settings.
| Dataset | Anchor | Frames | Keyframes | CR (%) | Etr | TC (%) | CVsd | MSD |
|---|
| Group-1 | Neck | 2881 | 271 | 90.59 | 0.1006 | 89.74 | 0.2289 | 0.8877 |
| Group-1 | Hip center | 2881 | 270 | 90.63 | 0.1013 | 89.68 | 0.2259 | 0.8919 |
| Group-2 | Neck | 2938 | 270 | 90.81 | 0.0604 | 93.93 | 0.4467 | 0.6934 |
| Group-2 | Hip center | 2938 | 271 | 90.78 | 0.0651 | 93.47 | 0.4513 | 0.6921 |
| Group-3 | Neck | 3207 | 271 | 91.55 | 0.0748 | 92.49 | 0.3218 | 0.7556 |
| Group-3 | Hip center | 3207 | 272 | 91.52 | 0.0732 | 92.65 | 0.3246 | 0.7495 |
Table 12.
Event-level comparison of the default neck-anchor method and hip-center variant against the adjudicated 34-transition consensus reference.
Table 12.
Event-level comparison of the default neck-anchor method and hip-center variant against the adjudicated 34-transition consensus reference.
| Dataset | Configuration | Keyframes | Events | ER at ±0.5 s (%) | Matched-Event MTE at ±0.5 s (s) | ER at ±1.0 s (%) | Matched-Event MTE at ±1.0 s (s) |
|---|
| Group-1 | Neck anchor (default) | 271 | 9 | 66.67 | 0.042 | 100.00 | 0.269 |
| Group-1 | Hip-center anchor | 270 | 9 | 66.67 | 0.042 | 100.00 | 0.264 |
| Group-2 | Neck anchor (default) | 270 | 9 | 77.78 | 0.143 | 100.00 | 0.278 |
| Group-2 | Hip-center anchor | 271 | 9 | 77.78 | 0.149 | 100.00 | 0.282 |
| Group-3 | Neck anchor (default) | 271 | 16 | 87.50 | 0.167 | 93.75 | 0.239 |
| Group-3 | Hip-center anchor | 272 | 16 | 87.50 | 0.173 | 93.75 | 0.244 |
| Overall | Neck anchor (default) | 812 | 34 | 79.41 | 0.133 | 97.06 | 0.258 |
| Overall | Hip-center anchor | 813 | 34 | 79.41 | 0.137 | 97.06 | 0.260 |
Table 13.
Sensitivity of normalized motion-activity estimation and keyframe selection to neck and hip-center anchors.
Table 13.
Sensitivity of normalized motion-activity estimation and keyframe selection to neck and hip-center anchors.
| Dataset | Activity r | Activity MAE | Activity RMSE | P95 Absolute Discrepancy | Top-10% Activity Overlap (%) | Keyframe Overlap Within ±3 Frames (%) |
|---|
| Group-1 | 0.743 | 0.0736 | 0.1233 | 0.2846 | 44.14 | 95.20 |
| Group-2 | 0.748 | 0.0756 | 0.1359 | 0.3252 | 46.63 | 92.99 |
| Group-3 | 0.660 | 0.0461 | 0.1140 | 0.2465 | 39.78 | 97.79 |
Table 14.
Controlled skeleton-degradation and global camera-motion results across the three video segments and repeated random seeds (mean ± standard deviation).
Table 14.
Controlled skeleton-degradation and global camera-motion results across the three video segments and repeated random seeds (mean ± standard deviation).
| Condition | Level | Runs | Keyframes | Etr | ER ± 0.5 s (%) | Baseline Overlap (%) |
|---|
| Baseline | None | 3 | 270.7 ± 0.6 | 0.0786 ± 0.0204 | 77.31 ± 10.42 | 100.00 ± 0.00 |
| Additional wrist dropout | 10% | 30 | 263.9 ± 5.1 | 0.0791 ± 0.0167 | 77.11 ± 8.48 | 97.54 ± 1.61 |
| Additional wrist dropout | 20% | 30 | 257.8 ± 6.6 | 0.0800 ± 0.0163 | 77.43 ± 7.62 | 95.10 ± 2.47 |
| Additional wrist dropout | 40% | 30 | 248.4 ± 10.3 | 0.0819 ± 0.0157 | 77.18 ± 7.49 | 91.07 ± 2.91 |
| Upper-body occlusion | 10% | 30 | 247.9 ± 7.2 | 0.0802 ± 0.0159 | 76.90 ± 9.09 | 90.54 ± 2.64 |
| Upper-body occlusion | 20% | 30 | 226.2 ± 12.5 | 0.0825 ± 0.0143 | 74.00 ± 10.06 | 80.63 ± 5.26 |
| Upper-body occlusion | 30% | 30 | 206.1 ± 13.8 | 0.0837 ± 0.0128 | 71.39 ± 9.76 | 72.98 ± 4.82 |
| Coordinate jitter | sigma = 0.005 | 30 | 272.2 ± 2.6 | 0.0789 ± 0.0165 | 77.31 ± 8.66 | 99.05 ± 0.94 |
| Coordinate jitter | sigma = 0.01 | 30 | 273.4 ± 2.9 | 0.0786 ± 0.0164 | 77.69 ± 8.42 | 97.95 ± 1.26 |
| Coordinate jitter | sigma = 0.02 | 30 | 279.0 ± 5.5 | 0.0783 ± 0.0172 | 80.65 ± 10.38 | 96.09 ± 1.75 |
| Global camera vibration | Mild (3.2 px, 0.25 deg) | 30 | 271.3 ± 1.6 | 0.0787 ± 0.0165 | 77.31 ± 8.66 | 99.08 ± 0.79 |
| Global camera vibration | Moderate (6.4 px, 0.50 deg) | 30 | 271.0 ± 2.5 | 0.0788 ± 0.0162 | 77.31 ± 8.66 | 98.28 ± 1.14 |
| Global camera vibration | Strong (12.8 px, 1.00 deg) | 30 | 271.0 ± 2.7 | 0.0790 ± 0.0160 | 77.31 ± 8.66 | 97.06 ± 1.21 |
Table 15.
Internal illumination diagnostics from independently rerun OpenPose sequences across the three segments (mean ± standard deviation).
Table 15.
Internal illumination diagnostics from independently rerun OpenPose sequences across the three segments (mean ± standard deviation).
| Condition | Detection Rate (%) | Feature-Joint Missing Rate (%) | Wrist-Joint Missing Rate (%) | Keyframe Overlap Within ±3 Frames (%) |
|---|
| Original-lighting rerun | 98.93 ± 0.25 | 42.43 ± 2.81 | 27.21 ± 2.34 | 100.00 ± 0.00 |
| Dark ×0.5 | 97.93 ± 0.86 | 50.49 ± 1.36 | 33.56 ± 2.83 | 57.07 ± 4.82 |
| Overexposed ×1.5 | 91.36 ± 4.22 | 63.09 ± 3.30 | 42.58 ± 8.32 | 42.80 ± 4.53 |
| Low contrast ×0.6 | 98.98 ± 0.30 | 42.92 ± 1.53 | 29.18 ± 2.26 | 60.64 ± 4.40 |
Table 16.
Computational cost and missing-keypoint statistics of the skeleton-based decision stage.
Table 16.
Computational cost and missing-keypoint statistics of the skeleton-based decision stage.
| Dataset | Anchor | Processing Time (s) | FPS (Excluding CSV Load) | Peak Memory (MB) | Feature-Joint Missing Rate | Wrist-Joint Missing Rate |
|---|
| Group-1 | Neck | 3.525 | 817.4 | 7.57 | 33.75% | 26.07% |
| Group-1 | Hip center | 4.049 | 711.6 | 7.67 | 33.75% | 26.07% |
| Group-2 | Neck | 3.637 | 807.7 | 7.72 | 39.26% | 27.93% |
| Group-2 | Hip center | 4.206 | 698.6 | 7.81 | 39.26% | 27.93% |
| Group-3 | Neck | 3.907 | 820.8 | 8.41 | 50.00% | 36.22% |
| Group-3 | Hip center | 4.436 | 723.0 | 8.51 | 50.00% | 36.22% |
Table 17.
OpenPose GPU and end-to-end runtime benchmark on the AutoDL RTX 4090D environment (mean ± standard deviation over three runs).
Table 17.
OpenPose GPU and end-to-end runtime benchmark on the AutoDL RTX 4090D environment (mean ± standard deviation over three runs).
| Dataset | Frames/Run | Detection Rate (%) | OpenPose FPS | End-to-End FPS | Latency (ms/Frame) | Peak GPU Memory Increase (MB) |
|---|
| Group-1 | 300 | 99.00 ± 0.00 | 16.54 ± 1.35 | 16.35 ± 1.26 | 61.41 ± 4.55 | 10,489 ± 0 |
| Group-2 | 300 | 100.00 ± 0.00 | 17.17 ± 1.64 | 16.99 ± 1.61 | 59.19 ± 5.38 | 10,489 ± 0 |
| Group-3 | 300 | 99.67 ± 0.00 | 15.36 ± 0.68 | 15.22 ± 0.67 | 65.77 ± 2.85 | 10,489 ± 0 |
| Overall | 300 | 99.56 ± 0.44 | 16.36 ± 1.37 | 16.19 ± 1.33 | 62.12 ± 4.78 | 10,489 ± 0 |
Table 18.
Pooled missing-gap lengths across the eight BODY-25 feature joints at confidence < 0.2.
Table 18.
Pooled missing-gap lengths across the eight BODY-25 feature joints at confidence < 0.2.
| File | Gaps | Median (Frames/s) | IQR (Frames) | P95 (Frames/s) | Maximum (Frames/s) | >0.5 s (%) | >1.0 s (%) |
|---|
| Group-1 | 2099 | 2/0.083 | 2 | 11/0.458 | 155/6.458 | 4.48 | 1.67 |
| Group-2 | 1446 | 2/0.083 | 4 | 25/1.042 | 150/6.250 | 10.44 | 5.12 |
| Group-3 | 1584 | 2/0.083 | 5 | 33/1.375 | 366/15.250 | 15.09 | 7.70 |
Table 19.
Matched-baseline missing-data sensitivity at 271 keyframes per analyzed file (mean ± sample standard deviation across the three files).
Table 19.
Matched-baseline missing-data sensitivity at 271 keyframes per analyzed file (mean ± sample standard deviation across the three files).
| Method | Missing-Data Evaluation | Etr | CVsd | MSD |
|---|
| Proposed method | Observed-joint-only | 0.0902 ± 0.0197 | 0.5072 ± 0.1387 | 1.2326 ± 0.1416 |
| Proposed method | Confidence-weighted | 0.0911 ± 0.0195 | 0.5011 ± 0.1370 | 1.2221 ± 0.1373 |
| Uniform sampling | Observed-joint-only | 0.0767 ± 0.0070 | 1.6189 ± 0.0550 | 0.3087 ± 0.0322 |
| Uniform sampling | Confidence-weighted | 0.0797 ± 0.0084 | 1.5688 ± 0.0485 | 0.3144 ± 0.0309 |
| Pose-space clustering | Observed-joint-only | 0.0787 ± 0.0047 | 1.7235 ± 0.0234 | 0.2777 ± 0.0155 |
| Pose-space clustering | Confidence-weighted | 0.0819 ± 0.0057 | 1.6781 ± 0.0287 | 0.2822 ± 0.0161 |
| Pixel-space clustering | Observed-joint-only | 0.0821 ± 0.0055 | 1.6722 ± 0.0911 | 0.2600 ± 0.0467 |
| Pixel-space clustering | Confidence-weighted | 0.0850 ± 0.0066 | 1.6141 ± 0.0865 | 0.2667 ± 0.0460 |
| Fixed-threshold (pixel MSE) | Observed-joint-only | 0.1067 ± 0.0176 | 2.1307 ± 0.0335 | 0.2083 ± 0.0130 |
| Fixed-threshold (pixel MSE) | Confidence-weighted | 0.1118 ± 0.0174 | 2.1036 ± 0.0296 | 0.2128 ± 0.0145 |
| ORB + Flow | Observed-joint-only | 0.1401 ± 0.0070 | 2.8162 ± 0.1927 | 0.1126 ± 0.0428 |
| ORB + Flow | Confidence-weighted | 0.1444 ± 0.0101 | 2.8000 ± 0.1954 | 0.1147 ± 0.0425 |
| Motion-adaptive | Observed-joint-only | 0.0874 ± 0.0031 | 1.8488 ± 0.0231 | 0.2389 ± 0.0202 |
| Motion-adaptive | Confidence-weighted | 0.0911 ± 0.0036 | 1.8043 ± 0.0154 | 0.2447 ± 0.0206 |
| MViT-V2-S feature clustering | Observed-joint-only | 0.0789 ± 0.0074 | 1.7212 ± 0.0641 | 0.2929 ± 0.0309 |
| MViT-V2-S feature clustering | Confidence-weighted | 0.0821 ± 0.0080 | 1.6753 ± 0.0543 | 0.2986 ± 0.0293 |