仮想陶芸環境のための対話型3次元インタフェース(付録)

姫野 久美子

 

6.3 使い勝手の評価実験(アンケート用紙)
 私は、頭の中の3次元イメージを如何に表現するかを目的に研究を行っています。大分大学工学部で開発された、仮想陶芸システムの使い勝手を評価するために、以下のようなアンケートを企画しました。このアンケートは、本研究以外の目的で使用することはありません。できるだけ正確にご記入下さい。解答は、例のように、1〜5の数字を1つ選んで○をつけるか、直接、文章を記入してください。
(例)バーチャルリアリティは、21世紀のキーテクノロジーとしてどの程度、社会に貢献すると思いますか。

【仮想陶芸システムを使って実際に仮想物を作ってみて】

(1)仮想物作成の満足度は、どの程度でしたか。 
(2)自分のイメージしたものを時間内でどの程度完成できましたか。
(3)頭に浮かんだイメージを表現できましたか。
(4)電子グローブの脱着のしやすさは、どの程度でしたか。
(5)操作の覚えやすさは、どの程度でしたか。
(6)仮想物は両手の間にどの程度、見えましたか。
(7)物が両手の間に見えることをどのように感じましたか。
(8)あなたが考えていた時間に比べ、仮想物作成の速さはどうでしたか。
(9)変形中に誤動作は、どのくらいありましたか。
(10)手のひらでの変形操作の難易度は、どうでしたか。
(11)指先での変形操作の難易度は、どうでしたか。
(12)ろくろでの変形操作の難易度は、どうでしたか。
(13)作成中の作業やり直しの難易度は、どうでしたか。
(14)作成中の再現の難易度は、どうでしたか。
(15)作業の中断の難易度は、どうでしたか。
(16)力覚は必要ですか。
    a.ぜひ必要
    b.必要
    c.不必要
    d.どちらでもない
(17)触覚は必要ですか。
    a.ぜひ必要
    b.必要
    c.不必要
    d.どちらでもない
(18)このシステムをもう一度使ってみたいと思いますか。
    a.思う
    b.思わない  理由(                              )
    c.どちらでもない
(19)このシステムは、実際の陶芸を作る時のイメージ作成として使えると思いますか。
    a.使える
    b.使えない  理由(                              )
    c.わからない
