17
課題研究発表 要旨集 1 ポータブル点字打ち込み機の製作 2 Project SORA ~会話ができる人工無能の開発~ 3 HMD を使用したシミュレーションツールの製作 4 画像処理を用いたメイク補助ソフト 5 Idea Table 6 ユーザー拡張機能式のコミュニケーションツールの開発 7 HMD を利用した AR 技術の研究 8 筋電の取得と筋肉の電気的制御について 平成 24 10 4 東京工業大学附属科学技術高等学校 情報システム分野

課題研究発表 要旨集ics/Kaken/synopsis/2012.pdf課題研究発表 要旨集 1 ポータブル点字打ち込み機の製作 2 Project SORA ~会話ができる人工無能の開発~

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

 

課題研究発表 要旨集  

 

 

 

 

 

 

1 ポータブル点字打ち込み機の製作 

 

2 Project SORA ~会話ができる人工無能の開発~ 

 

3 HMD を使用したシミュレーションツールの製作 

 

4 画像処理を用いたメイク補助ソフト 

 

5 Idea Table 

 

6 ユーザー拡張機能式のコミュニケーションツールの開発 

 

7 HMD を利用した AR 技術の研究 

 

8 筋電の取得と筋肉の電気的制御について 

 

 

 

 

 

 

 

 

 

 

 

 

平成 24 年 10 月 4 日 

東京工業大学附属科学技術高等学校 情報システム分野 

P 1

P /

課題名 ポータブル点字打ち込み機の製作

発表者氏名 木村哲也 中村将仁 山本篤

指導教員 増田泰治

背景・目的

2011 年 3 月 11 日の東日本大震災では,多くの死者・行方不明者が出た。目に障害を持っ

た方は,貼り紙の文字や地図の情報が伝わらず苦難を強いられた。そこで, 災害時でも目の

不自由な人が情報を得られることを目的とし,手軽に持ち運ぶことができ,無線通信で情報

のやり取りができる点字打ち込み機を製作する。また,副経路を持つ無線ネットワークを構

築し,災害時の安否確認や,避難指示などの情報伝達ができるようにする。

理論

―点字打ち込み機―

紙にくぼみをつける「打ち込み機構」と,点の打ち込み位置を制御する「紙送り機構」,

CPU ボードで構成している。サーボモータで金属棒をくぼみのついた底板に押し付けて紙

にくぼみをつける。DC モーターでキャタピラを回転させ,摩擦で動かし,打ち込み位置

を制御する。

―無線ネットワーク―

ZigBee 通信規格でネットワークを構築する。メッシュ構造のネットワークを構築し,も

し何らかの不具合で通信できなくなっても,別の経路を通して通信することができる。メ

ッセージには固有の番号をつけ,同じものは複数回印刷しないようにする。

方法と結果

―点字打ち込み機―

改良を繰り返し,3 台製作した。2 台目の「V2」と 3 台目の「V3」 (図 1)で打ち込んだ点

字を,8 月 24 日,都立久我山青光学園(視覚障害教育部門と知的障害教育部門を併置する

特別支援学校)の全盲の先生に 5 段階で評価してもらった。評価結果を図 2 に示す。

図 1 点字打ち込み機「V3」 図 2 点字打ち込み機「V2」「V3」評価

P 2

P /

打ち込み速度は,1 文字当たり約 3.5 秒で,市販の点字プリンタの速度の 35 倍である。

しかし,市販の点字プリンタは 100 万円から 300 万円であるのに対し,製作した点字打ち

込み機は 1 万円程度で作ることができる。

―無線ネットワーク―

無線通信ネットワーク(図 3)の構築に成功した。

無線機は ZigBee 近距離無線通信規格のモジュール

「XBee-PRO ZB」を 3 台用いた。それぞれの無線機は互

いに送受信が可能で,何らかの不具合で通信できなく

なっても別の経路を通して通信することができる。通

信成功の判断は,通信確認データを最高 5 回送信して

成功したら,メッセージを送る。通信確認には最長で

10 秒を要する。

また,同じメッセージを複数回受信する場合がある

ため,メッセージには図 4 のように固有の番号を付け,

同じ番号のメッセージは印刷しないようにした。

考察

―点字打ち込み機―

「打ち込み機構」については,認識できる点を打つことができた。しかし,打ち込みア

