まちなみとAI その2〜AIを用いたまちなみの生成〜

まちなみとすまい研究会

1.はじめに

絵が上手い人は、たとえ実在しないまちなみであっても想像上のまちなみを絵にすることができます。では、コンピュータも学習によってまちなみの絵をうまく描写することが出来るのでしょうか。前回のAIを用いた歴史的な景観の評価では、飛騨地方のまちなみ写真をデータとして機械学習を行い、他の歴史的な地区の景観について評価してみました。
今回は機械学習によって、実在しないまちなみの景観をうまく表現できるのか実験してみたいと思います。飛騨地方のまちなみから、まちなみの特質を抽出することで、誰もみたことのない飛騨地方らしいまちなみをつくることは出来るのでしょうか。このような分析を試みることで、今後、そのまちらしさというものを違う角度から視覚的に訴えかけられるのではないでしょうか。

2.分析方法

今回使用する機械学習モデルの基本的なアイデアとして、まちなみの背景にある特徴を考えます。
例えば景観写真を考える場合、写真には撮影する【角度】や【方向】、あるいはまちなみの種類として【歴史的なまちなみ】や【高層ビル群】など、様々な特徴から成り立っていると考えられます。こうした特徴をモデルが自ら(正解データなしで)学習する手法を「教師なし学習」と呼びます。

今回使用する機械学習モデルの基本的なアイデアとして、まちなみの背景にある特徴を考えます。例えば景観写真を考える場合、写真には撮影する【角度】や【方向】、あるいはまちなみの種類として【歴史的なまちなみ】や【高層ビル群】など、様々な特徴から成り立っていると考えられます。こうした特徴をモデルが自ら(正解データなしで)学習する手法を「教師なし学習」と呼びます。

このような教師なし学習のためのアプローチにはいくつかのやり方が考えられますが、今回は画像生成において高い性能を発揮するDCGAN (Deep Convolutional Generative Adversarial Network)1)を使用します。DCGANは以下で説明するGAN(敵対的生成ネットワーク)に、前回の記事で行ったような教師あり学習において大きな成功を収めた畳み込みニューラルネットワークを適用したものです。

GANでは下図に示すような、2つのネットワークを交互に学習させます。1つはGeneratorと呼ばれるもので、今回ではまちなみ写真を生成する「画家」の役割を果たします。この「画家」は先ほど紹介した様々な特徴を「お題」として与えることで、そのお題から架空のまちなみ写真を作成してくれます。例えば、「青空で、緑が多い歴史的景観」というような「お題」を与えれば、それらしいまちなみ写真を作成してくれるわけです。もう1つはDiscriminatorと呼ばれるもので、今回はまちなみ写真の真贋を判定する「鑑定士」の役割を果たします。この「鑑定士」はデータとして与えた実際のまちなみ写真や、「画家」が作成した(偽物の)まちなみ写真を見て、それが本物か偽物かを判断します。


この2人がバランスよく成長してくれれば、「鑑定士」は極めてリアルな画像でもそれが本物でなければ見破るようになりますし、「画家」は目ざとい「鑑定士」をも騙せるようなリアルな画像を作成するようになります。DCGANの論文では、この2人が上手く成長できるような学習方法とネットワーク構造が提案されており、大変優れた性能を発揮しました。

データは前回と同様に、2017年まちなみとすまい研究会が調査した飛騨地方(高山市、飛騨市(旧古川町)、白川村)において収集した写真約3,000枚を用いました。まちなみの写真は建物が正面に写っているものや遠景になっているものを除き、2,292枚を用いました。今回学習に使った写真は、例えば以下のようなものです。

 

 

さて、「画家」と「鑑定士」は飛騨地方のまちなみに潜む本質を掴むことが出来るのでしょうか。

3.結果

DCGANによる機械学習によって、以下のような画像が生成されました。

 

 

今回、学習した写真の枚数が少なく、明るさや写真の角度もばらばらなものを集めたのですが、それでもまちなみとして認識出来るような画像が出来上がっています。細かくみれば不自然なところはありますが、両側を建物に囲まれたような道路、緑地に面した道路など、様々なバリエーションがあることがわかります。さらに、いくつかの画像には水路のようなものが生成されており、道路舗装が石張りのようになっている場合もあります。まちなみとしては、シックな雰囲気の建物が立ち並ぶ、どちらかというと落ち着いた感じのものが多いのではないでしょうか。

具体的に2つのまちなみ画像を抜き出してみます。

 

 

 

左の画像はゆっくりと左に曲がっていく道で、舗装はアスファルト系のものに見えます。右側には古びた古民家と奥に白壁の家が連なっているようにも見えます。奥に山の緑が見えるのも特徴的ですね。右の画像は右方向に蛇行していく道沿いにあり、町家の風景にも見え、建て込んだ住宅地の中にあるようにも見えます。一階部分には焼杉仕上げの壁面でしょうか。道路舗装は石張りにも見えます。この画像にも奥に山があるようにみえます。

続いて、これがしっかりと学習出来ているかを確認するために、生成した2つの画像がどのように関連しているかを確認してみましょう。このためには、「画家」に与える「お題」を、2つの画像を生成するときに与えた「お題」の間で少しずつ変えていけばよいです。「お題」を少しずつ変えていけば、「画家」はそれに応じて少しずつ違うまちなみの画像を生成してくれるはずです。

 

 

こちらの図では、先ほど生成した両端の2つの画像の間に、両者を補間するような画像を並べてみました。つまり、左から2番目の画像は、左端の画像と限りなく近いまちなみ要素をもっていますが、右端の画像のまちなみ要素も少しだけ取り入れていることになります。左端から順に右端へと(あるいは、右端から順に左端へと)眺めてみると、2つの画像が連続的に変化していることがわかります。道路形状に着目すると、左曲がりになっているものが徐々に右曲がりになっていることがわかります。さらに、建物形状をみると、ある建物が徐々に他のものに置き換わっているように見えます。アニメーションにしてみると、画像が連続的に変化していく様子がよくわかります。まだまだ粗い画像ではありますが、少なくともまちなみの構図やその構造について何となく見えてきたのではないでしょうか。

 

 

4.おわりに

今回、飛騨地方らしいまちなみを自動生成出来るのかについて試してみました。結果的に解像度は粗いものの、当地方のまちなみを視覚的に理解出来るような画像を生成することが出来ました。これらの画像は多様なまちなみを映し出しながらも、ある種の一般化されたまちなみも見えてきたといえます。実際、飛騨地方等に行かれると白川郷などの観光スポットを記憶に刻まれるかもしれませんが、今回作り出された飛騨地方らしいまちなみもそのまちらしいまちなみを、これから人間が気付かないような特徴も追及出来るのかもしれません。

参考 1) Radford, A., Metz, L., & Chintala, S. (2015). Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks. http://arxiv.org/abs/1511.06434

今回使用したプログラムは以下のものを改変して使用させていただきました。厚く御礼申し上げます。
・chainer-gan-lib (https://github.com/pfnet-research/chainer-gan-lib)

文責:馬場、西、鈴木

まちなみ生成モデル実装:西