「未分類」カテゴリーアーカイブ

WebGLTemplates

いきさつ
webglのビルドをする時,ブラウザ上で実行されるアプリの見た目をカスタマイズしたい場合がある。WebGLTemplatesはそのための機能だ。今回はspeechblendでリップシンクを行う必要が出てきたため,ビルド後のindex.htmlにいろいろ追加する必要がある。そこで,WebGLTemplatesの使い方を調べてみた。
UnityのWebGL templatesについて調べてみた
WebGL テンプレート

やりかた
アセットフォルダにWebGLTemplatesというフォルダを作成し,そこにGL6などのテンプレート用のフォルダを作成する。中身は, エディターに入っている標準のテンプレート(C:\Program Files\Unity\Hub\Editor\yyyy.x.z\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\WebGLTemplates深いよ!)を改造するのが良いらしい。すると,Player設定のTemplatesに表示される。webglアプリの左下に表示されるUnityのロゴを,独自の模擬人格ロゴに変えてみた。もちろんindex.htmlもspeechblendに対応しているので,今後はビルドするだけで良い。

Windows ServerでDjango使ってWebアプリ作る

なんの共有もしない記事です。「小生、Win Server 使ってDjangoでWebアプリ作れるようになったデュフゥーw 」っていう自慢話です。正直二度とやりたくない。

事の発端

前にWebアプリケーションのベースを作ったんですが、自分が契約してるWin Serverに移管することにしました。途中までPHPでバックエンドのアプリケーションを作っていましたが、今後PHPを使う予定がないのと、VPSでWebアプリを動かしてみたかったという理由からVPSに移管します。

やったこと

  • 外部に公開するポートの設定(FTP通信の設定と同じ)
  • Windows ServerのIIS設定
  • Djangoでプロジェクト立ち上げ

この3つです。

 ネットワーク関係は大体ネットに書いてある記事をそのままやってもファイヤーウォールに邪魔されて「動かねーじゃねぇか。このxxxxxx(怒怒怒怒怒怒怒)」と台パンすることになります。

 長野研ではFlask使ってるようなので、Djangoは使わないと思うのでいろいろ説明は省略しますが、添付のpdfファイル(Djangoのアプリケーション作成手順書)とWin Server側でWebを行為買いできるようIISを設定したうえでこの記事の通りにやればローカル上では動きます。

 ローカル上では動いているのでシステム的には問題がないんですが、外部からアクセスしようとするとブラウザに「ページが存在しない」といわれます。ここで1台パン。

記事後半に書いてある”python manage.py runserver <Server IPアドレス>:8000”でコマンド実行すれば、問題ないようなことを書いてあるが、これも失敗。ここで2台パン。

「末尾についてる8000というのはポート番号なので、Win Server側でポートを公開する設定がされていないのでは」とひらめきます。Win ServerにFTPでファイル送る設定したさいに60000ポート以降を開放していたの思い出したので60000番を設定して起動したところなんとデバッグ用のページにアクセスできたってわけですよ。いいね。

近況

 残業多すぎて何のやるきも出ねぇっす。

Leonardoで,AI模擬人格との会話用コントローラーを作成(4)

BNO055を使用したコントローラーの開発経緯
 AIagentは,いまやオープンキャンパスなど,色んなとこで引っ張りだこ。前回も本郷OCで高校生たちが興味津々に体験していたが,音声入力キー(Windows+H)など普段使い慣れておらず操作しにくいように見えた。そこで, 9軸センサーBNO055を使用して,キーボードレスの会話用コントローラーを作成しようと思う。使用方法と注意点は,下記の動画に示した。

1. 動画内で使用したプログラム
・BNO055_AIagent:今回使用したArduinoプログラム
・BNO055_tes2:小ネタでしたクォータニオン角でのカーソル操作(上下が弱い)
・BNO055_AgentControleer:カーソル操作+ボタン機能を統合した完成系
・WebcamGPT4V_New.txt:改造後のWebcamGPT4Vのスクリプト
・Changecam.txt:改造前のWebcamGPT4Vのスクリプト

2. ボタンの各機能_240912にカーソル操作を追加

①原点:Unityの基本操作

ボタン機能
ボタン1ゲーム実行/停止(Ctrl+P)
ボタン2カメラの視点交換(F5)
(ボタン2)×2回ボタン2を2回押すとダブルクリック
ボタン3撮影ボタン(F4)

②Y軸(横の傾き)±75°以上:入力の修正ボタン

ボタン1カーソルキー「←」
ボタン2カーソルキー「→」
ボタン3Backspace

