• 検索結果がありません。

3D, 3DCG., 3D. 3DCG 3D,,,,., 3D,, 3D., 2. 3D,,.,,.,,.,,,.,, 3D., 500 3D. 3D,, i

N/A
N/A
Protected

Academic year: 2021

シェア "3D, 3DCG., 3D. 3DCG 3D,,,,., 3D,, 3D., 2. 3D,,.,,.,,.,,,.,, 3D., 500 3D. 3D,, i"

Copied!
49
0
0

読み込み中.... (全文を見る)

全文

(1)

平成

27

年度

学士学位論文

カラーイラストを入力としたキャラクタ

顔部

3D

モデル半自動生成システムの提案

Semi-automatic 3D modeling system of a character’s

face from color illustrations

1160309

窪内 彩佳

指導教員

栗原 徹

2016

2

26

(2)

要 旨

カラーイラストを入力としたキャラクタ

顔部

3D

モデル半自動生成システムの提案

窪内 彩佳

近年, コンピュータゲームや映画など様々な場面で3DCGが利用されている. また今日の デジタルファブリケーションの浸透により, ユーザが自ら作成した3Dモデルを用いてもの づくりを行う機会も増えている. このように3DCGや3Dモデルの需要は高まっているが, コンピュータやグラフィックス, 数学的理論に対する理解, 使用するソフトウェアの操作方 法など, 専門的知識のない人にとって複雑なモデルの制作は難しい.  そこで本研究では, 複雑な3Dモデルの作成を補助することを目的とし, 特に人物キャラ クタモデルの制作効率を向上させる手法として, キャラクタ顔部3Dモデル半自動生成シス テムを提案する. 提案方式ではアニメ調キャラクタのイラストを対象とし,「正面顔」と「横 顔」の2 枚のイラストを入力画像として用いる. アニメキャラクタ 3Dモデルの瞳部分は, 睫毛や瞳をテクスチャで表現し, モデルそのものは凹形状にモデリングされることがある. この点を考慮して, まず正面顔画像に対して瞳検出を行い, 瞳の位置座標を取得する. 次に, 正面顔画像から顔部の閉領域を抽出し, 顔部形状を半楕円体とみなして閉領域に大まかな深 度値を与える. さらに, 取得しておいた瞳の位置座標と, 横顔画像から検出した横顔輪郭特徴 点をもとに, 瞳・鼻・唇などのパーツ毎に詳細な深度値を付与する. 最後に, 生成された深度 値マップをもとに, キャラクタ顔部のマスク様3Dモデルを半自動的に生成する. 提案方式 を用いてシステムを構築した結果, 少ないユーザ入力かつ500ミリ秒以内の短時間でキャラ クタ顔部の3Dモデルを生成できることを確認した. キーワード 3Dモデリング, スケッチベースドモデリング, イラスト

(3)

Abstract

Semi-automatic 3D modeling system of a character’s face

from color illustrations

Sayaka Kubouchi

In recent years, 3D computer graphics are widely used, e.g., many computer games and movies. Moreover today, digital modeling and fabrication is becoming popular, which means that more and more people create their works using 3D models. In con-trast to increasing demands in 3DCG and 3D models, it’s difficult for people who don’t have knowledge about a computer, graphics, mathematical theory, and how to use a software, to make complicated 3D models.

   Here we have proposed that semi-automatic 3D-modeling system of a character’s face. The purpose of this study is to help making complicated 3D models from illustra-tions of anime-ish characters. We estimate the shape of character’s face by two images, character’s frontal face and side face. First, we detect character’s eyes from frontal face. Next we find closed area in frontal face and fit ellipse to contour. We approximate facial depth by regarding character’s face as half-ellipsoid. After that, we assign detail of depth for eyes, nose, and mouth by eyes position and feature points calculated from side face. Pupils of 3D models of an anime-ish character are made as dent in the model. Finally, we generate the character’s 3D face model by gaussian smoothing. As a result we were able to generate the 3D model with few user inputs under 500ms computational time by the developed application based on proposed method.

(4)

目次

1章 はじめに 1 1.1 本研究の背景と目的 . . . 1 1.2 本論文の構成 . . . 2 第2章 関連技術・先行研究 3 2.1 3Dモデル表現手法 . . . 3 2.1.1 曲面モデリング(Curve modeling) . . . 3 2.1.2 スカルプトモデリング(Digital sculpting) . . . 3 2.1.3 ポリゴンモデリング(Polygonal modeling) . . . 4 2.2 3Dモデル生成手法 . . . 4 2.2.1 イメージベースドモデリング(Image-based modeling) . . . 4 2.2.2 スケッチベースドモデリング(Sketch-based modeling) . . . 5 2.3 先行研究 . . . 5 第3章 提案手法 7 3.1 前提条件 . . . 8 3.2 瞳検出 . . . 9 3.3 最外輪郭・顔部閉領域抽出 . . . 9 3.4 横顔輪郭特徴点の検出 . . . 10 3.5 概形深度値の計算 . . . 14 3.6 詳細深度値の計算 . . . 15 3.6.1 瞳部分の深度値計算 . . . 15 3.6.2 鼻・唇部分の深度値計算 . . . 16 3.7 深度値マップの平滑化 . . . 18

(5)

目次 3.8 キャラクタ顔部のマスク様3Dモデル生成 . . . 19 第4章 結果・考察 20 4.1 実装・実行環境 . . . 20 4.2 3Dモデル出力結果 . . . 21 4.2.1 入力画像1とその出力結果 . . . 21 4.2.2 入力画像2とその出力結果 . . . 23 4.2.3 入力画像3とその出力結果 . . . 26 4.2.4 入力画像4とその出力結果 . . . 28 4.2.5 入力画像5とその出力結果 . . . 31 4.2.6 入力画像6とその出力結果 . . . 33 4.3 評価・考察 . . . 36 第5章 おわりに 38 謝辞 39 参考文献 40

