歩行周期の標準化について

32 views (last 30 days)
純平
純平 on 16 Apr 2024 at 12:08
Commented: 純平 on 17 Apr 2024 at 3:15
動物の歩行の様子を横から動画撮影をして、撮影動画の各フレームに合わせて、動物の各関節の角度を評価しています。
解析するにあたり、立脚期(足がついている時間 60%)・遊脚期(足が地面から離れている時間 40%) を一定にしたいと考えています。
例えば 110のフレームで得られた関節角度を、60フレームに凝縮して、そのフレームに応じた関節角度を出したいのですが、
上手く算出することができません。どのようにすればよろしいかご教示いただけますでしょうか。
Ankle angle
110のフレームから得られた値
145.3394 145.4061 143.4093 146.8998 148.5348 147.3817 149.1954 148.2007 148.5163 151.4198 153.6419 153.7887 151.4362 150.6366 147.2096 147.0408 145.593 145.0656 145.4386 143.8956 142.8676 142.2382 141.7606 140.1884 139.2788 138.1019 136.3559 137.7942 134.7689 134.7036 134.7812 134.3877 134.8483 134.9397 134.9552 135.0442 133.8237 134.3267 134.0872 135.231 135.1763 135.2032 135.5995 135.7506 135.8235 137.0217 137.7376 137.1872 137.0405 136.6912 136.8097 135.3725 136.8996 135.7161 136.7355 135.6817 136.3575 138.5209 137.2674 138.7165 138.2385 138.4464 138.651 138.2398 139.8168 138.5242 139.5812 140.2862 141.4653 141.36 142.1177 142.5291 142.916 144.6498 145.2608 145.7955 146.0141 145.1322 146.3896 147.9518 145.685 146.0651 146.6704 147.3526 147.9168 147.9936 148.3389 149.2819 150.0676 150.1876 148.4655 151.0748 148.5129 150.8157 150.1347 148.319 149.7213 149.7548 148.1647 148.7624 148.0745 147.8673 146.1288 146.9011 146.0106 143.7854 143.7203 143.4244 144.9447 144.0208

Accepted Answer

Shunichi Kusano
Shunichi Kusano on 16 Apr 2024 at 17:13
現在110フレームあるデータを補間して60フレームにする、という理解で下記のようなコードを作成しました。イメージ合っているでしょうか。
angles = [145.3394 145.4061 143.4093 146.8998 148.5348 147.3817 149.1954 148.2007 148.5163 151.4198 153.6419 153.7887 151.4362 150.6366 147.2096 147.0408 145.593 145.0656 145.4386 143.8956 142.8676 142.2382 141.7606 140.1884 139.2788 138.1019 136.3559 137.7942 134.7689 134.7036 134.7812 134.3877 134.8483 134.9397 134.9552 135.0442 133.8237 134.3267 134.0872 135.231 135.1763 135.2032 135.5995 135.7506 135.8235 137.0217 137.7376 137.1872 137.0405 136.6912 136.8097 135.3725 136.8996 135.7161 136.7355 135.6817 136.3575 138.5209 137.2674 138.7165 138.2385 138.4464 138.651 138.2398 139.8168 138.5242 139.5812 140.2862 141.4653 141.36 142.1177 142.5291 142.916 144.6498 145.2608 145.7955 146.0141 145.1322 146.3896 147.9518 145.685 146.0651 146.6704 147.3526 147.9168 147.9936 148.3389 149.2819 150.0676 150.1876 148.4655 151.0748 148.5129 150.8157 150.1347 148.319 149.7213 149.7548 148.1647 148.7624 148.0745 147.8673 146.1288 146.9011 146.0106 143.7854 143.7203 143.4244 144.9447 144.0208 ];
% 元のフレームのサンプリング時間
sampling_time = [1:110]; % フレームレートがわからないのでとりあえず(0-109でもいいです)
plot(sampling_time, angles,'b.','DisplayName','元のデータ点');
% 欲しいサンプリング時間
resample_time = linspace(1,110,60); % 1から110の間を等間隔に60点サンプリング
% 補間
resampled_angles = interp1(sampling_time, angles, resample_time);
hold on;
plot(resample_time, resampled_angles,'rx','DisplayName','リサンプル後');
legend
% それぞれのデータの数を念のため確認
numel(angles)
ans = 110
numel(resampled_angles)
ans = 60
  1 Comment
純平
純平 on 17 Apr 2024 at 3:15
解析したいデータが得られました。ありがとうございました。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!