③Z軸(前後に倒す)±30°以上:会話ボタン

ボタン1 キャラクタのチェンジ(F6)
ボタン2音声入力(Windows+H)
ボタン3送信(Enter)

3. ピンの接続位置_BNO055
・VIN:5V
・GND:GND
・SDA:D2(PD1)
・SCL:D3(PD0)

黒→赤→黄→緑色の順で,はんだ付けする。

======================================================================

↓240904に,2台目を作成した。

convaiでNPC

CharacterCreatorを購入しようかと思い,Youtubeのチュートリアルを調べていると,なんかconvaiというものが出てくる。なんだろう・・・と思っていると,これはゲームエンジンに「リアルな会話ができるNPCをお気楽に導入しよう」というフレームワークらしい。NvidiaがめちゃリアルなSFゲーム会話場面をデモしていたが,ああいうキャラが簡単に作れるというのだ。ホントにぃ・・・?

設定の手順はおおむね以下のマニュアルの通りである。マジで簡単だ。IDができれば,性格やバックストーリーや声など,クラウド上で設定した通りに動いてくれるというわけだ。

これ・・・料金体系がわからん。と思っていたら,無料で使えるのは1日100会話までであるらしい。恒常的に使いたかったら契約しろ・・・と。そりゃそうだよね。まぁNPC作りたければ使うかもしれぬ。会話の内容はほとんど完璧に思う。日本語の声の選択肢が多くないのが少し残念。これはこれですごいとは思うが,まぁNPCを作りたいわけではないので,あんまり気にしなくても良いと思われる。

本郷OCに持ってくもの

8/17(土), 18(日)に実施される本郷のオープンキャンパスに備え,持っていくものの一覧表をここにメモする。主に計測器やデジタルファブリケーション機器など。

展示するもの
1. デジファブ機器:3Dプリンタ,ミリングマシン,作成物の展示(BF装置など)
2. ジェンガ中の生体計測体験:ジェンガ中のSC・HRを計測する
3. AIエージェント:男性・女性キャラを展示して,AIとの会話体験
(4. 非接触の表情計測:AIによる非接触計測を紹介し,時間があれば体験も)

持っていくもの

1. デジファブ機器
①切削マシーン
・切削マシーン
・両面テープ
・生基板
・六角レンチ
・掃除機
・マジックペン
・スクレーパー
・予備のドリル×3本
・Dell PC,PC充電器
・科研費で作成したM5の完成物

②3Dプリンタ
・3Dプリンタ(Anker)
・TPUフィラメント:透明,オレンジ,緑色など
・工具:ニッパー,ペンチなど
・過去の作成物:BF装置,M5,フィギュアなど

2. ジェンガ中の計測体験
・ジェンガ→金井さんが購入
・計測器:SC計測器×6台(予備含む)
・電極:箱ごと→1日50人来ることもある
・計測器の充電器×2
・手袋×6(予備含む)

3. AIエージェント
・PC:MSI01, 02の2台
・PCの充電器×2
・Webカメラ×2:1台はタクトスイッチがついてるカメラ

(4. 表情の非接触計測→PCとカメラはAIエージェントと同じ)
・タブレット:実験室の水色のタブレット×2
・タブレット置き:木材で作成したタブレット置き

================================================================

向こうで展示した資料を下記に添付いたします。映像資料やその他ブース説明の詳細などは,Playgroundのこちらのブログに載せました。

アプリケーション開発

一つ前の記事で力を使い果たしたし、早く寝たいので概要だけ書きます。

やったこと

  • 計測アプリの基盤になるページを作りました。
  • ページはスマホも対応してます(なんとレスポンシブ)。
  • 目的はたまっているTP,SC,HRのデータを何かに使えないか考えるため(Aiもちょっと興味ある)。
  • 測定~解析までのソフト作るの面白そう。
  • これから自分の装置作って運用しようと思います。

Webは全く開発したことがないし、というかそもそもプログラマではないので開発は気が向いたときにやります。

バックエンドもphpではなくpython(Django)がいいので自分が契約しているvpsに移管するかもしれないです。

要望項目

  1. TP,SC,HRのダウンロードサイトのリンクください(見つけられませんでした)。
  2. いい感じのTP装置の画像をください(可能であれば1920×1095のjpg画像)。
  3. いい感じのHRとSCの両方が映った画像をください(こちらも可能であれば1920×1095のjpg画像)。
  4. でないと下の30minくらいで作成した昔の教材に出てきそうなダサい豆腐の計測器画像が(自分が作成した)ページに残ります。

