IPA


開発成果一覧へ

 



2005年度下期 未踏ソフトウェア創造事業  採択案件評価書

 


1.担当PM

   原田 康徳 (NTTコミュニケーション科学基礎研究所 主任研究員)


2.採択者氏名

開発代表者

 森 悠紀 (東京大学大学院 情報理工学系研究科 コンピュータ科学専攻 修士1年)

共同開発者

 なし


3.プロジェクト管理組織


  デジタルプロセス株式会社


4.委託金支払額


 1,500,000


5.テーマ名


  ぬいぐるみモデラーの開発

 


6.関連Webサイト


  http://www-ui.is.s.u-tokyo.ac.jp/~yuki/


7.テーマ概要


 立体形状で与えられたモデルから、二次元の布のパーツを自動的に計算し、そのパーツを組み上げて「ぬいぐるみモデル」を構築し、さらに綿の詰め具合によって「ぬいぐるみモデル」の見え方がどう変化するかを検証するシステムを開発する。
 現在、我々の身の回りにあるぬいぐるみは、大きくわけて既製品と手作り品の二種類に分類することができる。ところが、手作り品であったとしても、元々のぬいぐるみの形は、本からの型紙であったり、手作りキットの型紙であったりすることがほとんどである。ぬいぐるみを作成するためには、対応した型紙を作成する必要があり、その型紙を元に布を裁断して、縫合し、綿詰めをすることによって、ぬいぐるみができあがる。よって、自分の思い通りのぬいぐるみを生成するためには、それに対応する型紙の生成が必要不可欠であるが、二次元の型紙からはできあがりの三次元を推測することがとても困難である。そこで、作成したいぬいぐるみの形状を三次元モデルでモデリングし、そのモデルに対応した、二次元の型紙をある程度自動で出力するシステムを作成する。


8.採択理由


 裁縫を習いたての子供をターゲットにして,自分だけのぬいぐるみを創るためのシステム.
 三次元モデルからぬいぐるみの型紙を作り出す.モデルの1からの構築はせずに,すでにあるモデルを修正する機能だけにとどめる.この手のシステムは,表面的な性能だけではまったく評価できず,開発者のこだわりが非常に重要になってくる.
 森さんの縫いぐるみに対する想いと,それを多くの人に伝えたいという情熱を,どれだけこのシステムに込めることができるか非常に楽しみである.

 

 





9.開発目標


現在,我々の身の回りにあるぬいぐるみは,大きくわけて既製品と手作り品の二種類に分類することができる.ところが,手作り品であったとしても,元々のぬいぐるみの形は,本からの型紙であったり,手作りキットの型紙であったりすることがほとんどである.ぬいぐるみを作成するためには,対応した型紙を作成する必要があり,その型紙を元に布を裁断して,縫合し,綿詰めをすることによって,ぬいぐるみができあがる.よって,自分の思い通りのぬいぐるみを生成するためには,それに対応する型紙の生成が必要不可欠であるが,2次元の型紙からはできあがりの3次元を推測することがとても困難である.そこで,作成したいぬいぐるみの形状を3次元モデルでモデリングし,そのモデルに対応した,2次元の型紙を自動で出力するシステムを作成することを目的とする.

また,入力とする3次元モデルはぬいぐるみになるということを考慮していない形状であるため,出力された2次元の型紙を縫い合わせた結果は入力したモデルとは必ず異なった形状となる.そのため,システムの中で出力された2次元の型紙を再構築させるシミュレーションを行うことで,実際に縫い合わせる前にどのような形状になるのかを見ることができるようにする.

 


10.進捗概要


図1:三次元モデルから型紙の作成と検証を行なう本提案のオーバービュー

 

開発者は,次に掲げる機能を有するソフトウェアの開発を行う.

ア.与えられた立体形状から,ぬいぐるみを構成する大きなパーツ(手とか足とか)
                                 
に分割する為の,分割線を決定する.