ームの 3 本中 1 本は,40 回の打ち込みで破損した。打ち込みの秒数を 0.50 秒から 0.35 秒

に変更することで,点の高さを変えずにアームの負担を軽減できると考えている。

「紙送り機構」については,点と点の間隔が不均一になった。原因は,キャタピラと紙

が滑ることである。トラクタフィード (用紙に空けられた穴を突起で引っ掛けることによっ

て紙送りを行う方式 )を用いることで,解決できると考えている。

―無線ネットワーク―

通信が成功しているかどうかの判断が増えると,タイムラグが大きくなる。通信成功の

判断に時間制限と回数制限をかけることで解消できると考えている。

参考文献

1 ) mbed Rapid Prototyping for Microcontrollers https://mbed.org/

2 ) 社会福祉法人日本盲人福祉委員会「東日本大震災における視覚障害者の状況と支援」

http://www.ncawb.org/communi/63/4.html

図 3 無線ネットワーク図

図 4 受信パケット構造

P 3

P /

課題名 Project SORA ~会話ができる人工無能の開発~

発表者氏名 鵜澤貴之 小浦篤 小俣健太朗 杉澤煕基 羽根田涼

指導教員 近藤千香

背景・目的

人工無能とは,知能を持たない会話プログラムのことである。ここ数年,多数の人工無

能が登場しているが,それらの主な目的は“ナビゲーション”や“アシスタント”として

のものがほとんどである。しかし,私たちは,それだけでは面白くないのではないか,人

工無能をもっと身近に感じられるようなものは無いのだろうか,と考えた。そこで,私た

ちは単純に“話し相手”や“遊び相手”になるような人工無能「SORA」を制作すること

にした。また,開発には,今までに使用したことのない Ruby というプログラム言語を選

択した。「SORA」の制作を通して自分たちが使える言語を増やすことも本研究の目的の一

つとした。

理論

「SORA」との会話の一連の流れを次のように考えた。まず,ユーザーからの入力文を

Mecab という形態素解析ソフトを通し,文を解析する。そして,それらの情報をもとに返

答文を生成する。それを返し,次の入力を待つ。

上に書いた SORA の返答生成の部分のアルゴリズムを説明する。今回,私たちは複数の

アルゴリズムを組み合わせて自然な会話を実現できるようにした。

①ログ型 ユーザーにより入力された文章と似たような文章を過去の会話のログから探

し出し,その次の文章を SORA の返答の基礎とする方法。

例えば,右の図1のようなログがあ

るとする。ユーザーが“君の好きな

色は何?”と入力すると,図1の(Ⅰ)

が似ている文章として認識される。

そして,その次の文,つまり(Ⅱ)

が返答の際のベースとなる文章になる。似たような文章の認識には,文章を単語ごとに品

詞分解したものを用いる。入力された文章と品詞の並び順が一致すると,似ている文章と

認識される。

②Eliza 型 Eliza 型は,ユーザーの発言を質問にしてオウム返しする,あるいは特定の

P 4

P /

ワードに決まり文句で対応する,という動作を行う。Eliza 型のみで会話を成立させるこ

とは難しいが,一回の受け答えとしてはある程度自然な返答ができる。よって他のアルゴ

リズムと共存させ,使用頻度を調整することで会話の幅を広げることができる。

③マルコフ型 マルコフ連鎖を用いて文章を生成する方法である。マルコフ連鎖はユー

ザーとの会話ログを利用する。マルコフ連鎖では,文章を単語ごとに分解し,単語の並び

の確率を利用し,文章を生成する。例としてこの要旨を使ってみる。ここまでの要旨内k

に“会話”という単語は8回出てくる。そのなかで“会話”の次の単語の出現回数を調べ

ると,表1のようになる。 表1 “会話”の次の単語の出現回数

この結果を確率として用いて,“会話”

の後に続く単語を決定する。これを

繰り返すことにより実際にあるものに近い自然な文章を生成することができる。

方法と結果

メンバー内で実際に SORA と会話し,各アルゴリズムを評価し,relevance matrix 法で

算出したところ

表2のような結

果が出た。

マルコフ型は

自然な会話には

ならないことが

多かったためメインの会話モードには含めずに別モードとして搭載することにした。また,

Eliza 型は会話の成功率は高かったものの,単体では実に機械的な返答が多く,自然な会