画像はこちらで加工できるので1920×1095以上の画像をいただきたいです。

よろしくお願いします。

合成音声について

 合成音声を使用する経緯が不明なので用途に合うか不明ですが、現在稼働しているチャット読み上げアプリで開発したことがあるので記事を書きます。

合成音声の使用用途 (加藤の場合)

 前述のとおり読み上げボットで合成音声のプログラムを使用しており、いずれは商用利用を検討しています。商用で利用するにあたり以下の要件をクリアしている必要がありました。

  1. 24時間稼働している必要があるため、動作環境はサーバ上であること。また、レンタルするサーバ(VPS)は個人で負担できる範囲のもの。
  2. 入力から出力までのレスポンス速度が速いこと。
  3. 商用利用が可能であること。

要件から発生した制約事項

①の要件で合成音声作成処理に高負荷がかかるようなソフト(VoiceVOX)は使用することは不可能。②の要件でPythonなどのスクリプト言語で開発することも不可能。③は特にネックGoogle Text to Speechの選択も不可能となった。
※公開されている非公式のライブラリはMIT(商用利用可能)ライセンスだがプログラム自体がスクレイピングして作られているものが多いため、Googleの規約違反をしている可能性が高い。

要件を満たしつつ制約を回避するC#ライブラリ

 調査した結果、Microsoft公式からリリースされているSpeechSynthesizerクラスを使用することで、要件を満たし、制約事項を回避して合成音声を作成作成することが可能です。また、SpeechSynthesizerは多言語に対応しているため、日本人だけではなく英語圏(または他言語)の人向けにもアプリケーション開発が可能です。

日本語サンプル

英語サンプル

合成音声作成プロジェクト

zipファイルがWordpressにアップロードできなかったのでコダマサーバーの以下に格納しておきました。必要であればサーバにログインして取得してください。


1
&lt;ユーザ名&gt;/www/hk/WindowsVoiceCreator/WindowsVoiceCreator.zip

 プロジェクトについては不特定多数からよくわからないテキスト情報が入力されることを想定し、日本語と英語以外は作成できないようになっています(その他、エラー処理がガチガチに入っています)。

 プログラムについては多くは書きません。コード上にコメントアウトも残しているので読めばわかると思います(ブン投げ)。

 前提条件として不特定多数からの入力を想定し、原因不明のメモリリークの発生が原因でソフト強制終了を回避するためexeで呼び出すよう設計しています。(dllでの組み込みはexeでの運用より開発コストが高いこともあるため)

使用方法

zipファイル内の以下のフォルダにビルド済みのexeが格納されています。


1
.\WindowsVoiceCreator\bin\Release\net6.0\WindowsVoiceCreator.exe

WindowsVoiceCreator.exeは引数を渡すことで合成音声を作成します。


1
WindowsVoiceCreator.exe &lt;引数1: しゃべらせる内容&gt; &lt;引数2: 合成音声格納先.wav&gt;
  1. コマンドプロンプトを開いて「WindowsVoiceCreator.exe」が格納されているフォルダに移動
  2. WindowsVoiceCreator.exe <しゃべらせる内容> <wavファイル格納先>
  3. <wavファイル格納先>にwavファイルが作成されます。

 文字だと伝わりにくいし、文を書くのが面倒になってきたので使用方法不明な場合は連絡ください。

ソフトの制約事項

 合成ソフトのファイル格納先(第二引数)はファイル名(,wavを含む)で指定してください

 ソフト内部で入力されたテキストから英語と日本語を判定して読み上げてもらう人を切り替えています(日本語ネイティブor英語ネイティブ)。テキスト内に日本語と英語の両方がある場合、入力テキストが皆目見当がつかない言語の場合は日本語判定が優勢されて日本語ネイティブの人が話すようになってます。

留意事項

  • SythesizerはWindowsのシステムを利用して動作しているため、Windows Serverを含む Windows OS上でしか動作しません。Ubuntu, FreeBSD, CentOSなどのLinuxプラットフォームでは実行時にエラーが発生します。
  • 実行には.NET 6のインストールが必要です。
  • 開発する場合Visual StudioのNugetからSystem.Speech(SpeechSynthesizer)のインストールが必要です。 

MotionMatching

Unity ***** storeのセールを見ていたらアニメーション関連のアセットが半額になっていた。アニメーション関連のアセットでどのようなものがあるのかをgptに質問していたらこのセットが出てきた。このアセットは数々の市販トリプルエータイトルで既に利用されているらしい。これを利用することで僕らのAIエージェントもより自然な動きができるようなそんな予感がした。メモしておこう。