イ.個々の三次元曲面パーツを平面近似が行なえるように,さらに分割する.

a.個々の三次元曲面パーツを,二次元の布切れの集まりで表現できるまで,
再分割する.

b.再分割された個々の曲面パーツを二次元近似展開する.

ウ.二次元部品を組み立てて立体を構築し,縫い合わせの検証をする.

エ.中に綿を詰めた場合のシミュレーションを行なう.

 

当初の予定は,上に挙げたようであり,実現できた機能についてはア・ウ・エである.

 


11.成果


立体形状で与えられたモデルから,2次元の布のパーツを自動的に計算し,そのパーツを組み上げて「ぬいぐるみモデル」を構築するシステムを開発した (図2).ぬいぐるみ作成は,型紙を元に布を裁断して,縫合し,綿を詰めるという工程からなるが,自分の思い通りのぬいぐるみを作成するためには,それに対応する型紙の生成が必要不可欠である.ところが,通常3次元形状から型紙を作成する工程は,ぬいぐるみ設計の専門知識をもつ者によって行われており,素人には困難である.その工程をコンピュータ支援によって素人にでも手軽にできるようにすることが狙いである.

入力となる3次元モデル(入力モデル)は任意の閉じた多面体(メッシュ)であり,通常のCGモデラーを用いて作成するか,既存のものを利用することを仮定している(図2(a)).この入力モデルに対してユーザは自分のセンスを生かした縫い目を入力していく(図2(b)).システムは入力された縫い目を元に,入力モデルの形状を構築するための型紙パターンを自動で提示する(図2(c)).入力モデルは布で作られているということをまったく考慮していない形状であるため,出力された型紙パターンを実際に縫い合わせてもぬいぐるみ形状は必ず入力モデルとは違う形になる.そのため,この型紙パターンを使って縫い合わせたらどのようなぬいぐるみ形状になるかをシミュレーションする(図2(d)).これによりユーザは,実際に作る前に出来上がりのぬいぐるみ形状を検証することが可能となり,試行錯誤によって満足する縫い目になったら実際にぬいぐるみを作成するということが可能となる.

 

 

       (a)                  (b)                    (c)              (d)

図2:3次元モデルから型紙の作成と
出来上がりのぬいぐるみ形状の検証を行なうプロセス

 

 

以下に,それぞれの機能に関しての詳細を記述する.

 

4.1                縫い目入力機能

与えられた立体形状から,ぬいぐるみを構成する大きなパーツ(手とか足とか)に分割するための分割線を決定する.

 

4.1.1  3Dモデルをモデリングする際のユーザ操作履歴を活用して,形状分割を行う.(布制約付きモデリング)

ぬいぐるみは,布を縫い合わせた袋状の構造に綿が詰められたものであり,布の伸縮力と綿から受ける圧力が平衡するところで形が決まる.そのためぬいぐるみとして成立する形は,このような構造力学的な条件を満たしたものだけとなる.既存のモデルを入力とする場合は,入力モデルは一般にこのような条件を満たしていないため,出来上がるぬいぐるみ形状は必ず入力モデルとは異なる形状となる.この差分が大きいことが,ユーザが意図したぬいぐるみを作る上で問題となっている.

そこで,最初からぬいぐるみとして成立する形状しかモデリングできないモデラーを使ってモデリングを行えば,この問題は解決する.このぬいぐるみの成立条件は,布という素材のもつ制約に起因しているので布の変形の物理シミュレーションによって扱うことができる.モデリングとシミュレーションを並行に走らせることで,出来上がりの形状を見ながらモデリングができるというフレームワークを作った.

今回は図3〜5に示すようなぬいぐるみモデラーの簡単なプロトタイプを作成した.入力インタフェースはTeddy [Igarashi99]に準じており,パソコン初心者でも簡単にモデリングが行える.ユーザからの入力はなるべく簡単なものとするため,特にメニューなどを多用せず,ユーザの入力から,ユーザが次に何をしたいかをシステムが判断してそのモードに入る.

