20200929のTensorFlowに関する記事は2件です。

TensorFlow1のモデルをCore MLに変換する

グラフからの変換

TensorFlow1からの変換は、
1、凍結グラフからの変換
2、グラフからの直接変換
があります。
1、の凍結グラフの作成方法については「AnimeGANv2をCore MLに変換してiOSでつかう」とおなじです。

TensorFlow1の変換

1、凍結グラフからの変換

mlmodel = ct.convert('inferrence.pb')

2、グラフからの直接変換

mlmodel = ct.convert(self.sess.graph)

グラフからの直接変換は、sess.runしているスクリプトの下に書き込んでしまうのがおすすめです。


お仕事のご相談こちらまで
rockyshikoku@gmail.com

Core MLを使ったアプリを作っています。
機械学習関連の情報を発信しています。

Twitter
MLBoysチャンネル
Medium

相棒
note

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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

はじめに

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

考察

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

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

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

学習プログラム実行結果

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

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む