(6)

図目次

3.1 本手法の概略図 . . . 8 3.2 入力画像の例 画像サイズ:各画像ともに547× 703pixel . . . 9 3.3 楕円フィッティング結果 . . . 10 3.4 楕円スケール10%拡大結果 . . . 10 3.5 曲率Csの変化. . . 13 3.6 [左]近似曲率円の一部(黒線は横顔輪郭線), [右]検出された横顔特徴点 . . . 14 3.7 詳細深度値計算に用いる角θ . . . 16 3.8 A, B, P の位置関係例(鼻横部分) . . . 17 3.9 A, B, P の位置関係例(鼻下部分) . . . 18 4.1 入力画像1 . . . 21 4.2 入力画像1の瞳検出結果 . . . 22 4.3 入力画像1の横顔輪郭特徴点 . . . 22 4.4 深度値マップM1 . . . 22 4.5 入力画像1を用いた3Dモデル生成結果 . . . 23 4.6 入力画像1の処理時間 . . . 23 4.7 入力画像2 . . . 24 4.8 入力画像2の瞳検出結果 . . . 24 4.9 入力画像2の横顔輪郭特徴点 . . . 24 4.10 深度値マップM2 . . . 25 4.11 入力画像2を用いた3Dモデル生成結果 . . . 25 4.12 入力画像2の処理時間 . . . 26 4.13 入力画像3 . . . 26 4.14 入力画像3の瞳検出結果 . . . 27

(7)

図目次 4.15 入力画像3の横顔輪郭特徴点 . . . 27 4.16 深度値マップM3 . . . 27 4.17 入力画像3を用いた3Dモデル生成結果 . . . 28 4.18 入力画像3の処理時間 . . . 28 4.19 入力画像4 . . . 29 4.20 入力画像4の瞳検出結果 . . . 29 4.21 入力画像4の横顔輪郭特徴点 . . . 29 4.22 深度値マップM4 . . . 30 4.23 入力画像4を用いた3Dモデル生成結果 . . . 30 4.24 入力画像4の処理時間 . . . 31 4.25 入力画像5 . . . 31 4.26 入力画像5の瞳検出結果 . . . 32 4.27 入力画像5の横顔輪郭特徴点 . . . 32 4.28 深度値マップM5 . . . 32 4.29 入力画像5を用いた3Dモデル生成結果 . . . 33 4.30 入力画像5の処理時間 . . . 33 4.31 入力画像6 . . . 34 4.32 入力画像6の瞳検出結果 . . . 34 4.33 入力画像6の横顔輪郭特徴点 . . . 34 4.34 深度値マップM6 . . . 35 4.35 入力画像6を用いた3Dモデル生成結果 . . . 35 4.36 入力画像6の処理時間 . . . 36

(8)

表目次

(9)

1

はじめに

本章では, 本研究の背景と目的について述べ, 本論文の構成について説明する.

1.1

本研究の背景と目的

近年のコンピュータ演算能力の向上により, 一般的なコンピュータゲームや映画, 静止画 イラストレーションなどにも, 3D グラフィックスが多く利用されるようになった. なかで もコンピュータゲームにおいては, 登場キャラクタは3Dモデルによって表現されることが 増え, 精密で複雑な表現が実現されている. Webブラウザ上における3D表現に関しても, HTML5のAPIの1つである WebGL[1]に代表されるように, 3Dデータを活用できる範 囲が広がっているといえる.  また, 近年のデジタルファブリケーション(デジタル工作)ブームにより, 3D プリンタな どのデジタルファブリケータが企業や一般家庭にも浸透しはじめている[2]. これにより個々 人が自分の欲しいものやアイデアを自分自身の手によって形にすることができるようになっ た. この 3Dプリンタを用いてものづくりを行うためには, 印刷用の3Dモデルデータが必 要となる.  このように3Dグラフィックスや3Dモデルの需要が高まる一方, 3Dモデルの制作には多 大な時間がかかる. 3Dモデリング用のソフトウェアやプラットフォームは無料で提供され るものも増えており, 誰でもダウンロードして使用することができる. しかし3Dモデルの 制作には, コンピュータやグラフィックス, 数学的理論に対する理解, 使用するソフトウェア の操作に関する専門的知識が必要となる. このため, たとえば2次元イラストレーションや

(10)

1.2 本論文の構成 絵画に関する知識を有する人でも, 3Dに関する予備知識なしに3Dモデルの制作を行うこ とは難しいとされる.  このような問題を緩和するために, 本研究では3Dに関する専門的知識の少ない人による 複雑な3Dモデルの制作を補助することを目的とし, 特に人物キャラクタの3Dモデルの制 作効率を向上させる手法として, キャラクタ顔部のマスク様3Dモデル半自動生成システム を提案する.

1.2

本論文の構成

本節では本論文の構成を述べる.  第2章では, 3Dモデルの表現・生成に関する関連技術と,本研究に関連する先行研究につ いて述べる.  第 3章では, 本研究で提案する, キャラクタの正面顔イラストと横顔イラストを入力とし たキャラクタ顔部3Dモデルの半自動生成システムの手法について述べる.  第4章では提案システムを評価し, 考察を述べる.  第5章では結論として本研究をまとめ, 今後の課題を述べる.

(11)

2

関連技術・先行研究

本章では, まず本研究に関連する3Dモデル生成についての諸技術について述べる. 次に, 先行研究について述べる.

2.1

3D

モデル表現手法

3Dモデルの表現手法は主に, 曲面モデリング, スカルプトモデリング, ポリゴンモデリン グの3つに分類できる. 各手法の特徴を次に述べる.

2.1.1

曲面モデリング

(Curve modeling)