たとえば,図3のように,何もないところにユーザがストロークで円を描くと,システムはモデルを初期生成するモードに入る.ユーザがオブジェクトを横切るようにストロークを描くと,図4のように物体をカットするモードになる.図5のように物体の上で円を描くと,突起生成モードに入り,システムはユーザに「EXTRUSION / CUT」という表示を示し,もう1本外形のストロークを描くよう指示する.

シミュレーション部分に関しては,現在は簡単なバネモデルを用いている.なお,布のシミュレーションについては,Physically Based Modeling という分野で多数の研究が行われている[Baraff98, Choi02]ので,今後それをぬいぐるみに拡張することに取り組んでいく予定である.

 

         (a)                (b)              (c)              (d)

図3:ぬいぐるみモデラーの例1(初期生成):ユーザがストロークを描く(a)と,モデリングができ(b),対応する型紙が提示される(c). (d)(b)を斜めから見たところ.

 

           (a)               (b)               (c)             (d)

図4:ぬいぐるみモデラーの例2(カット):ユーザが物体を横切るようにストロークを描く(a),物体がカットされ(b),対応する型紙が生成される(c).(d)(c)を斜めから見たところ.

 

 

      (a)                (b)                (c)               (d)

 

     (e)                  (f)                (g)              (h)

 

5:ぬいぐるみモデラーの例2(突起生成):ベースとなる物体(a)と,そのパターン(b)に対して,ユーザが突起の基盤となる円を描く(c).描き終わると突起生成モードに入る(d). 突起を生成したい向きに角度を変更し(e),ユーザがストロークで突起の外形を描く(f)と,突起が生成され,パターンのほうも対応したパターンにインタラクティブに変化する(h)

 

 

参考文献:

[Igarashi99] Igarashi, T., Matsuoka, S., Tanaka, H."Teddy: A Sketching Interface for 3D Freeform Design" ACM SIGGRAPH'99, 1999, pp.409-416.

[Baraff98] Baraff, D. and Witkin, A. Large Steps in Cloth Simulation. Proceedings Computer Graphics, Annual Conference Series, ACM Press, pp.43-54, 1998.

[Choi02] Choi, K.-J. and Ko, H.-S. Stable but Responsive Cloth, ACM Transactions on Graphics (Proceedings SIGGRAPH 2002), Volume 21, Issue 3, pp.81-97, 2002.

 

 

 

4.1.2 一般的な曲面で覆われた立体形状の場合は,その形状の特徴個所を認識することにより形状分割を行なう.

 

入力モデルに対して自動での特徴線抽出には,SOD (Second order Differences) を用いた.これは,隣接面の法線間の角度(鋭さ)を測るもので,これによって自動で得られた結果の例をいくつか図6に示す.

 

   (a)                  (b)                  (c)                (d)

図6:自動で縫い目を入力した例:(a) くまの頭;(b)くま全体;(c)リス;(d)タツ

 

 

図6を見ると,耳の付け根や首,手足の付け根など,ユーザが縫い目を手動で入力するにはしづらいが,縫い目として切れて欲しいパーツの分かれ目である部分に自動で縫い目が入っていることがわかる.逆に,顔や胴体,おなか部分など,ユーザが自分で自由にデザインしたいような部分には縫い目が入っていないことがわかる.このように,ぬいぐるみを作成するための自動縫い目入力機能としては,自由にデザインしたい部分には入らず,ユーザが入力しづらいが縫い目を必要としている部分に入ることを目的としていることから,SODの利用は適していると言える.

 

4.2 3次元モデルから2次元パターンへの展開機能

3次元モデルに対して,縫い目を入れ終わったものから2次元パターンへ展開する.3次元メッシュから2次元座標を割り振る研究はいくつか存在する[Sorkine02, Levy02, Sheffer02]が,いずれも基本的にTexture Map用である.本システムではABF++[Sheffer04]を利用して,角度ベースで3次元モデルから2次元へ展開をし,3次元上の三角形パッチと対応する2次元上の三角形パッチの面積がなるべく同じになるような調整を加えて大きさ調整をしている.

 

