document16_B.pdf

公立はこだて未来大学 2011 年度 システム情報科学実習
グループ報告書
Future University Hakodate 2011 System Information Science Practice
Group Report
プロジェクト名
拡張現実感を用いた新規技術の提案と開発
Project Name
The proposal and development of the novel technology with Augmented Reality
グループ名
直感操作型 AR 開発
Group Name
The developement of the AR type intuitive operation
プロジェクト番号/Project No.
16-B
プロジェクトリーダ/Project Leader
1009124
Yuta Imamura
今村優太
グループリーダ/Group Leader
1009171
北山史朗
Shirou Kitayama
グループメンバ/Group Member
1009171
北山史朗
Shirou Kitayama
1009065
井上慶彦
Yoshihiko Inoue
1009028
金田知展
Tomohiro Kaneta
1009234
杉本航
1009010
小林真幸
Wataru Sugimoto
Masayuki Kobayashi
指導教員
大澤英一 加藤浩仁
Advisor
Ei-ichi Osawa Koji Kato
提出日
2012 年 1 月 18 日
Date of Submission
January 18, 2012
概要
本グループでは、情報を現実と同様に扱いたいというテーマの下、拡張現実感 (Augmented
Reality, 以後 AR とする) を用いたサービスで提供される 3D オブジェクトなどの情報に、デ
バイスを介さず素手で触れ、操作する技術を提案する。現在の AR サービスは、スマートフォ
ンやニンテンドー3 DS のような、タッチパネルを利用したデバイスで提供されるものが殆ど
である。だが、そのようなデバイスを用いた場合、デバイスを持つために片手がふさがる、デ
バイスの小さな画面でしか AR サービスを適応できない、操作がタッチパネルによって行われ
る、などの問題点があり、AR のサービスであるにも関わらず、操作に現実味が無い。そこで
このグループでは、仮想オブジェクトなどの情報に、素手で直接さわり操作することが出来る
インターフェースの開発を行う。
前期では、とにかく情報に触るということを目標とした。そのために、深度センサーを用い
た 3 次元座標の特定、画像処理での手の認識、さわっているかを判定するプログラム、などを
開発した。具体的には、仮想オブジェクトに触れ、触れられたオブジェクトがアクションを起
こす「ARbeetle」を開発した。
後期では、「触る」を触れるだけではなくつかむ、持ち上げる、投げるという形で触るを拡
張することを目標とした。そのため、深度センサーを用いた 3 次元座標の特定、画像処理での
手の認識、3D オブジェクトを掴んでいるか判定するプログラム、3D オブジェクトを手に追
従させるプログラム、手の振りを認識するプログラム、3D オブジェクトを投擲するプログラ
ム、異なるマーカーを認識するプログラム、2 点間の距離を計算するプログラム、などを開発
した。具体的には、仮想オブジェクトを掴み、持ち上げて、投擲することが出来るシステムで
ある「Cubits Karel」を開発した。さらに、
「Cubits Karel」で実装した部分を利用して、3D
オブジェクトを掴んで持ち上げ、ゴミ箱に向かって投擲し、ゴミ箱に入った場合エフェクトを
表示するシステム「Go me throw」を開発した。
キーワード
AR, 直感的な操作, 触る, AR beetle, Cubits Karel
(※文責: 北山史朗)
-i-
Abstract
Our theme is using virtual space object in the same way as real space object. Therefore,
we propose novel technology that provide to touch and control virtual space object like
3D object without touch panel. Currently, almost augmented reality (AR) services are
provided by smartphone or such devices which has touch panel. But, using such devices
cause some issues, for example, one hand is detained by the device, or AR service is
limited in one’s display, or AR service is controlled by touch panel. These factors make
AR service unconvincingly. Therefore, we develop an interface that allows us to touch
the virtual object directly.
In the first half, we aimed to only touch the virtual object directly. So, we develop some
programs, for example, 3D coordinate measuring program with depth sensor, hand picking out program by using image processing, and tangency determining program. More
specifically, we develop a system called ”ARbeetle”. We can touch the virtual object
and get a reaction from the object by using ”ARbeetle”.
In the second half, we aimed to extend function of our program. In other words, we
aimed at not only touching but also grabbing, picking up, and throwing the virtual object. So, we developed some programs. For example, 3D coordinate measuring program
with depth sensor, hand picking out program by using image processing, determining
program for grabbing the virtual object, program that the virtual object is tracking
hand, arm swing detecting program, the virtual object throwing program, some makers
detecting program, and distance calculating program, etc... More specifically, we developed a system called ”Cubits Karel”. We can grab, pick up, and throw the virtual object
by using ”Cubits Karel”.Additionally, we developed a system called ”Go me throw” by
using ”Cubits Karel”. In ”Go me throw,” We throw the virtual object to the dust bin.
And if the virtual object get into the dust bin, the virtual effect is rendered on the dust
bin.
Keyword
AR, control intuitively, touch, ARbeetle, Cubits Karel
(※文責: 金田知展)
- ii -
目次
はじめに
1
1.1
背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.3
従来例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.4
従来の問題点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.5
課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
プロジェクト学習の概要
4
2.1
問題の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.2
課題の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
第1章
第2章
2.3
2.4
第3章
2.2.1
前期の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.2.2
後期の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
到達レベル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3.1
前期の到達レベル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3.2
後期の到達レベル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
課題の割り当て . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.4.1
前期の割り当て . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.4.2
後期の割り当て . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
課題解決のプロセス
10
3.1
スケジュール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
3.2
前期の課題解決の方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
3.3
第4章
4.1
3.2.1
入力情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
3.2.2
内部処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
3.2.3
出力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
後期の課題解決の方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.3.1
3D オブジェクトの表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.3.2
深度センサーと形状認識を用いた手の認識 . . . . . . . . . . . . . . . . . .
15
3.3.3
手に対する 3D オブジェクトの追従 . . . . . . . . . . . . . . . . . . . . . .
15
3.3.4
3D オブジェクトの投擲 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.3.5
投擲後の軌道 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.3.6
投擲に適した 3D オブジェクトの製作
. . . . . . . . . . . . . . . . . . . .
16
3.3.7
投擲動作に対応したハードウェアの調整 . . . . . . . . . . . . . . . . . . .
16
プロジェクト内のインターワーキング
17
事前準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
4.1.1
4.2
輪講 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
ARbeetle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
- iii -
4.3
第5章
4.2.1
OpenCV,OpenNI,ARToolKit の技術習得 . . . . . . . . . . . . . . . . . .
19
4.2.2
OpenNI ライブラリによる Kinect の制御 . . . . . . . . . . . . . . . . . .
19
4.2.3
OpenCV による色認識の処理 . . . . . . . . . . . . . . . . . . . . . . . . .
20
4.2.4
2 点間の距離と接触判定 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
4.2.5
ARToolKit を用いた 3D オブジェクトの表示 . . . . . . . . . . . . . . . .
22
4.2.6
2 台のコンピュータのネットワーク接続 . . . . . . . . . . . . . . . . . . .
23
4.2.7
中間発表へ向けての準備
. . . . . . . . . . . . . . . . . . . . . . . . . . .
24
Cubits Karel & Go me throw . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
4.3.1
OpenGL の技術習得 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
4.3.2
デバイス作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4.3.3
3D オブジェクト作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
4.3.4
データ通信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.3.5
座標変換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.3.6
投擲処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.3.7
オブジェクトの変化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.3.8
Kinect によるマーカー認識 . . . . . . . . . . . . . . . . . . . . . . . . . .
41
4.3.9
手の位置の認識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
4.3.10 手の形状認識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
4.3.11 掴み判定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
4.3.12 オブジェクトの持ち上げと投擲 . . . . . . . . . . . . . . . . . . . . . . . .
44
4.3.13 処理の状態遷移 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
4.3.14 最終発表に向けてのの準備 . . . . . . . . . . . . . . . . . . . . . . . . . .
45
アカデミックリンクについて
47
5.1
アカデミックリンクとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
5.2
アカデミックリンクへの準備
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
5.3
まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
結果
49
ARbeetle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
第6章
6.1
6.2
第7章
7.1
7.2
6.1.1
成果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
6.1.2
解決手段と評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
Cubits Karel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
6.2.1
成果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
6.2.2
解決手段と評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
まとめ
52
プロジェクトの成果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
7.1.1
中間発表について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
7.1.2
最終発表について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
プロジェクトにおける自分の役割 . . . . . . . . . . . . . . . . . . . . . . . . . .
54
7.2.1
北山史朗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
7.2.2
井上慶彦 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
- iv -
7.2.3
金田知展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
7.2.4
杉本航 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
7.2.5
小林真幸 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
7.3
今後の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
7.4
成果の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
7.5
展望 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
プロジェクト全体としての管理体系及び活動報告
62
8.1
本章概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
8.2
プロジェクト全体の組織体系
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
8.3
プロジェクトマネージメントの方法と評価 . . . . . . . . . . . . . . . . . . . . .
62
第8章
8.3.1
プロジェクトマネージメント概要 . . . . . . . . . . . . . . . . . . . . . . .
62
8.3.2
前期プロジェクトマネージメント . . . . . . . . . . . . . . . . . . . . . . .
64
8.3.3
後期プロジェクトマネージメント . . . . . . . . . . . . . . . . . . . . . . .
66
8.3.4
その他マネージメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
8.3.5
前期プロジェクトマネージメントと後期プロジェクトマネージメント比較
と評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
. . . . . . . . . . . . . . . . . . . . .
68
プロジェクト全体としての活動報告 . . . . . . . . . . . . . . . . . . . . . . . . .
69
8.3.6
8.4
プロジェクトマネージメントまとめ
8.4.1
年間スケジュール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
8.4.2
通常活動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
8.4.3
中間発表会 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
8.4.4
中間発表会及びその評価
. . . . . . . . . . . . . . . . . . . . . . . . . . .
71
8.4.5
函館アカデミックリンク
. . . . . . . . . . . . . . . . . . . . . . . . . . .
72
8.4.6
成果発表会 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
8.4.7
成果発表会及びその評価
. . . . . . . . . . . . . . . . . . . . . . . . . . .
74
まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
付録 A
新規習得技術
76
付録 B
活用した講義
77
付録 C
相互評価
78
北山史朗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
C.1.1 井上慶彦 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
C.1.2 金田知展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
C.1.3 杉本航 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
C.1.4 小林真幸 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
C.1.5 今村優太 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
井上慶彦 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
C.2.1 北山史朗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
C.2.2 金田知展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
C.2.3 杉本航 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
C.2.4 小林真幸 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
8.5
C.1
C.2
-v-
C.3
C.4
C.5
C.6
C.2.5 今村優太 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
金田知展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
C.3.1 北山史朗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
C.3.2 井上慶彦 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
C.3.3 杉本航 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
C.3.4 小林真幸 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
C.3.5 今村優太 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
杉本航 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
C.4.1 北山史朗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
C.4.2 井上慶彦 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
C.4.3 金田知展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
C.4.4 小林真幸 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
C.4.5 今村優太 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
小林真幸 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
C.5.1 北山史朗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
C.5.2 井上慶彦 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
C.5.3 金田知展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
C.5.4 杉本航 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
C.5.5 今村優太 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
今村優太 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
C.6.1 北山史朗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
C.6.2 井上慶彦 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
C.6.3 金田知展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
C.6.4 杉本航 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
C.6.5 小林真幸 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
参考文献
83
- vi -
The proposal and development of the novel technology with Augmented Reality
第1章
1.1
はじめに
背景
拡張現実感(Augmented Reality)は現実空間にコンピュータなどを用いて仮想空間の情報 (例
としては、3D オブジェクトなどの仮想オブジェクト) を付加させる技術である。これにより、コ
ンピュータや携帯電話のディスプレイを通して現実空間を見ると、実際には存在しない文字や実際
にあるわけではない 3D オブジェクトをあわせてまるでそこに実際にあるかのようにみることがで
きる。近年では、ニンテンドー 3DS や iPhone のようなスマートフォンなどといったようなタッ
チパネルを用いて指で画面を操作できる形式のデバイスの登場により、AR サービスをより簡単に
操作することを可能にしている。しかし、これらのデバイスを用いて拡張現実感のサービスを使用
すると・小さな画面上でしか利用できない・タッチパネルやキーボードなどのデバイスを介さなけ
れば操作できないといった制約がかかってしまい、現実味が損なわれてしまう。ならば、さらに現
実感を付加するというアプローチによって拡張現実感というサービスをより身近なものにしようと
いうことを本開発では考えた。
(※文責: 杉本航)
1.2
目的
現状、AR サービスを利用するとなると iPhone のようなスマートフォンやニンテンドー 3DS な
どのように、タッチパネルを用いて利用されるものがほとんどである。しかし、それらのデバイス
を用いて操作を行うとなると、デバイスを手に持つ必要があるため操作行う際には操作をおこなえ
るのが片手だけに限られてしまう。他には、タッチパネルのような画面に触れて操作するという形
式というのは、操作範囲が画面上に限られてしまうなどの制約がある。これらは拡張現実感という
現実感現実感を提供するサービスというには、操作に現実味がないと本開発では判断した。これら
の制約を解消するために、本開発では、3D オブジェクトのような仮想オブジェクトなどの情報に
タッチパネルなどのデバイスを介することなく直接手でさわって操作することができるという技術
を提案して、この提案を実現することを目的とした。本グループは「直接手でさわる」という部分
を仮想オブジェクトに、タッチパネルやキーボードなどの入力装置を使わずに視覚的に触れるこ
と」と定義した。
(※文責: 杉本航)
1.3
従来例
現在、現実空間に仮想現実を重ね合わせることができるデバイスは数多く存在している。従来の
例としては、以下を挙げることができる。
• ニンテンドー 3DS
Group Report of 2011 SISP
-1-
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
• iPhone などのスマートフォン
• iPad などのタブレット PC
これらはどれも、拡張現実感(Augmented Reality)と呼ばれる技術を利用することができるもの
である。この拡張現実感とは、現実空間にコンピュータを用いて仮想空間の情報 (例としては、3D
オブジェクトなどの仮想オブジェクト) を付加させる技術である。挙げられているものは全て携帯
型のデバイスであり目の前にかざすだけで AR サービスを利用することができる、さらにタッチパ
ネルを用いて情報の操作をすることも可能である。しかし、画面上で見える範囲を対象としている
ためかなり視点が局所的なものとなっている。
(※文責: 杉本航)
1.4
従来の問題点
従来までは AR サービスを利用しようとなるとニンテンドー 3DS や iPhone のようなスマート
フォンなどのタッチパネルを用いて指で画面を操作できる形式のデバイスを利用することがほとん
どであった。しかし、これらのデバイスを利用する際に3つの問題点が挙げられる。1つ目は、デ
バイスを手に持つ必要があるので持ち手によって操作が片手だけに制限されてしまう。2つ目は、
AR サービスを利用できるデバイスとしては携帯端末が挙げられているがこれらは、携帯端末であ
るが故に画面が小さくなりその小さな画面上でしか AR サービスを利用することができない。3
つ目は、3D オブジェクトのような仮想オブジェクトといった情報を操作するとき操作範囲が画面
上にかぎられてしまい、操作性の自由度に欠ける。そこで本開発では、3D オブジェクトといった
仮想オブジェクトという情報を現実と同様に扱うことができる拡張現実感を目指す。今まで、タッ
チパネルのようにデバイスを介してしか操作することができなかった情報にデバイスを介すること
なく直接手でさわることによって操作することをできるようにしたり、小さな画面上でしか扱えな
かった AR 技術を視界全体で扱えるようにするということで実現できると考えている。以上より、
さらに AR を現実に近づけてより AR サービスを身近なものにすることが、本開発の最大の特徴
である。
(※文責: 杉本航)
1.5
課題
近年、拡張現実感を体験できるスマートフォンアプリケーションが話題となっている。「セカイ
カメラ」はスマートフォンのカメラを使って風景を見ることによって、コメントや写真が投稿され
た場所に吹き出しになって表示されるアプリケーションである。「Layar」は検索した飲食店など
の場所と距離をカメラで映した風景に表示するアプリケーションである。これらのアプリケーショ
ンは無料で提供されており、インターネットに接続できる端末ならば、いつでも入手することが可
能である。これらは拡張現実感という技術をより身近なものにした。しかし、これらのアプリケー
ションを操作する時、タッチパネルを介して擬似的に仮想オブジェクトを操作することになる。こ
れでは手前や奥といった奥行感が分かりづらい。このように、我々に身近なスマートフォンによる
拡張現実感は、タッチパネルという制約がある。これにより、使用者は平面的な操作しか出来ず、
複数の仮想オブジェクトが重なるような場面で操作しづらいという問題があった。
Group Report of 2011 SISP
-2-
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
そこで本プロジェクトでは拡張現実感で表示される仮想オブジェクトに手で触れて操作することを
目標とする。これにより、使用者が拡張現実感をより直感的に体験できることを目指す。これを実
現させるために、指先の位置認識や仮想オブジェクトと指の接触判定を行うことが課題となる。
(※文責: 小林真幸)
Group Report of 2011 SISP
-3-
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
第 2 章 プロジェクト学習の概要
2.1
問題の設定
昨今、スマートフォンのアプリケーションとして拡張現実感を利用したものが話題となってい
る。その例として、
「セカイカメラ」や「Layer」がある。これらは無料で配布され、いつでも入手
可能である。これらのアプリケーションはタッチパネルを使って操作する。よって、現実世界の物
体のように奥行に応じて手を伸ばしたり、手前に引っ張ったり、奥に押し込むといった操作が出来
ない。また、複数の仮想オブジェクトが重なって表示されるような場面で、手前や奥といった奥行
感を操作することが難しいという問題がある。
このように、身近な拡張現実感のサービスであるスマートフォンのアプリケーションは平面的な
操作しかできず、「現実感」に乏しい。そこで我々は仮想オブジェクトに手で触れるようにするこ
とで、奥行感を活用した操作が可能になると考えた。現実世界での物体の操作に近づけることによ
り、より直感的な操作が出来るだろう。
(※文責: 小林真幸)
2.2
2.2.1
課題の設定
前期の課題
本プロジェクトでは仮想オブジェクトに手で触れて操作できるようにし、拡張現実感をより直感
的に体験できるようにする。これを実現するために、前期では指と仮想オブジェクトの接触を実
現し表現するアプリケーションとそれを可能にするシステムの制作を目標に掲げた。デバイスは、
ヘッドマウントディスプレイ (HMD) と指先の位置情報を得るための Kinect、そして現実空間の
映像を得るための Web カメラによって構成されている。これらを実現するために大きく分けて次
のような課題がある。
• 操作者の指先の位置情報取得
• 指と仮想オブジェクトの接触判定
• 指の位置に合わせた仮想オブジェクトの選択
• 現実空間への位置あわせ
• 現実空間の映像と仮想オブジェクトの合成
指先の位置情報取得には Kinect というセンサを使用する。このセンサを制御するために OpenNI
というライブラリを用いる。また、画像処理自体は OpenCV というライブラリを用いる。画像処
理の手法は画像工学の講義で学んだ。そして、拡張現実感のアプリケーションを制作するにあたり
ARToolKit というライブラリも用いた。仮想オブジェクトに触れたことを分かりやすく表現する
ために、我々はびっくり箱をモチーフとしたアプリケーションが良いと考えた。すなわち、指先が
仮想オブジェクトとの接触判定領域に無い場合は箱だけを表示し、指先が接触判定領域にある場合
は箱の中身が飛び出した状態の仮想オブジェクトを表示する。この考えを元に前期に制作したシス
Group Report of 2011 SISP
-4-
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
テムが「AR beetle」である。(図 4.2) 使用者は頭部に HMD、Kinect、Web カメラを装着し、マー
カー上に表示した仮想オブジェクトに手を使って変化を与えることができる。(図 4.1) この「AR
beetle」によって実現した仮想オブジェクトに触る技術を応用することが後期の目標である。
図 2.1 ARbeetle
図 2.2 AR beetle を使って仮想オブジェクトに触れたときの様子
(※文責: 小林真幸)
2.2.2
後期の課題
前期では指と仮想オブジェクトの接触を実現し表現するアプリケーションとそれを可能にするシ
ステム「AR beetle」を制作した。後期ではこのシステムのハードウェアはそのまま用いて、ソフ
トウエアを応用発展させることで、仮想オブジェクトを掴んだり、投げたりできるシステムの完成
を目標とする。これを達成するために以下の課題が挙げられる。
• 仮想オブジェクトの制作環境の変更
• 投げることに適した仮想オブジェクトの制作
• 投げる動作に対応したハードウェアの調整
• 3D オブジェクトの表示
• 深度センサーと形状認識を用いた手の認識
Group Report of 2011 SISP
-5-
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
• 手に対する 3D オブジェクトの追従
• 3D オブジェクトの投擲
• 投擲後の軌道
• 投擲に適した 3D オブジェクトの製作
• 投擲動作に適したハードウェアの調整
仮想オブジェクトの制作環境には前期に用いた blender から新たに Metasequoia を採用した。
blender は高機能なソフトウェアであったが、操作方法の習得が困難であることから、日本におい
てより普及している Metasequoia を使うことにした。
前期の仮想オブジェクトは指の接触による状態の変化を示すことのみを目的としていた。後期で
は仮想オブジェクトを投げることが目標であるため、前期の仮想オブジェクトをそのまま用いるこ
とは出来ない。そのため、投げる対象としてふさわしい仮想オブジェクトのモチーフを新たに選定
した。
投げる動作を取得するために頭部に設置した深度センサである Kinect の位置を変更する必要が
あった。これは投げる動作を行う際に手を肩の辺りまで振りかぶる必要があり、この時の手の位置
を検出するためには既存の Kinect の位置では視野が不足していたからである。改善案として、既
存の位置よりやや後方にずらすとともに、より高い位置に固定することが提案された。
(※文責: 小林真幸)
2.3
2.3.1
到達レベル
前期の到達レベル
本グループでは、仮想空間のオブジェクトに触れて操作する技術の確立を目標としていた。その
ため、指で画面上に表示されている仮想空間のオブジェクトに触れるような動作をする事でオブ
ジェクトが変化するアプリケーションの開発を行った。また、HMD(図 2.3) という、眼鏡の形を
した装着型のディスプレイを使用することで、デバイスを持たず、さらに直感的に操作できるよう
なプログラムの制作を目指した。想定としては、HMD を装着して現実空間の映像を見ると、その
中のどこかに仮想オブジェクトが表示され、またそれに手を伸ばして触るような動作をすること
で、そのオブジェクトが何らかの反応を示す、というようなシステムの開発である。
図 2.3 HMD(ヘッドマウントディスプレイ)
(※文責: 井上慶彦)
Group Report of 2011 SISP
-6-
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
2.3.2
後期の到達レベル
本グループでは、前期に制作した「マーカーを読み込んで表示させた 3D オブジェクトに対して
指で触れるような動作を行うとその 3D オブジェクトが反応が帰ってくる」という仮想オブジェク
トに触れるという技術のさわるという部分をさらに拡張させて、「マーカーを読み込んで表示させ
た仮想オブジェクトである 3D オブジェクトに対してつかむような動作を行うと 3D オブジェクト
がつかみあげられ、目標物に向かって投擲すると放物線上に 3D オブジェクトが飛んで行き、目標
物に当たると各 3D オブジェクトに応じた反応が帰ってくる」というプログラムの制作を行なっ
た。
具体的には手元に置いてあるマーカーをヘッドマウントディスプレイに装着している Web カメ
ラで認識してパソコン内では仮想オブジェクトをつかんでいるか否かのつかみ判定・持ち上げるた
めの仮想オブジェクトを手に追従させる処理・仮想オブジェクトを投げるための投擲処理・投擲さ
れたオブジェクトが目標物に当たっているか否かの当たり判定を行なった後に処理された映像を
ヘッドマウンドディスプレイにフィードバックするという流れになっている。
(※文責: 杉本航)
2.4
2.4.1
課題の割り当て
前期の割り当て
AR beetle
• OpenCV の勉強(井上、北山、金田)
• OpenNI の勉強(井上、杉本)
• ARToolKit の勉強(金田)
• Kinect の調査(井上、金田、杉本)
• Kinect のカメラから取得した映像よりマーカーの位置と指の位置を検出(井上)
• マーカーと指の二点間の距離計算(金田)
• 距離計算した結果をネットワークで別のコンピュータに送信(井上)
• ARToolKit による現実空間と仮想オブジェクトの合成(金田)
• オブジェクトの変化(金田)
• blender による仮想オブジェクトの制作(小林)
グループの管理
• スケジューリング(北山)
• 担当教員、事務局への連絡窓口(北山)
• メーリングリストでの連絡(北山)
• SVN を用いた情報共有(北山)
• サイボウズ Live を用いたタスク管理(北山)
• システム開発環境導入の指示(北山)
• グループ内のルール作成(北山)
Group Report of 2011 SISP
-7-
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
中間発表準備
• スライド作成(杉本)
• ポスターの全体構成作成(北山、小林)
• ポスター作成時のイラストの作成、写真の合成(小林)
• ポスター用写真撮影(小林)
(※文責: 北山史朗)
2.4.2
後期の割り当て
Cubits Karel
• OpenGL の勉強(北山、金田)
• メタセコイアの勉強(杉本、小林)
• デバイスの改良(小林)
• 画像処理によるマーカー認識(井上)
• 形状認識を利用した手の認識(井上)
• マーカーの座標の取得(北山、金田)
• マーカーとオブジェクトの距離計算(北山)
• 3D オブジェクトの三次元座標をネットワークで送受信(井上、金田)
• Kinect からカメラへの座標変換(金田、井上)
• 腕の振りの認識(井上)
• 手の位置への 3D オブジェクトの移動(金田)
• 2 種類のマーカーの認識(北山)
• 3D オブジェクトの投擲(北山)
• 3D オブジェクト作成(杉本)
グループのマネジメント
• スケジューリング(北山)
• プロジェクトリーダー、担当教員、事務局への連絡窓口(北山)
• メーリングリストでの連絡(北山)
• 進捗報告会での進捗報告(北山、井上、金田、杉本、小林)
• 購入表等の書類作成(北山)
アカデミックリンク準備
• 参加書類等の作成(北山)
• デモムービーの作成(小林)
最終発表準備
• スライド作成(北山、杉本)
• ポスターの全体構成考察(北山、杉本、小林)
• ポスター作成(小林)
• 発表練習(北山、井上、金田、杉本、小林)
Group Report of 2011 SISP
-8-
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
(※文責: 北山史朗)
Group Report of 2011 SISP
-9-
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
第 3 章 課題解決のプロセス
3.1
スケジュール
本プロジェクトは、学生提案により立ち上げられたプロジェクトのため、課題設定などの事前準
備を行っていた。そのため、プロジェクト活動は昨年度の 11 月から行われていた。
11 月
プロジェクトテーマ草案作成
12 月
AR についての輪講
1月
AR についての輪講
2月
プロジェクトテーマの考案
3月
プロジェクトテーマ決定
4月
プロジェクトテーマ説明会に向けての準備
プロジェクトテーマ説明会
5月
OpenCV の勉強 [1]
OpenNI の勉強 [2]
ARToolKit の勉強 [3]
6月
中間発表までの目標を設定
マーカーとオブジェクトの位置あわせ
マーカーにオブジェクトを表示
色を認識
指定した座標の深度の取得
2 点間の距離の測定
2 台の PC でネットワークを形成、設定
中間発表で行うデモの作成
Group Report of 2011 SISP
- 10 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
中間発表で使用する 3D オブジェクトの作成
7月
中間発表に向けての準備
中間発表
8月
夏休み
9月
夏休み
10 月
最終発表までに作成する物の決定
前期に作成した物の見直し
OpenGL の勉強
手を認識するプログラムの開発
3D オブジェクトをつかむ、投げるの場合分け処理の開発
画像処理を用いたマーカーの位置認識
ARToolKit を用いたマーカーの位置認識
3D オブジェクトの作成
11 月
ネットワークプログラムの開発
デバイスの改良
複数マーカー認識処理の開発
投擲処理の開発
座標変換の計算
手の位置への 3D オブジェクトの追従処理の開発
エフェクトの表示
3D オブジェクトの作成
最終発表に向けての準備
12 月
ポスター製作
スライド製作
発表練習
最終発表
Group Report of 2011 SISP
- 11 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
(※文責: 北山史朗)
前期の課題解決の方法
3.2
仮想オブジェクトに素手で触って操作するにあたって、いくつかの課題が生じる。まずは、現実
空間に仮想オブジェクトを表示するため、ユーザーから見た映像、仮想オブジェクトを現実空間へ
と合成する処理が必要となる。また、仮想オブジェクトに触っているかどうかを判定するために、
仮想オブジェクトの位置情報、ユーザーの指先の位置情報が必要となる。そのため、それらを読み
取るセンサー類と、処理を行うコンピュータが必要となる。また、見たままを映し出すディスプレ
イのような出力装置も必要となってくる。そのため、ユーザーには HMD のような出力装置を身
に着ける必要がある。課題解決のために、以下のプロセスが必要になる。
• ユーザーが身につけているセンサから情報の取得
• 各種センサからユーザーの指先の位置情報と仮想オブジェクトの位置情報を元に触っている
かの判定
• 判定にあわせたオブジェクトの選択
• オブジェクトを現実空間へ合成
• 合成した映像の出力
この手順により、仮想オブジェクトに触って操作することを実現する。
各項目について具体的な目標を定義した。まず、仮想オブジェクトに触るために、手の位置や仮
想オブジェクトの位置を三次元的に認識するセンサが必要であると考えた。二次元的な座標を知る
ためにはまずカメラが必要であり、また三次元座標を構成するために使用者が装備したデバイスか
ら手やオブジェクトまでの距離を取得するセンサが必要であった。ここで、距離を取得するセンサ
として、本グループでは深度センサを用いて開発を行った。次に、各種センサからユーザーの指先
の位置情報と仮想オブジェクトの位置情報を元に触っているかどうかの判定を実現する方法とし
て、まずカメラを用いてディスプレイ上の二次元座標を構築し、そこに深度センサから取得した距
離データを組み合わせることにより、擬似的に三次元座標を構築する。それを用いて、指先とオブ
ジェクトの距離を計算することにより実現する。
判定に合わせたオブジェクトの選択に関しては、3D オブジェクトを複数用意し、先述の触れて
いるかの判定に応じて表示させるオブジェクトを切り替える事により実現する。また、オブジェク
トを現実空間へ合成させる方法としては、画像処理ライブラリを使用してカメラから取り込んだ
映像に仮想オブジェクトを合成しそれをディスプレイに出力させる技術を使用する。また、出力に
は、2.3.1 項で記述した HMD を用いる。以上の方法より、前期の課題を実現させる。また、次項
より、具体的な入出力や内部処理について説明する。
(※文責: 井上慶彦)
3.2.1
入力情報
課題解決を行うために、入力情報を処理していくことになる。Kinect を使い仮想オブジェクト
とユーザーの指先の位置情報の位置情報を、Web カメラを使い視覚情報を取得する。
Group Report of 2011 SISP
- 12 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
位置情報
仮想オブジェクトとユーザーの指先の位置情報を取得するために Kinect と OpenCV を用
いる。OpenCV により、ディスプレイ上のどこに仮想オブジェクトとユーザーの指先があ
るか取得し、その点の深度を Kinect で取得する。こうすることにより、仮想オブジェクト
とユーザーの指先のカメラから見た三次元座標を取得する。
視覚情報
Web カメラを用いて、ユーザーの視覚情報を取得する。取得した視覚情報内にマーカーが
あれば、その場所を基準にし、仮想オブジェクトを表示することが可能である。マーカーに
仮想オブジェクトを表示させた視覚イメージを図に示す。
図 3.1
視覚イメージ
(※文責: 北山史朗)
3.2.2
内部処理
接触判定
仮想オブジェクトにさわって操作するためには、まずユーザーが仮想オブジェクトにさわっ
ているか否かの判定が必要になる。この判定を行うには、仮想オブジェクトの位置情報と
ユーザーの指先の位置情報が必要となる。この二つの情報を使い、仮想オブジェクトと指先
との距離を計る。仮想オブジェクトと指先との距離が、オブジェクトの半径よりも小さけれ
ば、触れていると判定する。
仮想オブジェクトを現実空間へ合成
接触判定の結果により選択した仮想オブジェクトを、ARToolKit というライブラリを使用
し、現実空間と合成する。ARToolKit とは、AR アプリケーションの実装を補助するライブ
Group Report of 2011 SISP
- 13 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
図 3.2
オブジェクトと指先との距離
ラリで、Web カメラでマーカーを認識し、その点を基準に仮想オブジェクトを表示するこ
とができる。
(※文責: 北山史朗)
3.2.3
出力
HMD
最終的に現実空間へ仮想オブジェクトを合成した映像は、HMD へ出力される。HMD へ出
力することで、デバイスを手に持つ必要がなく、素手で仮想オブジェクトにさわって操作す
ることが可能である。また、PC ディスプレイに表示させると、実際に仮想オブジェクトが
合成されている空間と別の方向を見なければならないが、HMD ならば別の方向を向く必要
もなく、直接その部分を見れば合成されている映像が見えるので、実際に目で見た状態に近
い感覚が得られる。
(※文責: 北山史朗)
3.3
後期の課題解決の方法
前期では手が 3D オブジェクトに触れているかどうかのみを判定していた。しかし、後期では
3D オブジェクトに触れるだけではなく、掴む、持ち上げる、投げる、といった動作が主体となり、
それらの動作を実現することが課題となる。次項より課題解決のためのプロセスを示す。
(※文責: 金田知展)
Group Report of 2011 SISP
- 14 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
3.3.1
3D オブジェクトの表示
投擲対象となる 3D オブジェクトの表示位置は前期と同様に AR マーカーを指標とする。そのた
め、AR マーカーの特性上マーカーが認識されていない場合 3D オブジェクトは表示されない。し
かし、3D オブジェクトを掴むという動作を行う上で、AR マーカーのその特性は致命的である。
従って、AR マーカーが認識されなくなった場合についても 3D オブジェクトの表示を行う必要が
ある。
(※文責: 金田知展)
3.3.2
深度センサーと形状認識を用いた手の認識
実空間で物体を掴むという動作を行う際に特徴的となるのは手の形状である。このことから、仮
想空間上の 3D オブジェクトを掴むという動作を行う上でも、形状認識を用いて手が 3D オブジェ
クトを掴んでいるかどうかの判定を行う。また、手の可動範囲に注意し、深度センサーで得られる
奥行きを利用して手の認識をサポートする。
(※文責: 金田知展)
3.3.3
手に対する 3D オブジェクトの追従
実空間で物体を持ち上げるという動作は、掴む動作の延長上にある。物体を持ち上げている間は
その物体は手から離れることはない。本グループではこの点に焦点を当てる。仮想オブジェクトを
持ち上げている間は 3D オブジェクトの表示位置を手の動きに追従させる。そのために必要となる
手の位置の取得には、奥行きを取得できることから深度センサーを用いる。
(※文責: 金田知展)
3.3.4
3D オブジェクトの投擲
実空間で物体を投擲する際の特徴は、物体を掴んだ手が一度視界から外れることである。そし
て、その直後に腕を振り降ろし物体を投擲する。この特徴を利用し、3D オブジェクトの投擲を行
う。掴んだ 3D オブジェクトを持ち上げ、手が画面外に移動した際に、投擲準備に入り、次に腕が
振り降ろされた際に 3D オブジェクトを投擲する。
(※文責: 金田知展)
3.3.5
投擲後の軌道
実空間上で投擲された物体の軌道は放物線となる。仮想空間上の 3D オブジェクトに対しても物
理演算を実装し、この性質を適用する。
(※文責: 金田知展)
Group Report of 2011 SISP
- 15 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
3.3.6
投擲に適した 3D オブジェクトの製作
投擲の対象となる 3D オブジェクトの制作を行う。その際に注意することは、あまりにも 3D オ
ブジェクトの形状が歪である場合に投擲のイメージが困難になるため、投擲していることが認識し
やすい 3D オブジェクトを制作する、ということである。
(※文責: 金田知展)
3.3.7
投擲動作に対応したハードウェアの調整
掴む、持ち上げる、投擲する、という動作を行う際に、Kinect センサーに対し手が適切な位置に
ある必要がある。そのために、Kinect センサーをヘルメットに固定し、更にユーザーによって調
整が可能なよう、ハードウェアを制作する。
(※文責: 金田知展)
Group Report of 2011 SISP
- 16 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
第 4 章 プロジェクト内のインターワーキング
事前準備
4.1
4.1.1
輪講
目的
本グループは学生が立ち上げたものでプロジェクト学習がまだ始まっていない時期、具体的
には2年生の冬ごろから活動を行なっており、そこではまず本プロジェクトの研究内容の大
元となる「拡張現実感とはどのようなものなのか」ということについて、1 つの論文を各章
ごとにプロジェクトメンバー 1 人 1 人に割り振って、各個人ごとに割り振られた章の事柄に
ついてより深く調べてきてから日をおいて個人ごとに他のプロジェクトメンバーにもわかり
やすいように章を発表するという輪講という手法をもちいて理解を深めていった。
成果
成果としては、「拡張現実感とはどのようなものか?」について「拡張現実感とはなにか?」
「拡張現実感を用いて利用されているサービス」「現状までに浮き上がっている拡張現実感の
問題点」「拡張現実感と仮想現実感の違い」「拡張現実感の知名度」といったような様々なこ
とをプロジェクトメンバー全員で理解することができた。
(※文責: 杉本航)
4.2
ARbeetle
ARbeetle は、実空間と 3D オブジェクトなどの仮想空間上の物体を合成して拡張現実感を構築
し、また表示されている仮想空間上の物体に触れるような動作をすることで、その物体が何らかの
反応を示す、というシステムを実現したものである。このシステムでは、仮想空間上の物体に直感
的に触れて操作することをコンセプトとしており、実際に動かして見ると指で 3D オブジェクトの
状態を制御しているように感じられる (図 4.1)。このシステムでは、Kinect をヘルメットに組み合
わせたものと、HMD を装着して使用する (図 4.2)。
図 4.1 オブジェクトの変化
処理の流れとしては、以下の通りである (図 4.3)。
Group Report of 2011 SISP
- 17 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
図 4.2 ARbeetle
まず Kinect のカメラでマーカーと指先の位置を取得する。そしてその 2 点間の距離を測定し、一
定数以下であれば指が仮想物体に触れているとコンピュータが認識し (接触判定)、表示する仮想オ
ブジェクトを変化させる (オブジェクトの選択) というものである。また、人の視界の役割を担う
HMD に装着したカメラから取得した映像の中からマーカーを検出し、マーカーの場所に合わせて
表示させる仮想オブジェクトの位置を決定する (現実空間への位置合わせ)。最後に HMD に装着
したカメラの映像と仮想オブジェクトを合成して HMD に出力する (現実空間との合成)。
図 4.3 システムの処理の流れ
このシステムを実現するにあたり、以下の技術を使用した。
• Kinect による 2 点間の距離測定処理
Group Report of 2011 SISP
- 18 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
• OpenCV ライブラリによる色抽出
• ARToolKit ライブラリによるマーカーと仮想オブジェクトの位置合わせと映像出力
• 上記の処理を 2 台のコンピュータを並列使用して行うためのネットワークプログラミング
次項より、各技術の詳細な解説を記述する。
(※文責: 井上慶彦)
4.2.1
OpenCV,OpenNI,ARToolKit の技術習得
目的
本グループでは開発を行なっていく際に必要となる OpenCV、OpenNI、ARToolKit とい
うこれら3つのライブラリについてまずはじめに勉強会を行なった。勉強会の手法として
は、各ライブラリについて1人または2人担当をつけて、各担当者は自分が担当しているラ
イブラリについて実際に使ってみたりインターネットで配布されているサンプルを用いて理
解を深めていき、そこで得た知識をもちいて他のグループメンバーに対してライブラリの説
明を行うという手法を用いて進めていった。
成果
OpenCV の勉強会については、OpenCV を実際に自分のパソコンに導入するところからは
じまり、Web カメラをもちいた映像の取得、映像の特殊出力(白黒や色反転)などといいっ
た基本的な部分の勉強も行なって、全員が理解を深めることができた。ARToolKit の勉強
会では、はじめに自分のパソコンに導入するところからはじまって、その後にマーカーを読
み込んで仮想オブジェクトを出力するといったサンプルプログラムを動かしたり、サンプル
プログラムで出力させている仮想オブジェクトを他の仮想オブジェクトに差し替えたりなど
の基本的な部分の知識を共有することができた。OpenNI についての勉強会は、新規技術で
あった OpenNI のリファレンスやサンプルプログラムが少なく非常に難航したが、最低限
の知識を共有することができた。
(※文責: 杉本航)
4.2.2
OpenNI ライブラリによる Kinect の制御
本グループでは、Kinect というデバイスを用いてマーカーと指先の位置の認識を行った。Kinect
には、実空間の映像を取得するためのカメラと、深度センサが搭載されている。深度センサとは、
デバイスから多方に赤外線を発し、赤外線が別の物体に届いたその結果を受け取ることでカメラに
映った物体までの距離を測定するセンサである。また、カメラの機能は通常の Web カメラと仕様
はほぼ変わりないが、デバイスの仕様上、深度センサで認識する範囲とカメラで認識する範囲には
若干のずれがあるため、同時に使用する際には是正する必要があった。これらのセンサやカメラを
用いて指やマーカーの三次元座標の取得を行った。カメラから取得した映像から指やマーカーの位
置を取得する方法については、次項の OpenCV による色認識の処理で解説する。
そもそも赤外線センサを用いた深度センサには大きく分けて 2 種類あり、1 つは赤外線が照射さ
れてそれが物体に当たって反射し戻ってくるまでの時差を利用して距離を計測する Time of Flight
方式と、赤外線プロジェクタで特徴的なパターンを照射し、そのパターンの歪みから三角測量を用
Group Report of 2011 SISP
- 19 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
いて距離を導き出すパターン方式がある。Kinect では、後者のパターン方式を使用している。
深度センサの仕組みについてより具体的に記述すると、深度センサは赤外線プロジェクターと赤
外線センサの2つのシステムから成っており、赤外線プロジェクターから照射された赤外線のパ
ターンを赤外線センサで感知し、そのパターンの歪みから深度の計測を行なっている。しかし、こ
の深度センサは、赤外線を利用するという仕様上、暗い場所では安定して使用できるが、日光が強
い場所では認識精度が著しく下がるため、このデバイスは屋内で使用することを想定している。
Kinect は OpenNI というオープンソースのライブラリを用いて制御する事が可能である。
OpenNI とは、Kinect のようなナチュラル・インタラクションデバイスという、人間の自然な動
きで操作する事のできるデバイスの共通インタフェースを提供する仕組みの事である。このライ
ブラリは Kinect のデバイス本体をコントロールするデバイス部と、デバイスで取得した映像等の
画像処理を行うミドルウェア部で構成されている。デバイス部は Kinect 専用のハードウェアドラ
イバで制御し、ミドルウェアは PrimeSense 社が開発した NITE というモジュールを用いて制御
する。ここでは、このライブラリを用いてどのように Kinect を制御するプログラムを構築したか
を、処理の流れと共に記述する。まず、プログラム起動時に Kinect とコンピュータの接続状況
を確認する。接続できている事が確認できた場合、Kinect のカメラと深度センサを起動する。起
動した後は、連続的にカメラから映像、深度センサから物体の深度を取得して、コンピュータに
データとして送り続ける。カメラの映像と深度は、それぞれ OpenNI ライブラリのクラスである
ImageGenerator、DepthGenerator に変換されてコンピュータに格納される。また、格納された
データは先述のそれぞれのクラスのメンバ関数である GetMetaData を通して引き出すことが可
能である。また、引き出したデータは OpenCV を用いた色抽出の画像処理に使用される。
(※文責: 井上慶彦)
4.2.3
OpenCV による色認識の処理
本グループでは、OpenCV という画像処理ライブラリを用いて色認識のプログラムを製作した。
手法としては、まず Kinect のカメラから取り込んだ映像を IplImage という画像のデータを格納
しておく OpenCV ライブラリ内の構造体の型に変換して入力する。そして、そのデータを、色相、
彩度、明度の 3 つの成分からなる HSV 色空間に変換した。色相、彩度、明度とは、それぞれ色
の種類、色の鮮やかさ、色の明るさを表している。色相は円で表現され (図 4.4)、0 から 360 まで
の角度を値として色の種類を決定する。HSV 色空間を用いた理由としては、先述の性質の通り、
HSV では色相の範囲で色の種類が指定できるため、画像から特定の色を抽出することが容易だか
らである。
色認識の処理の流れとしては、まず Kinect のカメラの映像を格納した IplImage 構造体の色空
間を先述の HSV に変換し、その画像の中から色相 70∼130(ここでは色相の全範囲は 0 から 180
とした)、彩度 55∼105、明度 145∼215 の全ての条件に当てはまる色を肌色として認識し、当ては
まらなかった画素を全て削除する。これで、画像の中の肌色部分のみを抽出した画像が得られるの
で、その中で最も左上にある肌色の画素の点を指先の座標として感知するようにした。また同様に
して、元の画像の中から色相 0∼50、彩度 95 以上、明度 105 以上のものを青色として抽出し、生
成した画像の中から最も左上にある青色の画素の点をマーカーの座標として感知するようにした。
また、これを実装するにあたり、実際に使用するマーカーの中心に青い点をつけてそこを目印とし
た。そして、この処理を用いて、カメラから取り込んだ画像上にある特定の色 (肌色、青色) を抽
出し、またそれらの点の集合を黒背景の画像に組み合わせて、リアルタイムで特定の色のみを映し
Group Report of 2011 SISP
- 20 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
図 4.4 HSV 色相系
出すマスク画像を生成する。そして、それぞれのマスク画像の中で、y 座標が最も小さい点 (画像
内でより上方にある点) を指先、またマーカーの座標として認識した (図 4.5)。
図 4.5
色の感知
また、OpenCV で色抽出を行うために、OpenCV 内のライブラリである IplImage 構造体の内
部構造を知る必要があった。この構造体では、色情報は imageData というポインタで管理され、
画像データを格納した後はこのポインタを通して色情報を検出、変換できる。このポインタを通し
て画素を参照する記述方法として、IplImage→imageData[IplImage→widthStep*i+(j*3)+0] と
いうものがあり、基本的にはこれで、カラー画像の x 座標 j 番目、y 座標 i 番目の画素を参照する
ことができる。+0 の部分を +1、+2 にすることによって、BGR カラー画像の青色、緑色、赤色
の画素情報を参照できる。各画素の濃度は、0 255 で表される。例えば、画素が (0,0,0) の場合は
黒、(255,255,255) では白、という具合である。また、widthStep は IplImage で管理される画像の
横一列分の Bit 数を表しており、画像の形式によって値が異なる。本グループでは、この仕組みを
利用して色認識を実現させた。ただし、指先やマーカーの位置認識に関して、色認識だけでは、環
境によって精度が大きく左右されるため、この改善が後期以降の課題となった。
(※文責: 井上慶彦)
Group Report of 2011 SISP
- 21 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
4.2.4
2 点間の距離と接触判定
Kinect と OpenCV を用いて、指先とマーカーの 2 点を認識できた場合、それらの点の深度を
Kinect から取り出す。そして、それぞれの点の平面座標と深度を組み合わせ、3 次元座標を形成す
る。次に、2 点の座標をそれぞれ (x1,y1,z1)(x2,y2,z2) として、2 点間の距離を算出する (図 4.23)。
そして、算出した値が 86 以下 (cm に直すと 7cm 程度) の時に指をマーカーの位置に表示させる仮
想物体が接触していると判断する。また、それより離れている場合や、指またはマーカーの点が認
識されなかった場合は、接触していないと判断する。以上の処理を実現するために、ソースコード
内では、独自クラスとして judge field クラスを定義した。メンバ変数として、マーカーの3次元
座標と当たり判定の半径、また指の3次元座標と 2 つの座標の距離を保存するものを定義した。ま
た、メンバ関数として、オブジェクトの座標と半径を格納する SetField 関数、指の座標を格納す
る SetFingers 関数、また当たり判定処理を行う Judge 関数を用意した。
図 4.6
距離測定の式
(※文責: 井上慶彦)
4.2.5
ARToolKit を用いた 3D オブジェクトの表示
ARToolKit は、AR アプリケーションの実装を補助するライブラリである。このライブラリで
提供されている関数を用いることで基本的な 3D オブジェクト表示プログラムの製作が容易に行え
る。また、ARToolKit は WEB カメラで『AR マーカー』(図 4.7) と呼ばれる 2 次元マーカーを
認識することで 3D オブジェクトの表示を行うため、ユーザーの姿勢による 3D オブジェクトの見
え方の違いを考慮し、手動で座標変換を行う必要も無い。AR マーカーによる 3D オブジェクトの
表示位置の決定はマーカーの中心位置や頂点座標、8 つの辺の傾きを用いて行う。そのため、AR
マーカーを用いた AR アプリケーションは 3D オブジェクトの表示精度が非常に高い。以上のこと
から、本グループでは AR アプリケーションの制作に ARToolKit を採用した。また、ARToolKit
では AR マーカーの認識を行い、3D オブジェクトの表示は OpenGL というグラフィックス処理
ライブラリを使用している。
AR beetle では WEB カメラで取得した画像から AR マーカーを検出し 3D オブジェクトを
表示させ、4.2.4 項で述べた手法により、3D オブジェクトに”触れた”と判断された場合、3D オブ
ジェクトの描画を別のオブジェクトに変更する、という処理を行っている。
(※文責: 金田知展)
Group Report of 2011 SISP
- 22 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
図 4.7
4.2.6
マーカーの例
2 台のコンピュータのネットワーク接続
本グループでは成果物の動作に 2 台のコンピュータを使用した。まず、2 台のコンピュータを
LAN ケーブルで接続した (図 4.8)。次に、それぞれのコンピュータでそのネットワークに対する
ローカルの IP アドレスとサブネットマスクを設定した。ここでは、データを送信する側のコン
ピュータの IP アドレスとサブネットマスクはそれぞれ 192.168.0.2、255.255.255.0、また受信側
のコンピュータの IP アドレスとサブネットマスクは、それぞれ 192.168.0.3、255.255.255.0 とし
た。また、データの伝送に使用するポート番号は 9876 番とした。
図 4.8 2 台のコンピュータを接続
実際の処理の内容としては、まず 4.2.1 項、4.2.2 項で述べた Kinect での処理と色認識の処理の
結果、算出されたマーカーと指先の距離が 7cm 以下だった場合に true、そうでない場合、あるい
はマーカーと指先が両方正常に感知されなかった場合に false を受信用コンピュータに連続して送
信するというものである。処理の仕組みとしては、まずプログラム起動時に受信用、送信用のそれ
ぞれのコンピュータで IP アドレスとポート番号からソケットを生成し、正常に接続できるか確認
する。正常に接続が出来ていた場合、送信用コンピュータは先述の通り指先とマーカーの距離に応
じて true または false の信号をパケットとして受信用のコンピュータにリアルタイムで送信する。
そして、受信用のコンピュータではデータを受信し続ける。以上が、ネットワーク接続を用いて行
われる処理の内容である。
Group Report of 2011 SISP
- 23 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
具体的にソースコードに記述した内容を、受信側、送信側に分けて記述する。まず、受信側で
は、socket(AF INET,SOCK STREAM,0) 関数でプロセス間通信を行うためのソケットを生成
し、bind(srcSocket, (struct sockaddr *) &srcAddr, sizeof(srcAddr)) 関数によってアドレスの設
定を行う。そして listen(srcSocket, 1) によって設定された接続を許可する。接続の設定が整った
後は、recv(dstSocket, buffer, sizeof(char)*1024, 0); 関数で char 型も文字列データを受信し続け
る。以上が受信側の仕組みである。送信側では、まず受信側と同様にソケットを生成する。そして
connect(dstSocket, (struct sockaddr *) &dstAddr,sizeof(dstAddr)) 関数を用いてもう受信側の
コンピュータに接続を試みる。接続が成功した場合、send(dstSocket, buffer, 1024, 0); で任意の
文字列 buffer を受信側コンピュータに送信できる。以上がデータ送受信の仕組みである。そもそ
も、2 台のコンピュータをネットワークで接続してデータを送受信するシステムを確立させた背景
として、Web カメラと Kinect を 1 台のコンピュータで同時に制御する事が難しいという事が判
明したという事があった。1台のコンピュータに Web カメラと Kinect を同時に接続すると、カ
メラデバイスが互いに干渉してしまい、互いにうまく動作しなくなってしまう。これは、どちらか
一方のデバイスのみを PC に接続してプログラムを実行した場合には正常に動作する、という結果
から明らかになった。これはデバイスの仕様であり、通常では解決が難しかったため、2 台の PC
を使用し、それぞれに別のデバイスを接続することで開発を行った。また 2 台の PC に処理を分け
る事で、処理速度も向上した。
(※文責: 井上慶彦)
4.2.7
中間発表へ向けての準備
中間発表に向けた準備として、プレゼンテーションのためのスライドと展示用のポスターを制作
した。
スライドの制作はプレゼンテーションの練習を繰り返す中で行われた。これは、スライド中の説明
文を極力減らす目的から、図やイラストが必要な部分を明確にし、プレゼンターが補うべき事柄を
明確にするためである。図やイラストは順序や個々の項目の関連性を表すのに秀でていると考え、
現在スマートフォンで提供されている拡張現実感の問題点や、本プロジェクトにおいて我々が開発
したシステムの内部処理の説明などに多用した。プレゼンターはこれらの図やイラストの内容を説
明する形でプレゼンテーションを行うこととした。
ポスターの制作はイメージ写真による視線の引きつけと、本プロジェクトにおけるキーフレーズ
の強調に重点を置いた。本プロジェクトの中間発表ではポスターを用いたプレゼンテーションは行
わない。従って、ポスターのみで本プロジェクトの発表内容を観衆に伝える必要があった。一方、
観衆は他のプロジェクトの発表ブースを覗きながら本プロジェクトの発表ブースにやって来る。そ
のため、遠くからでも本プロジェクトのポスターに視線を向けさせる必要があった。文字よりも写
真の方が瞬時に多くの情報が伝わり、興味に繋がるだろうと考え、大きなイメージ写真を用いるこ
とにした。このイメージ写真は本プロジェクトで開発したシステムを動作させている様子を撮影し
た物である。(図 4.9)
このイメージ写真で本プロジェクトに興味を持った観衆に次の情報として本プロジェクトにおけ
るキーフレーズを提示する。このキーフレーズは見出しとした。観衆が歩きながらポスターを見る
ことを考え、おおよそ 5∼6 メートル離れた位置から読めるよう、見出しの文字の大きさ、ウエイ
トを選択した。大きな文字は遠くからでも目に入りやすいことから、キーフレーズの重要度と文字
の大きさを比例させることが適当だと考えた。観衆が近寄りながら読むことを想定しているので、
Group Report of 2011 SISP
- 24 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
本プロジェクトにおいて最も重要なキーフレーズを最も大きくした。次に重要なキーフレーズはそ
れよりもやや小さく、さらにそれぞれのキーフレーズの説明文、図やイラストの説明文は 1 メート
ル程度から読めるような大きさにした。
使用したフォントはモリサワの新ゴファミリーである。このフォントファミリーは JR の駅構内
の案内などに使われていることから、視認性に優れ、遠くからでも判読しやすいと考え、本プロ
ジェクトのポスターに使用した。
図 4.9 ポスターに用いたイメージ写真
(※文責: 小林真幸)
Group Report of 2011 SISP
- 25 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
4.3
4.3.1
Cubits Karel & Go me throw
OpenGL の技術習得
3D オブジェクトを掴み、持ち上げているよう 3D オブジェクトを表示するために、OpenGL
というグラフィック処理ライブラリと ARToolKit における OpenGL の使用法を学んだ。特に、
ARToolKit と OpenGL で用いる各種座標系と変換行列の理解を主な目的とした。
ARToolKit では、Web カメラで取得した画像からスクリーン座標系 (図 4.10) で AR マーカーを
検出し、検出された AR マーカーの情報を ARMarkerInfo 構造体に保存する。ARMarkerInfo 構
造体に保存された AR マーカーの領域画素数や中心座標や頂点座標、各々の直線の傾きなどを用い
て変換行列を求める。ここで求められた変換行列は ARToolKit のマーカー座標系をカメラ座標系
(図 4.11) に変換する 3 × 4 行列であり、まだ ARToolKit における OpenGL の座標系を構築する
ための行列とはなっていない。この変換行列を argConvGlpara() という関数を用いることにより、
変換行列を ARToolKit の形式から、OpenGL の形式である 4 × 4 行列へと変換する。ここで得
られた変換行列を用いることで、AR マーカーの中心を原点とした ARToolKit における OpenGL
の座標系 (図 4.12) を構築できる。
x
AR
y
図 4.10
スクリーン座標系
(※文責: 金田知展)
Group Report of 2011 SISP
- 26 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
AR
z
x
y
図 4.11 カメラ座標系
図 4.12 ARToolKit における OpenGL の座標系
4.3.2
デバイス作成
もともとは、後期でも前期のデバイスをそのまま使うことが考えられていた。しかし、前期のデ
バイスは Kinect とヘルメットをガムテープで固定しただけの物であり、見栄えが悪い、Kinect の
角度調整の自由度が低い、と言う問題点があった。また、後期のシステムでは仮想オブジェクトを
Group Report of 2011 SISP
- 27 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
投げることを目標にしているため、装着者は投げる動作をすることになっている。装着者の投げる
動作を頭部に固定した Kinect で捉えるためには既存の固定位置では視野が不足していることが懸
念された。
そこで、Kinect とヘルメットの接続部分を作り直すことが提案された。ここで新規に制作する部
分には前後に稼働する関節を一つ設け、さらに Kinect の高さを調整する機構を取り入れることに
なった。それに伴い、Kinect の固定位置をこれまでよりも後方にずらし、ほぼ頭頂部付近に固定
することになった。
制作にはホームセンターなどで購入できる汎用金具を使用した。これにはボルト固定用の穴やス
リットが所々に設けられており、2 つの金具を組み合わせ、ボルトとナットで留めることで関節を
作ることができる。この関節付き金具と Kinect の固定には樹脂製の専用部品を用いた。この部品
は三次元プリンタによって出力された物で、迎山和司准教授から頂いた。一方、関節付き金具とヘ
ルメットの固定は、ヘルメット側に穴をあけてボルトを通すことで行った。
制作作業において工夫した点として、一つ目は、ヘルメットに穴をあける作業である。ヘルメッ
トは半球体であるが、これは半球体が負荷に対して高い耐性があるためで、ヘルメットの頭頂部付
近に穴をあけることはこの半球体の特性を無い物としてしまう。すなわち、ヘルメットに穴をあけ
ることは、ヘルメット自体を非常に脆くしてしまうのだ。そのため、穴をあける作業は非常に慎重
に行わなければならなかった。これらの穴あけ作業に関する注意点は工房管理者の朝倉氏に指導し
て頂いた。
二つ目の工夫した点は、穴をあけたヘルメットに関節付き金具を固定する作業である。ヘルメッ
トは穴をあけたことで非常に脆くなっている。加えて、その穴にボルトを通すことは、ボルトが
ヘルメットに高い負荷を加えることに繋がる。ヘルメットとボルトの接点は非常に小さいのでボ
ルトに僅かな力が加わったとしても、てこの原理によってヘルメットの穴には大きな負荷が加わ
る。(図 4.13) これを軽減するために、ヘルメットと関節付き金具の間に金属板とゴム材を挟んだ。
(図 4.5) 金属板はボルトへの加重をより広い面積に分散するためのもので、ゴム材はヘルメットと
金属板の間に摩擦力を発揮し、固定力を得るためのものである。
三つ目に工夫した点は、関節付き金具の関節部分に蝶ネジを使用することで関節の角度調整を容易
に行えるようにしたことである。それに加えて、関節部分で金具同士が接する部分にはゴム材を挟
むことで関節の角度を保つよう工夫した。
図 4.13 てこの原理によってヘルメットの穴に大きな負荷が加わる
(※文責: 小林真幸)
Group Report of 2011 SISP
- 28 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
図 4.14
4.3.3
金属板とゴム材を挟むとヘルメットの穴への負荷は減る
3D オブジェクト作成
本グループで今回作成された「マーカーを読み込んで表示させた仮想オブジェクトである 3D オ
ブジェクトに対してつかむような動作を行うと 3D オブジェクトがつかみあげられ、目標物に向
かって投擲すると放物線上に 3D オブジェクトが飛んで行き目標物に当たると各 3D オブジェクト
に応じた反応が帰ってくる」というプログラムには投擲される仮想オブジェクトとして 3D オブ
ジェクトを使用している。ここでは、プログラムに使用されている 3D オブジェクトの狙いと利用
目的・作成方法などを各々挙げていく。また、3D オブジェクトを作成するとき用いられたツール
は「MetasequoiaLE R2.4」と呼ばれるインターネット上で無料で配布されている 3D オブジェク
ト作成ツールである。この「マーカーを読み込んで表示させた仮想オブジェクトである 3D オブ
ジェクトに対してつかむような動作を行うと 3D オブジェクトがつかみあげられ、目標物に向かっ
て投擲すると放物線上に 3D オブジェクトが飛んで行き目標物に当たると各 3D オブジェクトに応
じた反応が帰ってくる」というプログラムを制作するとき、採用する 3D オブジェクトの基準とし
ては「現実ではありえないもの」という視点から採用していった。この「現実ではありえないも
の」についてだが、まず読んだ通りの意味として「現実には実在しないもの」、さらには「行動を
行なった際に起こる事象としてありえないもの」、他には「実際には出来ることだがそれをするに
は費用や危険度・手間などがかかる」という3つの定義のもとで選んだ。
爆弾
背景
この「爆弾」という 3D オブジェクトをつくるとき採用の理由となったものは、定義にある
「実際には出来ることだがそれをするには費用や危険度・手間がかかる」という点を満たし
ていることや、今回作成されたプログラムでデモンストレーションを考える際に「デモンス
トレーションを行う場合、見ている側の人にも何が起こっているのかわかりやすいものを作
りたい」と言う意見から「この 3D オブジェクトを投げたらこのような反応が帰ってくるの
だろう」という投擲後の反応が投擲する前にでも予想しやすいものという点、主に上記つの
理由から採用された。
作成方法
まず、見本となる下絵を用意してそれを基本図形から平面を選択・作成して図形の色を指定
する際に参考とする下絵を選択して平面の図形に下絵を描写する。土台となる丸い部分につ
Group Report of 2011 SISP
- 29 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
いては MetasequoiaLE R2.4 で基本図形から球を選択・作成して図形の色を黒にして、さ
らに鉄特有の光沢など質感を出すために拡散光・自己照明・反射光・反射の強さ・周囲光そ
れぞれの光源設定をおこなった。導火線との接続部分については基本図形から円柱を選択・
作成して、これについても色や光源設定を上記と同じ設定で行った。導火線については、さ
きほど導火線との接続部分をつくった際に使用された円柱よりも角が丸まっている図形を選
択・作成して、導火線の色を再現するために黄土色に設定した。さらに既存の材質のままで
は無機質なものにものになってしまうので導火線についても拡散光・自己照明・反射光・反
射の強さ・周囲光それぞれの光源設定をおこなった。型を形成するにあたっては基本図系の
円柱のままでは導火線が縦に真っ直ぐにのびたものになってしまうのでに円柱の高さを6分
割ほどしてそれぞれの断面を少しずつずらしていき、最後に一番上の面に角度をつけること
によって導火線のしなりを再現した。
図 4.15 爆弾
Group Report of 2011 SISP
- 30 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
投擲後の反応
投擲前の 3D オブジェクトを見て予想できる通りに爆弾の爆発が表示される。爆弾の投擲後
の反応として意外性を持たせるためにあえて、爆発させない・爆弾の中から猿がでてくるな
どの反応も考えられたが、「デモンストレーションを行う際にわかりやすものをつくる」と
いうことで直感的にも視覚的にもわかりやすいといえる「爆発をしているように見える 3D
オブジェクト」を作成した。
投擲後の反応の作成方法
まず、見本となる下絵を用意してそれを基本図形から平面を選択・作成して図形の色を指定
する際に参考とする下絵を選択して平面の図形に下絵を描写する。その後、基本図形から球
を選択・作成して爆発の中心部分であることを表現するために図形の色を黄色にする、爆発
していることを表現するために拡散光・自己照明・反射光・反射の強さ・周囲光それぞれの
光源設定や透明度の設定をおこなった。型を形成するにあたっては、爆発が広がっているの
を表現するために球の表面を一定の間隔おきに引き伸ばしたり、他にも中心部分である図形
を元にして 1.5 倍ほど大きくして図形の色をオレンジ色にして、中心部分よりも透明度を薄
くしたものや 1.5 倍した図形を元に 1.25 倍して図形の色を赤色にして 1.5 倍した図形より
も透明度を薄くしたものを重ねるなどの工夫を施した。
図 4.16 爆発
Group Report of 2011 SISP
- 31 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
斧
背景
この「斧」という 3D オブジェクトをつくるとき採用の理由となったものは、定義にある
「実際には出来ることだがそれをするには費用や危険度・手間がかかる」という点を満たし
ており、さらには投擲後の反応おいて「行動を行なった際に起こる事象としてありえないも
の」という点、デモンストレーションで用いる際のわかりやすさについては投擲前の状態か
らでは目標物に投げたらどうなるか予想がしにくいが投擲後の反応を見ると納得をさせるこ
とのできるものを採用したので満たしているといえる以上の3つの理由からなっている。
作成方法
斧は「木製の柄」と「金属製の刃」これら2つのパーツから成り立っている。まず、見本と
なる下絵を用意してそれを基本図形から平面を選択・作成して図形の色を指定する際に参考
とする下絵を選択して平面の図形に下絵を描写した。
木製の柄については、基本図形から角が丸まっている円柱を選択・作成して図形の色を木の
色に近づけるために茶色みがかった黄色に設定する、さらに既存の材質のままでは無機質
なものになってしまうので木特有の質感を出すために拡散光・自己照明・反射光・反射の強
さ・周囲光それぞれの光源設定をおこなった。型を形成するにあたっては、持ち手のそりを
表現するために円柱を等間隔に6等分ほどして各断面ごとに少しずつずらすという工夫を施
し、持ち手の部分については円柱を横に押しつぶすことによって楕円状の円柱とするなどの
工夫を施した。
金属製の刃については上記の方法とは違い、まず下絵を参考にしながら外形を手動で形成し
ていく、外形が出来上がったら面を張っていきその面の色を黒色にして、さらに鉄特有の光
沢など質感を出すために拡散光・自己照明・反射光・反射の強さ・周囲光それぞれの光源設
定をおこない、刃の部分について別に色を白色にして、こちらも鉄特有の光沢など質感を出
すために拡散光・自己照明・反射光・反射の強さ・周囲光それぞれの光源設定を行なった。
型の形成するにあたっては、下絵をもとにして形成した外形を複製して複製した外形の面を
反転し、2つの外形の間に対して面を貼っていった。刃部分については、その部分の外形の
辺を接着することによって鋭利さをだして表現した。
Group Report of 2011 SISP
- 32 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
図 4.17 斧
投擲後の反応
斧を目標物に向かって投げると目標物から「金の斧と銀の斧が出てくる」といった日本の昔
話にでてきたような反応が起こる。この反応については投擲前の 3D オブジェクトから予想
しずらいが、投擲後の 3D オブジェクトを見ることによって、昔見たことあるような反応が
帰ってくるという意外性を持たせることができた。
投擲後の反応の作成方法
投擲後の反応は「金の斧」と「銀の斧」これら2つのパーツで成り立っている。まず金の斧
の作り方は、投擲前の 3D オブジェクトである斧を複製して図形の色を金色にして、刃側に
少し傾ける。銀の斧の作り方は、さきほどの金の斧をつくった時同様に斧を複製して図形の
色を銀色にして、向きを反対にむけてから刃側に少し傾ける。
Group Report of 2011 SISP
- 33 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
図 4.18 金の斧と銀の斧
写真立て
背景
この「写真立て」という 3D オブジェクトをつくるとき採用の理由となったものは、投擲後
の反応において「行動を行なった際に起こる事象としてありえないもの」という点とデモン
ストレーションで用いる際のわかりやすさについては投擲前の状態からでは目標物に投げた
らどうなるか予想がしにくいが投擲後の反応を見ることによって理解を得られるものを用意
したので満たしていると言える、以上2つの理由からなっている。
作成方法
写真立ては「外枠」と「写真」と「スタンド」これら3つのパーツからなっている。まず、
見本となる下絵を用意してそれを基本図形から平面を選択・作成して図形の色を指定する際
に参考とする下絵を選択して平面の図形に下絵を描写した。外枠については、下絵を参考に
しながら座標指定を用いることによって厚みなども含め形成していった、外枠を木の色に近
づけるために茶色みがかった黄色にする、さらに既存の材質のままでは無機質なものになっ
てしまうので木特有の質感を出すために拡散光・自己照明・反射光・反射の強さ・周囲光そ
れぞれの光源設定をおこなった。写真については、使う写真を用意しておいて基本図形から
平面を選択・作成して図形の色を指定する際に用意しておいた写真を選択して平面の図形に
描写した。これら 2 つのパーツを作成した後に、両方を選択して複製することによって 2 つ
のパーツを一つに結合する、その後 1 つになったパーツを下絵通りに正面方向に向かって上
向きに傾ける。スタンドについては、下絵を参考にしながら外形を手動で形成していく、外
形が出来上がったら面を張っていきその面の色を外枠と同様に色を木の色に近づけて、木の
質感をだすために光源設定を行なった。型の形成にあたっては、厚みをだすために外形を複
Group Report of 2011 SISP
- 34 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
製して、複製したものの面の向き反転し 、2つの外形の間に対して面を貼っていった。そ
の後スタンド全体を選択して曲面化という選択された部分の面や角をなめらかにする処理を
行った。
図 4.19 写真たて
Group Report of 2011 SISP
- 35 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
投擲後の反応
恋人同士が写った写真がはいっている写真立てを目標物に向かって投げると「割れたハート
が出てくる」といった反応が起こる。この反応については投擲前の 3D オブジェクトから予
想しずらいが、投擲後の 3D オブジェクトを見ると意味がわかるといった意外性を持たせる
ことができた。
投擲後の反応の作成方法
割れたハートの作り方としては、まず見本となる下絵を用意してそれを基本図形から平面を
選択・作成して図形の色を指定する際に参考とする下絵を選択して平面の図形に下絵を描写
する。その後下絵を参考にしながら外形を手動で形成していく。外形が出来上がったら面を
張っていきその面の色を桃色にする。材質については特に調整は行わなかった。型の形成に
あたっては、厚みと丸みをだすために外形を複製して 0.8 倍した大きさにする。その後、0.8
倍した外形を複製して 0.6 倍した大きさにする、これら3つの外形の間に面を貼っていく。
ここまででハートの片面が形成できたのでもう片面を鏡面処理という 3D モデルを X,Y,Z
それぞれの軸に対して編集中のオブジェクトの鏡像として描画する処理を用いて形成し、最
後に曲面化という選択された部分の面や角をなめらかにする処理を行った。
図 4.20 割れたハート
(※文責: 杉本航)
Group Report of 2011 SISP
- 36 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
4.3.4
データ通信
本グループでは Kinect に搭載されているカメラと深度センサーで得られる環境情報を処理する
コンピュータと、ヘッドマウントディスプレイに装着する WEB カメラで得られる視覚情報を処理
するコンピュータを用いている。3D オブジェクトを掴み、持ち上げる動作を行う際には、3D オ
ブジェクトを手に追従させる必要があり、それを実現させるために 2 台のコンピュータ間で LAN
ケーブルを用いたデータ通信を行った。以下に詳細を示す。
Kinect で得られる情報を処理するコンピュータから、ヘッドマウントディスプレイへ出力を行
うコンピュータへ送信したデータは、3D オブジェクトを掴んでいるかどうかの判定と、手の移動
量を示す x、y、z と、手の回転である。3D オブジェクトを掴んでいる状態では手の位置情報か
ら 3D オブジェクトの表示位置を決定するが、Kinect とヘッドマウントディスプレイに装着した
WEB カメラの位置が常に同じ間隔にあるとは限らないので 2 点間の座標変換に基づく 3D オブ
ジェクトの表示位置の決定は行わなかった。そこで、Kinect の深度センサーで得られる毎フレー
ムの手の移動量から 3D オブジェクトの表示位置を決定する、という手法を用いた。
通信プログラムの IP アドレスとサブネットマスクは前期と同様のものを用いた。データ通信で
扱うことが可能な変数の型は char 型のみとなっている。また、送受信を行うデータの数は 5 つあ
るが、それらのデータを別々に送受信することはフレームレートを下げる要因となってしまう。そ
こで、5 つのデータを 1 つの char 型の文字列として送受信を行った。加えて、手の移動量や回転
については char 型では扱いづらいため、変換を行った。1 つの char 型文字列から 5 つの double
型変数に変換を行うために、各変数の間にスペースを挟み変数の区切りとした。
Kinect 制御
ARToolKit 処理
ノートパソコン
データを 1 つの文字列として送信する
掴み判定 X 移動量 Y 移動量 Z 移動量
ノートパソコン
回転量 図 4.21 ネットワーク
ἙὊἑử ᵏ ếỉ૨‫܌‬ЗểẲềӖ̮ẴỦ
1.0 7.2 3.6 5.5 30.0
ᡛ̮ẴỦἙὊἑỉ᧓ỆẝỦἋἬὊἋửᛐᜤẲ૨‫܌‬ЗửЎᚐẴỦ
1.0 7.2 3.6 5.5 30.0
図 4.22
‫٭׹‬੭
型変換
(※文責: 金田知展)
Group Report of 2011 SISP
- 37 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
4.3.5
座標変換
3D オブジェクトを掴み、持ち上げる際に 3D オブジェクトは手に追従するように表示する。そ
のときに意識しなければいけないのは座標変換である。OpenGL の変換行列は 4 × 4 のアフィン
行列となっている。3D オブジェクトを平行移動、拡大・縮小、または回転させる行列について以
下で示す。3D オブジェクトを平行移動する変換行列を作成する場合は、以下の式のように X、Y、
Z の各軸の移動量を設定する。