話というテーマにはそぐわなかった。結果,ログ型の欠点を Eliza 型で補ったログ+Eliza

型がもっとも優良なアルゴリズムであることがわかった。

考察

今回 SORA との会話が100%成立するまでには至ら

なかったが,ある程度の自然な会話を行うことはできた

(図2)。今後,細かい修正を加えれば,より自然な会話

に近づけることができるだろう。

参考文献

・人工無能は考える http://www.ycf.nanet.co.jp/~skato/muno/index.shtml

次の単語 が プログラム の を ログ

使用回数 1 1 3 2 1

要素 文章自体の

自然さ

流れの自

然さ 人間らしさ 返答文の柔軟さ 楽しさ

合計

ウエイト 6 10 3 4 5

ログ 8 6 8 9 10 218

Eliza 9 5 5 2 3 142

ログ+Eliza 8 6 7 10 10 219

マルコフ 5 2 4 4 4 98

表2 各アルゴリズムの評価

図2 実行画面

P 5

P /

課題名 HMD を使用したシミュレーションツールの製作

発表者氏名 高倉雅哉 高田勝也 高橋哲生 古矢雅俊

指導教員 都留裕貴(仲道嘉夫)

背景・目的

非日常の状況がある程度想定できることをめざし,あらかじめ危険な状況を体験して,

いざというときに落ち着いて行動するためのシミュレーションツールの開発を行うことに

した。また,よりリアリティのあるシミュレーションを行うため,HMD(ヘッドマウントデ

ィスプレイ)によって没入感を,Wii リモコン・Kinect によって身体的動作感覚を引き出

せるようにした。

理論

映像出力機器に HMD を採用することによって,プレイヤーをシミュレーションに没入さ

せ,リアリティを高める。ただし,安全に配慮してある程度の現実認識可能域を設ける。

また,実際に身体を動かして操作することで,現実に体験しているかのような錯覚を起こ

させるようにする。これらを実現するための演算をコンピュータ上で行い,シミュレーシ

ョン画面のデータを HMD に送ることとする。シミュレーションに使用するマップは福島第

一原発の四号機建屋内をモデルにした。

方法と結果

HMD は既製品ではなく,我々で制作したものを使用した。

フ ル フ ェ イ ス ヘ ル メ ッ ト を 改 造 し , シ ー ル ド 部 分 に

Android タブットを取り付けて画面とした。フルフェイス 図 1 制作した HMD

ヘルメットのシールド部分が上下する機構を生かし,安全性を確保した。

プレイヤーの身体の動きをシミュレーションに反映させるために,Kinect を利用した。

Kinect を使用したことにより,実際に足踏みをした時に,シミュレーション内のプレイヤ

ーが移動する。また,シミュレーションにおいてのプレイヤーの視線は,実際のプレイヤ

ーの視点位置によって変化するため,プレイヤーがしゃがんだり飛び跳ねたりすると,シ

ミュレーションにおいての視点も変化する。また,Kinect のみでは頭や手首の向きまで正

確に判定することは難しい。そこで方向検知に優れた Wii リモコンを使うことで,頭の方

向の変化と連動して映し出される画面も変更できるようにする。Wii リモコンは HMD に設

置したものと,片手に持ちボタン操作を行うことができるものの二つを使用する。これら

P 6

P /

のプログラミングは主に C++と Unityscript を使用した。

これらの機能をソケット通信で起動用のパソコンにて作動させ,そのうち画面の情報を

komado というアプリによって Android 端末に送る。無線通信にすることにより,コードが

体に絡まることによる現実の動きへの制約をなくした。マップやプレイヤーの CG は

Metasequoia や Maya といった CG 作成ソフトで作成し,Unity3D を利用して管理する。

今回作成したシミュレーションは,プレイヤーが原発内を捜索し,決まった地点にて特

定の動作を行うことによってシミュレーション終了

となるものとした。その時点で,それまでにプレイ

ヤーが受けた放射線量などをデータ化して表す。原

発を移動している途中でも,現在受けている線量が

どれほどかを示す。

図 2 シミュレーション風景

考察

現実での動きをシミュレーション内に投影することはできた。Kinect を利用した歩行判

定は,数人が足踏みを行ったデータをまとめ,平均をとることで適切な判定が行えるよう

になった。問題点としては,Kinect,Wii リモコン,Android 端末間の通信の処理に時間が

