情報処理学会 インタラクション 2015
IPSJ Interaction 2015

C64
2015/3/7

SEANA: 利用者の動作を強調する
音の拡張現実アプリの開発
吉田 赳1,a)

西村 竜一1,b)

入野 俊夫1,c)

河原 英紀1,d)

概要：本研究では，音の拡張現実システム SEANA を開発した。提案システムは、利用者の動作をスマートフォン（Android 端末）で認識し、その動作と対応づけられた音を外部のスピーカーから鳴らす機能を有する。私たちの日常生活に動作を誇張した音を付与することで、エンターテイメント等での応用を期待することができる。利用者の動作の認識には、パターン認識アルゴリズムであるサポートベクタマシン（SVM）を用い、本研究では、その有用性を調査した。特徴量には、Android 端末で測定が可能な加速度センサ、ジャイロセンサの各出力値を用いた。評価実験では、SVM のカーネル関数を変更した場合の識別率を比較した。

SEANA: Development of Auditory Augmented Reality App.
for Emphasizing the Action of the UserIsami Yoshida1,a)

Ryuichi Nisimura1,b)

Toshio Irino1,c)Hideki Kawahara1,d)Abstract: We have developed a mobile app. for realizing the sound-based augmented reality system, called“SEANA”. The system can recognize actions of the smartphone (Android terminal) users , and has a function
to play sound eﬀects according to the recognized actions from the external audio speakers. By applying aexaggerated sound in our daily life, we can expect that it brings new applications of the entertainment field.
We have adopted the support vector machine (SVM) as a pattern recognition algorithm for the action of theuser. In this paper, we investigated its usefulness. As for the feature vectors for the SVM, we used the output
values of the acceleration sensor and the gyro sensor given from the Android terminal. In the evaluation
experiments, we compared the identification rate of changing the kernel functions of the SVM.

1. はじめに

エンターテインメント分野では、利用者の動作に対して、誇張された音によってフィードバックを返す応用を想定し本研究では、私たちの行動に音の拡張現実を提供するている。図 1 に、チャンバラごっこ（戦闘シーン）での提SEANA（Sound Eﬀect AR with Natural Act）を提案す案法の利用イメージを示す。プレイヤは剣を持ったつもりる。スマートフォン（Android 端末）を用いて、利用者ので、手を振りかざし、システムはその動作に対応し、誇張動作を認識し、動作に対応した音を外部スピーカー再生すされた効果音を外部スピーカーから再生する。例えば、任ることで、利用者の行動を誇張することができる。

天堂から発売されている家庭用ゲーム機 Wii では、Wii リ

本システムの応用先としては、エンターテインメント分

モコンを所持しているプレイヤの動作に対し、振動や音で野や、「気付き」が必要な私たちの日常生活を検討している。

フィードバックを与えることが可能である。しかし、これ1は特定のハードウェアに依存した実装であった。一方で、

a)
b)
c)
d)

和歌山大学システム工学部
Faculty of Systems Engineering, Wakayama University, 930
Sakaedani, Wakayama, Wakayama 640–8510, Japans165061@center.wakayama-u.ac.jp
nisimura@sys.wakayama-u.ac.jp
irino@sys.wakayama-u.ac.jp
kawahara@sys.wakayama-u.ac.jp© 2015 Information Processing Society of Japan

提案システムは、ユーザが所有しているスマートフォンを端末とするため、動作データの取得には新たな機器の導入を必要としない。
また、「気付き」の応用では、歩行音などの誇張表現の利

972

ガキン！

ズバッ！

再生クライアントサーバー

Raspberry Pi

Raspberry Pi

再生クライアントRaspberry Pi(C) 発音トリガーの送受信(D) 音の再生

SVM

Android 端末(A) センサ出力

ユーザー

図 1

図 4

利用イメージ 1（チャンバラごっこを誇張する場合）

スピーカー(B) 動作パターン
認識