1
 0

 0
0
0
1
0
0
0
0
1
0

X
Y 

Z 
1
(4.1)
3D オブジェクトを拡大・縮小させる変換行列を作成する場合は、以下の式のようにオブジェクト
の頂点座標のスケール係数として X、Y、Z を設定する。係数が 1 以上であれば拡大され、0 より
大きく 1 より小さい場合は縮小される。また、0 より小さく設定すると 3D オブジェクトは反転す
る。

X
 0

 0
0
0
Y
0
0
0
0
Z
0

0
0 

0 
1
(4.2)
3D オブジェクトを回転させる場合は、以下の式のように回転する角度θを設定する。X、Y、Z
のどの軸に対して回転させるかによって行列が異なる。
X 軸まわりの回転

1
0
 0 cos θ

 0 sin θ
0
0
0
− sin θ
cos θ
0

0
0 

0 
1
0 sin θ
1
0
0 cos θ
0
0

0
0 

0 
1
(4.3)
Y 軸まわりの回転

cos θ

0

 − sin θ
0
(4.4)
Z 軸まわりの回転

cos θ
 sin θ

 0
0
Group Report of 2011 SISP
− sin θ
cos θ
0
0

0 0
0 0 

1 0 
0 1
- 38 -
(4.5)
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
Cubits Cubits Karel では、上記の平行移動にあたる、手の移動量を示す x、y、z を用いて 3D
オブジェクトを手に追従させる座標変換を行っている。また、移動量 x、y、z が大きすぎる場合
は移動量取得時のエラーとし、座標変換を適用しなかった。その他の拡大・縮小、回転については
以下に記述する。ARToolKit の座標系から OpenGL での座標系に変換する際に使用する変換行
列を保存することによって、最後に AR マーカーが映ったフレームにおける変換行列が保存され
る。その変換行列を用いることにより、3D オブジェクトを掴む前のスケール、回転角度を利用し
た。加えて、3D オブジェクトを持ち上げる際の手首の X 軸方向の回転はオブジェクトを回転させ
る OpenGL の関数である glRotatef() 関数を用いた。また、変換行列を保存したことにより、AR
マーカーが腕などで隠れた際にも 3D オブジェクトを消えることなく表示を続けられる。
(※文責: 金田知展)
4.3.6
投擲処理
3D オブジェクトを投擲した際、3D オブジェクトをいかにも投げたかのように移動させる。そ
のために、投擲された座標を始点として 3D オブジェクトを移動させる処理を実装する。
まず、現在の 3D オブジェクトの位置を保存するための変数を用意する。その中に、3D オブジェ
クトの GL 座標系上の座標を保存していく。GL 座標系の座標は、マーカーから GL 座標系へ変換
する際の座標変換行列から算出する。 次に、手を振りかぶり 3D オブジェクトを投げたというフ
ラグが立ったときに、振りかぶった際に保存しておいた 3D オブジェクトの座標から、投げた方向
へリアルタイムに移動させていく。移動に関しては、より現実に近い軌道で飛ぶように、奥行きと
上下の移動に物理の加速度の公式を利用してプログラムを実装した。
3D オブジェクトを移動させる際に、初速vと投擲角度 rad を与え、それを三角関数を使い Z 軸
方向 (奥) と Y 軸方向 (上下) に分割し、その初速と加速度を用いて軌道を計算した。下記がその計
算式である。
Z 軸の座標の計算式
Z 軸座標 = 1 フレーム前の Z 軸座標 + 初速 × cos(rad)
Y 軸の座標の計算式
Y 軸座標 = 1 フレーム前の Y 軸座標 − (初速 × sin(rad)) + 重力加速度 × 経過時間
この計算式を毎フレーム計算し、3D オブジェクトの座標に設定し再描画し続けていくことに
よって、3D オブジェクトが飛んでいく様子を表現した。
(※文責: 北山史朗)
4.3.7
オブジェクトの変化
Go me throw では、投擲した 3D オブジェクトがゴミ箱に入った場合、投擲した 3D オブジェク
トに対応してエフェクトが表示される。これを実現するためには、オブジェクトがゴミ箱に入った
かどうかの判定と、判定結果によってエフェクトを表示させる処理が必要になる。
Group Report of 2011 SISP
- 39 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
3D オブジェクトがゴミ箱に入ったかどうかの判定
ゴミ箱に 3D オブジェクトが入ったか判定するために、まずはゴミ箱を認識しなければなら
ない。そのために、ゴミ箱にはマーカーを貼り付けることにした。このマーカーの座標と、
3D オブジェクトの座標を使ってゴミ箱に 3D オブジェクトが入ったかを判定する。
投擲した 3D オブジェクトがゴミ箱に入ったかどうかの判定は、3D オブジェクトとゴミ箱
に貼り付けたマーカーとの距離によって判定する。3D オブジェクトの座標を (x1,y1.z1) と
し、ゴミ箱に貼り付けたマーカーの 3 次元座標を (x2,y2,z2) として、2 点間の距離を算出す
る。(図 4.23) 算出した距離が一定以下になった場合、ゴミ箱に入ったと判定してエフェク
トを表示する。
図 4.23 距離測定の式
エフェクトの表示
算出した 2 点間の距離が一定以下あった場合、ゴミ箱に入ったと判定してエフェクトを表示
する。エフェクトを起こす場合、投擲した 3D オブジェクトが残っていては不自然なので、
3D オブジェクトの描画や移動の処理をすべてストップさせなければならない。そのため、
ゴミ箱に 3D オブジェクトが入ったと判定された場合、画面上に表示されている 3D オブ
ジェクトをすべて削除する。そして、ゴミ箱に貼り付けられたマーカーを基準に、エフェク
トのために用意された 3D オブジェクトを表示する。図 4.24 は、実際にエフェクトが表示
された状態である。
(※文責: 北山史朗)
Group Report of 2011 SISP
- 40 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
図 4.24 エフェクトが表示
4.3.8
Kinect によるマーカー認識
後期の成果物でも、前期と同様にマーカーと手の位置を認識する必要があった。後期では、四
角形の認識によるマーカー認識を行った。処理の流れとしては、まず、Kinect のカメラで現実空
間の画像をデータとして取り込む。取り込んだ画像を OpenCV ライブラリで編集できるように
IplImage 構造体の形式に変換する。そして、その画像に対して、OpenCV の findSquares 関数を
用いる事で、画像内にある四角形を検出する。その関数の仕組みとしては、画像内の一部分を適当
な大きさで切り出し、その部分に対して膨張処理や収縮処理を繰り返してノイズを除去する。さら
に、そこから画像内のエッジを検出し、閾値を変えながら少しずつ画像を2値化する。そして、そ
の画像の中から直線を探索し、それらの直線の繋ぎ目を見て四角形があるかどうかを判定する。そ
して、四角形を検出した後、検出した頂点の座標を用いてそれぞれの四角形の中心点を算出し、そ
の中心点をマーカーの位置とする。この処理では認識された四角形をそのままマーカーとしてい
るため、画面内に別の四角形が入り込んだ場合に誤作動する可能性があるが、今回の環境ではオブ
ジェクト周辺にマーカー以外の四角形がなく、またあった場合でも深度の値が高すぎたりするた
め、マーカー以外の四角形は当たり判定の時点ではほぼ認識されない。また、検出したマーカーの
座標は一定時間だけ保存しておくものとした。理由としては、デバイス装着者の手とマーカーの当
たり判定を行う際に、手によってマーカーが隠れてしまい、正しく認識されないという問題を防ぐ
ためである。具体的な処理としては、OpenCV ライブラリ内の構造体であり、二次元座標を変数
Group Report of 2011 SISP
- 41 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
として保存できる CvPoint という型の変数を大きさ 50 の配列で用意し、四角形を認識した場合そ
の中心点の座標を配列内の中身が空いた変数に格納していく。配列の中身が埋まった場合、最後に
中心点が格納された要素から上書きしていく。
(※文責: 井上慶彦)
4.3.9
手の位置の認識
手と仮想オブジェクトの当たり判定を実現するために、手の位置や形状の認識処理を実装した。
実現手法として、Kinect の深度センサを使用した。まず、完成形のイメージから手の動きを想定し
たところ、デバイス装着者が手を動かすとき、Kinect のカメラの向きは常に頭の上から見下ろす形
になっている。故に、装着者の手は Kinect から一番近い位置にあるため、深度センサで取得した深
度の中で、一定の基準より低いものを手の候補として認識する。また、手の候補として認識した点
の集合に対して、形状認識処理を行う。これは、4.3.10 項にて記述する。手の候補を探す時の具体
的な処理の流れとしては、まず深度センサで取得した各点の深度をすべて調べ、そこから深度を取
得できなかった点、また 77cm 以上の値の点を全て例外として取り除く。また、既に手の形状認識
が行われていた場合は、前のフレームで取得できた手の深度の最低値 +12cm 以上の深度も除外す
る。そして、残った点を用いて、深度が残った点を赤、それ以外の点を黒としたマスク画像を生成
する。これらの処理について、ソースコードに記述した内容としては、まず Kinect のカメラで取得
した映像を格納するための IplImage 構造体 frame を定義する。次に、depth.GetMetaData 関数
で Kinect の深度センサで認識した画像内の物体の深度を取得する。同時に、image.GetMetaData
関数で Kinect のカメラで認識した映像もデータとして取得する。そして、OpenCV のライブラ
リで取得した映像を操作できるように、frame 内のメンバ変数 imageData に、取得した映像であ
る、imageMD.WritableData 関数の戻り値を代入する。そして、画像の左上の点から右下まで順
に depthMD 関数で深度を取得し、各点の深度の値が 0 または 770 以上の時にはその frame 内の
その点の色を黒にする。それ以外の時には赤にする。以上の処理によって、手の位置だと予想され
る点の集合を算出している。
前期でも同様に手の認識処理を行なっていたが、その時点では手の認識に関しては、4.2.3 項で
示したように色認識の技術を用いて行なっていた。後期でもプログラム製作当初の段階では、色認
識を用いて手の位置取得を行なっていたが、手の位置の近くに別の肌色または茶色系等の色の物体
があった場合、そちらを誤認識してしまう場合があることや、またプログラムを実行する部屋の明
るさで正しく色が読み取れない場合があるなど、精度に難があった。解決案として、カメラから取
得した画像の中で色を読み取る範囲を制限するという方法や、使う環境に合わせて映像のコントラ
ストを変化させるという方法があったが、認識範囲を制限すると、オブジェクトを掴んで持ち上げ
て自由に動かすという事を想定した場合大きな欠点になる事と、画像のコントラストを変えるとい
う対策も結局は環境に依存しすぎているため根本的な解決になっていないという点から実装を中断
した。以上の過程より、カメラからの映像ではなく、深度センサを用いるという解決案に至った。
(※文責: 井上慶彦)
Group Report of 2011 SISP
- 42 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
4.3.10
手の形状認識
手として認識した部分に対して、一番上の点、そこから最も右下にある点、またそこから左下に
ある点、そして左上にある点を取得し、それぞれの点をつなぐ角度を求める。そしてそれぞれの角
度と基準値の差が一定以下だった場合、それをものを掴んでいる時の手として認識する。また、一
度手を認識した場合、手が Kinect のカメラの範囲外に出るまで、人差し指と親指の指先、また人
差し指の付け根の位置をリアルタイムで取得し続ける。
また、プログラムを実装する際に基準となる角度を求める方法として、以下の事を行った。ま
ず、想定される状況と同じ環境でプログラムを操作し、実際にそこで手を動かし、物を掴んでいる
形にした画像を数枚キャプチャする。それらの画像に対し、上記の手の形を求めるための処理を行
い、角度を算出する。そして算出された角度を基準値とした。
また、開発の初期の段階では、手の形状認識の為に細線化という技術を用いていた。細線化と
は、黒と白などの 2 色で構成された 2 値画像に対し、その画像内にある形作られた点の集合を幅
1 ピクセルの細い線に変換する技術である。4.3.9 項で記述した処理によって生成した手の画像に
対し、細線化を実行し、それから各点をつなぐ角度を調べる、といった処理を当初では想定してい
た。しかし、まず一つ目の問題として、リアルタイムで取得されてくる画像に対し、毎フレーム細
線化を実行する事は非常に PC に負担がかかり、プログラムの動作が非常に重たくなるという事が
挙げられた。この問題に対しては、取得した画像を縮小したものを用意し、それに対し細線化と形
状判定を行うことで軽減する事ができた。しかし、また別の問題として、形状認識の精度が著しく
低くなるというものがあった。画像を縮小したことも原因の 1 つだが、それ以前に、取得した画像
に対して細線化を行うと、手の候補となる点の集合の形が歪んでしまい、形状認識が非常に難しく
なってしまった。この問題に対し、形状認識の時は細線化した画像に対して、予め用意した画像パ
ターンと比較するパターンマッチングを行うなど、アルゴリズムの改善を考えたが、このパターン
マッチングの処理も PC に非常に負荷がかかってしまい、精度の観点から見ても高いものではな
かった。以上のことより、今回は細線化を使用せず、取得した画像をそのまま使用して本項の最初
に記述したようなアルゴリズムでシステムの実装を進めた。
実際にソースコードに記述した具体的な処理の流れとしては、まず、引数で指定した点の色が、
黒かそれ以外かを判別する関数 checkColor を実装した。そしてそれを用いて、画像の左上から座
標を順に調べ、最初に見つかった点を保存する。次に、保存した点から右下、右下の点が黒だった
場合は下、その点も黒だった場合は右、という順に点を位置を調べながらずらしていく。そして、
参照した点から右下、右、下の 3 点が全て黒だった場合、その座標を保存する。同様の方法で、保
存した点から左下、またそこで保存した点から左上、と座標を調べていく。4 点が算出されたら、
それらの点を直線で結んだ時の角度を算出する。算出するための式として、点 AB を結ぶ直線の
角度 = (点 A の y 座標 ? 点 b の y 座標) / (点 A の x 座標 ? 点 B の y 座標) というものを使用
した。以上の処理を実装し、手の形状認識を実現させた。また、オブジェクトを持ち上げてカメラ
の範囲内で動かす時に、手の位置認識の時点で、認識する点に若干のブレが生じるため、そのブレ
を修正する処理を実装する必要があった。そこで、毎フレーム手の位置を保存しておき、現在のフ
レームの手の位置と前フレームの手の位置を比較し、その差が 30 ピクセル以上だった場合は現在
のフレームの手の位置を、差が 10 ピクセル以内になるように自動で修正するようにした。
(※文責: 井上慶彦)
Group Report of 2011 SISP
- 43 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
4.3.11
掴み判定
本項では、仮想オブジェクトを掴む時の処理について記述する。Kinect のカメラと深度センサ
によって取得した、マーカーの位置と手の位置や形状を用いて、この 2 つの接触判定を行った。処
理の流れとしては、掴んでいる時の手の形状認識ができている時に、手をマーカーからある程度近
づける事によって、マーカーの上に表示された仮想オブジェクトを掴んでいる、と認識される。仕
組みとしては、まず人差し指の付け根の位置の深度を取得し、それを3次元座標とする。同様に、
マーカーの中心点の座標と深度を取得する。その 2 点間の距離を計測し、一定値以下だった場合
に、オブジェクトを掴んだという認識がされる。距離判定のシステムについては、4.2.4 項のもの
と同じものを使用した。また、手が物体を掴むような形になっていない場合は、手をマーカーに近
づけても掴み判定が行われないように実装した。そのため、マーカー上に表示されている仮想オブ
ジェクトを掴む際には、先に物を掴むような形を手で作ってからマーカーに手を近づけるか、マー
カーに近づけながら掴むような動作をする必要がある。
(※文責: 井上慶彦)
4.3.12
オブジェクトの持ち上げと投擲
オブジェクトを掴んだ判定が出ると、HMD 上では手にオブジェクトが追従しているように表示
される。その状態のまま、手を上に持ち上げると、Kinect のカメラの範囲から手が見えなくなる
が、プログラムの内部で投げる準備ができたと認識される。そして手を振り下ろすと、投擲処理が
発生し、オブジェクトが手から離れて飛んでいった、と認識される。また、オブジェクトを投げた
後は、手の掴み判定、マーカーの位置などが完全にリセットされ、プログラム起動直後と同じ状態
に戻る。
また、掴んでから持ち上げるまで、手の位置を認識し続けると同時に、オブジェクトの角度を計
算している。方法としては、毎フレーム手の位置と深度を保存しているため、それを使用し、前フ
レームの指先の深度と、現在のフレームの指先の深度の差から検出している。具体的には、前フ
レームの深度との差に 0.3 を乗算することで角度としている。理由は、手でオブジェクトを掴んで
から持ち上げるまでに変化する深度は深度センサの認識範囲を考慮すると 100(10cm) 程度であり、
また、それまでに変化する角度が、認識範囲内だと 30 度程度であることからこの値を基準とした。
そして、深度センサの誤認識を感知して誤った角度を算出しないように深度の差に 0.3 を掛けて算
出した値が 0 以下、また 100 以上だった場合はノイズとして除外している。また、角度も毎フレー
ム保存しているため、ノイズが発生した場合は前フレームの角度をそのまま使用していた。
また、Kinect では通常、本体から 50cm 未満の位置にある物体は深度センサで感知できないが、
仮想オブジェクトを持ち上げて自由に動かすためには、手の位置が本体から 50cm 未満の距離まで
近付く事を想定する必要があった。そこで、開発当初は Zoom for Kinect という、Kinect に装着
するタイプのデバイスを使用した。このデバイスには赤外線を拡散させるためのレンズが搭載され
ており、それを Kinect 本体のレンズ部分に装着することで認識範囲を狭める代わりに近距離の物
体を認識させることができる。具体的には認識範囲を 40 %近づけるため、本来 50cm 程度しか認
識できなかったものが、30cm 程度の距離まで物体を認識させることができるのである。反対に、
Zoom for Kinect を使用しなかった時に比べ、遠距離の認識は難しくなるが、本グループで扱うシ
ステムでは近距離の認識が重要なので、その点に関しては問題はなかった。しかし、このデバイス
Group Report of 2011 SISP
- 44 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
はあくまでレンズで赤外線の性能を操作しているだけであるため、このデバイスを使用すると赤外
線が拡散してしまい、手の位置取得の際の深度認識に難が出てしまった。具体的は、基本的な性能
は変わらないが、指先の位置の取得、など精密な動きを要求するプログラムには対応できないとい
う欠点があった。そのため、最終的にこの Zoom for Kinect は使用せず、仮想オブジェクトを掴ん
で手を上に持ちあげ、深度センサで認識できなくなった時点で投げる準備に入る、といった仕様に
変更した。
(※文責: 井上慶彦)
4.3.13
処理の状態遷移
本項では、「Kinect によるマーカー認識」から「3D オブジェクトの持ち上げと投擲」まで に記
述した処理をどのように組み合わせて動作させたか、について記述する。まず、起動時の状態で
は、マーカーを探す処理を連続的に行う。また、同時に Kinect で深度を測定し、手として認識さ
れる可能性のある点の集合を算出する。その点の集合が算出されると、次はそれらの点に対して、
形状認識を行う。形状認識が終了し、手の形、位置が完全に算出されたら、そこからは手の位置、
マーカーの位置の当たり判定処理を繰り返す。この時点で、起動時から連続的に行なっていたマー
カーの位置取得は中断する。不要な処理を減らすこと、またマーカーの位置が更新され、元々あっ
たマーカーが手で覆われることで認識されなくなることを防ぐためである。また、この段階で完
全に取得できていた手が画面外に出てしまった場合、処理はリセットされ、起動時の状態に戻る。
マーカーと手の当たり判定が成功すると、オブジェクトを掴んだ、という認識になる。その状態
で、手を左右または下に下げると最初の段階にリセットされ、上に上げると上に持ち上げた、とい
う判定になる。そこで処理を数秒停止し、その後再び画面内に手が移るとオブジェクトを投げる処
理になり、その判定が出ると最初の段階にリセットされる。投げる前に処理が数秒止まる理由とし
ては、マーカーを置いてあった台を手と誤認識してオブジェクトを投げてしまわないためである。
以上が処理の状態遷移システムの流れである。
こ の 処 理 の 流 れ を 実 現 し た 方 法 と し て は 、主 に フ ラ グ に よ る 管 理 で あ る 。bool 型 変 数
flag get hand で手が掴む形になっているかどうかを判定し、flag pre throw でオブジェクトを持
ち上げた状態になったかどうかを判定する。また、オブジェクトをつかんだ後のリセット判定につ
いては、毎フレーム手の位置を保存しておき、手の位置が見つからなくなった時点で前フレームの
手の位置を参照し、画面上側にあったら投げる準備判定、左右または下方向にあった場合はリセッ
ト判定としている。
(※文責: 井上慶彦)
4.3.14
最終発表に向けてのの準備
最終発表に向けた準備として、プレゼンテーションのためのスライドと展示用のポスターを制作
した。
スライドは中間発表と同様に、プレゼンテーションの練習を通して、文章の更正を行った。ま
た、図やイラストはスライドに適したレイアウトに作り直したり、新たに制作することで、スク
リーンに投影した時の聴衆からの見やすさの向上を目指した。また、これは同時にプレゼンターの
プレゼンテーションのしやすさ向上にもつながった。
Group Report of 2011 SISP
- 45 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
ポスター制作では、中間発表の物よりも遠くからでも読みやすく、また印象的であることを目指
した。その結果、従来型の A1 縦のフォーマットから A1 横のフォーマットに変更した。これに
よって、横長のイメージ写真をポスターの一面に印刷することで来た。ポスター一枚をイメージ写
真とすることで遠くから見た観衆により興味を持ってもらえると考えた。また、興味を持った聴衆
がポスターに近づいたときに概念図や説明文が読めるように文字の大きさ、ポイント、色に気を
配った。
使用したフォントは中間発表のポスターと同様にモリサワの新ゴファミリーを用いた。最終発表の
ポスターでは文字同士のすき間を調整し、印刷物としての完成度を高めた。
最終発表のポスターで使用したイメージ写真は Photoshop や Illustrator を用いて加工、あるいは
合成をした。Photoshop の合成モードの使い方を覚えたことにより、Illustrator で制作したイラ
ストを綺麗に写真中に合成できるようになった。
(※文責: 小林真幸)
Group Report of 2011 SISP
- 46 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
第5章
5.1
アカデミックリンクについて
アカデミックリンクとは
本プロジェクトは 11 月に開催されたアカデミックリンクというはこだて高等教育機関合同研究
発表会に参加した。アカデミックリンクとは一般の方々に向けて大学の研究、短大の実習、高専の
制作など函館市内の学生たちが行なっている活動を公開して地域活性化を目指す行事である。公立
はこだて未来大学からは本プロジェクトの他にも多数のプロジェクトが参加していた。他の学校か
らは函館大谷短期大学、函館工業高等専門学校、函館大学、函館短期大学、北海道教育大学函館校、
北海道大学大学院水産科学部・水産学部、ロシア極東連邦総合大学函館校が参加していた。
(※文責: 杉本航)
5.2
アカデミックリンクへの準備
アカデミックリンクに向けての準備として、本プロジェクトのプロモーションビデオを制作し
た。プロモーションビデオを制作した理由として、アカデミックリンクではプレゼンテーションの
ための時間が取られておらず、聴衆は好きずきにブースを渡り歩くことができるため、短時間で本
プロジェクトの活動を伝える必要があったからだ。
演出意図としては、成果物をより美しく見せることを心がけた。制作したデバイスを映すシーン
ではデバイス自体を回転させているのだが、これにはオフィスチェアの脚の回転機構を流用した。
オフィスチェアは逆さまにして、その上に台を置き、デバイスを載せて、カメラに写らないところ
から手で回転させて撮影した。
その他、光る部分を持つデバイスは暗所で撮影し、暗闇で光る怪しい機械を思わせることで、観衆
の興味をそそることを狙った。
また、遠近感や被写体の強調のためにフォーカスを前後させる方法や、カメラの位置を目線位置よ
りも高く置くことで活動風景を俯瞰で見渡すような撮影もした。
編集ではなるべく説明的な文章は用いないことと、シーンの切り替えをテンポよく行うことを心が
けた。そのために、映像中でもっとも大切なキーフレーズのみをテキストとして映像に添えた。ま
た、シーンの切り替えでは、上下左右に動きのあるトランジションを加えた。
(※文責: 小林真幸)
5.3
まとめ
アカデミックリンクでは他大学の学生や一般の方、高校生ら学外の人々が本プロジェクトの発表
ブースに訪れた。中間発表では本学の学生や教員が主な聴衆であったため、ある程度の前提知識が
あるものとして発表していたが、アカデミックリンクではこうした前提知識がある方ばかりではな
く、本プロジェクトの最も大きなテーマである拡張現実感についても体験したことが無い方が多
かった。
Group Report of 2011 SISP
- 47 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
アカデミックリンク当日はそうした一般の方々の反応を受けて、見に来てくださった方々に本プロ
ジェクトで開発したシステムを簡単に体験して頂くことにした。その結果、見に来てくださった方
との会話が増え、より丁寧な解説が出来た。
(※文責: 小林真幸)
Group Report of 2011 SISP
- 48 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
第6章
6.1
結果
ARbeetle
6.1.1
成果
ARbeetle について
従来のスマートフォンなどでの AR サービスのようにタッチパネルを介さずに、仮想空間上の
3D オブジェクトに直接手で触れていることを確認できるシステムである。具体的には、AR マー
カー上に表示されている仮想空間上の 3D オブジェクトに手を伸ばし、手と 3D オブジェクトの距
離が一定範囲内にあるとき、”触れた”と判断し 3D オブジェクトを変化させる、というシステムで
ある。
このシステムは Kinect と WEB カメラを使用して,3D オブジェクトに”触れる”という技術の
開発の方法を確認するという目的も兼ねて製作されたプロトタイプである。
(※文責: 金田知展)
6.1.2
解決手段と評価
ARbeetle について、中間発表のコメントなどから得られた課題と評価を書く。
ARbeetle は、マーカーに表示された仮想オブジェクトに素手でさわることができる。Kinect と
Web カメラと HMD とノートパソコンを組み合わせたものである。これを製作した理由は、仮想
オブジェクトに素手でさわる技術の基礎の確立である。Kinect を使ってユーザーの手の三次元座
標とマーカーの三次元座標を組み合わせ、仮想オブジェクトにユーザーがさわっているかの判定を
行うことが出来た。だが、色認識で手とマーカーを認識しているため、使う場所が限られたり、近
くに似たような色の物体があると誤作動を起こしてしまうなど、精度に欠ける部分があった。この
精度の向上が、今後の課題となるだろう。
(※文責: 北山史朗)
6.2
Cubits Karel
6.2.1
成果
Cubits Karel について
仮想空間上の 3D オブジェクトに対して、素手で掴む、持ち上げる、投げるといった動作を
行えるシステムである。具体的には、AR マーカー上に表示されている仮想空間上の 3D オ
ブジェクトに対して、手で掴むような動作を行うと 3D オブジェクトを持ち上げることが可
能になり、掴んだ 3D オブジェクトに対して振りかぶって投げる動作を行うことにより、3D
Group Report of 2011 SISP
- 49 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
オブジェクトを投擲する、というシステムである。
Go me throw について
Cubits Karel の動作を確認するために制作したシステムである。具体的には、AR マーカー
上に表示されている 3D オブジェクトを手で掴み、持ち上げ、ゴミ箱に向かって投擲し、3D
オブジェクトがゴミ箱に固定した AR マーカーに一定距離近づくと、ゴミ箱に入ったと判定
し、ゴミ箱上に 3D エフェクトを表示する、というシステムである。ゴミ箱に物を投げ入れ
るという動作には物体を掴む、持ち上げる、投げる、といった日常生活で物体を扱う上で行
う動作を概ね兼ねそろえているため、デモンストレーションの題材としても取り上げた。
Kinect
手の位置情報
マーカーの位置情報
ノートパソコン
ヘッド・マウント・ディスプレイ
Web カメラ
MacBook Pro
情報処理
映像出力
視覚情報
つかみ判定
オブジェクト追従
投てき処理
当たり判定
図 6.1 Go me throw
(※文責: 金田知展)
6.2.2
解決手段と評価
CubitsKarel と Go me throw について、中間発表のコメントなどから得られた課題と評価を書
く。CubitsKarel と Go me throw は、前期に制作した ARbeetle 仮想オブジェクトを素手で触れ
ることができる部分をさらに拡張させてマーカーを読み込んで表示させた仮想オブジェクトに対し
てつかむような動作を行うと仮想オブジェクトがつかみあげられ、目標物に向かって投擲すると放
物線上に飛んで行き目標物に当たると仮想オブジェクトに応じた反応が帰ってくることを実現し
た、Kinect ・Web カメラ・HMD ・ノートパソコンを組み合わせたものである。これを作った理
Group Report of 2011 SISP
- 50 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
由は、前期と同様に仮想オブジェクトに素手でさわる技術の基礎の確立である。Kinect を使って
ユーザーの手の三次元座標とマーカーの三次元座標を組み合わせて、ユーザーが仮想オブジェクト
を掴んでいるかいないか、放しているかいないかの判定を行うことができた。だが、マーカーの認
識に関しては OpenCV で画像からの四角認識を用いているので使用できる環境が限られたり、手
の認識には Kinect で深度とって特定の値の深度だけ切り出してそこから形状認識という手法を用
いているため手の深度と同じぐらいの深度に別の物体が近くにあったりすると誤作動をおこしてし
まうなど精度に欠ける部分があった、さらに赤外線により深度を取得しているので屋外での使用が
太陽の影響で不安定になってしまうなど、こちらも使用できる環境が限られている。これらの精度
の向上が今後も課題になるだろう。
(※文責: 杉本航)
Group Report of 2011 SISP
- 51 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
第 7 章 まとめ
7.1
7.1.1
プロジェクトの成果
中間発表について
メンバー全員がしっかりと中間発表の練習を行えていたので、当日の発表では自分たちが行って
きたことをしっかり伝えられたように思う。
図 7.1
Group Report of 2011 SISP
中間発表の様子
- 52 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
表 7.1
中間発表評価シート平均点
平均点
発表技術
8.3
発表内容
8.09
表 7.1 は、発表当日の評価シートの各項目の 10 点満点での平均点である。評価シートは学生、
教員、職員、一般の 88 名に書いてもらった。コメント欄からは、わかりやすい発表が行えたこと
が伝わってくる。特に、ARbeetle のデモンストレーションがおおむね好評であった。しかし、目
的について少々不明瞭だったというコメントもあり、少々わかりづらい点もあったようである。こ
こから、伝えたいことはおおむね伝えることが出来たと考えられる。
(※文責: 北山史朗)
7.1.2
最終発表について
図 7.2 最終発表の様子
Group Report of 2011 SISP
- 53 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
表 7.2 最終発表評価シート平均点
平均点
発表技術
8.3
発表内容
8.3
表 7.2 は、発表当日の評価シートの各項目の 10 点満点での平均点である。コメント欄からは、
わかりやすい発表が行えたことが行えたことが伝わってくる。しかし、Cubits Karel について、触
ることに関して触感のフィードバックがないものは果たして触るといえるのだろうかという旨のコ
メントが少々あった。
最終発表は、エレクトロニクス工房にて行った。エレクトロニクス工房の室内ではスライドとデ
モを用いた発表を行った。それに加え、エレクトロニクス工房の外に設置したポスターの周りに、
常に誰かが案内係として待機し、興味をもってくれた人に対して説明をした。また、AR 自体が何
なのかわからない人のために、外で ARToolKit の簡単なデモも行った。
最終発表では、Go me throw の Kinect の不調のためプログラムが起動しないというトラブルが
起こった。原因は不明だったが、PC を再起動することにより復帰した。トラブルが起こった回は
デモを行うことはできなかったが、発表者の臨機応変な対応により、次回発表のデモまでには復旧
し、問題なくデモを行うことができた。
再起動した PC は井上の PC だったのだが、トラブルが起こった時間は井上は他のプロジェクト
を見て回っている時間であった。そのため、再起動するために時間がかかってしまい、結局その発
表ではデモを行うことができなかった。このトラブルは、事前にパスワードを解除しておくなど対
策はあった。しかし、リハーサルなどで不具合が一度も起こったことがなかったため、対策を取る
ことを失念してしまっていた。評価シートのコメントからも、デモが見れなくて残念だというコメ
ントが少し見受けられた。
(※文責: 北山史朗)
プロジェクトにおける自分の役割
7.2
7.2.1
北山史朗
グループのマネジメント
グループメンバーがスムーズに作業を進められるよう、グループのマネジメントを行った。
各メンバーのスケジュール管理、タスク管理を行い、誰か一人に過剰にタスクがかかった
り、無理なスケジュールでの作業を担当させないように努力した。また、ソースコードの
コーディングルールなどのグループ内ルールを作ることにより、グループメンバー全員が、
製作物がどのようになっているのか理解できるような工夫をした。
2 種類のマーカーの認識
ARToolKit を用いて、2 種類のマーカーを認識するための処理を実装した。マーカーの情
報を構造体にまとめ、カメラから取得した映像内にあるマーカーが、構造体内のマーカー情
報に一致するかを検出していった。
Group Report of 2011 SISP
- 54 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
投擲処理の実装
OpenGL を用いて、投擲した 3D オブジェクトの動きを表現するプログラムを作成した。具
体的な内容としては、投擲されたというフラグを取得して、3D オブジェクトに垂直方向と
水平方向に加速度を設定し、それにあわせ移動させることにより、投擲し飛んでいくという
ことを表現するプログラムを実装した。
エフェクトの表現処理
Go me throw にて、投擲した 3D オブジェクトがゴミ箱に入った場合に起こすエフェクト
の処理を実装した。ゴミ箱を認識するためのマーカーと、現在のオブジェクトの位置との距
離を計算し一定距離より近づいた場合エフェクトを表示し、投擲処理等を中断するプログラ
ムを実装した。
書類等の作成
アカデミックリンクへの参加に必要な書類や、プロジェクトとして購入希望する物品をまと
める表などの各種書類を作成した。
発表
最終発表や中間発表にて、発表者を務めた。発表のために班員と発表用のスライドやポス
ターの草案を煮詰めたり、他の発表者と発表練習をして、お互いの発表を高めあうために意
見を出し合った。
(※文責: 北山史朗)
7.2.2
井上慶彦
前期では、主に以下の作業を行なっていた。
• Kinect の制御プログラムの製作
OpenNI ライブラリを用いて、Kinect の制御プログラムを製作した。処理の内容としては、Kinect
から取得した映像から、色抽出の画像処理で 3D オブジェクトを表示させるマーカーの位置と、指
先の位置を検出した。また、その 2 点の深度 (Kinect からの距離) を取得した。色抽出の画像処理
については、OpenCV ライブラリを用いて製作した。
• ネットワークによる 2 台のコンピュータの制御プログラムの制作
本グループでは、成果物は Kinect と Web カメラの 2 種類のカメラをコンピュータに接続するも
のであったが、1 台のコンピュータでこれら 2 つを同時に制御できない事が明らかになった。その
ため、2 台のコンピュータを用意し、片方のコンピュータで上記の Kinect の制御を行い、その制
御結果をもう片方のコンピュータにリアルタイムで送信する、という処理を実装した。
後期では、主に以下の作業を行なっていた。
• 前期の成果物の改良
前期に製作した、Kinect を用いた指先とオブジェクトの接触判定プログラムを、アカデミックリ
ンクに向けて改良した。具体的な改良内容としては、後期のプログラムに使用した、一定値の深度
取得による手の位置、形状認識のプログラムを成果物に組み込み、より高度な接触判定プログラム
Group Report of 2011 SISP
- 55 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
を製作した。
• Kinect を用いた、仮想オブジェクトを掴み、そして投げるプログラムの制作
前期から引き続き、後期でも OpenNI を用いた Kinect の制御プログラムを制作した。具体的に
は、仮想オブジェクトを掴み、更に持ち上げ投げるプログラムの制作である。仕組みとしては、ま
ず OpenCV の矩形認識を用いてマーカーを認識し、Kinect の深度センサを用いて手の位置を認識
し、さらに形状判定を行い、手が物を掴む形になっているか調べ、手とマーカーの接触判定を行う。
さらに、接触判定に成功した後は指先の座標を更新し続け、指先が上方向の画面外 (Kinect のカメ
ラ範囲外) に出て、また画面内に戻ってきた時に投擲処理を行う、といったものである。
• ネットワークによる 2 台のコンピュータの制御プログラムの改良
後期では 2 台のコンピュータを LAN ケーブルで接続し、データの送信をするプログラムを製作し
た。システムはほぼ前期のものと同様だが、後期ではプログラムの処理状態 (オブジェクトをつか
む前、掴んだ後、持ち上げた後、投げた時) の判定と、またその判定に合わせて指先の3次元座標
や手の角度を送信するプログラムに改良した。
(※文責: 井上慶彦)
7.2.3
金田知展
ARbeetle の開発と改良
Kinect と Web カメラを使用して仮想空間上の 3D オブジェクトに触れるシステムであ
る『ARbeetle』の作成を行った。主としては、3D オブジェクト表示に関連する処理を
ARToolKit ライブラリを用いて実装した。具体的には、AR マーカーへの 3D オブジェク
トの位置合わせ、当たり判定によるオブジェクトの表示切り替え、AR マーカーの認識精
度の向上を行った。また、3D オブジェクトと手が触れているか否かの判定の作成を担当し
た。加えて、AR マーカーに表示させる 3D オブジェクトの製作と、ネットワークプログラ
ミングの受信処理の改良を他のメンバーと協力し行った。このプログラムを作成することで
得た、ARToolKit と OpenGL を用いた開発の知識は Cubits Karel の開発の基盤となって
いる。更に後期には、アカデミックリンクに向けて、マーカーの認識精度を向上させるため
に閾値の変更など改良を加えた。
Cubits Karel の開発
Cubits Karel においても、ARToolKit での処理部分に携わった。具体的には、Kinect 制御
側のコンピュータからネットワーク処理で受信したデータを 3D オブジェクトの表示や投
擲処理に適用するプログラムを作成した。そのために、ARToolKit における OpenGL の使
い方を学習し、AR マーカーがカメラに映っていない状況でも自由な位置と角度で 3D オブ
ジェクトを表示できるように開発を行った。また、Kinect 制御のコンピュータから送信さ
れるデータを受信し、座標変換に適用できるようデータの分解と型変換を行うプログラムの
制作を行った。加えて、北山君が作成したプログラムを、自分が制作したプログラムと 1 つ
に結合する作業も行った。更に、デモンストレーション用に投擲するオブジェクトと効果エ
フェクトを数種類使えるよう実装を行った。
(※文責: 金田知展)
Group Report of 2011 SISP
- 56 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
7.2.4
杉本航
前期
・OpenNI についての勉強会
新規技術であったため、全員に OpenNI についての知識を共有するために OpenNI につい
ての勉強会を行った。リファレンスも少ない中詳しく教えるのは困難だったが、最低限の知
識を共有することができた。
・会議の司会・進行役
前期に行われた様々な会議の司会・進行役をおこなった。スムーズな会議を行えるように
色々と工夫しながら、議事録なども作成した。
・中間発表に向けたスライド・ポスターの草案の作成
中間発表に向けて、早々とスライドやポスターを作成し始め先生に受けた指摘などを受けて
様々な工夫を試みた。
後期
・会議の司会・進行役
後期の初期のころ行われた「後期はどのような方針で活動していくか」「アカデミックリン
クなにをするか」などの様々な会議の司会・進行・まとめ役をおこなった。できるだけス
ムーズな会議をおこなえるように努力した。
3D オブジェクトの作成
後期に制作されたプログラムに必要とされた仮想オブジェクトを「MetasequoiaLE R2.4」
という 3D オブジェクト作成ツールを用いて制作した。具体的に制作した 3D オブジェクト
を挙げると投擲する仮想オブジェクトとして「爆弾」「斧」「写真立て」、投擲後の反応であ
る仮想オブジェクトとして「爆発エフェクト」「金の斧、銀の斧」「割れたハート」以上の6
個のオブジェクトを制作した。
・最終発表に向けたスライド・ポスターの草案の作成
最終発表に向けて、余裕をもってスライドやポスターを作成し始めグループのメンバーと意
見を出し合ったり、先生から受けた指摘などから見やすくわかりやすいものにするため様々
な工夫を試みた。
・最終発表でのプレゼンター
最終発表に向けて発表の練習を繰り返し行なっていた。発表者どうしで意見を出し合った
り、開発を行なっている中で手の空いている人に発表を聞いてもらい意見を出してもらう、
Group Report of 2011 SISP
- 57 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
先生に発表をみてもらい指摘を受けるなど努力して、発表時に拡張現実感についてあまり知
識がない人にとってもわかりやすい発表にできるよう心がけた。
(※文責: 杉本航)
7.2.5
小林真幸
仮想オブジェクト作成
blender という 3D モデリングソフトを用いて仮想オブジェクトを制作した。blender は操
作が難解なうえに、解説サイトにて紹介されているバージョンのユーザーインタフェースと
手元のユーザーインタフェースが大きく異なっていたために操作を理解するために多くの時
間を要した。結果的に仮想オブジェクトは完成させられたのだが、自分の納得のいく出来の
ものではなかった。
後期は Metasequoia という 3D モデリングソフトを用いて仮想オブジェクトの制作をした。
Metasequoia は日本語解説サイトが充実しており、チュートリアルを経てソフトウェアの使
い方を学ぶことができたので、前期に使用した blender よりも複雑なオブジェクトの制作が
出来た。
ポスター作成
中間発表に向けてのポスター制作、それに関連する図やイラストの作成、写真撮影を行っ
た。ポスターやスライドに用いるシステム概念図は、発表を聴きに足を運んでくださる方々
に理解して頂けるよう、メンバーと相談しながら作成した。ポスターのレイアウトは何度も
作り直し、読んでくださる方になるべく速く重要な部分を伝えられるよう心がけた。また、
会場設営の際に、目立つ写真を使ったポスターを会場の入り口付近に設置することによって
多くの人々に興味を抱いて頂けるよう工夫をした。
最終発表においてもポスター制作を行った。中間発表のポスターよりも更に観衆の目を引
くよう、 従来型の A1 縦のフォーマットから A1 横のフォーマットに変更したするなど、こ
れまでのフォーマットにとらわれないレイアウトを取り入れた。 これによって、横長のイ
メージ写真をポスターの一面に印刷することで来た。ポスター一枚をイメージ写真とするこ
とで遠くから見た観衆により興味を持ってもらえると考えた。また、興味を持った聴衆がポ
スターに近づいたときに概念図や説明文が読めるように文字の大きさ、ポイント、色に気を
配った。
使用したフォントは中間発表のポスターと同様にモリサワの新ゴファミリーを用いた。最
終発表のポスターでは文字同士のすき間を調整し、印刷物としての完成度を高めた。
最終発表のポスターで使用したイメージ写真は Photoshop や Illustrator を用いて加工、
あるいは合成をした。Photoshop の合成モードの使い方を覚えたことにより、Illustrator
で制作したイラストを写真中に綺麗に合成できるようになった。
また、最終発表においてもポスターをはじめとした設備の配置に気を配り、観衆がより心地
良く集中してポスターを見たり、発表を聞いたりできるように努めた。
デバイス製作
Group Report of 2011 SISP
- 58 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
Cubits Karel の制作において、Kinect とヘルメットの接続パーツを作ってこれらを接続す
る作業をした。新規に制作する部分には前後に稼働する関節を一つ設け、さらに Kinect の
高さを調整する機構を取り入れた。それに伴い、Kinect の固定位置をこれまでよりも後方
にずらし、ほぼ頭頂部付近に固定した。
制作にはホームセンターなどで購入できる汎用金具を使用した。これにはボルト固定用の
穴やスリットが所々に設けられており、2 つの金具を組み合わせ、ボルトとナットで留める
ことで関節を作ることができる。この関節付き金具と Kinect の固定には樹脂製の専用部品
を用いた。この部品は三次元プリンタによって出力された物で、迎山和司准教授から頂い
た。一方、関節付き金具とヘルメットの固定は、ヘルメット側に穴をあけてボルトを通すこ
とで行った。
制作作業において工夫した点として、一つ目は、ヘルメットに穴をあける作業である。ヘ
ルメットは半球体であるが、これは半球体が負荷に対して高い耐性があるためで、ヘルメッ
トの頭頂部付近に穴をあけることはこの半球体の特性を無い物としてしまう。すなわち、ヘ
ルメットに穴をあけることは、ヘルメット自体を非常に脆くしてしまうのだ。そのため、穴
をあける作業は非常に慎重に行わなければならなかった。これらの穴あけ作業に関する注意
点は工房管理者の朝倉氏に指導して頂いた。
二つ目の工夫した点は、穴をあけたヘルメットに関節付き金具を固定する作業である。ヘ
ルメットは穴をあけたことで非常に脆くなっている。加えて、その穴にボルトを通すこと
は、ボルトがヘルメットに高い負荷を加えることに繋がる。ヘルメットとボルトの接点は非
常に小さいのでボルトに僅かな力が加わったとしても、てこの原理によってヘルメットの穴
には大きな負荷が加わる。これを軽減するために、ヘルメットと関節付き金具の間に金属板
とゴム材を挟んだ。金属板はボルトへの加重をより広い面積に分散するためのもので、ゴム
材はヘルメットと金属板の間に摩擦力を発揮し、固定力を得るためのものである。
三つ目に工夫した点は、関節付き金具の関節部分に蝶ネジを使用することで関節の角度調
整を容易に行えるようにしたことである。それに加えて、関節部分で金具同士が接する部分
にはゴム材を挟むことで関節の角度を保つよう工夫した。
プロモーションビデオ作成
アカデミックリンクでの発表に向けて本プロジェクトのプロモーションビデオを制作した。
プロモーションビデオの制作において、私は演出、撮影、編集を行った。
演出意図としては、成果物をより美しく見せることを心がけた。制作したデバイスを映す
シーンではデバイス自体を回転させているのだが、これにはオフィスチェアの脚の回転機構
を流用した。オフィスチェアは逆さまにして、その上に台を置き、デバイスを載せて、カメ
ラに写らないところから手で回転させて撮影した。
その他、光る部分を持つデバイスは暗所で撮影し、暗闇で光る怪しい機械を思わせること
で、観衆の興味をそそることを狙った。
また、遠近感や被写体の強調のためにフォーカスを前後させる方法や、カメラの位置を目
線位置よりも高く置くことで活動風景を俯瞰で見渡すような撮影もした。
編集ではなるべく説明的な文章は用いないことと、シーンの切り替えをテンポよく行うこ
とを心がけた。そのために、映像中でもっとも大切なキーフレーズのみをテキストとして映
像に添えた。また、シーンの切り替えでは、上下左右に動きのあるトランジションを加えた。
Group Report of 2011 SISP
- 59 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
(※文責: 小林真幸)
7.3
今後の課題
現段階では Kinect と WEB カメラを 1 台のコンピュータで扱うことがドライバレベルで困難で
あるため、コンピュータを 2 台使用している。そのため、ネットワークプログラミングが必要とな
り、結果としてフレームレートを下げてしまっている。深度センサーを搭載し、更に WEB カメラ
と互いに干渉しないデバイスを用いることでコンピュータ 1 台での処理が可能となりプログラム
の高速化が実現できると考えられる。Cubits Karel では掴み判定を深度センサーによる手の位置
の取得と Kinect の WEB カメラによる手の形状認識を用いて行っている。より高い認識精度を求
めて細線化や色認識を用いると、フレームレートが極度に低下しプログラム利用が困難になった
ため、上記のように判定を行っている。そこで、如何にしてコンピュータの負荷を軽減させつつ掴
みや、持ち上げの精度を向上させるかという課題がある。コンピュータに高負荷をかけないアルゴ
リズムの考察と簡潔なソースコードを書くことが主な解決方法である。実空間の物体を手で掴み、
持ち上げる際に物体の手で隠れている部分は当然ではあるが見えなくなる。しかし、Cubits Karel
では、素手で 3D オブジェクトを掴み、持ち上げる際に隠れるべきところまで描画を行っていたの
で、掴んでいるようには見え難かった。よって、如何にして手に隠れている部分の描画を行わない
か、つまり陰面処理をどのように行うかという課題がある。この課題の解決方法の 1 つとして、色
認識を用いて手の色を検出しマスキングを行い、手の部分のみ 3D オブジェクトの描画を行わな
い、といった方法がある。
Cubits Karel では 3D オブジェクトを掴むことが可能だが、掴んだ後に手首を回転させてもその
手首の動きに合わせて 3D オブジェクトの表示角度が変更されることはない、という課題がある。
Cubits Karel において手首の回転に対応しているのは X 軸方向のみとなっているが、その精度も
高いとは言えない。手首の回転に対応しづらい原因として、形状認識による手の回転計算が困難で
あることが挙げられる。手の形状認識を正確に行うことにより、手の動きに合わせた 3D オブジェ
クトの表示が可能になると考えられる。
また、座標系の構築にも課題がある。Cubits Karel での座標系は AR マーカーを中心として構
築される。そのため、サービスの利用環境が AR マーカーの使用が可能な環境のみと限定的になっ
ている。どのような環境でもシステムの利用が可能であるためには、AR マーカーを使用せずにそ
の場の環境情報のみを用いて座標系を構築することが前提となる。AR マーカーを利用せずに実装
を行う方法として、物体の角などの環境の特徴点を抽出し 3D オブジェクトを表示する方法があ
る。しかし、この方法だけでは座標系の構築は不可能である。そこで、環境の特徴点の移動量から
底面を認識することが可能な PTAM という技術を用いることで 3 次元空間を構築することが可能
であり、更に深度センサーを使用することにより取得できる空間の奥行き情報によって、より正確
な 3 次元空間の構築が可能になると考えられる。このように構築された 3 次元空間を、ユーザーを
中心とした座標系として構築することにより、どのような環境でもサービスを提供することが可能
となる。
Cubits Karel は 3D オブジェクトを掴み、持ち上げ、投擲することが可能であるが、それは視覚
的なものであり、触覚に対しては働きかけるものが無く現実味に欠ける、という課題がある。本グ
ループは視覚の AR のみに焦点を置き活動をしてきたが、実際に 3D オブジェクトを掴み、持ち上
げ、投擲すると触覚に働きかけるものがないことが惜しまれた。
Cubits Karel を利用する際にはヘルメットの上部に Kinect を固定しているデバイスを装着す
Group Report of 2011 SISP
- 60 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
る必要がある。このデバイスの重量がユーザーの肩や首など身体に負荷をかけるため、長時間の使
用は困難であることが課題としてあげられる。現状であると、ハードウェアの重量が全て首にか
かっているため、それを如何にして分散させるかが解決のための鍵となると考えられる。
(※文責: 金田知展)
7.4
成果の評価
前期で目標としていた、情報に接触することは「AR beetle」によって、到達することができた
ことから、順調に進んでいたと考えられる。
後期では、目標とした情報を掴んで投擲することを、
「Cubits Karel」
「Go me throw」によって達
成できた。成果としては、目標としたものを作成でき、順調にプロジェクトを運用できたと言える。
また、人間関係や開発実装など、いくつかトラブルはあったが、プロジェクトメンバーで相談し、
一つ一つ乗り越えることができた。トラブルはグループ開発ではつき物であるが、それを乗り越え
られたのはプロジェクトが順調に進んだといえるだろう。
(※文責: 北山史朗)
7.5
展望
本グループが開発してきたこの仮想オブジェクトなどの情報にさわるという技術がこの先さらに
発展していけば、いま以上に HMD の性能が向上していけば、SF 映画で見られるような空中に投
影されている情報としてのパネルに対して素手で触って操作することが出来たり、現実空間には存
在してない情報で表現されているペットに対して撫でる・抱きしめるなどといったように触れ合え
る技術の基盤技術として確立していくだろう。
(※文責: 杉本航)
Group Report of 2011 SISP
- 61 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
第 8 章 プロジェクト全体としての管理体系及
び活動報告
8.1
本章概要
本章は、「拡張現実感を用いた新規技術の提案と開発」プロジェクトに属する「新型マーカー開
発(グループ A)」と「直感操作型 AR 開発(グループ B)」の両グループを含めた、プロジェクト
全体としての管理体系及び中間発表会をはじめとする共通活動に関して、報告するものである。
本プロジェクトは、プロジェクトリーダーをグループ A 及び B のどちらにも所属させず、プロ
ジェクト全体としてのマネージメントを行う管理体系をとったため、前述の各グループとしての報
告とは異なり、両グループを含めたプロジェクト全体としての報告が必須となる。
(※文責: 今村優太)
8.2
プロジェクト全体の組織体系
本プロジェクトは、図 8.1 に示すように、プロジェクトリーダーを中心として、
「新型マーカー開
発」
、
「直感操作型 AR 開発」の 2 つのグループに分かれ、それぞれのグループにグループリーダー
を配置するという組織体系でプロジェクトを組織した。
この組織体系の目的は、マネージメントと開発などの活動を完全に分担し、個々人の活動内容を
明確にするためである。また、「新型マーカー開発」と「直感操作型 AR 開発」の両グループの活
動内容が、「拡張現実感」という共通した技術を用いること以外、異なる手法を用いて開発を行う
ため、客観的にマネージメント及びプロジェクト全体として統率を図るためでもある。このような
組織体系をとった経緯としては、プロジェクトリーダーがどちらかの一方のグループに所属してし
まった場合にいくつか懸念される点があったためである。中間発表会や成果発表会などのプロジェ
クト全体としてマネージメントが必要な活動と、開発や実験などの各グループとしてのマネージメ
ントまたは開発を一人が両立して行う組織体系をとった場合、グループとしてのマネージメントや
開発で予期せぬ問題などにより遅延が起き、自分が所属するグループの対応に追われ、プロジェク
ト全体としてのマネージメントに影響を与え、もう一方のグループの進捗にも悪影響を与えてしま
う可能性があるという懸念。さらに、プロジェクト全体としての活動と各グループの活動の両方が
忙しくなる前期末や後期末にメンバー一人に重要な仕事が集中してしまうという懸念。以上のよう
な懸念を事前に回避するためにこのような組織体系をとった。
(※文責: 今村優太)
8.3
8.3.1
プロジェクトマネージメントの方法と評価
プロジェクトマネージメント概要
本プロジェクトの 1 年を通しての基本的なマネージメントの流れとして、
Group Report of 2011 SISP
- 62 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
図 8.1 組織体系イメージ図
1. 各グループの前期または後期の目標及び成果物の完成イメージ設定。
2. 年間スケジュールの設定(前期プロジェクト開始時のみ)。
3. 前期または後期の大まかなスケジュールの設定。
4. 毎月、月別の詳細スケジュールの設定。
5. 毎週、進捗報告会を設け、両グループの進捗状況の情報共有。
6. その他、適宜議論の場を設け、スケジュール調整などを行う。
以上のような流れで、プロジェクト全体のマネージメントを行なった。
このようなマネージメントの流れをとった目的として、プロジェクト学習では、中間発表会及び
成果発表会という活動の節目とも言える期限が存在するため、1 年という活動の全体像と各期日を
もとに、スケジュールを逆算して立てることで、1 年の活動の流れをイメージするためである。ま
た、前期または後期の成果物の完成期日などの具体的な期日を設け、前期または後期の開発スケ
ジュールを逆算して立てることは、全体の完成イメージから、開発を行う個人としては、自分の作
業目標や作業状況が把握しやすいので、リーダーなどのマネージメント側から見ると、各メンバー
は全体からみた現在の状況報告がしやすく、全体の状況把握が容易に可能であるので、進捗管理が
行いやすいためである。
さらに、年間、前期や後期、月別と長期スケジュールから短期スケジュールに順々に期間を短く
したスケジュールを立てることで、個人及びグループの開発などの短期目標が立てやすく、なおか
つ、問題などによりスケジュールの遅延が起き、再調整が必要な際にも短期のスケジュールを立て
Group Report of 2011 SISP
- 63 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
ているため、スケジュール調整がしやすく、長期スケジュールに影響を与えにくくなる。また、定
期的に報告会を行い、プロジェクト全体で情報共有を行うことで、様々な状況に対して柔軟に対応
することもできるとう利点もある。
(※文責: 今村優太)
8.3.2
前期プロジェクトマネージメント
前期プロジェクトマネージメントとして、以下の Web サイトやツールを用いてマネージメント
を行なった。
1. メーリングリストを用いた連絡
2. Skype を用いた会議及び情報共有
3. 「サイボウズ Live」を用いた進捗管理及び情報共有
4. 「SVN」を用いたファイル共有による情報共有及び開発時のバックアップ管理
また、その他の手段として、「定期報告会」や「活動日誌の提出」などの手段を用いて前期のマ
ネージメントを行なった。
(※文責: 今村優太)
メーリングリストを用いた連絡
メーリングリストを用いた連絡を行なった目的としては、メンバー間及び担当教員とメンバーと
の間の連絡を全体で共有するためである。
メーリングリストは、「担当教員を含めたオフィシャルなメーリングリスト(以下オフィシャル
メーリングリストとする。)」と「メンバー間のみメーリングリスト(以下メンバーメーリングリス
トとする。
)
」の 2 つを使用した。メーリングリストを分けた意図としては、プロジェクト全体とし
ての連絡とメンバー間としての連絡の情報を分けることで、情報の種類の差別化と必要以上の情報
を担当教員に共有させないためである。具体的には、オフィシャルメーリングリストは、リーダー
やメンバーと担当教員とのメールのやり取りをメンバー全員で把握することで、プロジェクト活動
内でプロジェクト全体の情報がメンバーが把握出来ていない状況をつくらないためであるが、メ
ンバー間やグループ間の開発などの細かな連絡は、プロジェクト活動には必要な連絡であるが、担
当教員には「定期報告会」で、1 週間の活動をまとめたものを用いて情報共有する場を設けている
ため、開発などで必要な細かな連絡をオフィシャルメーリングリストで連絡することは、必要以上
のメールを送信することになるのである。加えて、2 つのグループのメーリングリストをメンバー
メーリングリストとしてまとめた理由として、第一に、メーリングリストを必要以上に増やすこと
によって、プロジェクト全体としての情報共有の手段を複雑化しなように防ぐためである。複雑化
を防ぐことで、連絡手段自体が使いやすいものになるである。第二に、プロジェクトの組織体系と
して、プロジェクトリーダーが両グループに属さないため、両グループの連絡を 1 つのメーリング
リストで行い、オープンにすることで、プロジェクト全体として情報共有を行い、進捗管理を行い
やすくするためである。
(※文責: 今村優太)
Group Report of 2011 SISP
- 64 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
Skype を用いた会議及び情報共有
Skype を用いて会議や情報共有を行なった目的として、メールなどと異なり、多人数がリアルタ
イムでチャット会話が可能であることと、ネット環境さえあれば、自宅で会議への参加が可能であ
ることなどから、様々なコースが集まったプロジェクトメンバー個人のスケジュール調整などが行
いやすく、活動時間外の話し合いが行いやすいためである。また、ファイルの送信などが可能なた
め会議の場で作成したファイルを即時に共有することが可能である。
使用用途としては、主にグループ内のチャット会議やプロジェクト活動外での会議の予定合せな
ど、即時にメンバーの意見が欲しい場合などに使用していた。また、メールの添付などと異なり送
信するファイルの大きさに制限がないため、メール添付では共有できないファイルも容易に共有で
きる。
(※文責: 今村優太)
「サイボウズ Live」を用いた進捗管理及び情報共有
「サイボウズ Live」とは、クラウド型の無料コラボレーションツールであり、グループスペース
を作成することで、そのグループスペースに所属するメンバーの個人スケジュールや自分のタスク
を ToDo リストに登録することで、グループスペース内でそれらの情報を共有することが可能で
ある。
「サイボウズ Live」を利用した目的は、11 名もいるプロジェクトメンバーの講義スケジュール
及び個人スケジュール、さらにプロジェクトの月間スケジュール、及び個人の作業スケジュールな
どもを一元管理及び共有することと ToDo リストを用いて、作業の進行状況を報告してもらうこと
で、メンバー全員及びプロジェクトの進捗管理を行うためである。
(※文責: 今村優太)
「SVN」を用いたファイル共有による情報共有及び開発時のバックアップ管理
「SVN」とは、「Subversion」と呼ばれる、バージョン管理システムのことであり、サーバー上
に共有フォルダを作成することで、プログラムなどのファイルの共有を行うことができる他、リビ
ジョンと呼ばれるフォルダ内の情報に対し、更新順に番号を付加することでシステム上で更新前の
フォルダ内の情報に戻す機能が存在する。
主な使用用途としては、フォルダ単位でのファイル管理が可能であるので、活動日誌やその他プ
ロジェクト活動で必要なファイルの共有をフォルダ単位で情報の種類を分類し、共有である。ま
た、ソフトウェアの開発時に、分割して作成したプログラムバックアップやプログラムの統合の際
のプログラムのプロジェクトフォルダ単位での共有、バグの発生時のバージョン管理による迅速な
デバックなどに使用した。
(※文責: 今村優太)
前期スケジュールとマネージメント
両グループ共に前期スケジュールとしては、
• 4 月:前期目標及び前期成果物イメージの設定
Group Report of 2011 SISP
- 65 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
• 5 月:開発に必要となる基礎技術の勉強会
• 6 月:前期成果物の開発
• 7 月:中間発表会の準備及び中間発表会
というスケジュールで活動を行なった。
前期のマネージメント流れは、前述したプロジェクトマネージメントの流れにそって活動を行
なった。プロジェクト活動開始と同時に、学生立ち上げである本プロジェクトは、プロジェクト全
体としての目的は明確であったので、年間スケジュール及び各グループとしての明確な前期の目標
と成果物イメージの設定の議論を各グループで行い、1 年及び前期の活動の流れの明確化を行なっ
た。これらの議論を最優先で行なった目的としては、マネージメントを行う上で、開発や発表会準
備などの期日などを明確にし、それらを基準に開発の進度を比較し、進捗管理を行うためである。
定期的な進捗管理としては、毎週水曜日のプロジェクト活動時間開始時に、担当教員を含めた報
告会を行い、各メンバー及びグループリーダーから毎週個人及びグループの進捗報告を日誌という
形で、SVN の指定のフォルダに提出してもらい、それらをまとめたものをこの報告会で共有する
ことで、プロジェクト全体としての情報共有及び進捗管理を行なった。また、その他の進捗管理の
方法として、サイボウズ Live を用いてスケジュールの共有を行い、ToDo リストを用いて個人の
細かな開発や作業のタスク単位での進捗管理を行なった。
「メーリングリスト」や「サイボウズ Live」及び「SVN」の使用方法は、情報などの管理を行う
ために細かくルール化することで、全員が共通の使用方法で使用することが可能となり、どのメン
バーが見ても目的の情報を即座に共有することが可能となる。
定期的な進捗管理のほかは、適宜プロジェクト活動終了 10 分前などに簡単な報告会などを行い、
直接的な話し合いによる進捗管理と情報共有を図った。また、開発時に問題などが発生した場合に
は、即座に話し合いの場を設けることによって、スケジュールの再調整や問題の解決策の模索など
を行い、進捗への影響を最小限に抑えるようにした。
加えて、プロジェクトリーダーを両グループに所属させない組織体系を取ることで、プロジェク
ト活動時間などは、両グループのメンバーとのコミュニケーションを行なったり、会議に加わるこ
とで、議論や開発に対して客観的なアドバイスを行うことが可能であるため、様々な状況にも柔軟
に対応でき、かつ議論などの場で議論が平行線になることも防ぐことが可能である。
(※文責: 今村優太)
8.3.3
後期プロジェクトマネージメント
後期プロジェクトマネージメントとしては、前期と異なり成果発表会までの活動期間が1ヶ月半
短期間なため、後期スケジュールと月別スケジュールは同一のものと考え、マネージメントを行
なった。また、前期の活動終了時点で、「サイボウズ Live」や「SVN」によるマネージメントに対
して、メンバーから使いずらいなどの意見があったため、後期マネージメントでは、1ヶ月半とい
う短期間であることなども考慮し、活動後などの報告会によって直接の話し合いによる情報共有を
有効的に利用し、マネージメントを行なった。
(※文責: 今村優太)
Group Report of 2011 SISP
- 66 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
前期マネージメントとの変更点
前述したように、後期マネージメントでは「サイボウズ Live」と「SVN」によるマネージメント
を一切行わず、基本的にメールによる日誌提出や活動後に、直接報告会を開くことによるマネージ
メントを行なったことが変更点である。その他、「定期的な報告会」や「スケジュールの設定」な
どの基本的なマネージメントは、変更せず活動を行なった。
(※文責: 今村優太)
後期スケジュールとマネージメント
両グループともに後期スケジュールとしては、
• 9 月下旬及び 10 月下旬:後期目標及び後期成果物イメージの設定
• 10 月中旬から 11 月:後期成果物の開発、函館アカデミックリンクへの参加
• 12 月:成果発表会の準備及び成果発表会
というスケジュールで活動を行なった。
後期マネージメントも基本的に前述した変更点以外は同様にマネージメントを行なった。短期間
での開発であり、問題などへの早急な対処や詳細な進捗状況の確認と把握が重要となるため、前期
以上にメンバー間のコミュニケーションを密に取れるよう、活動中及び活動後に話し合いの場を多
く設けた。
(※文責: 今村優太)
8.3.4
その他マネージメント
その他のマネージメントとして、プロジェクト活動を円滑に行うために、メンバー間の人間関係
のトラブルに関しての対処として、人間関係のトラブルがあった場合は、即座に当人同士の話し合
いの場を設け、プロジェクトリーダーやグループリーダーなどの第三者を交え、当人同士が納得す
るまで話し合うことで、迅速に解決し、プロジェクト活動に影響が出ないよう考慮した。
(※文責: 今村優太)
8.3.5
前期プロジェクトマネージメントと後期プロジェクトマネージメント比較
と評価
プロジェクトマネージメントの前期と後期の比較としては、
• 後期の進捗管理及び情報共有に「サイボウズ Live」を利用しなかった点
• 後期のバージョン管理や情報共有に「SVN」を利用しなかった点
の 2 点が上げられる。以上の比較点を分析するために、プロジェクトマネージメントに関する評価
をプロジェクトメンバーに対して簡単なアンケートを行なった。アンケート内容は、上記の 2 点の
相違点に関してと、プロジェクトマネージメント全体に対しての意見を記述するものである。
まず、「サイボウズ Live」に関しての意見だが、
Group Report of 2011 SISP
- 67 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
• ルールが複雑であったため、使いづらかった。
• 初めて使用するツールであるため、使い方などの把握に時間がかかり使うのが手間になった。
• ルールを複雑化したために、サイボウズ Live の使用が負担になった。
• 個人で使用しているタスク管理ソフトと混同したため使用しずらかった。
などという意見が多く、「初めて使用するツールであること」や全員が共有するための方法として
作成したルールが使用する立場からは、「使用することが負担になった」という点が、前期にメン
バーから指摘された点である。また、「サイボウズ Live を使用しなくても十分に情報共有する場
があった」という指摘もあったように、「日誌の提出」、「定期報告会」、その他適宜グループやプロ
ジェクト全体で話し合いの場を設けていたので、それぞれの情報共有の手段で重複した内容の共有
を行なっていた。
以上のことから、「サイボウズ Live」によるマネージメントは、使用ルールを複雑にしてしまっ
たことによる、使いずらさ。初めて使用するツールにより、使いこなすことが負担になってしまっ
た点。情報共有の機会が多く存在したために、サイボウズ Live を使用しての情報共有や進捗管理
を行う必要性が低くなってしまった点。という点により、うまくいかなかった。
次に、
「SVN」に関しての意見だが、PC 上での動作でエラーが発生し、使用ができなくなった。
アップロードに時間がかかるため、バックアップの手段として使用しづらかった。学内と学外で使
用する際に、設定を変更する必要があり、使用しづらかった。プログラムなどの共有する必要性
があまりなかったことや、Skype や USB を用いて、データをやり取りすることの方が容易であっ
た。という点から、「SVN」によるマネージメントを行わなくなった原因の第一に上げられるもの
は、「PC 上での動作でエラーが発生し、使用できなくなった。」である。「SVN」の使用目的とし
て、情報共有というものがある以上、メンバー全員が使えるものでなければ、目的を達することが
できないため、必然的に利用することを止めざるを得ないのである。また、このような状態になっ
た原因は、事前に「SVN」に関する動作確認を十分に行えなかったということもある。
さらに、「SVN」をバージョン管理やバックアップとして開発担当のメンバーが使用しなかった
原因としては、ソフトウェアの開発が少人数で行われたことや、プログラムを分割して開発を行
なってはいたものの、プログラムを共有する際には、USB を使用したほうが開発者の負担になら
ないという点。また、バックアップの管理も「SVN」で行うには、アップロードに時間がかかる点
やデバックの方法などは既に開発者個人で個人的なやり方が確立しており、プロジェクトマネージ
メントとして提供する必要がなかったという点が上げられる。
以上のことより、
「SVN」は、PC による動作の個体差が多く、動作確認が不十分であったため、
プロジェクトの情報共有のツールとしてその使用目的が果たせず、かつバージョン管理の手段とし
ても、使いずらさや個人でバックアップやデバックの方法が確立していたので、使用する必要がな
かったという点から、マネージメントには使用できなくなった。
(※文責: 今村優太)
8.3.6
プロジェクトマネージメントまとめ
プロジェクトマネージメントのまとめとして、前期マネージメントと後期マネージメントを変更
したことは結果として、短期間で開発を行う上で適切な変更であった。また、マネージメントにお
いて、直接の話し合いや Skype など反応が即座に返ってくる方法による情報共有の方が効果的で
あった。その他、日誌や定期報告会などの場を設け、定期的にプロジェクト内の情報共有を行うこ
Group Report of 2011 SISP
- 68 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
とで、個々人の活動状況が把握しやすく、進捗管理が容易に出来た。
(※文責: 今村優太)
8.4
プロジェクト全体としての活動報告
8.4.1
年間スケジュール
1 年間の活動スケジュールとしては、
• 4 月:前期目標及び前期成果物イメージの設定
• 5 月:開発に必要となる基礎技術の勉強会
• 6 月:前期成果物の開発
• 7 月:中間発表会の準備及び中間発表会
• 9 月下旬及び 10 月下旬:後期目標及び後期成果物イメージの設定
• 10 月中旬から 11 月:後期成果物の開発、函館アカデミックリンクへの参加
• 12 月:成果発表会の準備及び成果発表会
である。
(※文責: 今村優太)
8.4.2
通常活動
前期、後期の目標及び成果物イメージの設定議論の活動では、活動時間及び時間外また、Skype
によるチャット会議などを利用し、目標と成果物の設定を行い、それらの目標をもとにスケジュー
ルの設定を行なった。
5 月の活動である「開発に必要となる基礎技術の勉強会」では、目的として、進捗報告やメン
バー間の議論の際に、専門用語などの情報が問題なく共有でき、かつどのメンバーがどの役割に
なっても活動に参加及び開発のフォローができるようにするためである。勉強会は、各メンバーが
それぞれ一つ基礎技術の勉強を担当し、メンバーに教えるという形式をとった。これによって、教
える側は他人に教えることができるようその技術に関して熟知することができ、教わる側は、担当
メンバーが簡潔にまとめた教材を使用して勉強を行うので、短期間で開発に必要な技術を効果的に
グループ内で共有することが可能である。
前期及び後期の成果物の開発は、両グループとも少なからず問題は発生したものの、マネージメ
ントでも述べたように、密にコミュニケーションをとり、報告会などで常にメンバー間の情報共有
を行なっていたため、問題発生に対して即座に対応し、プロジェクト及びグループリーダーを交え
て解決方法の模索やスケジュールの再調整を行なったため成果物が未完成になるなどの大きなミス
は未然に防ぐことが出来た。
(※文責: 今村優太)
Group Report of 2011 SISP
- 69 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
8.4.3
中間発表会
スケジュール及び準備
中間発表会の準備は、各グループの立てたスケジュールとは別スケジュールを立て、プロジェク
トリーダー及びイラストレータなどを使用できるメンバーと開発が終了したメンバーを順々に中間
発表会の準備作業へと移行させた。このような手段をとった目的としては、中間発表会の準備と同
時進行で、各グループの開発担当メンバーには開発及び成果物が完成した場合には、中間発表会で
トラブルがないように微調整を行なってもらうためである。
準備スケジュールとしては、約 3 週間前から準備を開始し、2 週間前には担当教員に対してポス
ター及びスライドの草案の提出、1 週間前には、担当教員に対して、ポスター及びスライドの完成
品の提出、プレゼンテーションの流れを確認していただき、以降中間発表会までは、プレゼンテー
ションのリハーサルを続けるというスケジュールを立て、実行した。
中間発表会のプレゼンテーションの目標として、本プロジェクトが使用している拡張現実感とい
う技術は、あまり認知されていないので、第三者にも拡張現実感という技術及び私たちの活動が分
かりやすく伝えられるような発表の準備を行なった。そのために、プレゼンテーションのリハーサ
ルでは、専門用語などの使用や説明順などをメンバー内で評価し合いながら行い、スライドも文字
による説明ではなく、図や写真による説明を多く取り入れた。
(※文責: 今村優太)
ポスター及びスライドの作成
中間発表に向けた準備として、プレゼンテーションのためのスライドと展示用のポスターを制作
した。
スライドの制作はプレゼンテーションの練習を繰り返す中で行われた。これは、スライド中の説
明文を極力減らす目的から、図やイラストが必要な部分を明確にし、プレゼンターが補うべき事柄
を明確にするためである。図やイラストは順序や個々の項目の関連性を表すのに秀でていると考
え、現在スマートフォンで提供されている拡張現実感の問題点や、本プロジェクトにおいて我々が
開発したシステムの内部処理の説明などに多用した。プレゼンターはこれらの図やイラストの内容
を説明する形でプレゼンテーションを行うこととした。
ポスターの制作はイメージ写真による視線の引きつけと、本プロジェクトにおけるキーフレーズ
の強調に重点を置いた。本プロジェクトの中間発表ではポスターを用いたプレゼンテーションは行
わない。従って、ポスターのみで本プロジェクトの発表内容を観衆に伝える必要があった。一方、
観衆は他のプロジェクトの発表ブースを覗きながら本プロジェクトの発表ブースにやって来る。そ
のため、遠くからでも本プロジェクトのポスターに視線を向けさせる必要があった。文字よりも写
真の方が瞬時に多くの情報が伝わり、興味に繋がるだろうと考え、大きなイメージ写真を用いるこ
とにした。このイメージ写真は本プロジェクトで開発したシステムを動作させている様子を撮影し
た物である。(図 4.2.7)
このイメージ写真で本プロジェクトに興味を持った観衆に次の情報として本プロジェクトにおけ
るキーフレーズを提示する。このキーフレーズは見出しとした。観衆が歩きながらポスターを見る
ことを考え、おおよそ 5 6 メートル離れた位置から読めるよう、見出しの文字の大きさ、ウエイト
を選択した。大きな文字は遠くからでも目に入りやすいことから、キーフレーズの重要度と文字の
大きさを比例させることが適当だと考えた。観衆が近寄りながら読むことを想定しているので、本
Group Report of 2011 SISP
- 70 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
プロジェクトにおいて最も重要なキーフレーズを最も大きくした。次に重要なキーフレーズはそれ
よりもやや小さく、さらにそれぞれのキーフレーズの説明文、図やイラストの説明文は 1 メートル
程度から読めるような大きさにした。
使用したフォントはモリサワの新ゴファミリーである。このフォントファミリーは JR の駅構内
の案内などに使われていることから、視認性に優れ、遠くからでも判読しやすいと考え、本プロ
ジェクトのポスターに使用した。
図 8.2
システム動作イメージ図
(※文責: 小林真幸)
8.4.4
中間発表会及びその評価
中間発表会はエレクトロニクス工房を使用して行い、開発したデモなどの動作にも問題は発生せ
ず、事前のリハーサル通り中間発表会は進行した。
中間発表会に参加していただいた視聴者のアンケートの「発表技術」と「発表内容」の点数評価
は以下の表 8.1 のようになった。
前半と後半のアンケートを集計時にまとめてしまったことで、前半と後半別々の評価の比較は
Group Report of 2011 SISP
- 71 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
表 8.1
中間発表会アンケートの点数平均
発表技術
発表内容
8.26
8.06
できなかったが、表○のように比較的高い点数であった。中間発表会での主な改善点の指摘とし
ては、
• ビジネスプランに関して提案を行なっていたが、その提案が曖昧である。
• 設定した目標が曖昧である。
というものが多く、前期はプロジェクトの基盤となる技術の開発を目標とし、活動していた点を考
えると、指摘通り前期の発表では、ビジネスプランとして後期の活動を提案するのではなく、具体
的に前期で開発した技術を用いた成果物のイメージの提案を行うべきであった。
一方で、評価された指摘点としては、
• デモを使用して、発表がわかりやすかった。
• 声が聞き取りやすかった。
• 知識がない人にとっても、理解しやすかった。
などの指摘が多く、発表内容、発表技術の点数もふまえ、中間発表会の目標を達成したと考えら
れる。
(※文責: 今村優太)
8.4.5
函館アカデミックリンク
函館アカデミックリンクとは、函館市内の大学の研究発表会及び交流するイベントである。本プ
ロジェクトは、中間発表会の時点で基盤技術の開発が終了し、デモンストレーションなど外部に発
表できるだけの成果物があったことや成果発表会に向け、外部発表会への参加などの経験をしたい
というメンバー全員の希望から、参加した。
(※文責: 今村優太)
アカデミックリンク参加内容
アカデミックリンクの参加内容としては、ブースセッションと呼ばれる展示形式の発表であっ
た。発表内容としては、主に中間発表会で使用したポスター及びデモンストレーションを使用し、
その他として、本プロジェクトの活動を簡潔にまとめたムービーを作成し流すことにより、簡単に
見て回る参加者の方々にも簡潔に本プロジェクトを理解できるよう配慮した。
(※文責: 今村優太)
アカデミックリンク準備
アカデミックリンクに向けての準備として、本プロジェクトのプロモーションビデオを制作し
た。プロモーションビデオを制作した理由として、アカデミックリンクではプレゼンテーションの
Group Report of 2011 SISP
- 72 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
ための時間が取られておらず、聴衆は好きずきにブースを渡り歩くことができるため、短時間で本
プロジェクトの活動を伝える必要があったからだ。
演出意図としては、成果物をより美しく見せることを心がけた。制作したデバイスを映すシーン
ではデバイス自体を回転させているのだが、これにはオフィスチェアの脚の回転機構を流用した。
オフィスチェアは逆さまにして、その上に台を置き、デバイスを載せて、カメラに写らないところ
から手で回転させて撮影した。
その他、光る部分を持つデバイスは暗所で撮影し、暗闇で光る怪しい機械を思わせることで、観
衆の興味をそそることを狙った。
また、遠近感や被写体の強調のためにフォーカスを前後させる方法や、カメラの位置を目線位置
よりも高く置くことで活動風景を俯瞰で見渡すような撮影もした。
編集ではなるべく説明的な文章は用いないことと、シーンの切り替えをテンポよく行うことを心
がけた。そのために、映像中でもっとも大切なキーフレーズのみをテキストとして映像に添えた。
また、シーンの切り替えでは、上下左右に動きのあるトランジションを加えた。
(※文責: 小林真幸)
アカデミックリンク当日の様子
アカデミックリンク当日の様子としては、多くの参加者の方に興味を持っていただいたようでは
あるのだが、拡張現実感という技術の説明が口頭説明では理解しにくく、本プロジェクトの活動を
十分に発表出来ていたとは言えなかった。また、事前の準備が不十分だったために、当日にデモン
ストレーションが動作しないなどのトラブルが発生し、アカデミックリンクの前半では、せっかく
興味を持って来ていただいた参加者の方々に発表を見せることができなかった。
一方で、デモンストレーションが正常に動作している状態では、身に来ていただいた参加者の
方々にも理解していただけたようなので、その点は評価するべき点である。
加えて、アカデミックリンクに参加したことにより、第三者に対して、拡張現実感という技術の
口頭での説明の難しさを知ることが出来たという点は、成果発表会の改善点として事前に知ること
ができ、よかった点である。
(※文責: 今村優太)
8.4.6
成果発表会
スケジュール及び準備
成果発表会の準備は、中間発表会の準備と同様の手段をとり、準備を行なった。
準備スケジュールとしては、中間発表会の経験とスライドなどのデータを一部流用し、準備が可
能かつ、プレゼンテーションの流れなども中間発表会同様の流れで可能であると判断し、約 2 週間
前から準備を開始した。8日前には担当教員に対してポスター及びスライドの草案の提出、1 週間
前には、担当教員に対して、ポスター及びスライドの完成品の提出し、プレゼンテーションの流れ
を確認していただき、以降中間発表会までは、プレゼンテーションのリハーサルを続けるというス
ケジュールを立て、実行した。
成果発表会の目標も、中間発表会同様、第三者に対して分かりやすい発表を目標とした。また、
アカデミックリンクで経験した改善点として、拡張現実感という技術が、口頭や文章、図を用いて
の説明では伝わりにくいということがあったので、成果発表会では実際に拡張現実感の技術を用い
Group Report of 2011 SISP
- 73 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
たデモンストレーションを用いて説明するように改善した。
また、中間発表会を行なった経験として、実際に発表を視聴するだけでなく、ポスターなどのみ
でも十分本プロジェクトの活動を理解してもらうために、エレクトロニクス工房の前のポスターの
展示場所で、実際に拡張現実感のデモンストレーションを行なったり、新型マーカー開発が開発し
た新型マーカーを実際にポスターに埋込み使用して見せるという発表形式の改善も行なった。
(※文責: 今村優太)
ポスター及びスライドの作成
最終発表に向けた準備として、プレゼンテーションのためのスライドと展示用のポスターを制作
した。
スライドは中間発表と同様に、プレゼンテーションの練習を通して、文章の更正を行った。ま
た、図やイラストはスライドに適したレイアウトに作り直したり、新たに制作することで、スク
リーンに投影した時の聴衆からの見やすさの向上を目指した。また、これは同時にプレゼンターの
プレゼンテーションのしやすさ向上にもつながった。
ポスター制作では、中間発表の物よりも遠くからでも読みやすく、また印象的であることを目
指した。その結果、従来型の A1 縦のフォーマットから A1 横のフォーマットに変更した。これに
よって、横長のイメージ写真をポスターの一面に印刷することが出来た。ポスター一枚をイメージ
写真とすることで遠くから見た観衆により興味を持ってもらえると考えた。また、興味を持った聴
衆がポスターに近づいたときに概念図や説明文が読めるように文字の大きさ、ポイント、色に気を
配った。
使用したフォントは中間発表のポスターと同様にモリサワの新ゴファミリーを用いた。最終発表
のポスターでは文字同士のすき間を調整し、印刷物としての完成度を高めた。
最終発表のポスターで使用したイメージ写真は Photoshop や Illustrator を用いて加工、あるい
は合成をした。Photoshop の合成モードの使い方を覚えたことにより、Illustrator で制作したイ
ラストを写真中に綺麗に合成できるようになった。
最終発表のポスターには新型マーカー開発班の成果物である赤外線マーカーを組み込んだ。これ
は、赤外線マーカーのコンセプトである周囲の環境に自然に馴染むということをデモとして観衆に
みせるためである。赤外線マーカーを組み込んだポスターには一人のプレゼンターをつけて、本プ
ロジェクトの発表ブースの入り口で新型マーカーのデモを行った。
(※文責: 小林真幸)
8.4.7
成果発表会及びその評価
成果発表会は、中間発表会同様エレクトロニクス工房を使用して行い、概ね中間発表会同様リ
ハーサル通り進行したが、前半の直感操作型 AR 開発のデモンストレーションでは、デモンスト
レーションのトラブルで、視聴者に見せることができないという事態が発生した。
成果発表会に参加していただいた視聴者のアンケートの「発表技術」と「発表内容」の点数評価は
以下の表 8.2 のようになった。
Group Report of 2011 SISP
- 74 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
表 8.2
成果発表会アンケートの点数平均
前半平均
後半平均
全体平均
発表技術
8.15
8.59
8.37
発表内容
8.35
8.69
8.52
まず、発表技術、発表内容に関して、前半と後半共に若干の差があるのは、前半にデモンスト
レーションのトラブルがあったためと考えられる。実際に、
• 不具合が残念だった。
• 不具合も想定して欲しかった。
という指摘があったことからも、準備不足や想定不足であった。しかし、全体的な点数や評価を見
ると、中間発表会同様評価は良いものであった。後半の内容に関しては特に多く指摘されていた部
分はなかった。
また、前期で指摘があったビジネスプランの提案に関しては、後期目標の設定時点で、改善を行
い、後期の目標を将来的に使用する一例としてのアプリケーションの開発とする目標に改善した。
よかった指摘としては、ほぼ中間発表会と同様に、
• デモや映像を交えての発表がわかりやすかった。
• はっきりとした声で聴きやすかった。
などという意見が多く、中間発表会同様、成果発表会でも第三者にわかりやい発表会をという目標
は達成したと言える。
(※文責: 今村優太)
8.5
まとめ
プロジェクトマネージメント及び活動のまとめとして、本プロジェクトは学生の立ち上げによる
プロジェクトであり、その立ち上げの目的として、「学生主導で、企業と同様にひとつのプロジェ
クトを1から運営することで、今後に活かせる経験をする。」というものもあったが、中間発表会
及び成果発表会のアンケート結果で発表技術などの評価も高いことや、実際に前期後期共に成果物
が期日までに完成したことなどから、結果としてプロジェクトマネージメントや個々人が考え動け
ていいたことによってものであることから、個々人にとってプロジェクトとして活動する良い経験
が出来たと言える。
(※文責: 今村優太)
Group Report of 2011 SISP
- 75 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
付録 A
新規習得技術
• OpenCV 画像の色認識処理のためのライブラリ
• OpenNI Kinect の制御のためのライブラリ
• ARToolKit 拡張現実感プログラミングの為のライブラリ
• OpenGL 3D グラフィックのためのライブラリ
• 細線化、形状認識などの画像処理技術
• 座標変換
• ネットワークプログラミング 2 台の PC を繋いでデータを送受信する技術の習得
• 3D オブジェクト作成 blender による 3D オブジェクト作成技術の習得
• 3D オブジェクト作成 Metasequoia による 3D オブジェクト作成技術の習得
• Photoshop 画像編集
• Illustrator 画像作成
Group Report of 2011 SISP
- 76 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
付録 B
活用した講義
• ヒューマンインターフェース 作成したインターフェースのデザインに活用した
• 画像工学 マーカーと指の位置を取得する際に使用した色認識の部分で活用した
• ソフトウェア設計論 進捗管理や成果物管理などグループ進行全般に活用した
• インターネットテクノロジ ネットワークに関する知識に活用した
• コンピューターグラフィックス 3DCG プログラムの作成に活用した
Group Report of 2011 SISP
- 77 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
付録 C
相互評価
プロジェクト内で各メンバーへの評価を相互にしあった。評価したメンバーの名前の下に、評価
されたメンバーの名前と評価を書いた。
C.1
北山史朗
C.1.1
井上慶彦
高い技術力で常にスケジュールより一歩進んだ進捗状況にしてくれて、非常に進めるのが楽だっ
た。また、自分のタスクがすばやく終わっているので他のタスクのフォローに入るなど、開発のさ
まざまな面で活躍した。
C.1.2
金田知展
井上と共同で開発を進めてもらい、3D オブジェクトの扱いについて一手に引き受けてくれた。
常に冷静で、現在のタスクの問題点などをしっかり把握して適切な対応をしてくれた。
C.1.3
杉本航
会議の場において、話をまとめるのが苦手な私に代わって、まとめ役をしてくれた。人の話を聞
いてまとめたり、会議で現在の状況をまとめることが非常に上手く、おかげで会議が順調に進行で
きた。
また、3D オブジェクトにおいてはスケジュールよりかなり早く予定のものを作成してくれて進捗
面でかなり楽をさせてくれた。
人間関係においても、何かとトラブルが多かった私のフォローをしてくれたりして、精神的にも大
いに支えとなった。
C.1.4
小林真幸
デバイスの改良と、発表用のポスター作りを担当してくれた。
特にポスター作りではかなりのタスクを背負っていたが、期限までに質のいいポスターを用意して
くれた。
C.1.5
今村優太
グループリーダーとして未熟な私を多々フォローしてくれた。スケジュールのダメ出しや、現状
の整理などさまざまな面で助けてくれた。また、プロジェクトリーダーとして担当教員や WG へ
の連絡や提出書類の作成等の雑務を一手に引き受けてくれて、自分のグループの開発に専念するこ
とができた。
Group Report of 2011 SISP
- 78 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
C.2
井上慶彦
C.2.1
北山史朗
グループ内の進捗状況に常に気を配り、また自身も積極的にシステムの開発に取り組んでいた。
C.2.2
金田知展
座標変換や 3D オブジェクトの位置調整、表示など、システムのメインとなる処理の開発を担当
していた。また実装すべき処理を細かくまとめるなど、計画性があり作業を予定通り進めていた。
C.2.3
杉本航
話し合いの進行役を積極的に勤めていた。また、3D オブジェクトの製作を担当していたが、短
い期間で質の高いオブジェクトを製作していた。
C.2.4
小林真幸
さまざまな視点から物事を見ることができ、話し合いでは積極的に意見して話し合いを円滑に進
めていた。また、ポスターの製作など、デザイン面でも活躍していた。
C.2.5
今村優太
活動全体を通して、常にメンバー全員の進捗状況を把握し、スケジュールに遅延が出ないように
的確な助言を出していた。
また、プロジェクト内で問題が発生した際には、率先して解決方法を提案し、またそれによって生
じるスケジュールの変更などにも迅速に対応していた。
C.3
金田知展
C.3.1
北山史朗
グループリーダーとしてタスクの振り分けを行っていた。後期からは開発にも携わり、プログラ
ミング面でも力になっていた。
C.3.2
井上慶彦
Kinect 制御や OpenCV を用いた画像処理をすべて担当してもらい、成果物に大きく貢献した。
C.3.3
杉本航
グループ会議において、アイディアの提供や会議進行、まとめを上手く行ってくれた。後期には
3D オブジェクトの製作も担当していた。
Group Report of 2011 SISP
- 79 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
C.3.4
小林真幸
会議ではグループの方向性がずれないようにまとめていた。また、後期成果物のデバイス製作や
スライドとポスター製作を担当していた。
C.3.5
今村優太
プロジェクトメンバーが円滑に活動できるようスケジュール管理を行っていた。プロジェクトの
運営に必要なことはすべて確認してくれていたため、自分は開発関係の活動に専念することがで
きた。
C.4
C.4.1
杉本航
北山史朗
話し合いにおいて、話し合った内容を的確にまとめたり、会議を進めたりとしてくれた。
後期にはいって、開発班に参加してくれて非常に助かった。
発表準備でも協力して意見を出したりすることができて良い練習になった。
C.4.2
井上慶彦
グループ内の話し合いにおいて、その結果を的確にまとめその後の活動に活かしていた。
開発で難しい問題に直面しても時間をかけずに解決手段を見つけ出してきたり、開発の期日もしっ
かり守って真面目にプロジェクトに取り組んでいた。会議の場においても様々なユニークな案を出
してくれて非常に参考になった。
C.4.3
金田知展
問題解決の会議では率先してアイディアを提供したり、その内容が理解しきれなかったメンバー
に対しても丁寧な説明をしていた。そのためグループ内での共通認識を確かなものに出来た。
会議の場において鋭い質問をしてくれることがあって非常に勉強になった。
最終成果発表会の発表中にプログラムの不具合が起こってしまった時に迅速な対応をしてくれたお
かげで、すぐにプログラムの復旧をすることができた
C.4.4
小林真幸
会議では積極的に発言することで、滞った意見の交換を活発にさせた。また、スライド作成を担
当し、中間発表では本グループのメインプレゼンターも務めた。
デザイン的な立場から意見をだしたり、ポスターなどのデザインを考えてくれて、非常に出来のい
いものを作ることができた。スライドの制作に関しても画像を制作してくれたり、意見をもらった
りと非常にお世話になった
Group Report of 2011 SISP
- 80 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
C.4.5
今村優太
プロジェクト全体としてのスケジュール管理や開発関係以外の雑務に関して、常に先回りして準
備を済ませていてくれたので、余計なことにとらわれることなく開発に集中できて非常に助かった。
C.5
小林真幸
C.5.1
北山史朗
グループリーダーとしてのまとめ役となった。また、マーカーと指の距離を求める方法を提案
した。
C.5.2
井上慶彦
OpenCV、OpenNI などの技術に対して強い好奇心を持ち、早期から自主的に勉強していた。ま
た、それを生かして開発の中心となっていた。
C.5.3
金田知展
話し合いにおいて、見落としがちな点によく気がついていた。また、開発では井上とともに処理
系を担当した。
C.5.4
杉本航
スライド作成を担当し、発表では本グループのメインプレゼンターも務めた。後期は仮想オブ
ジェクトの制作を精力的に行った。
C.5.5
今村優太
プロジェクト全体のリーダーとしてスケジュール管理、資材の発注、教員からの連絡や報告を
し、他のメンバーが活動しやすい環境を整えた。
C.6
今村優太
C.6.1
北山史朗
彼は、グループリーダー兼開発担当として大変な中、頑張ってくれた。ただ、議論の際などに自
分の意見にとらわれてしまい、なかなか議論を進められなかったり、他のメンバーともうまくいか
なかったりなどが多々あったが、メンバー全員でフォローしたり等のおかげもあり、リーダーとし
てマネージメントがしっかり出来ていたと思う。また、本人にとってこの活動とリーダーをやった
ということが良い経験となっていることであろう。
Group Report of 2011 SISP
- 81 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
C.6.2
井上慶彦
彼は、ソフトウェア開発のメンバーとして、北山君と金田君と協力してソフトウェアの開発を行
なってもらったが、特にソフトウェア開発のリーダー的存在であった。前期の基盤技術の開発で大
きな問題が発生した際には、状況の報告だけでなく解決策の提案も含め行なってくれたので、大き
なスケジュール変更などの必要もなく開発を進めることが出来た。この点も含めだが、自ら考え、
様々な状況や問題を想定した開発姿勢は素晴らしいものだった。
C.6.3
金田知展
彼は、ソフトウェア開発で座標軸等の難しい課題に取り組んでいただけでなく、急な仕様変更な
どにも他の開発メンバーと協力して取り組んでくれた。また、状況報告などの際にも、こちらに分
かりやすく説明してくれたことで、状況把握がしやすく、かつ、問題に対して、柔軟な思考と適切
な判断で開発成功の大きな手助けとなった。
C.6.4
杉本航
彼は、議論の際に進行役としてなかなかまとまらない時などに、他のメンバーをフォローしなが
らうまくまとめてくれるなど、大変な役をしっかりこなしくれた。また、プレゼンテーションの練
習時などには、広い視野でプレゼンテーションの方法や話し方等の細かい点まで、様々な意見を
もって行なってくれたおかげで、より良いプレゼンテーションを作り上げる手助けとなった。一方
で、プロジェクト全体の良いムードメーカーではあったが、もう?し場の状況と相手を理解した上
で、盛り上げてくれるとよりよかったのではないかと思う。
C.6.5
小林真幸
彼は、本プロジェクト唯一のデザイン系ということもあり、他のメンバーとは違う観点からの意
見を議論などでしっかり発言してくれたので、プロジェクト全体として見ても、視野を広げる良い
機会を与えてくれた。また、中間及び成果発表会のポスターやスライド作成の際には、デザイン系
ということもあり、イラストレータ等の使い方の指導や実際に作成してもらうなど、かなり負担を
かけてしまったが、しっかり期日までに完成させてくれ、大きな助けとなった。
Group Report of 2011 SISP
- 82 -
Group Number 16-B
The proposal and development of the novel technology with Augmented Reality
参考文献
[1] 谷尻豊寿. Essential OpenCV Programming―with Visual C++2008. カットシステム, 2009.
[2] 谷尻豊寿. KINECT センサープログラミング, 2009. 秀和システム, 2011.
[3] 谷尻豊寿. 拡張現実感を実現する ARToolkit プログラミングテクニック. カットシステム,
2008.
Group Report of 2011 SISP
- 83 -
Group Number 16-B