参考文献:

[Sorkine02] Olga Sorkine and Daniel Cohen-Or and Rony Goldenthal and Dani Lischinski. Bounded-distortion piecewise mesh parameterization. Proceedings of IEEE Visualization '02. pp. 355-362, 2002.

[Levy02] Bruno Levy, Sylvain Petitjean, and Nicolas Ray. Least Squares Conformal Maps : A new Parametrization Method for Geoscience. In International gOcad Meeting, 2002.

[Sheffer02] A. Sheffer, E. de Sturler, Smoothing an Overlay Grid to Minimize Linear Distortion in Texture Mapping, ACM Transactions on Graphics, 21(4), 2002

[Sheffer05] A. Sheffer, B. Lévy, M. Mogilnitsky, A, Bogomyakov, ABF++: Fast and Robust Angle Based Flattening, ACM Transactions on Graphics, 24(2), 311-330 2005.

 

4.3 ぬいぐるみモデルの構築 (二次元部品を組み立てて立体を構築し,縫い合わせの検証をする.)

入力モデルは布で作られているということをまったく考慮していない形状であるため,出力された型紙パターンを実際に縫い合わせてもぬいぐるみ形状は必ず入力モデルとは違う形になる.そのため,この型紙パターンを使って縫い合わせたらどのようなぬいぐるみ形状になるかをシミュレーションする.これによりユーザは,実際に作る前に出来上がりのぬいぐるみ形状を検証することが可能となり,試行錯誤によって満足する縫い目になったら実際にぬいぐるみを作成するということが可能となる.

シミュレーションは単純なバネモデルを用いている.まず,それぞれの頂点に対して,物体の内側から外側へ(法線方向へ)膨らます力をかけ,頂点を移動させる(図7(a)).ある程度ふくらんだら,膨らまし方向の力をなくし,バネモデルを用いてそれぞれのエッジの長さを調整する(図7(b)).この2つのステップを3次元形状が収束するまで繰り返す.

今後,布のシミュレーションの一分野である,Physically Based Modeling という分野で多数の研究が行われている[Baraff98, Choi02]ため,それをぬいぐるみに拡張することに取り組んでいく予定である.

 

             (a)第1ステップ                 (b)第2ステップ

図7:縫い合わせシミュレーションの2段階ステップ

 

 

                      (a)                         (b)

(c)                                                                                (d)

(e)                         (f)

(g)                    (h)

(i)                     (j)

図8:同じ3次元モデルを入力として,異なる縫い目を入れてシミュレーションした例:(a)(b)入力した3次元モデルに縫い目をデザインしたところ;(c)(d)モデルに対してぬいぐるみ化のシミュレーションを行ったところ;(e)(f)ぬいぐるみ化したモデルを違う角度から見たところ;(g)(h)システムによって生成された型紙;(i)(j)実際に縫って作成したぬいぐるみ.

 

4.4.実証実験

本システムのユーザビリティの評価をするために日本科学未来館(館長:毛利衛)のご協力を得て,825()26()2日間に日本科学未来館に来館した一般男女38人を対象に実証実験を行った.

    

図10:実証実験会場の様子(日本科学未来館にて)

 

操作説明などをした後,一人約30分程度で好きなモデルを作ってもらった.被験者は小学生高学年から大人まで実にさまざまな年齢層の人がいた.

   

   

図11:本システムを利用してぬいぐるみをデザインした例

 