静止振る
歩くジャンプ

Android 端末

提案システムの処理フロー

2. 提案システムの概要

歩行音を増幅提案システムである音の拡張現実システム SEANA は、以下のハードウェアから構成される (図 3)。

a) 動作パターン認識アプリを起動している Android 端末b) 誇張音を再生するスピーカー

スマートフォンc) b) と接続する Raspberry Pi（音の再生クライアント）

歩行を認識d) システム全体の通信を管理する Raspberry Pi（サーバー）a) は、利用者が所持する端末である。b) と c) は一組を
図 2

利用イメージ 2（歩行音を誇張する場合）セットで使用する。なお、開発したシステムでは、複数のセットを空間上（部屋等）に配置することが可能である。

(b)

(c)

再生音を誇張表現を高めるためには、同一の空間内に複数(d)のセットを同一の無線 LAN ネットワークで接続する。のセットを配置する。提案システムは、a), d) 及び b) と c)(a)本システムの処理の流れ（図 4）は、大きく以下のようになる。

図 3 提案システムのハードウェア構成(A) a) の Android 端末内でユーザの動作に対するセンサ出力を取得用を考えている。音の誇張表現に関し、従来から存在する
例としては、子ども向けの「音が鳴るサンダル」（子どもが歩くと、それに併せて「ピコピコ」と音が発生する）が挙(B) サポートベクタマシン（SVM）を用いて動作パターンを認識(C) 認識結果の情報を d) を経由して、c) に対して音再生げられる。このサンダルには、音が鳴る楽しさを提供に加のトリガー（以下、再生トリガー）として送信

え、まわりの人間（主に大人）に対して、子どもの存在を(D) c) が再生トリガーを受信、b) から誇張音を再生知らせるという機能が存在する。別の例では、ハイブリッ
ト電気自動車に、走行中のモーター音をわざと誇張する機

2.1 RaspberryPi を用いた音再生機構

能を付与する事例がある。これは、誇張された音で、自動空間内にスピーカーを配置する際や利用時の手軽さを車の存在を周りに気付かせ、危険を事前に回避することを考慮した上で、スピーカーと Android 端末は、無線通信意図している。

（WiFi）で情報を交換する仕様とした。開発の当初、Blue-

本システムでは、スマートフォンとネットワーク結合さtooth Audio 等を利用して、WAV や FLAC 形式等の音響れたスピーカー群を組み合わせることで、上記のような利信号そのものを Android 端末から直接スピーカーに送信用者の動作を誇張する音を周囲に提示することを可能とすする手法を検討した。しかしながら、送信データ量が大きる。例えば、図 2 に示すように、人で塞がっている道を通いため、音の再生がはじまるまでに遅延が発生することにりたい場合などで、自分の存在を周囲に気付かせる事がでなった。また、Android 端末内部ではパターン認識によるきる。将来的には、医療介護の現場で、要介護者の行動を動作認識機構を常に動作させる必要があるため、端末内部音を使って誇張し、周囲の人間に要介護者の状態を知らせの CPU 等負荷を削減する必要があった。よって、提案シるような利用を期待することができる。

ステムでは、送信する情報量を抑えることができる「再生トリガー」による情報交換方式を採用することにした。

© 2015 Information Processing Society of Japan973

無線通信を担うとともに、スピーカーを駆動するハードジャイロセンサ（角速度センサ）

加速度センサウェアとしては、Linux ボードコンピュータの Raspberryzzyx

Pi を採用した。Raspberry Pi は、小型であり、広く一般

yxに組込み機器としても利用されている。よって、将来的には、Raspberry Pi とスピーカーを一つのハードウェアに統合することで、空間内に分散配置する際の手間を抑えるこ

図 5 実験に用いた Android 端末の加速度センサとジャイロセンサとができる。また、安価なため、導入コストが低いというメリットもある。

(A) センサーの出力に対し、窓をかける

