質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.35%
DataSet

DataSetは、ADO.NETアーキテクチャのコンポーネントです。データベースから取得したレコードをメモリ領域に格納するクラスを指します。データの保持やテーブル間のリレーション・制約といった保持も可能です。

scikit-learn

scikit-learnは、Pythonで使用できるオープンソースプロジェクトの機械学習用ライブラリです。多くの機械学習アルゴリズムが実装されていますが、どのアルゴリズムも同じような書き方で利用できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

意見交換

クローズ

5回答

1011閲覧

波形データを二値分類する方法

KYuki1218

総合スコア26

DataSet

DataSetは、ADO.NETアーキテクチャのコンポーネントです。データベースから取得したレコードをメモリ領域に格納するクラスを指します。データの保持やテーブル間のリレーション・制約といった保持も可能です。

scikit-learn

scikit-learnは、Pythonで使用できるオープンソースプロジェクトの機械学習用ライブラリです。多くの機械学習アルゴリズムが実装されていますが、どのアルゴリズムも同じような書き方で利用できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2023/02/01 10:00

0

1

テーマ、知りたいこと

健常者(正常)と障害者(異常)のそれぞれから動作解析装置で得られたデータを学習させ,分類していない未知のデータを読み込み,正常か異常の判定を行う分類モデルをpythonで作成したいです。

背景、状況

健常者と障害者に歩行を行なっていただき,その状況を動作解析装置で計測したデータを所持しています。データは,1列目:フレーム数,2列目:時間,3列目:頭部マーカー情報,4列目:肩マーカー情報…(その他多くのマーカー情報)のように格納されております。

心電図のような波形データのどこの部分に異常があるかを判定するためモデルを作成したというサイトは散見されますが,該当の波形全体をみて正常か異常かを判定するためのモデルの作成を説明している情報が見つかりません…

上記の処理を解決する方法,わかりやすく説明しているサイトや書籍などをご教示いただけますと幸いです。

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

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

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

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

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

回答5

#1

退会済みユーザー

退会済みユーザー

総合スコア0

投稿2023/02/02 04:15

編集2023/02/05 01:45

2023-02-05追記

脳波の分析例

ライセンスの明記はありませんが「てんかん患者(?)脳波をGNN(グラフニューラルネットワーク)で捌いて評価した」というものもありますね。これの方が質問の意図に近そうに思います。「発作の検出云々」とあるので、波形データをずっと見ていったときに、発作が起きた時に「発作だ!」と認識させるような使い方ができそうに思います。

――もう少し根気よく探せばライセンス的に問題ないものもあるかと思いますが、研究・開発用途(商売をしない)というのであればメールで「あなたのソースコードを使って発表をしたいが、クレジットに名前を載せさせてもらってもよいか」くらいの感じの対応をすれば彼らの論文の引用回数が増えますので悪い顔はされないだろうと思います。

イメージ説明
出典:https://github.com/tsy935/eeg-gnn-ssl

間接位置の推定からの分類の例

10分くらいググると、一例として(今回の課題とは用途は違うかもしれませんが、データを差し替えれば手法自体は)Action recognitionと呼ばれるタスクの解法が使えそうなことが分かります。ここで拾い上げたキーワードがAction recognitionです。
※なぜAction recognitionという単語に行きついたかというと、時系列データを捌くLSTMというネットワーク構造と、姿勢認識で使われるMediapipeというライブラリを組み合わせてグーグル検索した結果、「Action recognition」という単語に行きついた具合です。

なので、

といろいろ出てきます。

イメージ説明
出典:https://paperswithcode.com/sota/action-recognition-in-videos-on-something

たとえば、FacebookresearchがApacheライセンス2.0(要旨:商用OK、コード開示義務なし、ただしクレジットの表示は必要)で公開しているSlowFastはどうでしょうか?

ファイルがでかくて画像をアップロードできませんでしたが、同リポジトリのGIF画像を見て頂けると何ができるか分かりやすいと思います。2値分類ですので、こんなに「立っている」「見つめている」「ものを持っている」のような分類ではなく、「健常」「リスクあり」(+ほぼほぼ確定)のような2~3値分類の問題に差し替えられそうに思います。