曲面モデリングは, NURBS曲線, スプライン曲線, ベジェ曲線などを用いて自由曲面を構 成することによってモデリングする手法である. ポリゴンのみでモデリングされたモデルに 比べて少ない制御点で正確な形状を作ることができるため, 建築物や車など形状が規則的で あり正確さが求められるモデルの制作に適している. そのため, SolidWorks[3]などの3次 元CAD設計ソフトウェアによる製品デザインなどで用いられることが多い. しかし, 人間 の顔のように複雑な形状の物体には一般に適さない.

2.1.2

スカルプトモデリング

(Digital sculpting)

スカルプトモデリングはペンタブレットの筆圧感知を用いて, 粘土をこねるようにモデル を制作できる. このためもっともアナログに近い手法といわれており, 3Dに関する専門知識 を有せずとも比較的利用しやすいと考えられる. しかし一般的に, 曲面モデリングやポリゴ

(12)

2.2 3Dモデル生成手法 ンモデリングで使用されるポリゴン数に比べて非常に多くのポリゴンを扱うため, モデルを 制作しようとするコンピュータに対して高い処理能力が求められる.

2.1.3

ポリゴンモデリング

(Polygonal modeling)

ポリゴンモデリングは, 三角形や四角形などの多角形の組み合わせによってモデリングす る手法である. 柔軟性が高いため様々な物体をモデリングするのに有効であり, 高速な描画 が可能である. しかし, モデルが複雑な形状になるほどポリゴンの流れや構成などが煩雑に なりやすく, 専門知識を有する者でないと扱いづらい手法でもある.

 Maya[4], 3ds Max[5], Blender[6]など, 無償のものを含む, 現在流通している3Dモデリ

ングソフトの大半はこのポリゴンモデリングによるモデリングを主としている. 本研究では, 生成したモデルを一般的な3Dモデリングソフトで利用する可能性を考慮し, ポリゴンモデ リングの手法を用いた.

2.2

3D

モデル生成手法

3Dモデルを生成するための手法は様々あるが, 本節ではイメージベースドモデリングと スケッチベースドモデリングについて述べる.

2.2.1

イメージベースドモデリング

(Image-based modeling)

イメージベースドモデリングとは, 2次元画像から3Dモデルあるいは3次元画像を生成 する手法である. 一般にこのモデリング手法に用いる「2次元画像」とは, カメラ等で撮影さ れたデジタル写真あるいは動画のことを指し, イラスト画像を用いたモデリングは後述する スケッチベースドモデリングに含まれることが多い. Autodesk 123D Catch[7]のように複 数の写真から特徴点を一致させてその形状を推測し, 立体を抽出する手法が一般的であった が, 近年では3-Sweep[8]に代表されるような単一画像から3Dモデルを生成する手法も発表 されている.

(13)

2.3 先行研究

2.2.2

スケッチベースドモデリング

(Sketch-based modeling)

スケッチベースドモデリングとは, ユーザの動作や画像といった入力をもとに3Dモデル を生成する手法である. スケッチベースドモデリングは大きく2つのタイプに分類すること ができる.  1つ目は, Curvy3D[9]やTeddy[10]に代表されるような,マウスやタブレットによるユー ザの入力を受けてインタラクティブにモデルの形状を変更しながらモデルを生成するもので ある. ユーザはモデルの頂点や制御点を直接操作することなく, 直感的にモデルを作成する ことができる.  2 つ目は, ユーザが事前に用意したイラスト画像を生成システムが解釈することによっ て自動的に3Dモデルを生成するものである. 本研究では, この手法を基にシステムを構築 した.

2.3

先行研究

これまでにも, 3Dモデルの作成を容易にするための研究は数多く行われてきた. Igarashi らは, ユーザ描画による単純閉曲線を入力とし, 自由曲面を生成して3Dモデルを作成する インタラクティブなモデリングシステム「Teddy」を構築した[10]. 角らは, 入力とする線画 イラストの深度値や線の交差情報を利用し, キャラクタの房状頭髪モデルを半自動生成する 手法を提案した[11].  また, 異なる視点から描かれた2枚のイラストを入力とし, それらを対応付けて補間する 研究もいくつかなされてきた. 北村らは, 2方向から描かれたイラストの閉領域と頂点を対 応させ, 2.5Dモデルを生成する手法を提案した [12]. また Furusawaらは, 形状補間と重心 補間の2種類を用いて2枚の入力イラスト間の動きを補間できると主張した[13].  しかし, インタラクティブに入力しながらポリゴンを生成するのではなく, すでに2方向 から描かれてある2枚の線画イラストからキャラクタの頭部3Dモデルを自動的に生成する 手法について報告したものは見当たらない.

(14)

2.3 先行研究

 他にも近年においては, Live2D[14]やEmotional Motion Technology[15]に代表される

ように, 2Dイラストをあたかも3Dモデルであるかのように描画する技術が開発されてい る. これらの描画技術は, キャラクタの3Dモデルを用いてアニメーションさせるのではな く, 2Dイラストそのものをパーツ毎に変形させることによって表現する. 平面に描かれた キャラクタを3Dモデルに起こす場合, 原画の特徴を忠実に再現できず, 生成されたモデル と原画との差異が感じられることが多いが, これらの技術の登場により, 原画に忠実なキャ ラクタアニメーションを作成できるようになった. しかし, この技術はあくまで画面上での アニメーション表現においてのみ有効なものであり, 3Dプリンタでの印刷など, 必ず3Dモ デルデータが必要となるような場面においては効果がない.  そこで本研究では, 3Dキャラクタモデル制作を簡易化する手段として, 異なる視点から描 かれた2枚の線画イラストを入力としたキャラクタ顔部3Dモデルの半自動生成システムを 提案する. 提案するシステムは, 正面と横の2方向から描かれたアニメ調キャラクタイラス トを基として, アニメ調キャラクタの3Dモデルを半自動的に生成するシステムである. な お, 本研究では3Dモデル化の対象を, 頭髪や首は除いたキャラクタ顔部前面に限定する. ま た入力画像に用いるイラストは, アニメ調の人物キャラクタイラストに限定する.