アンケートによると,「面白かった」「楽しかった」という意見がほとんどで,「自分だけのオリジナルのぬいぐるみが作れると思うとわくわくした」「描いた部分がしだいに“ ぷくぷく”ともりあがってくる様子がリアルでよかった」という声もあった.また,マウスで絵を描くことや,突起生成の操作に関しては小学生程度の子供にはとても難しく,「丸を描くだけでも難しかった」「自分の思い通りにならなかった」「基本図形やパーツをテンプレートとして用意してそこから選べると良い」などの意見があった.さらに持ち帰った型紙を利用して実際にぬいぐるみを作成してくれた人の例を図12に紹介する.このように素人でも簡単にオリジナルのぬいぐるみを作成することができる.

 

  

図12:実際にぬいぐるみを作成してくれた人の例

 


12.プロジェクト評価


入力となる3次元モデル(入力モデル)は任意の閉じた多面体(メッシュ)であり,通常のCGモデラーを用いて作成するか,既存のものを利用することを仮定している.この入力モデルに対してユーザは自分のセンスを生かした縫い目を入力していく.システムは入力された縫い目を元に,入力モデルの形状を構築するための型紙パターンを自動で提示する.入力モデルは布で作られているということをまったく考慮していない形状であるため,出力された型紙パターンを実際に縫い合わせてもぬいぐるみ形状は必ず入力モデルとは違う形になる.そのため,この型紙パターンを使って縫い合わせたらどのようなぬいぐるみ形状になるかをシミュレーションする.これによりユーザは,実際に作る前に出来上がりのぬいぐるみ形状を検証することが可能となり,試行錯誤によって満足する縫い目になったら実際にぬいぐるみを作成するということが可能となる.

 

  三次元グラフィックスや高度なシミュレーションは,アニメーションやビデオゲームのみならず,最先端の航空機産業や自動車産業などのものづくりの分野で不可欠な技術となっており,各社のIT投資額は総売上の1%を越えている.一方で,商品開発にそれらの高価なシステムを用いることのできない廉価な商品では,いまだに経験と勘に頼った開発が行なわれているのが実情である.近年,コンピュータの個人ユースが進んだことで,身近になったコンピュータを用いて,身近な商品開発に3D文化革命を起こしたいと考えている.それにより,社会の裾野の技術基盤が底上げされ,高度な最先端分野の発展に寄与すると考えている.

 

ところで,本研究の狙いを「ぬいぐるみ」に定めた理由は以下の点である.

 

    安価で開発コストを掛けられない身近な製品であること

    厳密な精度より全体としての見栄えやバランスが重視される製品であること

    柔らかい材料と曲面で構成されている製品であること

 

これらの「ぬいぐるみ」の特徴や特性を研究することで,最先端の製造業が取り組むべき課題解決に結びつけたいと考えている.例えば,以下は自動車や航空機の開発の初期段階において設計者が要求するシステム像である.

 

    リアルタイムに試行錯誤できる簡易な3次元形状変形シミュレーション技術

    従来の面単位の微細な形状評価より,大まかな全体形状の特徴を把握し評価できる技術

    従来の正確な数値入力を要求する形状表現より,曖昧さを許容した柔軟な形状表現技術

 

このように本研究の狙いである,柔らかい素材による安価で簡便な変形シミュレーションと形状表現が,日本のものつくりの発展に貢献できると考える.

 

当初の開発計画を大幅に上回る成果が出たと思う。実際に子どもたちに使ってもらうレベルまでも、この期間に間に合わせたのもすばらしい。

 


13.今後の課題


今回の未踏プロジェクトでは,ユーザが縫い目を入力しやすいユーザインタフェースや,型紙パターンの提示と出来上がり形状の提示を組み合わせたフレームワークによるぬいぐるみ作り支援のための枠組みについての研究を行ってきたが,今後は下記のような布という材質を考慮したモデリングに特化した研究をしたいと考えている.以下,研究内容について詳細に述べる.

 

布制約付きモデリング

すでに4.1章でも述べているが,現段階ではぬいぐるみモデラーの簡単なプロトタイプまでしかできていない.布のシミュレーションについては,Physically Based Modeling という分野で多数の研究が行われている[Baraff98, Choi02]ため,それをぬいぐるみに拡張してぬいぐるみモデラーを完成させることを目指す.