23mh203 引用文献

必要な引用文献

先生からご指示を受け、追加した論文を記載する
音声の種類や特徴によって、人間の感情や生理的反応が変化する
Kassam, K. S., & Mendes, W. B. (2013). The effects of measuring emotion: Physiological reactions to emotional situations depend on whether someone is asking. Emotion, 13(6), 1-6.
ASMRの研究の内、人の声を使用した研究
Engelbregt, H. J., Brinkman, K., van Geest, C. C. E., Irrmischer, M., & Deijen, J. B. (2022). The effects of autonomous sensory meridian response (ASMR) on mood, attention, heart rate, skin conductance, and EEG in healthy young adults. Experimental Brain Research, 240(7), 1727-1742.
心拍変動と情動制御の関連を調べた研究
村瀬, 亮一, & 中村, 太一. (2004). 視聴覚刺激による情動の変化とその生理的反応. 産業医科大学雑誌, 26(4), 123-126.
HRVとレジリエンスの関連を調べた研究
An, E., Nolty, A. A. T., Amano, S. S., Rizzo, A. A., Buckwalter, J. G., & Rensberger, J. (2019). Heart rate variability as an index of resilience: A review of recent literature. Military Medicine, 184(11-12), 525-530.
LPPの研究
Reducing auditory hypersensitivities in autistic spectrum disorder: preliminary findings evaluating the listening project protocol(自閉症スペクトラム障害における聴覚過敏の軽減:リスニングプロジェクトプロトコルを評価する予備的知見)


他にもこれらの論文は使えるかもしれない
Different Types of Sounds and Their Relationship With the Electrocardiographic Signals and the Cardiovascular System – Review(さまざまな種類の音と心電図信号および心血管系との関係 – レビュー)
音、騒音、音楽が人体に与える影響についての研究は長年行われているが、未解明な点が多い。本論文はこれらの影響を包括的にレビューし、特にHRV(心拍変動)に焦点を当てた。HRVは、音や騒音の刺激により高周波成分(HF)や低周波/高周波比(LF/HF)が変化し、低周波(LF)も騒音により変動することがわかった。また、GSR(皮膚電気反応)は音楽刺激によって変化した。多くの研究で実験デザインに制約があり、対照群の欠如や刺激の変動がみられた。良い実験デザインの例として、ヘッドフォンの使用や被験者の快適な姿勢が挙げられる。

Vocal Attractiveness Increases by Averaging(声の魅力は平均化によって増す)
声の魅力は、聞き手に大きな影響を与えることが知られており、「美しい音は良い」という固定観念が、声の持ち主の交配、就職、選挙での成功に具体的な影響を及ぼすことが示されています。通常、魅力的な声は潜在的な交際相手に望ましい属性を示すものと考えられていますが、この説明だけでは男女両方の声が評価される一般的な社会的文脈における選好を完全には説明できません。研究では、聴覚モーフィングによって声を平均化すると、話し手や聞き手の性別に関わらず、声がより魅力的になることが示されており、この現象は声の質感の滑らかさとピッチの類似性の向上によってほぼ説明できることが示されています。これらの結果は、顔の加齢効果と同様に、加齢によって声の魅力が増すという現象を初めて証明するものであり、音声知覚の中心的な特徴としてプロトタイプに基づく符号化を強調し、顔と音声知覚のメカニズムの類似性を強調しています。※ブラウザの好感度がうまく調整できなかったら使えそう

More than a feeling: Autonomous sensory meridian response (ASMR) is characterized by reliable changes in affect and physiology(感覚以上のもの 自律感覚経絡反応(ASMR)は、情動と生理の確実な変化を特徴とする。)

Heart rate variability Can it serve as a marker of mental health resilience (心拍変動は精神的健康の回復力のマーカーとなりえるか?)

Electrophysiological evidence for an early processing of human voices(人間の声の初期処理に関する電気生理学的証拠)
顔の処理と同じように人の声に反応する脳領域のお話

Reliability of Physiological Responses Induced by Basic Emotions: A Pilot Study
感情と生理指標の関連についての論文

Emotional responses to auditory stimuli聴覚刺激に対する感情的反応
リンク切れで断念

The effects of autonomous sensory meridian response (ASMR) on mood, attention, heart rate, skin conductance and EEG in healthy young adults(健康な若年成人における自律感覚絶頂反応(ASMR)の気分、注意力、心拍数、皮膚伝導度、脳波への影響)