(15)

3

提案手法

本稿では, 人物キャラクタの「正面顔」と「横顔」の2枚のアニメ調イラストを入力とし, キャラクタ頭部前面のマスク様 3Dモデルを自動生成する手法を提案する. なお, キャラク タの頭髪部分は頭部モデルに沿ってモデリングされることが多いことから, 本研究では考慮 しないものとする.  本手法の概略を図3.1に示す. 一般的なキャラクタモデリングにおいては, たとえばキャ ラクタの瞳の部分はテクスチャによって表現され, モデルそのものの瞳部分の形状は凹形状 としてモデリングされる. このような特徴を考慮し, 本手法ではまず正面顔の入力画像に対 して, アニメ調イラストのパーツ検出に特化したカスケード分類器を用いて瞳検出を行う.  次に, 正面顔画像・横顔画像それぞれに二値化処理を適用し, 顔部分の最外輪郭を二値画 像から抽出して, 細線化を行う. これにより顔部分の閉領域を抽出する.  続いて, 3Dモデルに鼻部分や唇部分の凹凸形状を反映させるため, 横顔の最外輪郭の曲率 を算出する. 曲率をもとに横顔輪郭線の特徴点を特定し, 深度値の計算に利用する.  次に, 顔の形状を考慮した深度値を計算する. まず, 顔全体の概形深度値を半楕円体状にな るように付与する. 次に瞳部分の詳細深度値を, 瞳検出によって特定した瞳の座標位置をも とに半球状に凹ませるように付与する. さらに鼻や唇の凹凸形状を考慮した詳細深度値を, 前述の特徴点を利用して付与する. さらにモデルを自然な形状にするため, 深度値の平滑化 を行う.  最後に, 算出した深度値を用いてキャラクタ顔部のマスク様3Dモデルを生成・表示する.

(16)

3.1 前提条件 図3.1 本手法の概略図

3.1

前提条件

本手法における入力画像の前提条件を以下に述べる. また, 入力画像の例を図3.2に示す. 入力画像は「正面顔」と「横顔」のカラー画像 2枚とし, ともにアニメ調キャラクタの イラストであること. 各画像ともに解像度は1000× 1000pixel以内であること. 拡張子は*.jpg, *.jpeg, *.png, *.bmpのいずれかであること. 各画像ともに背景は白とし, キャラクタ部分はカラーとすること. 各画像ともに頭髪や首は描かず, 頭部のみが描かれていること. 正面顔画像と横顔画像の額・目・鼻・唇・顎の高さを可能な限り一致させること. 正面顔画像について, 瞳検出において正確に瞳部分が検出されるイラストであること. 横顔画像について, 画像の左側に顔前面の輪郭があり, 右側に後頭部があること. 横顔画像について, 額部分はすべて凸であり, 最初の凹部分は鼻の根元となること.

(17)

3.2 瞳検出 図3.2 入力画像の例 画像サイズ:各画像ともに547× 703pixel

3.2

瞳検出

アニメキャラクタの3Dモデルにおける表現として, 目の部分は睫毛や瞳をテクスチャで 表現し, 3Dモデルそのものの目部分は凹形状にモデリングされることが多い. このため, ア ニメ調イラストの瞳検出に特化したカスケード分類器を用いて瞳の位置座標を特定し, 保存 する.  本手法で用いたカスケード分類器は, Haar-like特徴量に基づく学習アルゴリズムを用い て作成した. 学習に用いたサンプル画像の枚数は 5574枚であり, うちPositive(瞳あり)サ ンプルは1895枚, Negative(瞳なし)サンプルは3679枚である. これらのサンプル画像は

Bing Search APIを使用して収集した.

3.3

最外輪郭・顔部閉領域抽出

2枚の入力画像から, それぞれの最外輪郭と正面顔の閉領域を抽出する. まず 2枚の入力 画像をグレースケール変換する. 次に, それぞれのグレースケール画像に対して二値化処理 を行う. 二値化には固定閾値処理を用い, 本稿で示す結果では閾値を 250とした. この処理 によって顔部分と背景部分を分離させる. 生成された2枚の二値画像に対し, 収縮と膨張を それぞれ5回ずつ適用してノイズ除去を行う.  次に2枚の二値画像から最外輪郭抽出を行う. この最外輪郭の凸包を取得し, 凸包のサイ

(18)

3.4 横顔輪郭特徴点の検出 ズに合わせて画像をトリミングすることにより,不要な余白部分を削除する.  横顔画像については細線化処理を行い, 顔部前面部分である画像の左側4分の1のみを残 すようにさらにトリミングする. 正面顔については, 最外輪郭で囲まれた範囲を閉領域とし て扱い, 閉領域を楕円近似する. なお楕円近似の性質上, 閉領域のすべてを楕円内に含めるこ とができないため, 楕円のスケールを10%拡大する. 最後に,楕円の中心座標・短軸の長さ・ 長軸の長さ・回転角度の各パラメータを保存する. 楕円フィッティングの例を図3.3, 図3.4 に示す. 点cは楕円の中心座標を示している. 図3.3 楕円フィッティング結果 図3.4 楕円スケール10%拡大結果

3.4

横顔輪郭特徴点の検出

3.3節で得られた横顔の輪郭点群に対して, 最小二乗法による円近似を行い, 近似円の曲率 を計算して保存する.  最小二乗法による円近似には, 横顔輪郭点群全体の点の個数をnとしたとき, 10n(小数点以 下は切り捨て)の個数の点群を用いる. はじめに, 開始点を輪郭点群の最も右上にある点と し, 開始点から n 10 個の点群を用いて円近似する. 次に開始点を1画素ずらし,同様にn− n 10 回繰り返す. 注目座標をi = (xi, yi),近似円の中心座標をc = (cx, cy),近似円の半径をrと したときの最小二乗法による円近似と曲率C の計算は以下のようにして行う.

(19)