かかるため,プレイヤーの実際の動きとシミュレーション内のプレイヤーの動きにラグが

生じる。これは,より高性能なコンピュータにて動作させることで改善すると思われる。

今後の展望として,問題点の解決と,歩く・走るの区別をしてプレイヤーの移動速度の変

化を実装予定である。また,Wii リモコンの精度を向上させる工夫も検討中である。さら

に,マップやイベントの充実も予定している。

参考文献

1)中村薫:Kinect センサープログラミング

2)高橋哲治郎:Unity 入門~高機能ゲームエンジンによるマルチプラットフォーム開発~

3)森田 浩:よくわかる最新実験計画法の基本と仕組み

4)普遊舎:MMD セカンドパック

5)座標変換:http://www.mech.tohoku-gakuin.ac.jp/rde/contents/course/robotics/coordtrans.html

6)俺 CG 屋:http://www.cg-ya.net/i-media/index.html

7)UnityScriptRefarence:

http://www.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/ScriptReference/index.html

P 7

P /

課題名 画像処理を用いたメイク補助ソフト

発表者氏名 荒井和貴 奥村雅紀 平山洸太 古沢慧 前田拳士朗 余川晃崇

指導教員 増田泰治

背景・目的

班員の親からメイクを支援するために人の輪郭をコンピュータで判断するソフトウェア

を開発できないかと依頼があった。そこで私達は,画像処理を用いて輪郭の型を判断し,加

えて化粧法を提案するソフトウェアの開発を目的とした。

理論

① キャプチャ

キャプチャでは輪郭を確実に検出するために鼻の位置と額の頂点を

指定する基準線を表示する。作業をし易くするために flip 関数を用い,

鏡のようにキャプチャ画面を反転させた。

② パーツ座標の検出

OpenCV で用意されている Haar-like 特徴を利用した分類器を用いて行う。分類器と

は,Haar-like 特徴に基づいて物体を検出し,分類するものである。Haar-like 特徴とは,

矩形で指定された領域内の白と黒の2つの矩形の領域内のそれぞれ

の画素値の合計を引いたものを特徴量として導き出し,その値は顔

の各パーツが固有に持っているため,それに基づいて検出する。図 2

は,「目」「口」「耳」の Haar-like 特徴を用いた分類器の例を示したものである。

H(r1,r2)=S(r1)-S(r2)/2

この式を使って特徴量を求める。H()が特徴量を表し,S()が画素値

を求める関数,r1 が黒領域,r2 が白領域を表す。

③輪郭検出

キャプチャした画像を二値化し,ユーザーの輪郭線だけを保存する。

入力画像と,用意してあるサンプル画像を OpenCV の cvMatchShapes

という関数を使って形状マッチングを行う。

その関数では入力画像,サンプル画像の Hu モーメントを求めそれら

の画像の近似値を計算する。Hu モーメントとは個々の画像に決めら

P 8

P /

れた値で,スケール変化や回転しても不変なものである。その値は差を表すため,この数

値が一番小さかったものをユーザーの輪郭の型として表示する。

④化粧法の提案

化粧法の提案は,②③で求めたパーツの座標,輪郭の型から判断する。理想の顔に近づ

けるためにシャドーやハイライトを入れるポイントを表示する。また,髪型の提案も行う。

方法と結果

言語はライブラリである OpenCV に対応し ,1 年次に学習した C 言

語の拡張版である C++を使用した。一連の流れは図 5 に示した。まず

顔を撮影し ,その画像をパーツの座標を取得するプログラムと輪郭を

判断するプログラムに渡す。このうちパーツ検出に関しては裏で自動

に動いていく。そして輪郭の判断ではサンプル画像と照らし合わせる

ことで型を決定する。輪郭 ,パーツの座標のズレから化粧法を提案する。

化粧法とは ,基本的なシャドーとハイライト ,髪型の提案となる。提案

が終わり次第終了となる。本開発では各処理のプログラムは作り終え

たが ,まだ 1 つのプログラムとして統合していない。また ,GUI のデザ

イン ,プログラムの正確性共に実用化には難しい段階にあるので今後

の改善が必要である。

考察

輪郭マッチングの正確性を高めるために cvMatchShapes の3通りの方法で行っている

反面 ,照らし合わせるサンプル画像が 1 通りずつしかなく ,マッチングの正確性が高いとは

