🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

OpenPose

OpenPoseとは、深層学習を使って人の体や指などの位置(座標)や向きといったポーズを可視化する技術。関節点など人の体における特徴点が座標のどこにあるかを検出することができます。高性能プロセッサを使えば動画像内の複数の人物もリアルタイムで検出することが可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

1回答

7442閲覧

openposeで出力した関節点座標から動作認識のデータセットを作成する

hiro0114

総合スコア5

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

OpenPose

OpenPoseとは、深層学習を使って人の体や指などの位置(座標)や向きといったポーズを可視化する技術。関節点など人の体における特徴点が座標のどこにあるかを検出することができます。高性能プロセッサを使えば動画像内の複数の人物もリアルタイムで検出することが可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2020/01/04 05:30

編集2020/01/04 07:01

前提・実現したいこと

姿勢推定ライブラリ「OpenPose」で出力した関節の座標データから、動作認識に使用するデータセットを作りたいのですが、調べて出てくるサイトでは株価の上下などデータ数が違う例しか出てこないのでいまいち参考になりません。どのように作成すればよいでしょうか。
また、一つの動作に対し一つのcsvファイルを作成すればよいのでしょうか?ご教授お願いいたします。

情報の不足などがございましたらコメントにて教えていただけると幸いです。

以下のようなデータをデータセットにしたいです。
(X,Yが関節点のX座標,Y座標なのですが、ずれてしまって見にくくなってしまいました。すみません。)

X Y

Nose 239.5640 341.358
Neck 206.2270 353.120
RShoulder 159.2250 341.419
RElbow 131.7780 384.560
Rwrist 188.5420 372.776
LShoulder 253.2610 364.842
LElbow 286.4910 415.841
LWrist 257.0760 433.491
MidHip 186.6620 470.655
RHip 157.2560 466.748
RKnee 112.1580 549.089
RAnkle 114.0790 627.423
LHip 216.0490 472.669
LKnee 233.6050 560.818
LAnkle 276.7830 639.204
Reye 233.6810 331.626
LEye 243.5060 333.555
REar 210.1900 323.830
LEar 0.0000 0.000
LBigToe 264.9830 666.627
LSmallToe 282.6300 664.626
LHeel 288.4960 645.047
RBigToe 67.1126 676.392
RSmallToe 67.1138 670.545
RHeel 123.9480 639.214

発生している問題・エラーメッセージ

動作認識に使うデータセットの作り方がわからない。

該当のソースコード

試したこと

補足情報(FW/ツールのバージョンなど)

補足
「OpenPose」で出力した関節の座標データは以下のようなJsonファイルです。

{
"version": 1.3,
"people": [
{
"person_id": [
-1
],
"pose_keypoints_2d": [
970.231,
317.871,
0.861404,
1025.11,
329.61,
0.784132,
972.249,
351.234,
0.728803,
925.212,
366.795,
0.805584,
868.448,
343.363,
0.821528,
1089.79,
304.206,
0.501352,
1164.21,
359.017,
0.455869,
1117.18,
376.655,
0.659016,
1085.87,
447.173,
0.668276,
1048.64,
455.008,
0.638992,
968.35,
515.713,
0.791889,
978.167,
623.482,
0.764074,
1123.03,
439.307,
0.615558,
1125,
498.126,
0.568126,
1209.27,
621.529,
0.325433,
966.303,
306.092,
0.388792,
978.023,
304.164,
0.882517,
0,
0,
0,
1009.47,
298.316,
0.78525,
1228.83,
680.305,
0.159076,
1242.55,
674.461,
0.16233,
1222.98,
629.383,
0.18563,
909.543,
639.191,
0.585711,
911.495,
635.223,
0.546802,
993.782,
635.296,
0.595048
],
"face_keypoints_2d": [],
"hand_left_keypoints_2d": [],
"hand_right_keypoints_2d": [],
"pose_keypoints_3d": [],
"face_keypoints_3d": [],
"hand_left_keypoints_3d": [],
"hand_right_keypoints_3d": []
},
{
"person_id": [
-1
],
"pose_keypoints_2d": [
239.564,
341.358,
0.915886,
206.227,
353.12,
0.874338,
159.225,
341.419,
0.8285,
131.778,
384.56,
0.817861,
188.542,
372.776,
0.766081,
253.261,
364.842,
0.807916,
286.491,
415.841,
0.885108,
257.076,
433.491,
0.843762,
186.662,
470.655,
0.764092,
157.256,
466.748,
0.750833,
112.158,
549.089,
0.828457,
114.079,
627.423,
0.779893,
216.049,
472.669,
0.744448,
233.605,
560.818,
0.832249,
276.783,
639.204,
0.799652,
233.681,
331.626,
0.881591,
243.506,
333.555,
0.409047,
210.19,
323.83,
0.920054,
0,
0,
0,
264.983,
666.627,
0.535436,
282.63,
664.626,
0.53147,
288.496,
645.047,
0.598035,
67.1126,
676.392,
0.663307,
67.1138,
670.545,
0.555885,
123.948,
639.214,
0.637949
],
"face_keypoints_2d": [],
"hand_left_keypoints_2d": [],
"hand_right_keypoints_2d": [],
"pose_keypoints_3d": [],
"face_keypoints_3d": [],
"hand_left_keypoints_3d": [],
"hand_right_keypoints_3d": []
}
]
}