3.4 横顔輪郭特徴点の検出  まず, 円の一般式(x− a)2+ (y− b)2 = r2 に注目座標i, 近似円の中心座標cの対応する 座標を代入し, その二乗和を以下のように置く. ∑ {(xi− cx)2+ (yi− cy)2− r2}2 = 0 (3.1) (3.1)式を展開して ∑ (x2i + y2i + Axi+ Byi+ C)2 = 0 (3.2) ここで, A = −2cx (3.3) B = −2cy (3.4) C = c2x+ c2y − r2 (3.5) とする. (3.2)式をA, B, C それぞれについて偏微分すると ∂A = Ax2i + Bxiyi+ Cxi+ ∑ x3i +∑xiyi2 = 0 (3.6) ∂B = Axiyi+ By2i + Cyi+ ∑ x2iyiy3i = 0 (3.7) ∂C = Axi+ Byi+ C ∑ 1 +∑x2i +∑yi2 = 0 (3.8) (3.6)∼(3.8)式を行列式を用いて解くと     ∑ x2 ixiyixixiyiyi2 ∑yixiyi 10n         A B C     =     (x3 i + xiy2i) (x2iy + yi3) (x2i + yi2)     (3.9)     A B C     =     ∑ x2ixiyixixiyiyi2 ∑yixiyi 10n     −1    (x3i + xiyi2) (x2iy + y3i) (x2 i + yi2)     (3.10) (3.10)式よりA, B, Cが求められたら, (3.3)∼(3.5)式に代入してcx, cy, rを求める. cx = A 2 (3.11) cy = B 2 (3.12) √ 2 2− C

(20)

3.4 横顔輪郭特徴点の検出 (3.13)式より求められたrを用い, Csを以下の式で求める. Cs = r−1 (3.14) ここで曲率Csは, 近似円の中心座標が横顔輪郭線より右側にあれば正, 左側にあれば負とし て保存する. すべての曲率計算を行うと,曲率が正の区間と負の区間が出現する. 図3.5のグ ラフは曲率値の変化の例である. 赤線は正の区間と負の区間の切り替わり部分を示している. 正の区間は横顔輪郭の凸部分を示し, 負の区間は凹部分を示す. ここで, 曲率の値が負となる 区間の中点を凹特徴点とし, すべての凹特徴点の座標を保存する. これにより, 鼻の根元・鼻 の直下・唇の間・下唇の下の4点の位置が得られ, それぞれを特徴点a1, a2, a3, a4とする.  次に, 陳らの手法[16]をもとに凸部分の特徴点を抽出する. 隣接する凹特徴点の組をそれ ぞれa1a2, a2a3, a3a4 とする. この各組がなす直線からのユークリッド距離が最大となる横 顔輪郭上の座標を凸特徴点とし, すべての凸特徴点の座標を保存する. これにより, 鼻の先・ 上唇の先・下唇の先の3点の位置が得られ, それぞれをb1, b2, b3とする. 近似曲率円と検出 された特徴点の例を図3.6に示す.

(21)

3.4 横顔輪郭特徴点の検出

(22)

3.5 概形深度値の計算 図3.6 [左]近似曲率円の一部(黒線は横顔輪郭線), [右]検出された横顔特徴点

3.5

概形深度値の計算

3.2節で抽出した正面顔の閉領域に対し, 大まかな深度値を与える. 本稿ではこれを概形深 度値と呼び, 閉領域の各座標における概形深度値を計算することによって生成される概形深 度マップをAとする. キャラクタの頭部を楕円体状であると仮定すると, その顔面は半楕円 体状であるとみなすことができるため, 概形深度値は半楕円体状になるように与える. この 概形深度値は, 3.2節において楕円近似をした際のパラメータを用いて計算する.  注目座標をp = (xp, yp), 楕円の中心座標をc = (xc, yc)としたとき, 点pc間の距離dを 以下のように表す. d = (xp− xc, yp − yc) = (xd, yd) (3.15)

(23)

3.6 詳細深度値の計算 このxd, yd を用い, 概形深度マップA 内のピクセル座標p = (xp, yp)における深度値A(p) を以下の式によって計算する. A(p) =t(1− xd w2 yd h2) (3.16) ここで, パラメータw, hはそれぞれ楕円体の短軸と長軸である. また, tは半楕円体の厚み であり, ユーザ入力によって決定する.

3.6

詳細深度値の計算

本稿では, 目・鼻・唇などの顔のパーツごとに凹凸形状をつけたものを詳細深度値と呼ぶ. 詳細深度値は, 3.5節で算出した概形深度値マップAをもとに, 3.1節の瞳検出によって検出 された瞳の位置座標と, 3.4節で求めた横顔輪郭特徴点を利用して計算される.

3.6.1

瞳部分の深度値計算

一般的なアニメ調人物キャラクタの3Dモデリングにおいて, 瞳の模様はテクスチャに よって表現されることが多い. このため, 瞳部分の 3Dモデルそのものは瞳の形状に合わ せて凹ませる手法が用いられる. そこで瞳部分は, 3.1節の瞳検出によって検出された瞳の 位置座標をもとに, 以下の式を用いて半球状に凹ませるように, 注目画素のピクセル座標 p = (xp, yp)における瞳の深度値E(p)を決定する. E(p) =r2− |c − p|2 (3.17) ここで, rは3.1節で検出された瞳の半径, c = (xEc, yEc)は3.1節で求められた右目または 左目の中心座標である. また, ρは球の半径であり, ユーザ入力によって決定する.

(24)

3.6 詳細深度値の計算

3.6.2

鼻・唇部分の深度値計算