提案システムでは、Raspberry Pi を c) と d) の 2 つの50 フレーム分のセンサ出力を記憶センサ出力用途で利用している。c) は、スピーカー b) と有線のオーディオケーブルで接続され、音を再生するクライアントである。d) は、システム全体の通信を管理し、再生トリガー

時間（フレーム）
窓の条件
種類：矩形窓
窓長：30 フレーム
シフト長：10 フレーム

窓１を中継する。

窓２窓３

Android 端末から再生トリガーを受信したサーバ d) は、同報通信により、すべての再生クライアント c) に再生ト(B) 窓毎に全動作パターンの識別を行うリガーを同時中継することができる。なお、スピーカー b)(C) 重みを合算し、最も得点の高いパターンを最終的な認識結果とするから再生する音響信号は、すべての再生クライアント c) の内部ストレージに同一のものが保存されている。

パターン

窓１ 窓２ 窓３-1-1-1-1+1-1-1-1-1
静止+1振る+1歩く
ジャンプ -1

3. SVM を用いた動作パターンの認識
提案システムでは、ユーザの動作のパターン認識に、サ×

重み-3-1+1-3

２
１1.5
1○-1.5-1+1.5-3○：識別結果の総和
×：総和が正の場合、重みを乗算
総和が負の場合、重みを除算
最終的な認識結果

窓毎の識別結果

窓毎の認識結果について、
・+1 はポジティブな結果
・-１はネガティブな結果を表す。

ポートベクタマシン（SVM）[1] を用いた。以下では、開発した動作パターンの認識機構の構成と、SVM の学習に用いる動作の記録データの収集方法について述べる。
動作パターンの初歩的な識別手法として、加速度等のセ

図 6

並列 2 値識別器を用いた多数決による出力決定法

ンター取得値の閾値超過を判定する手法がある [2]。しかし、実際に閾値超過によるシステムを試作したところ、複ことは、利用者の利便性の低下や導入コストの増加を招く雑な動作に対応することが困難であることが判明した。隠ために難しい。今回、利用者が一台の Androd 端末のみをれマルコフモデル（HMM）を利用した手法 [3] は、動作パ所持した状態に着目し、その際に取得できるデータの活用

ターンの時間方向への伸縮に柔軟に対応できる利点があるを検討する。

が、リアルタイム性に劣ることがわかった。これは、HMM

図 5 に、計測に用いた Android 端末の加速度センサ及びが、一つの動作のセグメント単位で処理するアルゴリズム

ジャイロセンサの各軸の向きを示す。加速度、角速度共にであり、動作の開始から終了までの区間を切り出してからx,y,z の各軸方向、すなわち計 6 軸の計測値を用いた。今回処理することを原則としているためである。それに対して、用いたハードウェア（Google Nexus5）では、各センサかSVM はフレーム単位認識を高い精度で実行することが可ら 15fps で値を取得することができる。計測の時間長は、2能なため、高いリアルタイム性を期待することができる。

秒（合計 30 フレーム）とした。

提案システムでは、SVM の実装には、Chih-Jen Lin らによ

特徴量には、計測した値そのものである RAW データとり開発された LibSVM を用いる。ただし、実際には、Yuan-平均値を用いた。平均値は、取得した 30 フレーム分の計

Ching Spencer Teng らによる Libsvm を Android OS で利測値を各軸毎に平均したものである。従って、RAW デー用できるライブラリである LibsvmAndroidClassification[5]タの場合は 180 次元、平均値では 6 次元の特徴量で識別処を用いた。

理を実行することになる。

3.1 特徴量

3.2 マルチクラス識別への拡張

本研究では、Android 端末を利用者ごとに一台所持し、SVM は基本的には 2 値識別器であるため、複数のクラスその加速度センサとジャイロセンサ（角速度センサ）の出を識別するときにはマルチクラスに拡張する必要がある。

力を SVM の特徴量とした。行動認識の特徴量に関しては、

