こんにちは、BULBの足立です。現在BULB社内で、オフィスの図面自動読み取りに関する研究をしています。
オフィス領域で流通する様々な図面フォーマット
AutoFloorでは様々な図面を読み取り可能性を想定しておく必要があります。ざっと考えるだけでも以下のようなパターンがあります。
・CAD図面
・CADからはき出したPDF図面
・CADの内容を編集してパンフレットに掲載する形に加工した図面
・Webサイトに掲載するためにイラストレータなどでより簡易的な内容に加工した図面
・データが存在せず紙の情報だけがある図面
実際はCAD図面一つとっても様々な書き方があります。IT側の人間からすると、なんでもっと構造化されたフォーマットになってないんだ、、とか全部jsonではき出してくれればいいのに、、とか考えてしまいますが、その変換をするために我々が研究を行っています。
現在は以下のようなアプローチで研究を行っています。
1.不要物の除去
図面上には建物以外の様々な情報が書かれています。端っこに会社名が書いていたり、寸法線が書いていたり、何なら手書きのメモがかかれていたりノイズが多数あります。そこからAutoFloorで必要な情報=一般ユーザが必要な情報を抜き出して構造化するための準備を行います。
2.壁の認識
図面上の壁の情報は、複数の線分という形で表現されています。画像内から線分を抽出するのはOpenCVなどの一般的なライブラリを使って行うことができます。ただしそれだけだと不十分です。我々が想定している図面は様々なパターンがあるため、線分の太さ、結合部の書き方、線分の隙間の意味など色々なパターンが考えられます。ここでは一般的なライブラリを使いながら様々な図面のルールに対応するための工夫を機能的に開発して、できる限り自動的に壁検出を行っていきます。
3.図面記号認識
次に図面記号を認識します。窓やドアや柱などのAutoFloorとして必要な記号の認識を行います。一般的に利用される図面記号をテンプレートから選択して自動認識をします。記号には角度や大きさやにじみなどのゆらぎがある可能性があるので、認識パラメータを設定しながら操作できる画面を提供します。
4.最終調整
上記のステップである程度図面認識が完了するはずです。ただ、どうしても100%の精度にはならないので、最終的に目視でもチェックして手動で確認、修正を行うことで、より品質の高い変換を完了することができます。
本機能は現在開発中ですが、近い将来一般ユーザも使える形でリリースしていく予定です!
最後に
BULBでは一緒に図面自動読み取りの研究をしてくれる仲間を募集しています!興味もってくれた方は是非一度ご連絡ください。