使えるか分からない研究
・Music structure determines heart rate variability of singers(音楽構造が歌手の心拍変動を決定する)
 合唱はウェルビーイングを高め、心拍変動(HRV)と呼吸の連動を促進する。特に、ゆったりとした呼吸時の呼吸性洞性不整脈(RSA)は心血管系に良い影響を与える。研究では、歌唱がHRVとRSAに及ぼす効果を健康な成人で検証し、歌唱が心臓と呼吸の調和をもたらすことを示した研究。
・The Pocket Guide to the Polyvagal Theory: The Transformative Power of Feeling Safe
 ポリヴェーガル理論のポケットガイド: 安全を感じることの変容力
 同様の内容。声が身体に与える影響について説明しています。具体的には、歌うことが社会的関与システム全体を活性化する機会を提供し、吸気と呼気のサイクルを通じて迷走神経の影響を調整する方法を示しています。この調整は心拍数を増減させ、自律神経系の状態を安定させることができます。また、声を使うことが顔、頭、咽頭、喉頭の筋肉の神経調節を含むことが強調されています
・The effects of different voice qualities on the perceived personality of a speaker(異なる声質が話し手のパーソナリティ知覚に及ぼす影響)
 話し手の声質が聞き手のパーソナリティ評価に与える影響を調査し、特に微笑み声が肯定的な評価を受け、きしむ声が否定的に受け取られることを発見しました。また、男性と女性の話し手では声質による評価に違いがあることも明らかにしました。

STEM教育評価(3)

心理・生理指標の関連

STEM23113
「集中した」得点に基づく分析

得点が高い学生は最初は皮膚コンダクタンスが低下するものの、中盤以降はむしろ上昇している。得点が低い学生は全体的に低下傾向に見受けられる。

STEM教育評価(2)

心理反応の評価
統計処理は全回出席した12名を対象に行い、多重比較はHolm法を用いた。
「不快-快」、「睡眠-覚醒」
全般的に、座学の解説よりも、機材を使った実習や組み立て作業において快感情が高い傾向が見て取れる。同じく、睡眠-覚醒は、解説において低く、実習において高い傾向が見て取れる。電子回路の組み立てにおいて高い傾向が見て取れる。
「不快-快」に各回で有意な差は認められず、「睡眠-覚醒」は、2回目<5回目、4回目<5回目となり電子回路の組み立てが特に高い覚醒を示し、解説回が特に低い覚醒状態であることが示された(不快-快:F(5/55)=1.89, ns;睡眠-覚醒:F(5/55)=4.38, p<.05)。

「活気のある」、「楽しい」
「活気のある」に関しても測定や組み立てなどの実習において高い傾向が認められた。「楽しい」に関しては全般的に高い傾向にあったが、座学の解説ではやや低い傾向が認められた。
「活気のある」は2回目<5回目となり、解説回が電子回路の組み立てより低かった。「楽しい」は各回で有意な差は認められなかった(活気のある:F(5/55)=3.54, p<.05; 楽しい:F(5/55)=0.92, ns)。

「充実した」・「集中した」
「充実した」は解説においても比較的高い点数を維持しており、座学と実習で明確な差は認められなかった。「集中した」は、測定や組み立て、プログラミングなどの実習において高い傾向が認められた。
「充実した」、「集中した」ともに各回で有意な差は認められなかった(充実した:F(5/55)=0.81, ns; 集中した:F(5/55)=1.48, ns)。
(※最終回(プログラミング)が両方とも妙に高いのは、ひょっとしてチャットGPTによるサポートの影響?)

「主体的な」・「受け身な」
「主体的な」は測定や組み立て、プログラミングなどの実習回において明確に高く、座学で解説を行う回では低い傾向が認められた。「受け身な」は、座学による解説回で高く、組み立てプログラミングでは低い傾向が認められた。
「主体的な」は、1・2・4回目<5回目、2・4回目<6回目、4回目<3回目となり、全体として講義回が実習回(電子回路くみたて、心拍変動測定、Pythonプログラミング)より低い傾向にあった。「受け身な」は1・3・5・6回目<4回目となり、講義のみを行った4回目が特に高かった(主体的な:F(5/55)=10.54, p<.01; 受け身な:F(5/55)=5.25, p<.01)。

「興味深い」・「理解度」
「興味深い」に関しては僕の回の授業が4点を超えており比較的高い評価が得られている。Python言語によるプログラミングが電子回路と同じ得点となっている。「理解度」は、座学が低く実習が高い傾向にある。
「興味深い」に各回で有意な差は認められなかった。「理解度」は5%水準で有意な効果が認められたが、多重比較の結果各回に有意な差はみとめられなかった(興味深い:F(5/55)=1.50, ns; 理解度:F(5/55)=2.95, p<.05)。