本研究では、クラスごとに 2 値識別器を用意し、それらを複数のセンサを身体の様々な箇所に装着して取得する手並列とした場合の多数決による出力決定法を採用した（図法 [4] が提案されている。しかし、センサを複数に増やす6）。

© 2015 Information Processing Society of Japan974

動作指定１
記録開始

利き手(Android 端末を持っている手 )記録終了（静止した状態）

静止

静止を続ける

Android 端末（静止した状態）

静止状態に戻る

一度上下に振る

提供者

振る

動作指定書
（静止した状態）

前方を突く（静止した状態）

ジャンプする

そのまま静止突く

図 7

静止状態に戻る

実験使用機材（Google Nexus5）
ジャンプ

図 9

動作記録の様子

認識時には、最初に、過去の計測値を含めた 50 フレーム分の特徴量を連結する。次に、図 6(A) に示すように、矩図 8

マニュアル形窓を用いた切り出し処理を行う。この際、矩形窓の窓長は 30 フレーム、シフト長を 10 フレームとした。30 フレー(１) 入力画面(２) 記録画面(C)

ムの長さを持つ特徴量系列を 3 つ得ることができる。3 つの特徴量系列をそれぞれ入力とし、識別対象のクラスごとにポジティブ/ネガティブを出力する並列 SVM で 2 値識(A)別処理を行う。出力がポジティブの場合をスコア+1、ネガティブをスコア-1 とする。動作のクラスごとにスコアの合(B)算を行い（各クラスごとに 3 つの出力を合算することになる）、最も高いスコアを有したクラスを最終的な出力とした。なお、ポジティブの頻度が同じ場合も考慮し、経験的に頻繁に出現することがわかっている行動のクラスに対し

図 10開発した収集アプリの画面ては、図 6(C) のようにスコアに重みを付与している。
録する動作を選択。

3.3 動作データの収集と識別器の構築
本研究では、独自に動作を計測したデータの収集を行っ( 3 ) (C) の Start ボタンをクリック。「記録画面」に遷移。
( 4 ) 3 秒間のカウントダウンの後に、動作を 2 秒間記録。

た。動作のパターン (認識時にはクラスとして用いる) は、記録したセンサ出力の一部を、図 11 及び 12 に示す。図10 種類（静止、（静止状態から）歩く、（静止状態から）走11 は、協力者 A の「静止」時の加速度を示す。図 12 は、る、歩き続ける、走り続ける、振る、突く、しゃがむ、ジャ同じく協力者 A の「ジャンプ」時の加速度である。各グランプ、蹴る）である。協力者は、11 名 (20 代の男性 5 名、フの横軸は時間（フレーム）、縦軸は計測値を示す。

女性 6 名) である。10 種類の動作を 2 秒間、各 10 回記録す記録した計測値に対して、教師データとなるラベルを付るように依頼した。今回の実験では、環境を統一するため与した。図 13 に示すように、各動作クラスの識別器を構に、すべての協力者の動作を同一の Android 端末 (Google築する際、クラスと協力者が収集アプリ上で選択した動作

Nexus5, 図 7) で記録した。動作記録時には、協力者は利きが同じのとき、ポジティブ（+1）とした。対して、選択し手に Android 端末を持つ。依頼をする際、協力者に動作をたクラスと異なる動作の記録値は、すべてネガティブ（-1）

指定したマニュアル（図 8）を示し、「どのような動作をしとした。しかし、この方法そのままでは、ネガティブの事てほしいのか」を説明するようにした。記録中は、図 9 に例がポジティブに対して多くなり、データ数の不均衡が生示すように、常に確認できる位置にマニュアルを設置するじる。そこで、ネガティブデータに対しては削減を行い、ようにした。

量を 10 分の 1 とするようにした。

