FIT2014（第 13 回情報科学技術フォーラム）I-005

レゴブロックを用いた影のトリックアート構築システム
LEGO Block Modeling System to Make a Trick Artwork Using Shadows
生田 寛和†

高井 昌彰††

高井 那美‡

Hirokazu Ikuta

Yoshiaki Takai

Nami Takai

1 ．はじめに芸術作品の一つに影を用いたトリックアートがある．この作品は，Fig.1 のようにその立体形状を直接見ただけではどのようなものか容易に判別できないが，ある方向から作品に光をあて，背景に影をつくることによって，意味のある様々な形状を創出するものである．Fig.1 左のオブジ
ェクトからはその影を判別できないが，光を当てることでFig.1 右のように座り込んだ人物の影を確認することができる．

Fig1.

2 ．影の評価方法
本システムでは得られた影と入力画像がどの程度相似であるかを評価するため，再現率（0～100 の範囲を有する値）を定義した．この再現率はテンプレートマッチングに基づいており，画像のエッジ部分のマッチングを重視するとともに，画像の枠外にブロックが置かれる場合のペナルティを考慮している．これは，画像が似ているかどうかを判断する際，エッジ部分の正否は画像の内側部分の正否よりも人の視覚認識において重要であると考えたためである．
各画像の再現率の積を 3D モデル全体の再現率とし，この値が高まるように 3D モデルの生成とブロックの追加・削除によるモデル形状の修正を行い，得られる影を入力画像に近づけていく．

Fig2.

影のトリックアート HE/SHE[1]一般に，影のトリックアートの製作を行う場合，立体形状を構成する素材の選択，素材の接着，影を確認しながらの製作等の観点から，トリックアートに興味を持った初心者が容易に製作し得るとは言い難い．
そこで本研究では，目標とする異なる複数の影画像を入力として与え, これを基に立体造形可能な 3D モデルを出力する影のトリックアート製作の支援システムを開発した．この 3D モデルに対していくつかの方向から光を当てることにより, 目標とする影を映し出すトリックアートとなる．3D モデルの構築にはレゴブロックを使用しており，それによって問題であった素材の選択，接着を解消し，システム側で 3D モデルを自動構築することで初心者でも容易に影のトリックアートを製作することが可能となる．
ブロック配置の最適化には，レゴブロックの連結性を考慮した山登り法，焼きなまし法，遺伝的アルゴリズムを適用し，異なる 4 方向からの影画像生成に対応可能である．
本システムにより得られた 3D モデルと実際に構築したレゴブロック作品をもとに，システムの有効性や形状再現性について評価する．

再現率

3 ．システムの構成
本システムの全体の構成を Fig.3 に示す．ユーザは入力として複数の二値画像データと，3D モデルの大きさ（ブロックの解像度）を与えることで，球形の初期形状で構成された 3D モデルに対し，システムによって自動決定された光源の位置からのシルエット法を適用する．次に，シルエット法で残った共通部分に対して，ブロックの追加・削除による配置の最適化を行った後，実際にレゴブロックで組み上げることが出来るようにするためのレゴブロック化処理を行う．以上の 3 つのステップを行い，影のトリックアートの 3D モデルと設計図の出力をする．

†北海道大学大学院情報科学研究科, Graduate school ofInformation Science and Technology, Hokkaido University††北海道大学情報基盤センター, Information Initiative
Center, Hokkaido University‡北海道情報大学, Hokkaido Information UniversityFig3.

165
第 3 分冊システムの構成

Copyright © 2014 by
The Institute of Electronics, Information and Communication Engineers andInformation Processing Society of Japan All rights reserved.

FIT2014（第 13 回情報科学技術フォーラム）3.1 シルエット法の適用
本システムでは，はじめにレゴブロックの 1×1 ブロックを最小単位とした球で構成される 3D モデルに対して，光源の位置からシルエット法を適用する．この際の光源は，二値画像の枚数から複数の光源の干渉が最も少なくなる位置，もしくはシルエット法によって得られる全体の再現率が最も高くなる点に自動決定される（手動で光源の位置を決めることもできる）．これにより得られた 3D モデルは，全二値画像の共通部分となっているため，この 3D モデルを探索の出発点としてブロックの追加・削除を行い，配置の最適化を進める．
Fig.4 はシルエット法を適用した初期段階の結果を示している．図の右上のアルファベット（A,B,C,D）は入力として与えられた二値画像であり，右下は 3D モデルから得られた影のイメージとそれらの再現率である．

Fig.5

レゴブロックの種類

本システムは，3D モデルをレゴブロック化する研究[2]の手法を元に，2×2 幅の格子状に区切られた空間を奇数層と偶数層で 1×1 ずつずらし，この格子を基準に 2×2以上の大きさのブロックを配置する．また奇数層と偶数層で配置するブロックの向き（長辺方向）を 90 度回転させる．これらの構築処理による形状生成後に全体の連結判定を行い，ブロック間の未接続部分が一定数以下に減少するまで，ブロックの再配置と構築処理を繰り返す．