このJsonファイルを整形したものが最初のデータになります。
言葉足らずで申し訳ございません。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/01/04 06:26

"「OpenPose」で出力した関節の座標データ"とは何のことでしょうか? 出力とはファイルですか? それとも文字列やリスト等でしょうか?
hiro0114

2020/01/04 07:12

内容が不足していて申し訳ございません。 不足していた内容を追記しました。 よろしくお願いいたします。
guest

回答1

0

質問内容をよく分かっていなかったようなので、下記回答を取り下げます。

jsonであれば辞書として扱えますので、辞書の操作をすればOKです。

見たところ、「Nose」等の名称はjsonにないようなので、別にリスト等であるのでしょうか?
であればjsonと組み合わせる必要があります。

どの単位でファイル出力するかは、そのデータを後でどう使うかによると思います。

投稿2020/01/04 07:55

編集2020/01/04 13:13
meg_

総合スコア10736

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiro0114

2020/01/04 08:30

回答ありがとうございます。 私の質問が言葉足らずで回答者様に正しく伝えられていないように感じますので整理させていただきます。 実現したいこと : 動画から取得した連続したopenposeの座標データを集め動作認識用のデータセットを作成する。 問題点 : 動画から取得した連続したOpenPoseの座標データからデータセットの作り方がわからない。 (時系列データからどのようにデータセットを作るか。) 上のJSONファイルから必要な情報を抜き出し行名列名を付けたものが以下になります。 X Y Nose 239.5640 341.358 Neck 206.2270 353.120 RShoulder 159.2250 341.419 RElbow 131.7780 384.560 Rwrist 188.5420 372.776 LShoulder 253.2610 364.842 LElbow 286.4910 415.841 LWrist 257.0760 433.491 MidHip 186.6620 470.655 RHip 157.2560 466.748 RKnee 112.1580 549.089 RAnkle 114.0790 627.423 LHip 216.0490 472.669 LKnee 233.6050 560.818 LAnkle 276.7830 639.204 Reye 233.6810 331.626 LEye 243.5060 333.555 REar 210.1900 323.830 LEar 0.0000 0.000 LBigToe 264.9830 666.627 LSmallToe 282.6300 664.626 LHeel 288.4960 645.047 RBigToe 67.1126 676.392 RSmallToe 67.1138 670.545 RHeel 123.9480 639.214 説明下手で申し訳ございません。よろしくお願いいたします。
meg_

2020/01/04 12:02

”Nose 239.5640 341.358”の”239.5640 341.358”はjsonデータの”"pose_keypoints_2d": [ 239.564,341.358,0.915886,”の中の”239.564,341.358”のことですよね? であれば、認識は合っているかと思いますが。また、この「Nose」の文字列は提示されたjsonデータにはありませんので、提示されたjsonデータからだけでは質問者さんが欲しいデータセットは作成できません。
hiro0114

2020/01/04 12:37

言葉足らずですみません。 出力されたjsonデータから体のパーツ(Noseなど)と列名(X,Y)を付けたデータフレームを作成。 ここまではできているのですが、そのデータフレームからどのようにデータセットを作ればよいのかがわかっていません。 何度も言葉足らずで申し訳ありません。よろしくお願いいたします。
meg_

2020/01/04 13:04 編集

”動作確認”とは何の動作確認でしょうか?→"動作認識"の間違いでしたね。失礼しました。
hiro0114

2020/01/04 12:58

"動作確認"ではなく"動作認識"ですね。 機械学習で時系列を考慮した動作を認識するためのデータセットを作ろうとしています。 その説明も抜けていました。たびたび申し訳ございません。
meg_

2020/01/04 13:06

「次の動作を推定したい」ということですか? 時系列であれば時間のデータも必要ではありませんか?
hiro0114

2020/01/04 13:25

動作を分類するといったほうが適切かもしれません。 入力した動画を画像に分解し、その画像からOpenPoseで関節点座標を取得し、その関節点座標の動きでAという動作か否かを判定したいということです。 入力が動画でフレーム数が決まっているので時間のデータはおそらく不要だと思われます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問