(20)どのような機能が他に必要だと思いますか
    (                                          
(21)仮想環境の影響(サイバーシック)、気分が悪い、めまいがするなどはありませんでしたか。
    a.ある
    b.ない
 ・ある場合は具体的に書いてください。
    (                                         
(22)仮想陶芸システムを使ってみた感想がありましたら、お書きください。
    (                                         
 

6.4 陶芸における手の動作の所要時間
 表2に、ろくろによる湯のみの作成、ひも作りによる花瓶の作成を例として、その作成過程における手の動作と所要時間を示す。各々の動作は、同じ動きを幾度か繰り返したものであり、一度の動作の所要時間は短く、手の動きを、即座に認識する必要があり、時間遅れが重要な問題になると考えられる。

6.5 認識率の測定実験

@実験目的:基本の手の動作の認識率を求める。また、認識しにくい動作、認識しやすい動作を明確化する。
A実験期間:
B実験対象:10人
C実験時間:1人10分程度
D実験方法:
 実験についての説明をした後に、手の動作のビデオを見ながら、練習してもらう。被験者の手の形・動きがよいかチェックをし、電子グローブをはめて、ランダム表を見ながら手の動作をしてもらう。実験者は、スコアー表に何と間違ったのか×をして記入する。そのデータをもとに、認識率を求める。
※ビデオで実験の様子を撮影する
※本実験の前に、2,3人による予備評価実験を行う

6.6 使い勝手の評価実験

@実験目的:仮想陶芸システムの使い勝手を明らかにする。また、使い勝手などについてのインタビューやアンケートをおこなって仮想陶芸システムの評価を行う。
A実験期間:
B実験対象:陶芸専門家 5人程度
        初心者   5人程度
C実験時間:1人20分程度
D実験方法:
 実験前に距離感の実験を行った後、仮想陶芸システムの操作説明をし、仮想陶芸システムで実際に仮想物を作成してもらう。実験後に再度、距離感の実験を行い、アンケート、インタビューに答えてもらう。そのデータをもとに、評価する。
※ビデオで実験の様子を撮影する
※本実験の前に、2,3人による予備評価実験を行う。
 

 
ポリゴン表示と曲面表示
6.7 ポリゴン表示と曲面表示 
 仮想物の表現法に、ポリゴン表示と曲面表示がある。ポリゴン表示は、仮想物の表面を幾つかの(沢山の)多角形(三角形)で表現する方法である。仮想物は、ポリゴンの各頂点座標によって、いろんな形に表現される。ポリゴン数を多くすると球形もさほど違和感なく表現できる。しかしながら、変形の様子を逐次表示するには、座標計算や仮想物の描画時間が放題になる。曲面表示は、例えば、ポリゴンのそれぞれの頂点に近い曲面を、高次元関数で近似しようとするものである。実際的には、幾つかの3次元曲面をつなぎ合わせて、物体を表示する。このそれぞれも部分曲面をパッチという。ポリゴン表示の物体の変形は、ポリゴンの頂点座標の移動する。それに対して、曲面の場合は、通常、曲面の制御点を移動する。表示時間の遅れを考慮した限られた数のポリゴン頂点の移動は、物体表面をなめらかに表すことは困難である。また、曲面の場合は、制御点の移動による変形は、パッチとパッチの間のつなぎが難しく、大きな変形のために、制御点を移動する方法は、使えない。

 

6. ニューラルネットワーク
(1)誤差逆伝搬法
 誤差逆伝搬法とは、あらかじめ設定したネットワークの重みで計算された出力と目標値である教師信号との差によりネットワークの重みを計算しなおす方法である。
 

 
 

 上の図は、誤差逆伝搬法を用いた訓練の対象となる多層ネットワークを示している(この図は、わかりやすくするため、隠れ層は1、ニューロは3つで、描いてあります)。iは、入力層aの出力として、値を正規化され、隠れ層 biに伝えられる。

  N=3の場合 (i=1,2,3)
    (01)
  amax 
   b1=w11 21 31   (0ij1)
        n
   b=Σ wji max b
       j=1   
   c=w11 21 31
       
   c=Σ wji max c
       j=1   

(2)ネットワークの訓練の概観
 ネットワークを訓練する目的は、与えられた入力の組に対して、目的とする出力の組を生成するように重みを調節することである。
訓練を始める前に、ネットワークのすべての重みを0〜1の乱数で初期化する。
誤差逆伝搬の学習は、以下のステップで行われる。
1.入力層に入力を与える。
2.ネットワークの出力を計算する。
3.ネットワークの出力と望ましい出力の誤差を計算する。
4.誤差を最小化するようにネットワークの重みを調節する。
5.誤差が十分小さくなるまで、各ニューロンに対して、ステップ1からステップ4まで繰り返す。

(3)隠れ層と出力層の間の重みの調節
 この図は隠れ層のニューロンj(n)から出力層のニューロンi(n)への重みに関する誤差逆伝搬過程を示す(nは学習の繰り返し回数)。目標値TARGETiから実際の出力i(n)を引いた誤差i(n)を計算する。これに、ニューロンi(n)に関するスカッシング関数の微分[Ci(n)(1−Ci(n))]をかけ、δci(n)を求める。

δci(n)=Ci(n)(1−Ci(n))(TARGETi―Ci(n))   (式1)
                    (Wの値を調整する)

 さらにδci(n)に、隠れ層のニューロンbj(n)をかけます。この積に、今度は、訓練率η(0.01から1.0くらい)をかけ、その結果を重みに加える。
以上のプロセスを、隠れ層のニューロンから出力層のニューロンにつながる各重みについて行う。
    (Wji(n) i=1,3 j=1,3

これらの計算は以下の式で示される。
    ΔWji(n)=ηδci(n) b j(n)             (式2)
    Wji(n+1) ji(n)+ΔWji(n)            (式3)

 ただし、 ji(n)は隠れ層のニューロンbj(n)から、出力層ニューロンci(n)へのネットワークのn回目のステップの重みを示す。 ji(n+1)は(n+1)回目のステップの重みで、δci(n)は出力層のニューロンci(n)に対するδの値を表す。(スカッシング関数の微分、ηをかけて、微妙な誤差がでるようにしてある。その誤差を隠れ層b j(n)に伝搬する。)

(4)入力層と隠れ層の間の重みの調節
 隠れ層は目標値をもっていないため、前で述べたような訓練プロセスは利用できない。
(式2)と(式3)はすべての層に適用でるが、隠れ層のδbi(n)は、目標ベクトルを用いずに求める。上の図は、この過程がどのように行われるかを示している。まず、出力層の各ニューロンに対するδci(n)を(式1)を用いて計算し、これを用いて出力層につながる重みを調節する。そのとき、これを逆向きに伝搬し、隠れ層bjの各ニューロンに対するδbi(n)を求める。さらに、新たに求められたδbi(n)を用いて、この入力層aiと隠れ層の間の重みを同じようにして調節する。

隠れ層のニューロンbj(n)について考える。順方向の過程では、このニューロンは相互結合荷重(重みをかけて)を介して出力層のニューロンにその出力値を伝える。訓練中には、この重みを逆方向に作用させ、出力層から隠れ層にδci(n)の値を逆伝搬させる。各重みに、出力層で結合しているニューロンのδci(n)をかけ、さらに、この積を総和した値に、スカッシング関数の微分をかけることにより、隠れ層のδbi(n)を求める。

     δbi(n)=bj(n)(1−bj(n))(Σδci(n)ji (n+1))      (式4)
                              (誤差逆伝搬している)

 ここで求められたδbi(n)と(式 ΔWij (n)=ηδbi(n) i(n))、(式 Wij (n+1) ij (n)+ΔWij (n))を用いて、入力層と隠れ層との間の重みWij (n)を調節する。対象としている隠れ層のすべてのニューロンに対して、δbi(n+1)を計算し、隠れ層につながるすべての重みWij (n)を調節する。これらの操作を、入力層に向けて1層ずつ逆向きに行い、すべての重みを調節する。

(5)再帰的ネットワーク
 再帰的ネットワークは、通常のネットワークのように、与えられた入力に対して出力を計算し、この出力がフィードバックされて入力の一部となる方法です。
ΔWij (n)=ηδbj(n) i(n)
ΔW11(n)=ηδb(n) a1     ΔW12(n)=ηδb(n) a1     ΔW13(n)=ηδb(n) a1
ΔW21(n)=ηδb(n) a2     ΔW22(n)=ηδb(n) a2     ΔW23(n)=ηδb(n) a2
ΔW31(n)=ηδb(n) a3     ΔW32(n)=ηδb(n) a3     ΔW33(n)=ηδb(n) a3
ΔW41(n)=ηδb(n) a4     ΔW42(n)=ηδb(n) a4     ΔW43(n)=ηδb(n) a4
ΔW51(n)=ηδb(n) a5     ΔW52(n)=ηδb(n) a5     ΔW53(n)=ηδb(n) a5 
ΔW61(n)=ηδb(n) a6     ΔW62(n)=ηδb(n) a6     ΔW63(n)=ηδb(n) a6
 

ji(n+1) ji(n)+ΔWji(n)
11(n+1)=W11(n)+ηδb(n) a1(n)        W12(n+1)=W12(n)+ηδb(n) a1(n)        W13(n+1)=W13(n)+ηδb(n) a1(n)
21(n+1)=W21(n)+ηδb(n) a2(n)        W22(n+1)=W22(n)+ηδb(n) a2(n)        W23(n+1)=W23(n)+ηδb(n) a2(n)
31(n+1)=W31(n)+ηδb(n) a3(n)        W32(n+1)=W32(n)+ηδb(n) a3(n)        W33(n+1)=W33(n)+ηδb(n) a3(n)
41(n+1)=W41(n)+ηδb(n) b1(n−1)    W42(n+1)=W42(n)+ηδb(n) b1(n−1)     W43(n+1)=W43(n)+ηδb(n) b1(n−1) 
W51(n+1)=W51(n)+ηδb(n) b2(n−1)    W52(n+1)=W52(n)+ηδb(n) (n−1)     W53(n+1)=W53(n)+ηδb(n) b2(n−1)  
61(n+1)=W61(n)+ηδb(n) b3(n−1)    W62(n+1)=W62(n)+ηδb(n) (n−1)     W63(n+1)=W63(n)+ηδb(n) b3(n−1)