参考文献:

[Baraff98] Baraff, D. and Witkin, A. Large Steps in Cloth Simulation. Proceedings Computer Graphics, Annual Conference Series, ACM Press, pp.43-54, 1998.

[Choi02] Choi, K.-J. and Ko, H.-S. Stable but Responsive Cloth, ACM Transactions on Graphics (Proceedings SIGGRAPH 2002), Volume 21, Issue 3, pp.81-97, 2002.

 

 

布制約付きの3次元形状変形

 3次元モデルを布でできているということを考慮して,3次元形状変形(デフォメーション)をしたい.たとえば,クマのモデルの耳をひっぱってウサギにする,ということなどを行いたい.これによって,一度作ったモデルから,「もう少し手が長いモデルを作りたい」「もう少し胴体が変形したモデルが作りたい」などという要求に応えることが可能となる.3次元のモデルを変形させたときに元々は1枚の布で表現されていた部分が1枚の布では作れなくなった場合には,自動で2枚の布に分割されるようなアルゴリズムを考えることで,3次元モデルを変形させると,同時に2次元のパターンも変形するようにさせる.

 

布制約付きの2次元展開

 既存研究での3次元から2次元へのマップ(パラメタライゼーション)は,布であるということを考慮していないものばかりである[Levy02, Sheffer05].そこで3次元形状が布でできているということを考慮した2次元の展開を行いたい.布の素材によって,1枚の布で表現できる面積や形が異なってくるため,それを考慮した展開を行う.3次元から2次元へ展開する際には,パーツの大きさを決定するために2点を固定するが,ぬいぐるみを作るためのモデルというのは複数のパーツから構成されているため,どの2点を固定するかが問題である.既存手法では,それぞれのパーツの大きさが異なってしまい,左右の手の大きさの違うぬいぐるみの型紙が出力されてしまう.この問題も解決させたい.

 

参考文献:

[Levy02] Levy, B., Petitjean S., Ray, N., and Maillot J. Least Squares Conformal Maps for Automatic Texture Atlas Generation, ACM Transactions on Graphics (Proceedings SIGGRAPH 2002), Volume 21, Issue 3, pp.362-371, 2002.

[Sheffer05] Sheffer, A., Levy, B., Mogilnitsky, M., and Bogomyakov, A. ABF++: Fast and Robust Angle Based Flattening, ACM Transactions on Graphics, Volume 24, Issue 2, pp.311-330, 2005.

 

製作にかかるコストの計算

ぬいぐるみは,どの縫い目を先に縫うかによって,作りやすさが変わってくる.縫いやすさの評価関数を定義することで,1つのモデルに対して,どのような順番で縫っていくと最短時間で作成できるかや,縫い目は違うが見栄えの3次元形状がほぼ変わらない複数のぬいぐるみに対してどの縫い目の入れ方が最短時間で縫えるかなどを評価することが可能となる.また,ユーザがどこから縫っていくと良いかの提示も可能となり,ぬいぐるみを縫う人への支援にもつながる.最後に綿入れのためにどこを縫わずにあけておけば良いかなどの提示もしたい.

 

2次元と3次元でのポリゴン数を可変にする仕組み

ユーザがモデリングをする際の,最初の入力は2次元で行われる.この2次元形状とふくらんだあとの3次元形状は現在,同数のポリゴンを用いているため,なめらかに表示させようとすると,2次元のときには不必要な数のポリゴンになっている.この問題を解決するために,ポリゴン数を可変にする仕組みを考える.たとえば,現在は平面の三角形ポリゴンを使っているものを曲面のメッシュを採用することにより,中間形状は滑らかに補間させることができる.これにより,大きなモデルもモデリング可能となり,ぬいぐるみ以外への発展にもつながると考える.

 




  ページトップへ   

 

 

 


  Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2004