言えない状況であり ,サンプルを増やす必要がある。また二値化の際にユーザーが閾値を選

ぶことで処理をしているが ,輪郭が綺麗に出にくいため ,輪郭が綺麗に出る閾値を探す必要

がある。パーツの検出では ,標準で OpenCV に搭載されている分類器での認識が限定され

ているため ,他の手法との組み合わせ等といった , Haar-like 特徴とは別の検出方法の研究

が必要である。

参考文献

1) Gary Bradski Adrian Kaehler 松田 晃一:詳解 OpenCV――コンピュータビジョ

ンライブラリを使った画像処理・認識,オライリー・ジャパン , (2009)

2) OpenCV 2 プログラミングブック制作チーム : OpenCV 2 プログラミングブック ,

マイナビ,(2011)

理 想 と

開始

撮影

終了

パーツ座標

輪郭認識

差の表示

図 5 プログラムの流れ

化粧法

提案

P 9

P /

課題名 IdeaTable

発表者氏名 穴久保拓磨 荒木夏彦 高浜陸生 古荘航 松島勲旺 柳澤慧典

指導教員 西澤吉郎

背景・目的

会議を円滑に進めるためにタンジブルユーザーインターフェイスを作成し,応用する。タ

ンジブルユーザーインターフェイスとは,“直感的”或いは“直接的”な操作のできる媒体

のことを言う。今回の研究では,机上に置いた物体に情報を関連付けてコンピュータで処

理・ビジュアル化し,複数人による直感的な編集を可能にすることを目指す。

理論

物 体 を コ ン ピ ュ ー タ に 認 識 さ せ る た め に

reacTIVision という専用の読み取りシステムを用い

て,物体とタッチ操作時の指の動きを識別する。置か

れた物体から映像を生成するためにオブジェクト指向

言語である C++を用い, openFrameworks(以下 oF

とする)というライブラリを使用し,図 1 のようにプ

ロジェクタを使って映像を投影する。処理は Core i3

2120T と GeForce GTX550Ti,DDR3 8GB を搭載した

デスクトップ PC で行い,物体を置き,映像を表示するための筐体は幅 1100mm,奥行き

800mm,高さ 1000mm のワイヤーシェルフを利用している。また,他のコンピュータで

実行する拡張機能の開発には python という言語を使用している。

方法と結果

IdeaTable の基本的な構造を述べる。物体に貼り付けられたマーカ(図

2)や押し付けた指をアクリル板越しに筺体内部の web カメラを通じて,

reacTIVision に認識させ,情報の入力を行い,プロジェクタの映像をアク

リル板に出力する。また,プロジェクタの映像光がマーカ認識の妨げにな

らないように web カメラは赤外線のみを受光するように改造し,アクリル

板の裏から赤外線 LED でマーカと指を照らす。

ソフトウェア面では,web カメラを通じて置かれた物体に貼られたマーカの ID・座標・

向きやアクリル板に押し付けられた指の座標を reacTIVision がそれぞれ認識し,oF を中

図 2 マーカ例

図 1 装置の概要

図 1 本体の構造

P 10

P /

心に構築されたソフトウェアが,マーカ ID のオブジェクト化や

ユーザの操作によって情報の付加と編集を行い,マーカの情報を

わかりやすく映像化する。

その結果,マーカの ID を認識し,それぞれに対して描画や音

楽再生,ビデオ再生,などの処理を振り分け,実際に動作させる

ことに成功している。そして,事前に資料をマーカと関連付けて

おくことで,迅速に資料を提示することも可能にしている。しかし,カメラ内での座標系

と描画時の座標系にズレが生じており,置いたマーカの下にオブジェクトが描画されず,

少しずれた場所に描画されることがある。誤認識も多く,マーカや指の認識率は五割程度

であった。さらに python を用いて「らくらく会議マネジャー」というソフトウェアを作

成し,Twitter・RSS・ネット掲示板とソケット通信を行い,その場にいない会議参加者か

らの意見やニュースもリアルタイムで表示できるようにしようとしたが, IdeaTable 本体

との連動は確認できていない。

考察

今後の改善策として,ハードウェア面ではマーカや指の認識率を上げるために赤外線

LED の配置や光量の調整などの工夫,ソフトウェア面ではカメラの座標とプロジェクタの