鼻・唇部分の深度値は, 3.4節で求めた横顔輪郭特徴点の位置を利用して計算する. まず, 横顔特徴点anbnanan+1のなす角をθ としたとき, tan θ を以下の式を用いて求める. 図 3.7に横顔特徴点anbnanan+1の2直線のなす角θを示す. m1 = yan − ybn xan − xbn (3.18) m2 = yan − yan+1 xan − xan+1 tan θ = m1− m2 1 + m1m2 図3.7 詳細深度値計算に用いる角θ  次に, このtan θ を用いて鼻または唇の目標深度値 を決定する. ここでいう目標深度値とは, ある範囲に おける深度値が取り得る最大の値を指す. 鼻部分を例 に挙げると, 正面顔の鼻の根元から鼻先にかけて y座 標 をずらしながら順に注目したとき, 注目行のうち 深度値が最大となるのは常に鼻筋にあたる部分であ る. 同様に, 唇部分は唇の山となる部分が最も深度値 が大きくなる. ここで, 鼻筋と唇の山の幅はユーザ入 力によって決定する. 目標深度値は,鼻・上唇・下唇そ れぞれの根元にあたる部分の特徴点a1, a2, a3 の深度 値に tan θ α を足した合計とする. αは高さ調整用パラ メータであり, 本稿で示す結果では鼻をα = 4.0,唇を α = 7.0とした. ここで求めた目標深度値に達するように, 深度値を増加させながら付与す る.  鼻筋または唇の山部分の深度値が与えられると, その部分だけが持ち上がっている状態と なる. このため, その両側を山型に閉じるように深度値を付与する. ここで, 鼻筋または唇の 山部分のベクトルをA = (Ax, Ay, Az), 鼻または唇の際のベクトルをB = (Bx, By, Bz)と

(25)

3.6 詳細深度値の計算 とによって深度値を決定する. ベクトルA, B, P の位置関係の例を図3.8に示す. Pz = (Px− Ax)(Az− Bz) (Ax− Bx) + Az (3.19) 図3.8 A, B, P の位置関係例(鼻横部分) 鼻の下・上唇の下・下唇の下部分も同様に, 鼻直下または唇直下のベクトルを A = (Ax, Ay, Az), 鼻先または唇の先部分のベクトルをB = (Bx, By, Bz)としたとき, 3次元空 間ベクトルAB 上の点P = (Px, Py, Pz)のPz を, 以下の式で求めることによって深度値 を決定する. ベクトルA, B, P の位置関係の例を図3.9に示す. Pz = (Py − Ay)(Az− Bz) (Ay− By) + Az (3.20)

(26)

3.7 深度値マップの平滑化 図3.9 A, B, P の位置関係例(鼻下部分) ピクセル座標p = (xp, yp)における瞳の詳細深度値E(p), 鼻の詳細深度値N (p), 唇の詳 細深度値L(p)としたとき, 詳細深度マップD(p)を以下の式によって求める. D(p) = N (p) + L(p)− E(p) (3.21)

3.7

深度値マップの平滑化

生成された深度値マップM (p) = A(p) + D(p)は, 3.6節で局所的に詳細深度値を付与し たため滑らかではない. モデルをより自然な形状にするため, 深度値マップM をガウシアン フィルタを用いて平滑化する. ここで, 深度値が0の範囲は考慮しないこととする. 本稿で 示す結果では, σ ≃ 0.8とした.

(27)

3.8 キャラクタ顔部のマスク様3Dモデル生成

3.8

キャラクタ顔部のマスク様

3D

モデル生成

3.7節で求めた深度値マップM をもとに, キャラクタ顔部のマスク様3Dモデルを生成す る. M の各ピクセル画素に対し, ピクセル座標のx座標, y座標 および深度値z の値から3 次元空間上の頂点を求める. それらを格子状に接続して, その内部を三角形分割することに より三角形メッシュを生成する.

(28)

4

結果・考察

本章では, 提案手法の実装・実行環境を述べ, 提案システムの実行結果を示す. 次に, 得ら

れた結果から考察を述べる.

4.1

実装・実行環境

提案手法をC++言語により, Microsoft Visual Studio Express 2012 for Windows

Desk-topを用いて実装した.  また, カスケード分類器の学習と画像処理を行うためにOpenCVを使用した. カスケード 分類器の学習に用いる画像を収集するために, Python言語を用いてスクリプトを作成した.  さらに, 3Dモデルの生成と表示を行うため, OpenGLとGLUTライブラリを使用した.  実行環境は表4.1のとおりである. 表4.1 実行環境 項目 要件

OS 64bit Windows 7 Enterprise Service Pack 1 CPU Intel(R) Core(TM) i5-4570 3.20GHz

メモリ 16.0GB

(29)

4.2 3Dモデル出力結果

4.2

3D

モデル出力結果

本節では, 提案システムの検証に用いた入力画像と, 各入力画像を用いた場合の瞳検出結 果, 横顔輪郭特徴点, 深度値マップ, 3Dモデル出力結果, 各処理ごとの処理時間を示す. ここ で示す処理時間は, 5回のモデル生成テストを行い, それぞれの処理時間を平均した結果で ある.

4.2.1

入力画像

1

とその出力結果

入力画像1を図4.1, 瞳検出結果を図4.2, 検出された横顔輪郭特徴点を図4.3, 生成され た深度値マップM1 を図4.4, 3Dモデル出力結果を図4.5に示す. また, 入力画像1を用い た場合の処理時間を図4.6に示す.入力画像1の画像サイズは, 正面顔・横顔ともに547× 703pixelである. 図4.1 入力画像1

(30)

4.2 3Dモデル出力結果

図4.2 入力画像1の瞳検出結果

図4.3 入力画像1の横顔輪郭特徴点

(31)

4.2 3Dモデル出力結果 図4.5 入力画像1を用いた3Dモデル生成結果 図4.6 入力画像1の処理時間

4.2.2

入力画像

2

とその出力結果

入力画像2を図4.7, 瞳検出結果を図4.8, 検出された横顔輪郭特徴点を図4.9, 生成された 深度値マップM2 を図4.10, 3Dモデル出力結果を図4.11に示す. また, 入力画像2を用い た場合の処理時間を図4.12に示す.入力画像2の画像サイズは, 正面顔・横顔ともに600× 685pixelである.