3.4 レゴブロック組み上げ支援

Fig.4

シルエット法の適用

3.2 ブロック配置の最適化
シルエット法で得られた 3D モデルに対して，レゴブロックの 1×1 ブロックに相当する大きさのブロックを単位とした追加・削除を繰り返し行うことで，モデルの影を入力画像に近づけていく．
ブロックの配置場所の探索においてはブロックの連結性を考慮し，各ブロックに六方向で隣接している部分を追加可能な場所，削除してもブロックが空間に孤立しない部分を削除可能な場所とし，これを近傍とみなした探索問題として再現率が最も高くなるよう最適化を行う．最適化手法には山登り法，焼きなまし法，遺伝的アルゴリズムの 3手法を用意した．
焼きなまし法のパラメータは更新回数を 500，初期温度を 1 とし，更新ごとに係数 0.996 を温度に乗じてアニーリングを行う．
遺伝的アルゴリズムは 3D モデルのブロックの有無を遺伝子とし，シルエット法を適用した状態の 3D モデルにランダムノイズを加えた 60 の個体が初期世代となる．これ
らの個体から全体の再現率が最も高い個体と入力画像毎の再現率が最も高い個体を入力画像の数だけ選択，残った個体の中から選択された個体の数の合計が 15 になるまでルーレット選択を行う．交叉は各個体同士の 1 部分を複数回交換することで行われる．

本システムは，先に述べた 3D モデル出力の一連の処理以外に，ユーザが影のトリックアートを製作する上で支援となる機能を実装している．ブロックの未接続部分や 3Dモデルが二つ以上のクラスターに大きく分かれてしまう
場合には，これらを色分けによって可視化し，作品の組み立て作業を視覚的に支援する機能や，得られた 3D モデルを実際にレゴブロックで製作する際に必要となる各層毎の配置図出力機能，ポインタを用いて手動でのブロック追加・削除によるレゴブロックの修正機能がある．

Fig.6

未接続部分とクラスター毎の色分け

Fig.7

トリックアート作品の設計図

Fig.8

手動でのレゴブロック修正

3.3 レゴブロック化
最適化された 3D モデルはレゴブロックの 1×1 サイズを基本として構築されているのでこのままでは実際に制作を行うことが出来ない．組み立て可能な作品を得るには，隣接との結合性を満たすように，様々な形状のレゴブロックを用いた形に変換する必要がある．本研究ではレゴブロックの制作においてなじみ深い 1×1，1×2，1×3，2×2，2×3，2×4 の 6 種類のレゴブロックを扱う．

166
第 3 分冊Copyright © 2014 by
The Institute of Electronics, Information and Communication Engineers andInformation Processing Society of Japan All rights reserved.

FIT2014（第 13 回情報科学技術フォーラム）さらに，3D モデルへのポインタ指示による対応する層の位置表示機能や，得られた 3D モデルデータのファイル保存機能等を実現しており，ユーザが影のトリックアートを製作する上で実用的な諸機能を提供している．

4 ．実装と実行結果
本システムの実装は，開発言語に C#を，GUI 作成と 3Dモデル描画に XNA4.0[3]を使用した．システムの実行環境は Table.1 の通りである．
CPURAMOSGPUIntel Xeon 5160 2.99GHz
12.0GB
Windows 7 Professional x64
NVIDIA Quadro FX 3500
Table.1 実行環境

本システムを評価するため，3D モデル生成に要する処理時間等の計測に加え，いくつかの二値画像群からの 3Dモデル生成と，そのモデルに基づいたレゴブロックによるトリックアート作品の製作を行った．それらの結果を以下に示す．

4.2

4 つの入力画像を用いた例

光源から出る光線同士の干渉が大きい 4 つの入力画像を使用した例を示す．Fig.10 では(a)トランプのスート，(b)円，四角形，ダイヤ，三角形，(c)アルファベットのフォント形状，(d)1 から 8 のアラビア数字のフォント形状を入力としている．入力画像の数が 4 つであっても，どれらも概ね類似した影画像が得られている．
しかし Fig.10(c)は入力画像がやや複雑であるためか，3D モデルが二つのクラスターに分割され，Fig.10(d)は殆どのブロックが未接続状態となっている．これより，複雑な入力画像でも類似した影画像は得られるが，複雑さが増すにつれ実際に制作することが困難になっていくことが分かる．このような場合，再現率の向上よりも連結性を重視した最適化手法の考案，またはレゴブロック化の際に未接続の部分を繋げるような処理を実装することで解決することが可能である．

4.1 実行時間
Fig.9 の入力画像群に対する 3D モデル構築に要する処理時間（ステップ数）を，初期形状の層数ごとに Table.2に示す．ここでステップ数とはレゴブロックの追加・削除を行った回数であり，最適化手法には山登り法を用いている．