映像座標のズレをシステム稼働中に手動で調整できるプログラムの追加,などが考えられ

る。また,oF の原点座標は左上であるが,文字や図形を表示させやすくするために原点座

標を画面の中央として扱うようにすることで IdeaTable に全方向性を持たせることができ

ると思われる。そして,「らくらく会議マネジャー」の通信を確認し,データの検索や保存

機能を追加していきたい。その他にマーカの認識アルゴリズムを改善して高速化を図るこ

とや動的にオブジェクトの振る舞いを変更できる機能や,外部の音をマイクなどで聴きと

って会議の盛り上がりを数値として計測する機能,フェリカポートを使って Suica のよう

な IC カードで個人情報を登録する機能を追加することなどを検討している。

参考文献

1) 細田謙二:Python 入門 [2&3 対応 ],株式会社エスキュービズム(2010 年)

2) yoppa.org:http://yoppa.org/

3) 田所淳:Beyond Interaction,ビー・エヌ・エヌ新社(2010 年)

4) of-dev:http://www.openframeworks.cc/

5) Armin Ronacher:http://flask.pocoo.org/

図 3 マーカと表示された映像

P 11

P /

課題名 ユーザー拡張機能式のコミュニケーションツールの開発

発表者氏名 梅原悠志 神谷俊介 齊藤誠 清水星哉 西山舜 矢内原創

指導教員 仲道嘉夫

背景・目的

管理者もユーザーもソフトの開発に簡単に参加できるようにすれば,ソフトの改良が早

く進み,より使いやすいソフトになる。また,管理者の負担も減らすことができる。今回

対象とするアバターチャットは AmebaPigg や meet-me などでわかるように,あらかじめア

バターのテクスチャなどが用意されており,それを組み合わせて使うようになっている。

しかし,まだ制限が多く,ユーザーが機能を拡張できるようにはなっていない。そこで,

ユーザーが開発に参加できるタイプのアバターチャットを作成した。

理論

アバターとはソフトの中で利用者の分身として動く物体で,座標(XYZ)と回転角(仰角,

左右角),表示される 3D オブジェクトとテクスチャなどの情報を持つオブジェクトとして

定義される。3D の仮想空間に,利用者のアバターを同時にそこに表示させチャットを行う。

空間内の移動は,現在の座標と回転角を用いて移動後の座標を計算する。物体同士の衝突

判定は,それぞれの物体が収まる直方体を考え,それらが重なっているかで判定する。

今回,拡張機能としては,機能をもった自作 NPC(Non-Player Character)の追加,ア

バターの作成を考えた。ユーザーが書いた新しい機能などのコードを実行時に読み込むこ

とで,ユーザーが欲しいと思った機能がすぐに反映されるようにした。

方法と結果

クライアントプログラムは,メイン処理と描画処理に分けて実装する。メイン処理は C#

で書き,アバターの 3D ファイルの管理や,座標の計算,サーバーとの通信などを行う。描

画処理は,ネイティブな入出力に強い Flash で行い,主にメイン処理から受け取った情報

P 12

P /

図 2 実行画面

を元にして描画を行う。また,キー入力の受け取りも担当す

る。チャットの実行画面を図 2 に示す。

サーバープログラムは,クライアントから送られる認証処

理と,各ユーザーから現在の座標やチャットの発言などの情

報を受信し,他のユーザーにその情報を送る処理を行う。

拡張機能は,さまざまな拡張に対応するため,C#で書いた

コードを読み込み,新しい機能を実装できるようにした。し

かし,C#とこのソフトの仕様に関する知識がないと実際に拡張機能を作るのは難しかった。

そこで,拡張機能の一部である NPC を C#を知らなくても作成できるように独自のスクリプ

トを開発した。用意されている関数が限られているため,意図的に処理を重くするような

悪意のあるコードは書きにくくなった。この開発環境として,関数を日本語で書かれた項

目から選択する形式のエディタを作成し,C#の知識がない人でも開発ができるようにした。

他にも,ユーザー拡張機能式にしたことで,従来のソフトと比較して,以下の問題点が出

てきた。

1.アバターの作成にセキュリティの問題が残っている。

2.テクスチャに公序良俗に反する画像を貼ることができる。

3.スクリプトでユーザーが作成する機能では,できることが制限される。

考察

拡張機能は,独自スクリプトを作ったことでプログラミングの知識のない人も開発が行