(32)

4.2 3Dモデル出力結果

図4.7 入力画像2

図4.8 入力画像2の瞳検出結果

(33)

4.2 3Dモデル出力結果

図4.10 深度値マップM2

(34)

4.2 3Dモデル出力結果 図4.12 入力画像2の処理時間

4.2.3

入力画像

3

とその出力結果

入力画像3を図4.13, 瞳検出結果を図4.14, 検出された横顔輪郭特徴点を図4.15, 生成さ れた深度値マップM3 を図4.16, 3Dモデル出力結果を図4.17に示す. また, 入力画像3を 用いた場合の処理時間を図 4.18に示す.入力画像3 の画像サイズは, 正面顔・横顔ともに 460× 518pixelである. 図4.13 入力画像3

(35)

4.2 3Dモデル出力結果

図4.14 入力画像3の瞳検出結果 4.15 入力画像3の横顔輪郭特徴点

(36)

4.2 3Dモデル出力結果 図4.17 入力画像3を用いた3Dモデル生成結果 図4.18 入力画像3の処理時間

4.2.4

入力画像

4

とその出力結果

入力画像4を図4.19, 瞳検出結果を図4.20, 検出された横顔輪郭特徴点を図4.21, 生成さ れた深度値マップM4 を図4.22, 3Dモデル出力結果を図4.23に示す. また, 入力画像4を 用いた場合の処理時間を図 4.24に示す.入力画像4 の画像サイズは, 正面顔・横顔ともに

(37)

4.2 3Dモデル出力結果

600× 674pixelである.

図4.19 入力画像4

(38)

4.2 3Dモデル出力結果

図4.22 深度値マップM4

(39)

4.2 3Dモデル出力結果 図4.24 入力画像4の処理時間

4.2.5

入力画像

5

とその出力結果

入力画像5を図4.25, 瞳検出結果を図4.26, 検出された横顔輪郭特徴点を図4.27, 生成さ れた深度値マップM5 を図4.28, 3Dモデル出力結果を図4.29に示す. また, 入力画像5を 用いた場合の処理時間を図 4.30に示す.入力画像5 の画像サイズは, 正面顔・横顔ともに 500× 500pixelである. 図4.25 入力画像5

(40)

4.2 3Dモデル出力結果

図4.26 入力画像5の瞳検出結果 図4.27 入力画像5の横顔輪郭特徴点

(41)

4.2 3Dモデル出力結果 図4.29 入力画像5を用いた3Dモデル生成結果 図4.30 入力画像5の処理時間

4.2.6

入力画像

6

とその出力結果

入力画像6を図4.31, 瞳検出結果を図4.32, 検出された横顔輪郭特徴点を図4.33, 生成さ れた深度値マップM6 を図4.34, 3Dモデル出力結果を図4.35に示す. また, 入力画像6を 用いた場合の処理時間を図 4.36に示す.入力画像6 の画像サイズは, 正面顔・横顔ともに 649× 767pixelである.

(42)

4.2 3Dモデル出力結果

図4.31 入力画像6

図4.32 入力画像6の瞳検出結果

(43)

4.2 3Dモデル出力結果

図4.34 深度値マップM6

(44)

4.3 評価・考察 図4.36 入力画像6の処理時間

4.3

評価・考察

本稿では, サイズや画風の異なる複数の入力画像を用いて提案手法を検証した. その結果, 画像サイズに左右されるものの約500ミリ秒以内という短い処理時間で, おおよそ入力画像 どおりの形状の3Dモデルを生成できることを確認した. 処理時間については, 顔部3Dモ デルの生成処理が最も大きなウェイトを占めており, 次いで閉領域抽出・横顔特徴点抽出・ 深度値マップの平滑化がほぼ同等の割合を占めていることが明らかとなった. 出力された顔 部3Dモデルは, 生成されたモデルをベースとし, ユーザによる修正を経て, ユーザが理想と するモデルを作成するという用途に関しては十分なものだと考えられる.  また顔領域内に図4.7の顔のしわのようなノイズが存在する場合にも, 影響を受けること なくモデルを生成することが可能であった. しかし, 図4.7のように鉤鼻であるなど, 鼻や唇 が一般的な形状とは異なる場合, 入力画像どおりの形状を再現することができないという課 題がある.  その他の問題点として, 本手法では瞳部分の深度値を半球状に凹ませるようにしているが, 瞳の形状が楕円形に近い場合や, 図4.14のように検出範囲から瞳の一部がはみ出している場 合は, 本来の瞳の形状とは異なる形状に陥没してしまうということが挙げられる. しかし, 本 稿で用いた瞳検出器では瞳の位置座標は特定できるものの, 瞳の正確な形状までは特定でき

(45)

4.3 評価・考察

ない. そこで, 検出した瞳の位置座標と, 瞳部分と肌部分の明度差を利用して瞳の形状を推定

(46)

5

おわりに

本研究では, 複雑な3Dモデルの制作を補助することを目的とし, 特に人物キャラクタの 3Dモデルの制作効率を向上させる手法として, キャラクタ顔部3Dモデルの半自動生成の ための方式を提案した. 3Dモデルの利用範囲は広がり続けているが, 複雑な3Dモデルを制 作するにあたっては, 絵画やイラストレーションに関する知識だけでは対応できず, 3Dや数 学に関する専門知識が必要となる. そのため, 初心者にとって複雑なモデルを短時間で作成 することは困難である. 本稿では「正面顔」と「横顔」の2方向から描かれたキャラクタ頭 部のカラーイラストを入力とし, 2 枚の入力画像から顔のパーツの位置やキャラクタ顔部の 形状を推測することによって深度値を与えた. これにより, 少ないユーザ入力かつ短時間で 立体形状の3Dモデルを生成することができた. 本手法によって, キャラクタモデル制作の 効率化が期待できる.  4.3節で述べた他の課題としては, 後頭部のポリゴンの補間, 鼻の根元より上部に凹部分 が存在する場合の対応などが挙げられる. 後頭部の補間に関しては, 顔部形状の推測だけで なく頭部形状を「横顔」画像から推測することで可能となると考えられる. また現在のシス テム設計では, 額部分に皺などによって凹形状が出現した場合, 正確に横顔輪郭特徴点が抽 出できないという問題がある. この問題については, 瞳検出によって瞳の座標位置が特定で きていれば, 瞳の位置よりも上部にある凹特徴点は検出しないといった対応が考えられる.

