ふくだぶろーぐ

福田知弘(大阪大学 大学院工学研究科 環境・エネルギー工学専攻)のオフィシャルブログです。

都市とITとが出合うところ 第42回 情報処理教育プログラム (4)

コンピュータビジョン

 過去3回に渡り、学部2年生の高度情報処理プログラムをご紹介した。今回は3年生の講義ノートを。

 コンピュータビジョンは、コンピュータに視覚を持たせる技術の総称であり、2次元画像の解析、3次元シーンの復元、物体認識、対象の検出・追跡など、数多くの研究が行われており、ロボットや自動運転と馴染み深い。環境・エネルギー分野では問題解決に向けて現状の把握を行うことがよく行われるが、その多くは人の手に委ねられており、調査者の多大な労力・コストとエラーが生じている。コンピュータビジョンは、この問題を解決すべく、視覚分野を主な対象として、現状把握を行うための資料作成の自動化、ひいては現状把握の自動化が期待される。また、AR(拡張現実)とコンピュータビジョンを組み合わせることで、将来の緑視率の変化など、肉眼では見えない環境シミュレーションが可能となる1)

 国土基盤システム学は、3年生春・夏学期に開講する選択科目である。筆者の担当は5回であり、授業内容は以下の通りである。

  1. Visual Studio 2015でOpenCV 3.2のセットアップ方法
  2. カラー画像からグレー画像への変換
  3. ピクセル単位の処理
  4. マスク処理
  5. 空間フィルタリングと平滑化
  6. エッジ検出
  7. 幾何学的変換
  8. 2値画像処理
  9. Structure from Motion(SfM

 授業は、Visual StudioがインストールされたWindowsPCが設置されている情報教育室で、プログラミング演習を交えて実施している。上記、項目1~7は、OpenCV(Open Source Computer Vision Library: 画像処理、画像認識、画像理解のためのオープンソースライブラリ)をVisual Studio上でインクルードして実装する。項目8のSfMは、異なる位置から撮影された複数枚の写真から、3次元構造を推定する技術であり、Agisoft PhotoScan、Autodesk Remakeを使用する。担当最終回は、上記単元から出題した課題のプレゼンテーションとした。SfMの課題には、「吹田キャンパスなどで、あなたがインスパイアされたオブジェクトを対象としてSfM化すること」。対象の選定条件として、さらに以下を伝えた。

  • オブジェ、建物、土木構造物など
  • CAD/BIMで作成が難しそうなもの
  • SfMが得意・不得意とする対象物があることに注意すること
  • 再撮影の可能性を配慮しておくこと
  • パラメータや対象などを複数用意して違いや変化を比較考察できること

 図1は、今年3月に進路講演で訪問した、兵庫県加古川東高等学校の校訓の石碑をSfM化したものである。講演開始40分ほど前に会場に入り、写真撮影とSfM作成を行い、講演で紹介した。日頃見慣れた校訓が精緻な3次元モデルとして講演会場に登場した時、高校生たちは相当驚いていたようだ。でき立てホヤホヤのデジタル石碑が舞台の上でクルクル回っている。松の樹皮もリアルだ。やはり、身の回りにあるオブジェクトを対象に、デモすることはインパクト強いようだ。

f:id:fukuda040416:20170816152322j:plain

図1 SfMによる3次元モデリング: (左)入力写真群, (中)生成した点群, (右)生成したテクスチャ付きポリゴン

 さて、大学生たちは、吹田キャンパスにある、室外機、螺旋階段、椅子、ビル、消火栓、人物のブロンズ像、モニュメントなどにインスパイアされ、SfMしてきた(図2(a))。特徴が把握しづらい植栽や線の細い螺旋階段など、うまくいかなかった対象もあったようである。コンピュータビジョンがまだまだ発展途上の技術であり、あらゆる対象がまだ全自動ではないことを併せて理解してもらえれば幸いである。

f:id:fukuda040416:20170703154556j:plain

図2(a) プレゼンテーション: 国土基盤システム学

アクティブラーニング

 環境・エネルギー工学コア演習・実験 第2部(コア演習2)は、同 第1部に引き続いて開講する選択必修科目である。受講生は16個の演習テーマから2つを選択する。2つの演習テーマを各6週ずつ演習していく。各回の受講人数は6名程度である。

 著者の提供する演習テーマは「VR/ARを応用した環境設計シミュレータの開発」である。演習は、アクティブラーニング形式で進めた。まず、2~3名のチームを作り(メンバーはくじ引き)、ここからはチームごとにテーマ決めや役割分担の検討を始める。システム開発の企画書を作成し、実現技術や実装方法を調査し、中間報告会を2度ほど行い、システム開発を進め、最終報告会で成果発表する。報告会を中心として、教員、TA、研究室の上級生からアドバイスをもらう。

 今年度の受講生たちは、MRを用いた立体植物図鑑、画像解析を用いたスポーツ観戦アプリ、顔認識技術を用いた髪型検討ARアプリ、カメラを用いた文字認識と音声出力システム、という4つのテーマを定めてシステム開発を行った。例えば図2(b)は、「顔認識技術を用いた髪型検討ARアプリ」の中間報告会の様子で、写真右端のI君がPCに接続されたWebカメラを持って、隣にいる発表中のS君の顔に向けると、開発したシステムが顔を認識して、3次元の髪型が顔の上方の正しい位置にAR表示されて、スクリーンに表示されている様子である。これらは、Unity上でプログラミングを適宜交えて開発したものである。

f:id:fukuda040416:20170706155140j:plain

図2(b) プレゼンテーション: コア演習2

 自らの考えを表現し、その考えを他人と交換するために、ますます重要となるプログラミング能力。コア演習2は、この能力伸長を含めて、「問題を定義する能力」、「問題を解決する能力」、「チームを組織・運用する能力」を体感してもらう演習プログラムとした。これらの能力は、一朝一夕に身につくものではないが、とにかく早い時期にやり始めて、失敗を少しでも多く経験して、改善していく姿勢が大切であろう。いずれ社会人となり、国際社会で本格的に仕事をする前に、この進め方を少しずつ身に着けてもらえれば幸いである。

 

参考文献

  1. Tomohiro Fukuda, Kazuya Inoue, Nobuyoshi Yabuki: 2017, PhotoAR+DR2016: Integrating Automatic Estimation of Green View Index and Augmented and Diminished Reality for Architectural Design Simulation, Proceedings of the 35th eCAADe Conference, Rome, Italy, 2017.9 (accepted)

PDF: http://y-f-lab.jp/fukudablog/files/1709machinami_FukudaFinal.pdf

大阪府建築士事務所協会「まちなみ」2017年9月号)