えるようになった。ユーザーが自由に機能を拡張できるようにするためには,ただ基盤と

なるソフトを用意するだけでなく,拡張機能の開発環境を充実させる必要があることが分

かった。今後,C#で書いたコードで機能を追加した場合の安全性の問題に対し,レジスト

リを操作するような危険な機能を使用できないようにする。また,NPC 作成スクリプトで

使用可能な関数を充実させることで,よりユーザーがソフトの開発に参加できるようにす

る。

参考文献

・萌えろ!CG 道場+「http://ktg.sblo.jp/」 3D ファイル作成の参考

・DOBON.NET「http://dobon.net/」 .NET Framework の情報

P 13

P /

課題名 HMD を利用した AR 技術の研究

発表者氏名 吉野雄介 宮坂豪 高橋岳士 梶原智 片桐佑理

指導教員 都留裕貴(西澤吉郎)

背景・目的

本研究では,現実には存在しない仮想の物体を現実に重ね合わせてより直感的に操作,

管理できるようにするソフトウェアの作成を目的とする。

理論

我々は目的を Augmented Reality

技 術 ( 以 下 AR) と Head Mounted

Display(以下 HMD)という機器を用

いて実現することにした。システム

の構成は図1のようになっており,

図1中の手に持っている箱は AR マ

ーカーを立方体にした操作用マーカ

ーで,その右側にあるのは,同様に立方体にしたモードマーカーである。モードマーカー

の上のブロックは仮想の物体を示している。

仮想の物体を現実に重ね合わせるには,画像検出,画像の編集,そして出力といった処

理が必要となる。また,仮想の物体を直観的に操作するためには,眼前で実際に物がある

ように,指で操作する方が望ましいと我々は考えた。そのために HMD にカメラを取り付け

て利用した。

方法と結果

3DCG 作成ソフトはあらかじめ用意してあるブロックを組み合わせ

て CG を作る方法を採用した。

3DCG 作成ソフトが行っている処理について説明する。

まず画像処理を行う。OpenCV という C,C++言語のライブラリをもち

いて,画像を取得している。取得後に AR マーカーの座標の検出も行う。

座標の検出には,C 言語のライブラリである ARToolKit を用いる。

次にイベントの検出を行う。ここでは,操作用マーカーを振るという動きや操作用マー

カー二つでブロックをつまむといった判定を,マーカーの頂点座標の推移や2つのマーカ

図1 システムの構成図

図 2 AR マーカー

P 14

P /

ー間の距離から検出している。また,次のモデル編集では,先ほどのイベントの検出で判

定した動きによって,モードごとの処理を行っている。モードはブロックを作成して移動

させるモード,ブロックを削除するモード,ブロックを保存するモード,くっつけたブロ

ックを切り離すモードの5つを実装した。

最後に,描画を行う。ここでは,上記の処理で作成されたブロックを OpenGL という C

言語のライブラリを用いてカメラからの画像に重ねて描画し,それを HMD に出力している。

考察

機能面においては上記の機能を達成することができた。しかし,動作が不安定であった

ことや,実際の人間の動きをあまり考えなかったこと,使用する際にマーカーを手で隠し

てしまうこと,移動中に物体が操作用マーカーから外れてしまうこと,接合する際の判定

が厳しいなどの問題が発生した。

操作がうまくいかなかった原因としては次の2つが挙げられる。操作用のマーカーが

カメラに対して鋭角になりすぎると,マーカーが検出できなくなってしまう点,マーカー

を操作する位置が画面内の一点に集中してしまい,マーカーが隠れてしまうという点であ

る。

これらの解決策として,手の甲などを利用して現在の指の方向と位置の推定に役立てる

ことや,移動していないと思われるマーカーの位置をほかのマーカーの位置関係から補完

することなどが考えられる。

参考文献

・Fletcher Dunn, Ian Parberry:実例で学ぶゲーム 3D 数学,O'Reilly 社(2008 年 10

月)

・橋本直:ARtoolKit 拡張現実プログラミング入門,ASCII(2011 年 6 月)

・谷尻豊寿:ARtoolKit プログラミングテクニック,カットシステム(2010 年 10 月)

・http://www.civil.kumamoto-u.ac.jp/matsu/kahen.pdf 二値処理(2012 年 10 月)