(47)

謝辞

本研究の遂行と論文の執筆にあたり, 多大なるご指導, ご助言を賜りました高知工科大学 情報学群 栗原 徹 准教授に, 心より感謝し, 厚く御礼申し上げます.  また, 本研究の副査をお引き受けくださった島村 和典 教授ならびに妻鳥 貴彦 准教授にお いては, 適切なご指導をいただきましたことを深く御礼申し上げます.  また, 入力画像5をご提供いただきました中原研究室 奥野遥さんに感謝申し上げます. ご 協力いただきありがとうございました.  最後に, 提案システムの実装にご協力いただくとともに様々なご助言をくださり, 本研究 の遂行を支えていただきました高知工科大学 栗原研究室 関係者各位に心から感謝いたし ます.

(48)

参考文献

[1] Khronos Group, ”WebGL”, https://www.khronos.org/webgl/, 閲覧日 2016年1月

31日.

[2] 総務省, ”(2)デジタルファブリケーション・3Dプリンター”, 平成27年版 情報通信

白書, pp.301-303, 2015.

[3] Dassault Systmes SolidWorks, ”SolidWorks”, http://www.solidworks.co.jp/, 閲覧 日 2016年2月1日.

[4] Autodesk, ”MAYA”, http://www.autodesk.co.jp/products/maya/overview, 閲覧日 2016年1月31日.

[5] Autodesk, ”3ds Max”, http://www.autodesk.co.jp/products/3ds-max/overview,閲 覧日 2016年1月31日.

[6] Blender Foundation, ”blender.org”, https://www.blender.org/, 閲覧日2016年1月

31日.

[7] Autodesk, ”Autodesk 123D Catch”, http://www.123dapp.com/catch, 閲覧日 2016

年2月1日.

[8] Tao Chen, Zhe Zhu, Ariel Shamir, Shi-Min Hu, Daniel Cohen-Or, ”3-Sweep: Ex-tracting Editable Objects from a Single Photo”, ACM Transactions on Graphics (Proceedings of SIGGRAPH Asia 2013), Vol.32, No.6, Article 195, 2013.

[9] The Curvy Team, ”Aartform Curvy 3D: Sculpting Software for Artists”, http://www.curvy3d.com/, 閲覧日 2016年1月31日.

[10] Takeo Igarashi, Satoshi Matsuoka, Hidehiko Tanaka, ”Teddy: A Sketching Interface for 3D Freeform Design”, in Proc. of SIGGRAPH 99, pp.409-416, 1999.

[11] 角真宇, 金森由博, 三谷純, 福井幸男, ”線画イラストを入力とした房状の 3D頭髪モデ

(49)

参考文献

[12] 北村 真紀, 金森 由博, 鶴野 玲冶, ”異なる視点から描かれたイラストからの2.5Dモデ

ル生成”, 情報処理学会研究報告, No.7, pp.1-6, 2014.

[13] Chie Furusawa, Tsukasa Fukusato, Narumi Okada, Tatsunori Hirai, Shigeo Mor-ishima, ”Quasi 3D Rotation for Hand-Drawn Characters”, in Proc. of SIGGRAPH 2014, 2014.

[14] 株式会社Live2D, ”Live2D”, http://www.live2d.com/, 閲覧日 2016年1月31日. [15] 有 限 会 社 M2, ”キ ャ ラ ク タ ー ア ニ メ シ ョ ー ン ツ ー ル E-mote”(原 文 マ マ),

http://emote.mtwo.co.jp/, 閲覧日 2016年1月31日.

[16] 陳文杰, 岡本教佳, 南敏, ”横顔輪郭線を用いた個人の自動識別 −入室管理システムへの

応用−”, 電気学会論文誌C(電子・情報・システム部門誌), 119巻6号, pp.691-699, 平

図 3.5 曲率 C s の変化
図 4.3 入力画像 1 の横顔輪郭特徴点
図 4.7 入力画像 2
図 4.11 入力画像 2 を用いた 3D モデル生成結果
+7

参照

関連したドキュメント

When we measured the curvature at the 3D longitudinal axis, it was almost the same angle, so that by reversing the mesh, we were able to coat the obturator hernia orifice in

This article is organized as follows: In section 2, the model coupling 3D Richards equation with the Dupuit horizontal approximation is introduced; consequences taking

(II) The existence and uniqueness of the solution to the saturated-unsaturated flow model written for di ff usive form of Richards’ equation was proved in the three dimensional case,

In this case the space-time filled with axially symmet- ric condensate proves to be a flat relativistically invariant Finslerian space with partially broken 3D isotropy, while

[18] , On nontrivial solutions of some homogeneous boundary value problems for the multidi- mensional hyperbolic Euler-Poisson-Darboux equation in an unbounded domain,

Xiang; The regularity criterion of the weak solution to the 3D viscous Boussinesq equations in Besov spaces, Math.. Zheng; Regularity criteria of the 3D Boussinesq equations in

In this paper, we will prove the existence and uniqueness of strong solutions to our stochastic Leray-α equations under appropriate conditions on the data, by approximating it by

The authors [9, 21] studied regularity criteria for 3D nonhomogeneous incompressible Boussinesq equations, while Qiu and Yao [17] showed the local existence and uniqueness of