AIによる非接触計測(1)

研究の概要
本研究では、知的障害者の表情、身体活動の測定を想定し、AIによる非接触計測の可能性を検討した。ソフトウェア環境は、様々なハードウェアでアプリケーションを作成可能なことを重視しゲームエンジンUnityを用いた。主に検討した環境は、1)Unity+Barracuda、2)Unity+OpenCV、3)Unity+Apple ARKitの3種類であった。ここでは、1)Unity+Barracuda環境における検討を概説する。

Unity+Barracuda環境を用いた非接触計測
 
Barracudaは、Unity Technologiesが開発したニューラルネットワーク推論ライブラリ。ONNXフォーマットのモデルをインポートすることで、開発者はUnityプロジェクトに機械学習モデルを簡単に統合し、リアルタイムでの予測やインタラクションを実現できる。本研究では、身体活動測定用にgoogleのBodypixを、表情測定用に同じくgoogleのFaceMeshを、Barracuda環境で検証した。Barracudaで利用可能なONNXモデルに関しては、UnityTechnology高橋啓治郎氏のリポジトリにまとめられている。

Bodypix
 BodyPixはリアルタイム人体部位セグメンテーションを目的に作成されたニューラルネットであり、ポーズ推定や動作追跡などの機能をもっており、インタラクティブアプリケーションや仮想現実などの分野で用いられる。Unity+Barracuda環境では、Webカメラの映像をもとに、リアルタイムで主要な関節位置(2次元)を取得できる。関節位置の推定精度は、使用するONNX ファイルの規模に依存し、より大きなONNXファイルを用いることで高い精度での推定が可能になるが、そのぶん計算負荷も大きくなる。ある程度おおきな規模のONNXファイルを用いることで、安定した位置検出が可能であると考えられた。

Face Mesh
 MediaPipe FaceMeshは、顔の高精度な3Dメッシュを生成することを目的に作成されたニューラルネットであり、顔のランドマーク検出や顔の表情分析などの機能をもっており、ARフィルターの作成やリアルタイムビデオ通話の顔の追跡などの用途で用いられる。Webカメラの映像をもとに、約450ポイントの顔ランドマークを推定できる。高橋啓治郎氏のリポジトリFaceMeshBarracudaでは、FaceMeshのに加え、目の動きを検出するAIが統合されており、目部分を抽出して瞼の動きを検出ことで、より正確な瞬目行動が可能となることが確認された。一方で、FaceMeshは安価なウェブカメラを使って顔のランドマークを推定できる利点はあるものの、顔が横を向いた際に精度が低くなる傾向が認められた。

早稲田 SC計測機準備状況

早稲田で使う皮膚コンダクタンス計測機の準備状況について,こちらにまとめました。計測機10台準備し,いずれも動作チェック確認済みです。

準備物の詳細
・皮膚コンダクタタンス計測機:12台(予備2台)
・電極:15枚(予備5枚)
・手袋(左右):各10個
・充電器:2台(上記左画像)

*不測の事態に備え,電極と計測機を少し多めに持っていきます。
 準備物は,E-151のラックに保存してあります。

COOSPO 心拍センサー

COOSPOという光学心拍センサーがある。先日のミーティングで、安価で装着しやすいセンサーとして候補に上がった。BluetoothとAnt+に対応しているというが、スマホ側でどんなソフトを使えばよいのか・・・。アームバンド式の心拍計という記事で、Heartoolという専用アプリがあることを確認。しかし、EliteHRVのサイトにもBT4.0かAnt+で接続できるとある、のでEliteHRVにも使えるのでは・・・。

このCOOSPOというメーカー、けっこう色んなタイプのセンサーを作っている。HW9とか値段は高いけど、結構洗練された印象・・・評価も154件。どんなかなーと思って、なんとなく見ていると、なんとEliteHRVに接続できるとの表記あり。これはローレンツプロットの結果と思われるが、案外良い感じで測れているように見える。PolarH10よりもUniteよりも安価でHRVもある程度評定できるなら、これが最強なのではなかろうか?

HRVを正確に測定するには、やはりH10が良い事は間違いない。EliteHRVの対応機器解説ページでは、「For accuracy, we strongly recommend the Polar H10 HRV monitor or another compatible heart rate chest strap listed above. (正確さを求めるのであれば、Polar H10 HRVモニターか、上記の他の互換性のある心拍数チェストストラップを強くお勧めします。)」とあり、その理由も示されている。