・http://imagingsolution.net/ openCV の導入,画像処理のアルゴリズム(2012 年 10 月)

・http://kgussan.ojaru.jp/opengl-matrix.html 行列計算関係(2012 年 10 月)

・http://kougaku-navi.net/ 「工学ナビ」 ARToolKit 導入等(2012 年 10 月)

P 15

P /

課題名 筋電の取得と筋肉の電気的制御について

発表者氏名 國柗慧 原健太 横山正太朗 和田正之 渡邉貴美子

指導教員 石川幸治

背景・目的

筋電を取得,解析する技術や,外部から電気刺激によって筋肉を制御する機能的電気刺

激(FES)の技術というものは現在,主に医療分野でしか利用がみられていない 1)。この技術

を医療関係従事者,もしくはそれに特化した技術者がいない場所,環境であっても誰でも

簡単に扱える技術として確立することができれば,様々な分野で応用が見られるのではな

いだろうか。

そこで本研究では,筋電を利用した技術について理解を深めるとともに,筋電の技術を

簡単で安価に扱えるものにするための回路やシステムを構築する。

理論

人間が筋肉を収縮させる際には筋肉の内部で筋活動電位が発生しており,外部からの電

極を用いることによってその活動を読み取ることができる 2)。また,筋肉に電気的な刺激

を与えることで,人間の筋肉を意図的に収縮させることができる 1)。

方法と結果

まず,生体信号の取得の方法,及び,筋肉

の電気的制御の方法を確立した(図 1)。

筋電の取得に関しては,生体信号などの高

インピーダンス出力の増幅に適した計装アン

プを採用した。利用した計装アンプは内部に

差動増幅回路の構造を持つアンプである 3)。

差動増幅回路は 2 つの入力を持ち,その差を

取ることでノイズをカットしつつ増幅する 4)。

計装アンプで十分に増幅した後,OP アンプの

非反転増幅回路を用いてセンサとして扱いや

すい 0〜5[V]までの電圧になるよう調整を行う。また,不要な周波数帯を減衰させるフィ

ルタ(HPF:High Pass Filter,LPF:Low Pass Filter,BEF:Band Elimination Filter)を作

成した。ユニバーサル基板上に自作した回路を使用することによって,実際に筋電波形を

図 1:システム図

P 16

P /

観測することができた(図 2)。また,ユニバ

ーサル基盤で作成していた回路をプリント基

板化,小型化など工夫することで,回路の組

み立てや扱いが簡単に行えるようにした。

筋肉の電気的制御に関しては,同様の研究

を行なっている大学の研究室からの情報を参

考にしつつ,電気刺激の特性を決めた 5)。作

成した装置を利用し,人体に電圧を印加する

ことでの筋肉の収縮が確認できている。

考察

実際に筋電の取得を行う装置を自作したところ,普段私達の手に入るような素子で安価

に回路を製作することができた。この回路は筋電の有無や大きさが分かる程度の性能を持

っており,十分に活用できるものとなった。また,回路をプリント基板化したことで,回

路を簡単に組み立てられるようになったため,気軽にこの回路を使ってもらうことが期待

できる。なお,高速フーリエ変換(FFT)を利用した周波数解析を行い,筋電の周波数帯を中

心に取得したところ,より正確な筋電の検知が可能であることも確認できた。一方,筋肉

の電気的制御に関しては,安全装置や回路構成などさらに考慮するべき部分があるため,

これらを修正した後,回路のプリント基板化や配布を行っていく予定である。

参考文献

1)島田洋一:機能的電気刺激(FES)の現状と将来展望, Akita J Med, 36, 1-17(2009)

2)平成20年度臨床生理学講義 第二回 骨格筋の電気現象と筋電図,

http://www.dent.niigata-u.ac.jp/physio/riha.pdf

(新潟大学大学院医歯学総合研究科 摂食環境制御学講座 口腔生理学分野 山村 健介)

3)LT1167 データシート

http://cds.linear.com/docs/Japanese%20Datasheet/j1167fb.pdf

4)馬場 清太郎 : トランジスタ技術 5 月号, CQ 出版社 ,p.91 (2012)

5)ユニーク&エキサイティング研究探訪|電気通信大学

No.14 知能機械工学専攻・横井浩史教授の電気刺激装置の開発

http://www.uec.ac.jp/research/information/column/14.html

図 2:取得した筋電波形