ここまで説明した動作の記録には、新規に開発した専用Android アプリ (以下、収集アプリ) を用いた（図 10）。収
集アプリは、以下の通り、協力者が自ら操作することで容易に動作を記録することができる。

4. 識別実験によるカーネル関数の選択
4.1 実験の目的
SVM では、カーネル関数の選択が識別器を構築する際( 1 ) アプリを起動。「入力画面」を表示の検討事項となる。LibSVM では利用できるカーネル関数( 2 ) (A) に名前や身長などの属性を入力。(B) で今から記には複数の種類があるため、今回、予備実験の性能調査を© 2015 Information Processing Society of Japan

975

$!!"#,!"#%#$+!"#&#$*!"#!"#!"#()*+%,$"#$#$&$!&#$'$&&$&'$%&$%'$"&$(!"#'!"#&!"#!%#$%!"#!"#$$!"#%&#'()*+$!".$!"#-5/ -./034 46 12#-5/ .1-7%
34 46 89#
-5/ .1-7&
34 46 89#-5/ .1-7'
4
34 6 89#-5/ .1-7(34 46 89#-5/ .1-7)
4
34 6 89#-5/ .1-7*
34 46 89#
-5/ .1-7
34 46 +8
-5/ .1 9#
46 -7,.1 89#-7
21 $!8:.
1- 9#;1=> <.<#
02
1?
0#

!"-$

!"/$

34

図 11 「静止」時の加速度!"#()*+%,$)!"#"#$

図 14%#$

カーネル関数毎の識別率（RAW データ）&#$$!!"##$!&#$&$'$&&$&'$%&$%'$"&$,!"#
+!"#

!%#$
!"#

*!"#

!"#$

%&#'()*+$)!"#(!"#'!"#!"-$!".$!"/$&!"#%!"#$!"#

図 12 「ジャンプ」時の加速度

振る

図 15 カーネル関数毎の識別率（平均値）

記録
停止

etiv
ga
ne

時間 ( フレーム )記録
開始

ネル関数の選択による SVM 単独での識別能力を調査する
静止「振る」パターンを選択

図 13

5/ -./
034 46 12#
-5/ .1-7%
34 46 89#
-5/ .1-7&
34 46 89#
-5/ .1-7'
4
34 6 89#-5/ .1-7(
34 46 89#-5/ .1-7)8
4
34 6
9-5/ .1-7 #*34 46 89#
-5 .134 /46 7+8-5/ .1 9#
46 -7,.1 89#-7
21 $!8:.
1- 9#;1=> <.<#
021?
0#

positive

34
-

学習データ

加速度センサ出力データ
加速度 (m/s^2)!"#

計測データに対するラベルの決定方法ことが目的である。このため、マルチクラスに拡張した結果は用いず、各クラスの単独の識別器の性能を調査した。

4.3 実験手法
各クラス毎に構築した SVM をそれぞれ使用し、識別結通じてカーネル関数を選択することにした。また、特徴量果を記録した。各識別器において、評価データと識別器のとして、センサーの計測値（加速度、角速度）の RAW デー

クラスが同じときは、ポジティブを出力し、クラスが異なタを利用する時と平均値を比較することも本実験の目的とるときはネガティブを出力する事が期待される。それぞれする。のクラスに対し、正しくポジティブを出力した場合は点数比較の対象としたカーネル関数を以下に示す。なお、多を+1 し、ネガティブのときは加算しないようにした。合項式カーネルにおいては、次元数を 2 次元から 10 次元ま計した点数を評価データ数で平均し、カーネル関数毎の識で変化させ、調査した。

別率とした。

• 線形カーネル（linear kernel）• 多項式カーネル（polynomial kernel）• ガウシアンカーネル (radialbasis kernel)

4.4 実験結果
実験結果を図 14 及び 15 に示す。各グラフの値は、入力したすべての評価データに対する、カーネル関数毎の識

