LoginSignup
7
5

More than 3 years have passed since last update.

Python3.6.10でDeepFloorPlanを動かしてみた

Last updated at Posted at 2020-09-28

はじめに

ICCV2019で発表された「Deep Floor Plan Recognition Using a Multi-Task Network with Room-Boundary-Guided Attention」(以下、DeepFloorPlan)をpython3版に書き直して動かしてみました。[paper, github, github(python3版)]

タスクが具体的でビジネス的なニーズがありそうだなと思って気になってました。
今回の記事では、DeepFloorPlanについて簡単に紹介した後、デモプログラムを動かしてみた結果を書いてみます。
学習プログラムを動かした結果なども今後追記予定です。

DeepFloorPlanとは

一言で言うと「部屋の間取りを認識する」DNNです。
deepfloorplan.png
部屋の境界予測タスク、部屋タイプ予測タスクごとにデコーダを分けているのが特徴的です。
また、部屋タイプ予測には部屋の境界情報をアテンションとして使用しています。

ネットワーク自体は割とシンプルですがPSPNetDeepLabV3+よりも良い性能が出ています。
deepfloorplan_eval.png

実行環境

OS: windows10 64bit
GPU: GeForce GTX1060 6GB

デモプログラム実行結果

学習済みのモデルを使用してデモプログラムを動かしてみました。
ここでは、推論が比較的うまく出来ている例とそうでない例を挙げてみたいと思います。

推定できている例

うまくいっている例.png
ホール部分が一部クローゼットやトイレと認識されていますが、背景と各部屋タイプ、ドアと窓まで比較的正しく認識されています。

推定できてない例

うまくいっていない例.png
バルコニーとダイニングルームの境界が正しく認識されていません。ドアのタイプが少し特殊なのが影響していそうです。
また、このデータでは背景と部屋の境界が一部正しく認識されていません。入力画像の背景部分に図面の注釈が入っているのが原因っぽいです。

考察

この他いくつかのデータを見てみましたが、以下の点が難しそうです。

  • ドアのタイプが特殊なもの
  • 背景部分に注釈や寸法が入っている
  • 部屋の形がいびつなもの(単純な矩形ではなく、円形や台形のような部屋)

この辺を対処するような改良を今後加えてみたいと思います。

学習プログラム実行結果

改良して結果を含めて後日追記したいと思います。
精度改良案があれば是非是非コメントお願いします!

7
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5