手話の「表情という文法」と、腕の微弱な電気信号。
映画『もしもの話』が紡ぐ、心の壁を溶かす科学。
手話は「手だけのジェスチャー」ではありません。眉の動きひとつで「もし〜なら」という仮定を生み出す豊かな言語であり、筋電センサーとAIはその繊細な想いを繋ぐ配慮した架け橋になります。
この記事の要点と4つの章のご案内
| 章構成 | 主なテーマ | 要点と確認ポイント |
|---|---|---|
| 1. 基本と全体像 | 図解でわかる「手話の2つのチャンネル」と「8ch筋電センサー」 | 日本語対応手話が音声日本語の語順に沿って単語を手で表すのに対し、日本手話(JSL)は音声日本語とは独立した固有の文法体系を持つ自然言語です。手の動き(手指動作)だけでなく、眉の上げ下げ、目の見開き、顎の引き、首の傾きといった「非手指動作(NMM: Non-Manual Markers)」が疑問文・否定文・条件節(「もし〜ならば」)などの文法を決定づけます。 |
| 2. 現場での進め方と対策 | 触って体験!同じ手の動きでも「表情(NMM)」と「筋電波形」で意味が変わる実験室 | 指や手首を動かすとき、前腕の筋肉(浅指屈筋や総指伸筋など)には数マイクロ〜数ミリボルトの微弱な電気信号(表面筋電位:sEMG)が流れます。腕の周囲8箇所のセンサーでこの波形を読み取り、フーリエ変換(周波数解析)を行うことで、カメラの死角になっても「どの指がどのくらいの力で動いたか」をリアルタイムに推定する福祉工学技術です。 |
| 3. 関連する制度とルール | 障害者差別解消法・JIS X 8341-3(WCAG 2.2)と地域文化・福祉メセナの連携 | 「もしも、言葉や聴こえの壁をテクノロジーと優しさで越えられたら」という問いから生まれた手話・福祉・文化芸術の映画・メセナプロジェクト『もしもの話』において、手話言語学の非手指動作(NMM)と筋電工学、そして地域の芸術文化をつなぐ技術・広報支援に取り組んでいます。 |
| 4. 詳しい技術仕様としくみ | 日本手話の非手指動作(NMM)統語構造と8ch表面筋電位(sEMG)双二次IIRノッチフィルタ・STFT特徴融合 | 手話は「手だけのジェスチャー」ではありません。眉の動きひとつで「もし〜なら」という仮定を生み出す豊かな言語であり、筋電センサーとAIはその繊細な想いを繋ぐ配慮した架け橋になります。 |
図解でわかる「手話の2つのチャンネル」と「8ch筋電センサー」
日本手話では、同じ「行く」という手の動きでも、眉を上げて顎を引けば「行く?(疑問)」、首を横に振れば「行かない(否定)」になります。
手が重なったとき、カメラ映像だけではどの指が動いているか見えません。腕の8ch筋電センサーが「筋肉の音色(周波数)」を読み取ります。
日本手話で「もしも〜なら」と語りかけるとき、人は自然に眉を上げて少しうなずきます。その配慮したまなざしこそが対話の始まりです。
触って体験!同じ手の動きでも「表情(NMM)」と「筋電波形」で意味が変わる実験室
下の4つの文法モードをクリックしてみてください。同じ「明日・行く」という手指動作でも、非手指動作(NMM)と8ch筋電スペクトルがどう変化するかがその場でわかります。
01 平叙文:自然な表情 + 文末の軽い「うなずき(hn)」
眉は自然な位置に保ち、「行く」のサインの終点で軽く1回うなずくことで、肯定の平叙文(「明日行きます」)として文が完結します。
障害者差別解消法・JIS X 8341-3(WCAG 2.2)と地域文化・福祉メセナの連携
2024年4月の改正障害者差別解消法施行により、すべての事業者において情報のバリアフリー化(合理的配慮の提供)が求められています。音声のみに頼らない視覚図解ファーストのUI設計(JIS X 8341-3:2016 等級AA準拠)と、日本手話(JSL)の非手指動作(NMM)および生体信号処理(8ch sEMG)の研究開発を組み合わせることで、医療・教育・防災の現場で誰もが安心して意思疎通できる環境を整えます。
電話連絡のみを必須とせず、図解・テキスト・フォームで手続きや緊急連絡が完結する導線を標準化します。
手指の動きだけでなく、眉・目・首の傾き(非手指動作)が持つ文法的な役割を尊重した対話・映像制作を推進します。
映画『もしもの話』をはじめとする文化芸術支援を通じ、技術と優しさが調和する地域社会づくりに貢献します。
日本手話の非手指動作(NMM)統語構造と8ch表面筋電位(sEMG)双二次IIRノッチフィルタ・STFT特徴融合
本稿では、映画『もしもの話』の背景にある手話言語学と生体信号処理工学を統合し、(1) 日本手話(JSL)において疑問・否定・条件節・話題化(Topic Marking)の文法スコープを支配する非手指動作(NMM: 眉の上下・顎の引き・頭部傾斜)と手指動作(Manual Signs)の多層統語木、(2) 前腕8チャンネル表面筋電位(sEMG)計測における 60Hz 商用電源ハムを除去する2次双二次(Biquad)IIR ノッチフィルタ伝達関数 H(z)、および (3) 時間領域 Hudgins 特徴量と短時間フーリエ変換(STFT)スペクトル特徴の低遅延融合アルゴリズムを定式化する。
1. 【手話は『ジェスチャー』ではなく、手指と非手指動作(NMM)が織りなす厳密な自然言語である】 音声言語を知らない人が抱きがちな最大の誤解は、「手話は日本語の単語を手振り(手指動作)に置き換えたもの」という偏見である。実際の日本手話(JSL)は、日本語とは異なる独自の語順・形態論・統語構造を持つ厳密な自然言語であり、特に文法機能(Yes/No疑問文、Wh疑問文、否定、条件節『もし〜ならば』、話題化)の決定には、眉の挙上・顰め、目の見開き、顎の引き、頭部の前後傾といった『非手指動作(Non-Manual Markers: NMM)』が不可欠の文法マーカーとして機能する。例えば全く同じ手指動作 [行く] であっても、眉を上げて顎をわずかに前に出せば疑問文『行く?』になり、眉を寄せて首を振れば否定表現へと統語木(Syntax Tree)のルート節が反転する。
2. 【カメラ画像認識の死角(オクルージョン)を補完する前腕 8ch 表面筋電位(sEMG)】 カメラ映像(RGB/Depth)のみによる手話・手指認識は、指同士が重なる自己遮蔽(Self-Occlusion)や照明変動、高速な指文字動作時のモーションブラーに弱い。一方、前腕の浅指屈筋・総指伸筋・尺側手根屈筋などの直上に配置した8チャンネル表面筋電センサ(サンプリング周波数 f_s = 1000 Hz)は、皮膚表面の電位差(数10 uV〜数 mV)から「どの指の腱にどれだけ力を込めたか」を遮蔽ゼロかつ運動発現の約 30〜50 ms 先行(電気機械遅延:Electromechanical Delay)して捉えることができる。双二次(Biquad)IIR 60Hz ノッチフィルタ H(z) = (b_0 + b_1 z^-1 + b_2 z^-2) / (1 + a_1 z^-1 + a_2 z^-2)(ただし omega_0 = 2*pi*60/1000, alpha = sin(omega_0)/(2Q))によって商用電源ノイズを -45dB 以上減衰させることで、純粋な運動単位活動電位(MUAP)列を抽出する。
3. 【Hudgins 時間領域4特徴量(MAV / WL / ZC / SSC)とNMMマルチモーダル融合】 128ms のスライディングウィンドウ(32ms ストライド)ごとに、8チャンネルそれぞれの平均絶対値(MAV)、波形長(WL)、ゼロ交差数(ZC)、傾き符号変化数(SSC)の計 32次元特徴ベクトル X_sEMG を算出し、同時に顔特徴点ランドマークから抽出した NMM 文法状態ベクトル X_NMM(眉高度比・眼瞼開度・頭部ピッチ/ヨー角速度)と直積融合することで、手指単体では曖昧な語彙と文末表現を高精度に識別する。
| Modality / Channel | Anatomical / Linguistic Target | Signal Feature / Metric | Grammatical / Lexical Role in JSL |
|---|---|---|---|
| sEMG Ch 1-4 (Flexors) | Flexor digitorum superficialis / carpi | MAV, Waveform Length (WL), 60-250Hz PSD | 母指〜小指の屈曲・握り強度・指文字の形態素識別 |
| sEMG Ch 5-8 (Extensors) | Extensor digitorum / carpi ulnaris | Zero Crossings (ZC), Slope Sign Changes (SSC) | 指の伸展・手首の背屈・回内/回外(掌の向き)の識別 |
| NMM Upper Face | Eyebrow Raise / Furrow & Eye Aperture | Normalized AU1/AU2/AU4 Displacement | Yes/No疑問(眉上げ)・Wh疑問(眉寄せ)・条件節『もし〜』の境界標示 |
| NMM Head & Chin | Head Pitch/Yaw Velocity & Chin Tuck | 6-DoF Pose Derivative d(theta)/dt | 否定スコープ・話題化(トピック提示)・文末の断定/確認モダリティ |
#![forbid(unsafe_code)]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum JslSentenceModality {
DeclarativeAffirmative, // 平叙文(肯定)
PolarYesNoQuestion, // Yes/No 疑問文(眉挙上 + 頭部前傾)
WhContentQuestion, // Wh 疑問文(眉顰め + 顎引き)
ConditionalIfClause, // 条件節「もし〜ならば」(眉挙上保持 + 節末ポーズ)
}
#[derive(Debug, Clone, Copy)]
pub struct NmmFacialState {
pub brow_raise_zscore: f32, // Positive = raised (AU1+2), Negative = furrowed (AU4)
pub head_pitch_deg: f32, // Forward nod / chin posture
pub clause_boundary_pause_ms: u16,
}
/// Classifies the grammatical clause modality of Japanese Sign Language (JSL)
/// from Non-Manual Markers (NMM) synchronized with forearm sEMG onset/offset.
#[inline]
pub fn classify_jsl_nmm_modality(nmm: &NmmFacialState) -> JslSentenceModality {
if nmm.brow_raise_zscore >= 1.2 && nmm.clause_boundary_pause_ms >= 180 {
JslSentenceModality::ConditionalIfClause
} else if nmm.brow_raise_zscore >= 1.0 && nmm.head_pitch_deg >= 4.0 {
JslSentenceModality::PolarYesNoQuestion
} else if nmm.brow_raise_zscore <= -0.9 {
JslSentenceModality::WhContentQuestion
} else {
JslSentenceModality::DeclarativeAffirmative
}
}
/// Computes the Waveform Length (WL) complexity feature of a filtered sEMG frame:
/// WL = ∑_k=1^N-1 |x[k] - x[k-1]|, reflecting motor unit recruitment density.
#[inline]
pub fn compute_semg_waveform_length(samples: &[f32]) -> f32 {
let mut wl: f32 = 0.0;
for pair in samples.windows(2) {
wl += (pair[1] - pair[0]).abs();
}
wl
}
動的CMS/PHPランタイム攻撃面(CVE-2024-4577等)の解剖とAstro+Rust静的分離設計
プロトコル仕様・数理モデル・Rust 2024 実装コードの詳細は、専門技術モノグラフにて公開しています。