Fig.9(a)トランプのスート

入力画像(b)丸四角ダイヤ三角(c)アルファベット(d)1 から 8 の数字
Fig.10 モデル構築の実行例

121824
層数99151374
ステップ数6.69
16.9451.27
実行時間[s]1 ステップ67.6
112.2
137.1の実行時間[ms]303642
層数7071129
1823
ステップ数111.84250.86515.36
実行時間[s]1 ステップ158.2
222.2
282.7の実行時間[ms]
Table.2 モデル構築の実行時間（山登り法）

4.3

焼きなまし法の効果

Fig.11 は焼きなまし法の活用例である．同じ入力画像群に対し Fig.11(a)は山登り法，Fig.11(b)は焼きなまし法を用いて最適化を行っており，山登り法では月と星の左下部分が欠けているのに対し，焼きなまし法では同部分の形状が再現されている．

この結果から，層数 x に対する実行時間 f(x)を最少二乗法で近似すると以下のようになる．
f(x) = 257 − 29.5x + 0.838x 2
初心者支援の観点から 1 時間以内でレゴブロックの最適化を完了させる場合を想定すると，本システムで 83 層まで対応可能であり，高さ約 80cm のレゴブロック作品まで適用できるものと推定される．

(a)山登り法(b)焼きなまし法
Fig.11 山登り法と焼きなまし法の比較

4.4

ジャギーの発生と解消

使用されるレゴブロックは直方体であるため，3D モデ
ルから得られる影もレゴブロックの四角が反映されたジ167
第 3 分冊Copyright © 2014 by
The Institute of Electronics, Information and Communication Engineers andInformation Processing Society of Japan All rights reserved.

FIT2014（第 13 回情報科学技術フォーラム）ャギーが発生することがある．
このジャギーは光源がレゴブロックに対し，各面に垂直である場合に発生し，それ以外の位置に光源を配置することで，レゴブロックの立体的な並びがジャギーの補間を行い解消することができる．ジャギーが発生した場合と発生しない場合では，発生しない場合の方が再現率は高くなりやすく，本システムではシルエット法を適用する際に光源を再現率の高まる位置に自動決定するため，ジャギーは発生しにくくなっている．
Fig.12(a)はジャギーが発生した場合であり，レゴブロックの四角が反映されているのが分かる．Fig.12(b)は光源の位置をずらしてジャギーを解消した場合であり，Fig12(a)に比べて輪郭が滑らかであり，合計の再現率も高い．

Fig.14 トリックアートが映し出す影

5 ．まとめと今後の課題(a)ジャギーの発生した場合(b)ジャギーの発生しない場合
Fig.12 ジャギー発生の有無

4.5

実際のレゴブロックを用いて制作した例

Fig.13 は Fig.10(a)のモデルを実際のレゴブロックで構築したものである．この制作例のパラメータは Table.3 に示す通りである．このレゴブロックの立体形状を見てもどのような影を映し出すかは判別できない．
25
初期形状である球の層数49
最適化に要した時間[s]305
ステップ数556
使用したブロック数
18
完成した制作例の層数
17.25
制作例の大きさ[cm]3
組み立て作業時間[h]Table3. 制作例のパラメータ

本稿では，光を当てることで目標とする複数の影画像を映し出すトリックアートの制作支援として，レゴブロックを用いて連結性を考慮したトリックアート生成システムを構築し，実際にレゴブロック作品を構築することで本システムの有効性を示した．
今後の課題としてはレゴブロックの連結性を高める探索手法の改善，入力画像の回転や拡大・縮小への対応によるより柔軟な評価方法の追加，入力の影画像の形と探索手法が得られる影に及ぼす影響の考察が挙げられる．

参考文献
[1]
[2]

[3]
[4]

Tim Noble & Sue Webster - HE/SHE, (Diptych) 2004
http://www.timnobleandsuewebster.com/he_she_2004.ht
ml北川佑樹, 高井昌彰, 高井那美:“レゴブロックのための 3次元近似形状組み立て支援システム”, 第 12 回情報科学技術フォーラム(FIT2013)論文集, RO-001, Vol.4, pp.71-72,(2013).
XNA Developer Center
http://msdn.microsoft.com/en-us/aa937791.aspx
生田寛和，高井昌彰，高井那美:“レゴブロックを用いた影のトリックアート構築システムの開発”，情報処理学会第76 回全国大会，1ZC-5，(2014).

Fig.13 レゴブロックで構築したトリックアート
このレゴブロックのオブジェに対し 4 方向から光を当てて得られた実際の影の様子を Fig.14 に示す．4 つの影がそれぞれトランプのスートを表しているのが分かる．

168
第 3 分冊Copyright © 2014 by
The Institute of Electronics, Information and Communication Engineers andInformation Processing Society of Japan All rights reserved.