イメージ説明
出典:https://github.com/facebookresearch/SlowFast/raw/main/demo/ava_demo.gif

元の投稿

今回の課題のデータについて、イメージできるような説明(合ってますか?)

例えばですが、PythonのライブラリでいうOpenPoseやMediapipeのような、1フレームにおける人毎について全身の関節ごとの画像上のXY座標and/or実際のXYZメートル座標のようなものが各列に収まっているデータを想定しました(細かいことはさておき、です)。

本題とは違いますが、心電図などの~

ご指摘の通り、心電図などのデータは1次元のデータが高さを持っているような波形として現れます。心電図を捌いたことは無いのでわかりませんが、センサごとにほかのセンサの値と緩く連動しているかもしれませんし、全く別の動きもあることもあるかもしれません。こういった場合はほかのセンサの値を気にすることなく波形から特徴量だけ吸い出して「一軸だけ気にすればいい×センサ数」のような捌き方ができます。

じゃあ、軸(列)毎の関係性をどう表現するよ?

波形全体をみて正常か異常かを判定するためのモデル

データの理解の整理:
画像では1フレームごとにどんな姿勢かを推定することになると思いますし、動画であれば近傍●フレーム(いくつが良いかは検討もつきません)を使って同じようなことをするようになるのだと思います。

仮に私がするならば:
仮に関節の位置を使った動作推定(立っている、歩いている等)であれば、こういう関節群から何をしているか推定するのが得意な手法は、一般的にはTransformerやGNN(Graph Neural Network)だろうと思います。

という感じでキーワード検索をすると…:
大体こういった「世界中のみんなが課題として抱えているリストにあるあるな感じの課題」を解決するための手法は、論文で既に公開されていて、しかも運が良ければ実際に動かせるコードも公開されていて、さらに運が良いと非GPLなライセンスで公開されています。あとは、どれがいいかなとえり好みするだけです。

これができるサイトはpaperswithcode.comです。URLの例では、MicrosoftのCOCOデータセットという巨大な画像データセットに含まれている人の動作を認識させよう、というもののようです。こんな感じで探っていくと沢山手法がヒットしますので、好みのものを使えばよろしいかと思います。

イメージ説明
出典:https://paperswithcode.com/sota/human-object-interaction-detection-on-v-coco

タイトルくらいしか見ておりませんが、恐らく私が先に挙げたTransomerやGNNをベースにした手法が並んでいることだろうと思います。あと何年この状況が続くかは分かりませんが、恐らく斬新な手法が現れるまで、これらがあと数年はその斬新な手法を独占し続けるものと思います。

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

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

#2

KYuki1218

総合スコア26

投稿2023/02/04 07:50

#1 fourteenlength様
ご返信が遅くなって申し訳ございません。
心電図と動作解析データから得られるデータの違いも踏まえ,ご丁寧にご教示いただきありがとうございます!私自身,非エンジニアでなく医療職のため情報に疎く,このようなサイトを教えていただけて非常に勉強になります。
動作解析装置で得られたデータを学習させ,正常か異常の判定を行う分類モデルを作成している情報がないか私の方で確認してみます。もしこれが近いんじゃないかっていう情報があれば,お声掛けいただけると幸いです(図々しいお願いで申し訳ございません…)。

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

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

#3

KYuki1218

総合スコア26

投稿2023/02/05 14:15

#1 fourteenlength様
細部に渡ってご教示いただき心より感謝申し上げます。
私一人の技量だけではここまでの情報に辿り着くことができず,本当に助かりました!あとは私が技術的にできるかどうかという(大きな)問題もあるため,terateilで皆様のお力を借りながら,実現したいことを進めて参ります。

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

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

#4

jbpb0

総合スコア7653

投稿2023/02/06 04:23

健常者と障害者に歩行を行なっていただき,その状況を動作解析装置で計測したデータを所持しています。

歩行データなら周期性があると思うので、これが参考になるかも
生活に溶け込む人工知能による病気発見:医工連携におけるLessons Learned
(20ページ〜)

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

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

#5

KYuki1218

総合スコア26

投稿2023/02/06 08:58

#4 jbpb0様
有意義な情報をご教示いただきありがとうございます!
様々な方からご助言いただけて嬉しい限りです。ご参考にさせていただきます!

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

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

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問