スマートミラー作成計画

基、転職ポートフォリオ用工作計画。

ハードウェア

材料

木材でフレームを作成し、アクリル板にマジックミラーシートを張り付けて鏡にする。マジックミラーシートを張ったアクリル板の後ろから画面を表示することで鏡越しに投影することができる。マジックミラーシートも完全に反射するわけではないので、背面に黒い板(またはシート)を設置することで反射しやすくする。

壁に立てかけることを想定して木材はなるべく軽量なものを使用する予定。

組み立てイメージ

前から順に「木材フレーム(1)」、「木材フレーム(2)」、「アクリル板(マジックミラーー)」、「板(黒)」、「ディスプレイ」。Raspberry Piはディスプレイの背面に設置する。

※ディスプレイはテクスチャ作るの面倒だったためメッシュそのまま。ディスプレイの見た目はリンク先参照。

ソフトウェア

  • OS: Ubuntu (検討: Windows IoT / CentOS)
  • 画面制御: Python (Pyside or PyQt) (Processing)

OSはUbuntu(または、Windows IoT)を使用する。OS起動時に画面制御のプログラムをフルスクリーンで自動起動する。

Processingはアニメーションが優秀だが、Javaの勉強が少し必要になるため時間がかかる。また、OS内にあるシェルの実行ができるかが不明なのとJavaのランタイムがLinux上で動くか不明(多分動く)。

OSがGUIの処理ができるかは事前に調べる必要がある。

Ubuntu Desktop

Rapsbery Pi (以降、RPと表記)上では動くようだが、RP zeroはメモリが貧弱(512 mb)なので動くか不明。OSは軽量と噂だが、 内部のシステムと自作ソフトが並列で動くかは怪しい。PC版はPythonがデフォルトで入っているので環境構築が楽だったが、RP版は入っているか不明。

Windows IoT

Windows IoTはタイムスタンプ機能のようなものがあるようで、再起動時に一定のところまで勝手に復元されてしまうことがあるらしい。正直よくわからんOS。単純に興味があるから使用検討。

CentOS

そもそもRP上で動くか不明。よく使うのでOSの設定変更は楽。C言語版Qtが動くのは知ってるがPython版は不明。

画面制御

以下を表示予定

  • 時間
  • 天気
  • ネットニュース

時間の取得はハードウェアから取得し、天気の情報はOpenWhetherMapのAPIから取得する。ネットニュースの取得方法については要検討(APIがあることは知っている)。ディスプレイ自体はタッチに対応しているが、アクリル板を挟むため、タッチ機能は使用できない。ネットニュースの表示はQRコードを表示してスマホで読み取って表示できるようにする(鏡に張り付いてネットニュースを見る人などいない)。

内部処理

画面以外の処理で以下の処理が必要になる

  • WiFiの設定

Windows IoTは画面がWindowsのままなのでわざわざソフトで変更する必要はないかもしれない。Ubuntuも画面上で設定変更可能。CentOSはGUIですらないので、ファイルの設定変更はソフトで行う必要がある。

ssh通信ができればこの辺は解決?

プロトタイプ開発

以下の確認が必要。

  • マジックミラーシートがしっかり反射するか
  • マジックミラーシートの裏から画面を投影できるだけディスプレイが明るいか

余談

組み立てイメージの動画は木材フレームを親に作ってもらうためにstlで渡そうと思っていたのだけど、stlテクスチャつかなくてぱっと見ようわからんかったので、遊び心でアニメーション付けたらたかが5秒の動画をレンダリングするのに5時間かかった。時短のためにサンプリング落としたり解像度下げたせいでテクスチャつけたけど木目見えねぇし。。。人に示すときは二度とCycleエンジンでレンダリングしない。

M3Aアクセスポイント設定

1.サーバーモードにする
電源を入れた後ボタンを3回押して緑のLEDが点灯するようにする。そうするとサーバーモードになり、wi-fiで見つけられるようになる。
2.計測器に接続する
PCのwi-fi設定から、M3で始まるアクセスポイントを探し出し接続する。パスワードは「password」
3.ブラウザからSSIDとパスワードを設定する
設定画面が表示されるので、接続先のSSIDとパスワードを設定する。
4.通常モードで起動して新しいアクセスポイントに接続する
一度電源を入れ直すと通常モードで起動する。そのままにするとSSID1に、ボタンを1回押すとSSID2に接続する(この場合、接続待機時に紫色になる)。