4.2 実験条件
今回の実験は、識別器の構成を決定するための予備的実験であり、識別器の学習と評価に同じデータを用いるク別率の平均（以下、平均識別率）である。また、図 14 は、RAW データを特徴量として利用した場合、図 15 は平均値を特徴量とした場合を示す。

ローズド条件にて行った。これにより、識別器のポテン

この結果より、RAW データと線形 (Linear) カーネルのシャルを確認することができる。なお、提案システムでは、組合せが、最も高い識別率 69.2%を示した。しかし、図 16

マルチクラスへの対応のため、先述のように並列 SVM をのように、動作のクラスによっては、他のカーネル関数用いたスコア計算を行っている。しかし、本実験ではカーを用いた方が識別率が高くなる場合がある。その中には、© 2015 Information Processing Society of Japan976

@A-B

C(!!"#!"#<D))#'!"#<EF-G#&!"#<H-I,#%!"#I*JI#B-)I*+?#$!"#[5](2011).
Yuan-Ching Spencer Teng, LibsvmAndroidClassification
https://github.com/spencerimp/
LibsvmAndroidClassification(2014 年 12 月 19 日アクセス確認).

GH.F<G#!"#)1+/0

図 16/0)*+02 ,-.
#*)1+ )3$
40/0 2*- 5#)1+ )36
40/0 2*- 5#)1+ )3%
40/0 2*- 5#)1+ )3702 45#/0)1+ *-)3&
02 45#/0)1+ *-)38
40/0 2*- 5#)1+ )3'/0 02 45#)1+ *-)02 394
5#*)3(.- !45:*-) #;<=> *<#,.
-?
,#:-<H*+?#
:-<H#
B-)I#
KF2/#

カーネル関数による識別率変化の詳細（RAW データ）80〜90%の識別率を示すケースも存在した。よって、動作のクラスによってカーネル関数を使い分けるような工夫が必要であることが確認された。
また、RAW データと平均値の特徴量の違いを比較すると、RAW データが 5.3%ポイント高い性能を示した。従って、提案システムには、特徴量として RAW データを利用する事が妥当であると判断できる。

5. まとめ本研究では、Android 端末を用いた音の拡張現実システムの開発を行った。このシステムは Android 端末を持った利用者の動作に合わせた誇張音を、外部のスピーカーから再生することができる。
利用者の動作パターンの識別には SVM を利用した。

SVM の特徴量とカーネル関数を選択する際の基準とするため、カーネル関数ごとに変化する識別率を実験で求めた。
実験の結果、線形カーネルのとき、特徴量に RAW データの利用が最良であることが示唆された。ただし、動作のクラスによっては、線形カーネル以外で高い性能を示すため、並列 SVM の特性を生かして、異なる SVM 識別器の組合せ等を検討する必要がある。
今回は、SVM の構成を決定するための予備的な評価までの実施となったが、マルチクラスでの評価実験を今後予定している。認識精度の向上は継続的に検討すべき課題である。例えば、ゲーム等で活用する場合、利用者の動きと関係のない誇張音は、ユーザ体験に悪影響を及ぼす。屋外で使用する場合は、騒音問題に発展することも危惧される。
よって、システム全体の開発と並行して、基盤となる動作識別手法の改良が早急に必要である。
参考文献
[1]
[2]

[3]

[4]

V.N. Vapnik, The Nature of Statistical Learning Theory, Springer (1995).
大内 一成, 土井 美和子, 加速度と音で日々の生活行動を認識する ActivityAnalyzer, インタラクション 2011,
pp.255–258 (2011).
野津 拓人, 澤田 秀之, 橋本 周司, 加速度センサを用いた
HMM によるジェスチャー認識, 情報処理学会第 56 回全国大会講演論文集, no.4, pp.21–22 (1998).
村尾 和哉, 寺田努, 加速度センサの定常性判定による動作認識手法, 情報処理学会論文誌, vol.52, no.6, pp.1968–1979© 2015 Information Processing Society of Japan

977