行動定量化240120

燃えてきたぞ・・・!!シリに火がついてな!いくつかのAI&物理測定を統合して,行動定量化システムを構築・・・するぞ!一年近く経ってしまったな。
BODYPIX
・・・Ankerのカメラを繋ぐだけで,そのまま動くようだ。なんとデータも取れるらしい。ちゃんとGPUも使っている・・・完璧だな。Projectネームは,「Bodipix」そのまんまだな。
表情認識DNN
こちらはOpenCV内に含まれる表情&顔認識プロジェクト。正確なモデルはなんていうんだろう・・・。KOSEとの話でも出ていたが,これはこれで需要があるような気がする。シンプルだからね。「CV230601プロジェクト」内の,FacialExpressionRecognitionExampleというプロジェクトらしい。こちらはカメラを番号で指定するのか・・・ちゃんと動くね。
同時に動作させる
おお・・・!同時に動くぞ!しかもCPU負荷がまだ40%だ。エクセル立ち上げてバックグラウンドで仕事しようか?という勢いだ。nVidiaGPUがついたパソコンなら余裕で同時動作するだろう。

環境情報
大島氏の指摘通り,とりあえず温度環境・・・暑い場所は人を攻撃的にするという。そこで,行動定量化とはいいつつも,部屋の環境情報も同時に記録して残しておこうと思う。これはBME280+Wifi対応ArduinoでOKだよね。

23MH203 12/4

 1週間休んですみません。体調を崩し気味で投稿できていませんでした(今もあまりよくはないのですが笑)

pNN50に関連しそうな論文をBingAIに調べてもらったところ

Q:心拍変動のpNN50を用いた論文を5個程度探して
A:心拍変動のpNN50を用いた論文を5個程度探しました。pNN50とは、連続した隣接する心拍間隔の差が50ミリ秒を超える割合のことで、副交感神経の活動を反映する指標とされています。以下は、pNN50を用いた論文のタイトルと概要です。


Q:心理学に関連する論文だとどうかな?
A:心理学に関連する論文を探しました。心拍変動のpNN50は、心理的なストレスや感情 に影響される指標として、心理学的な研究においても利用されています。以下は、心拍変動のpNN50を用いた心理学的論文のタイトルと概要です。

 こんな感じに。ほとんどが心拍変動の解説をする資料系の論文で、他も紀要論文やショートレポートのようなもの。・・・あまり国内で研究されていないのだろうか?
 少し気になったのは生体計測による自動運転時のドライバの快適覚醒評価自律神経活動指標を用いた音楽聴取時の精神緩和効果の評価。どちらも本実験と同じ聴覚刺激が関連している。
 また、大会発表集の論文まで手を伸ばすと、情報処理学会の大会発表に生体情報に基づく楽器が覚醒度および快・不快度に与える影響の解析リハビリテーション促進のためのロボットによる声かけ支援生体情報による感情推定手法とステージの観客反応による評価などでpNN50が用いられている。

 こうした論文ではRMSSDの結果が出てこないのだが、RMSSDが比較的新しい解析手法ということを除いてどのような違いがあるかこれもBingAIに聞いてみた。

Q:心拍変動測定時にRMSSDとpNN50の結果がやや異なるとき、どのようなことが言える?
A:心拍変動測定時にRMSSDとpNN50の結果がやや異なるとき、どのようなことが言えるかという質問ですね。RMSSDとpNN50はともに副交感神経の活動を反映する指標とされていますが、計算方法が異なります。RMSSDは隣接するRR間隔の差の2乗の平均値の平方根であり、pNN50は隣接するRR間隔の差が50msを超える割合です1。したがって、RMSSDはRR間隔の差の大きさに、pNN50はRR間隔の差の回数により影響を受けます。例えば、RR間隔の差が50msを超える回数は少ないが、超えるときは大きく超える場合は、RMSSDは高く、pNN50は低くなります。逆に、RR間隔の差が50msを超える回数は多いが、超えるときはわずかに超える場合は、RMSSDは低く、pNN50は高くなります。このように、RMSSDとpNN50の結果がやや異なるときは、RR間隔の差の大きさと回数のバランスが異なることを示していると考えられます。

詳細情報:

1. jstage.jst.go.jp2. trytech.co.jp3. pc-ecg.com4. jstage.jst.go.jp

 要は劇的な変化をもたらすわけではないから、RMSSDとpNN50で結果に違いが出たらしい。こうした反応の違いも何かの特徴なのだろうか。
 図書館に買ってもらった本に何か載っているか期待してみようと思う。