(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-08
(45)【発行日】2024-03-18
(54)【発明の名称】図面構造化システムおよび図面構造化方法
(51)【国際特許分類】
G06F 30/12 20200101AFI20240311BHJP
G06F 30/27 20200101ALI20240311BHJP
【FI】
G06F30/12
G06F30/27
(21)【出願番号】P 2020171941
(22)【出願日】2020-10-12
【審査請求日】2023-02-27
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】317015294
【氏名又は名称】東芝エネルギーシステムズ株式会社
(74)【代理人】
【識別番号】110001380
【氏名又は名称】弁理士法人東京国際特許事務所
(72)【発明者】
【氏名】高倉 啓
(72)【発明者】
【氏名】西 優弥
(72)【発明者】
【氏名】芝 広樹
【審査官】松浦 功
(56)【参考文献】
【文献】特開2005-293042(JP,A)
【文献】特開2018-206250(JP,A)
【文献】特開2019-101514(JP,A)
【文献】特開平09-198416(JP,A)
【文献】特開平07-105353(JP,A)
【文献】米国特許第05251268(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/30 -30/398
(57)【特許請求の範囲】
【請求項1】
シンボルの属性を示す属性情報および前記シンボルと線分との接続関係を定義するためのルールが記憶された構造化ルール定義データベースと、
ラスタ形式図面に描かれている前記シンボルを認識するシンボル認識機能部と、
前記ラスタ形式図面をベクタ形式図面に変換するベクタ変換機能部と、
前記シンボル認識機能部の認識結果に基づいて特定された前記シンボルを前記ベクタ形式図面に配置するとともに、前記構造化ルール定義データベースに記憶された前記属性情報と前記ルールを用いて、前記シンボルに対して前記属性情報を付与して前記ベクタ形式図面を構造化する構造化機能部と、
を備える、
図面構造化システム。
【請求項2】
前記構造化ルール定義データベースには、予め構造化された前記シンボルと前記ベクタ形式図面における前記シンボルの形状の特徴を示す特徴情報とが互いに対応付けられて記憶されており、
前記構造化機能部は、前記シンボル認識機能部の認識された前記シンボルが前記構造化ルール定義データベースに記憶された前記特徴情報を一致する場合に、前記構造化ルール定義データベースに予め記憶された前記シンボルを前記ベクタ形式図面に配置する、
請求項1に記載の図面構造化システム。
【請求項3】
前記シンボル認識機能部の前記認識結果に誤りがあるか否かを確認可能なシンボル確認情報を出力するとともに、誤りがある前記認識結果に対応する前記シンボルを修正する操作を受け付ける誤認識チェック機能部を備える、
請求項1または請求項2に記載の図面構造化システム。
【請求項4】
前記誤認識チェック機能部により修正された前記シンボルの前記認識結果とこれに対応して前記シンボル認識機能部にて用いられた認識設定値とを含む誤認識データを蓄積する誤認識データ蓄積部を備える、
請求項3に記載の図面構造化システム。
【請求項5】
前記誤認識データ蓄積部に蓄積された誤認識データに基づいて、前記シンボル認識機能部にて用いる前記認識設定値を調整する最適認識学習部を備える、
請求項4に記載の図面構造化システム。
【請求項6】
前記構造化機能部は、前記シンボルが認識された前記ラスタ形式図面の座標を特定し、前記ベクタ形式図面の前記座標に対応する位置に前記シンボルを配置する、
請求項1から請求項5のいずれか1項に記載の図面構造化システム。
【請求項7】
前記シンボル認識機能部は、
深層学習により前記シンボルの特徴量を学習した学習済モデルが記憶されたシンボル認識データベースと、
前記シンボル認識データベースに記憶された前記学習済モデルに基づいて前記シンボルを認識するシンボル認識器と、
を備える、
請求項1から請求項6のいずれか1項に記載の図面構造化システム。
【請求項8】
複数の前記シンボルが描かれたラスタ形式の1枚の図面を前記シンボルが描かれた部分以外の部分で区切って複数枚の学習用図面を生成する学習用図面生成部と、
前記学習用図面に基づいて前記学習済モデルを生成する学習済モデル生成部と、
を備える、
請求項7に記載の図面構造化システム。
【請求項9】
前記シンボル認識データベースが前記シンボルのテンプレート画像を記憶するとともに、前記シンボル認識器が前記シンボル認識データベースに記憶された前記テンプレート画像に基づいて前記シンボルを認識するものであり、
前記シンボル認識機能部は、前記学習済モデルに基づく前記認識結果と前記テンプレート画像に基づく前記認識結果のうち認識率が高い方を選択する認識結果選択部を備える、
請求項7または請求項8に記載の図面構造化システム。
【請求項10】
シンボルの属性を示す属性情報および前記シンボルと線分との接続関係を定義するためのルールを構造化ルール定義データベースに記憶するステップと、
シンボル認識機能部が、ラスタ形式図面に描かれている前記シンボルを認識するステップと、
ベクタ変換機能部が、前記ラスタ形式図面をベクタ形式図面に変換するステップと、
構造化機能部が、前記シンボル認識機能部の認識結果に基づいて特定された前記シンボルを前記ベクタ形式図面に配置するとともに、前記構造化ルール定義データベースに記憶された前記属性情報と前記ルールを用いて、前記シンボルに対して前記属性情報を付与して前記ベクタ形式図面を構造化するステップと、
を含む、
図面構造化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、図面構造化技術に関する。
【背景技術】
【0002】
プラントの系統図または回路図などの多数の機器または部品が描かれた図面がある。図面に描かれた機器または部品などの要素はシンボルと称される。このような図面はラスタ形式で大量に保存されている。従来、ラスタ形式図面をベクタ形式図面に変換することで、シンボル同士の繋がりを示す構造化データを作成する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の技術では、ラスタ形式図面からベクタ形式図面に変換した後に、このベクタ形式図面に描かれているシンボルの認識(抽出)を行っている。そのため、ベクタ形式図面に変換したときに生じた誤差が、シンボルの認識の精度に上乗せされてしまい構造化の精度を低下させてしまうという課題がある。
【0005】
本発明の実施形態は、このような事情を考慮してなされたもので、図面に描かれたシンボルの認識の精度を向上させることができる図面構造化技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の実施形態に係る図面構造化システムは、シンボルの属性を示す属性情報および前記シンボルと線分との接続関係を定義するためのルールが記憶された構造化ルール定義データベースと、ラスタ形式図面に描かれている前記シンボルを認識するシンボル認識機能部と、前記ラスタ形式図面をベクタ形式図面に変換するベクタ変換機能部と、前記シンボル認識機能部の認識結果に基づいて特定された前記シンボルを前記ベクタ形式図面に配置するとともに、前記構造化ルール定義データベースに記憶された前記属性情報と前記ルールを用いて、前記シンボルに対して前記属性情報を付与して前記ベクタ形式図面を構造化する構造化機能部と、を備える。
【発明の効果】
【0007】
本発明の実施形態により、図面に描かれたシンボルの認識の精度を向上させることができる図面構造化技術が提供される。
【図面の簡単な説明】
【0008】
【
図5】ラスタ形式図面に描かれたシンボルを示す説明図。
【
図6】図面構造化システムが実行する処理を示すフローチャート。
【
図7】図面構造化システムが実行する処理を示すフローチャート。
【
図8】図面構造化システムが実行する処理を示すフローチャート。
【
図9】図面構造化システムが実行する処理を示すフローチャート。
【
図10】図面構造化システムが実行する処理を示すフローチャート。
【
図11】図面構造化システムが実行する処理を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、図面を参照しながら、図面構造化システムおよび図面構造化方法の実施形態について詳細に説明する。
【0010】
図1の符号1は、本実施形態の図面構造化システムである。この図面構造化システム1は、ラスタ形式図面2をベクタ形式図面に変換し、このベクタ形式図面に基づいて構造化図面3を自動的に生成するものである。なお、ラスタ形式図面2、ベクタ形式図面、構造化図面3は、いずれも電子化された電子ファイル(電子データ)であるものとして説明する。
【0011】
本実施形態で変換の対象となるラスタ形式図面2としては、例えば、プラントに関する図面がある。ここで、プラントに関する図面としては、プラントの建屋、配置図、P&ID(配管計装線図)、ECWD(展開接続図)、IBD(インターロックブロック図)、単結線図、ソフトロジック図などがある。
【0012】
これらの図面の多くは、紙、または紙をスキャナで読み取ってラスタ形式図面2として管理されている。このようなラスタ形式図面2では、図面に描かれている記号、配線、部品などの互いの関係性を示す情報が失われており、構造化された図面となっていない。これに対して、CADソフトを用いて作成される構造化図面3は、記号、配線、部品などの互いの関係性を示す情報を付与しながら作成されるため、構造化された図面となっている。
【0013】
ラスタ形式図面2を、CADソフトを用いて作成されたような構造化図面3に変換することができれば、構造化図面3を用いてプラントの回路または系統を探索し、その挙動を模擬するようなシミュレーションに適用することができる。例えば、プラントにおけるアイソレーション作業を計画するシステムの構築が可能になる。また、プラント以外においても、例えば、上下水道の配管に関するラスタ形式の図面を構造化すると、構造化した図面を用いて配管の破損による漏水影響、または予測を行うシミュレーションが可能となる。そこで、本実施形態の図面構造化システム1は、ラスタ形式図面2をベクタ形式図面に変換し、これを構造化図面3する処理を行う。このようにすれば、既存のラスタ形式図面2を有効に活用することができる。
【0014】
ラスタ形式図面2(ビットマップ画像)とは、図面に描かれている機器、弁、ポンプ、電子素子、回路、配管、配線、表、文字などが全てドット(ピクセル)の集合体である図面である。紙図面、または紙図面をスキャナで読み取ったTIF、PDF、JPEGなどの電子ファイル図面である。なお、以下の説明では、図面に描かれた機器、弁、ポンプ、電子素子、回路などの構成要素をシンボル4(
図5)と称する。例えば、シンボル4が電子素子である場合には、コイル、スイッチ、ランプなどを含む。
【0015】
なお、シンボル4には、所定の記号、表、文字などが含まれる場合がある。また、配管、配線などのシンボル4に接続される構成要素を線分5(
図5)と称する。なお、線分5は、直線でも良いし、曲線でも良いし、屈曲された線でも良い。
【0016】
ラスタ形式図面2では、描かれているぞれぞれのシンボル4に対し、シンボル4の属性を示す属性情報とシンボル4に接続される線分5を示す接続情報とが付与されていない。つまり、構造化されていない図面である。
【0017】
属性情報とは、シンボル4の種別(例えば、コイル、A接点、ポンプなどの種類)、シンボル4の名称(例えば、機器の識別番号)、シンボル4の詳細スペックなどに関する情報のことである。また、線分の種別(例えば、配線、配管などの種類)、線分の名称(例えば、配管の識別番号)、線分の詳細スペックなどに関する情報のことである。なお、線分が配管の場合には内部を流れる流体の種類などに関する情報のことである。また、盤枠8の盤名称などに関する情報のことである。
【0018】
接続情報とは、例えば、配線同士が接続されているか、または、配管といずれのシンボルとが接続されているかといった接続先(接続関係)を示す情報のことである。この接続情報には、配線または配管などの線分5に関する情報が含まれている。なお、ベクタ形式図面(ベクタ画像)とは、線分5の始点および終点の座標と、線分5を表す関数などによって構成された図面である。
【0019】
また、構造化図面3とは、少なくとも文字および英数字以外のシンボル4と線分5などがベクタ形式で描かれている図面(ベクタ画像)である。構造化図面3では、描かれているぞれぞれのシンボル4と線分5に対し、属性情報と接続情報とが付与されている。また、シンボル4と線分5とを含む構造要素に、文字(英数字含む)情報が属性情報として関連付けられている。
【0020】
構造化図面3に描かれているシンボル4には、階層を示す階層情報が付与されている。そのため、構造化されたシンボルを含むデータを階層ごとに分類して記録媒体に記録することができる。
【0021】
図5は、展開接続図を示す。この展開接続図には、例えば、シンボル4に含まれるリレー6が描かれている。本実施形態の属性情報とは、例えば、シンボル4がリレー6であることと、このリレー6が「49X」という機器名称(文字9)を有し、さらに配線7a,7bとの接続点である「6A」と「6B」を有することを示す情報である。また、接続情報とは、例えば、リレー6の接続点「6A」が配線7aと接続されており、さらに配線7aがリレー6とその接続点に接続されていることを示す情報である。展開接続図には、盤枠8なども記載されている。さらに、英数字を含む文字9なども記載されている。
【0022】
なお、シンボル4が弁またはポンプなどの機器の場合には、属性情報は、例えば、ポンプなどの機器の種類および名称などの情報である。また、配管の場合には、配管の種類、名称、流体の種類に関する情報である。接続情報は、弁またはポンプなどの機器と配管との接続関係を示した情報である。
【0023】
次に、図面構造化システム1のシステム構成を
図1から
図3に示すブロック図を参照して説明する。
【0024】
図1に示すように、図面構造化システム1は、事前処理部10とベクタ変換機能部11と文字認識機能部12とシンボル認識機能部13と誤認識チェック機能部14と構造化機能部15と誤認識データ蓄積部16と最適認識学習部17と構造化チェック機能部18と誤構造化データ蓄積部19と最適構造化学習部20と学習用図面生成部21と学習済モデル生成部22とを備える。これらは、メモリまたはHDDに記憶されたプログラムがCPUによって実行されることで実現される。
【0025】
さらに、図面構造化システム1は、構造化ルール定義データベース23とデータ構造定義データベース24とシンボル認識データベース25とを備える。これらは、メモリまたはHDDに記憶され、検索または蓄積ができるよう整理された情報の集まりである。
【0026】
構造化ルール定義データベース23には、構造化ルール情報登録部26と属性情報登録部27と接続情報登録部28と最適構造化学習データ登録部29とが設けられている(
図3)。データ構造定義データベース24には、階層情報登録部30が設けられている(
図3)。シンボル認識データベース25には、学習済モデル登録部31とテンプレート画像登録部32とが設けられている(
図2)。
【0027】
本実施形態の図面構造化システム1は、CPU、ROM、RAM、HDDなどのハードウェア資源を有し、CPUが各種プログラムを実行することで、ソフトウェアによる情報処理がハードウェア資源を用いて実現されるコンピュータで構成される。さらに、本実施形態の図面構造化方法は、各種プログラムをコンピュータに実行させることで実現される。
【0028】
なお、図面構造化システム1は、パーソナルコンピュータに実装されても良いし、所定の施設の内部に設けたサーバに構築されても良いし、外部の施設に設けたサーバに構築されてもいし、ネットワーク上のクラウドサーバに構築されても良い。
【0029】
図面構造化システム1の各構成は、必ずしも1つのコンピュータに設ける必要はない。例えば、ネットワークで互いに接続された複数のコンピュータを用いて1つの図面構造化システム1を実現しても良い。
【0030】
なお、特に図示はしないが、図面構造化システム1は、これを使用するユーザの操作に応じて所定の情報が入力される情報入力部を備える。この情報入力部には、マウスまたはキーボードなどの入力装置が含まれる。つまり、これら入力装置の操作に応じて所定の情報が図面構造化システム1に入力される。
【0031】
本実施形態の図面構造化システム1には、処理結果の出力を行うディスプレイなどの画像の表示を行う装置が含まれる。つまり、図面構造化システム1が行う情報の出力の制御には、ディスプレイに表示される画像の制御が含まれる。なお、ディスプレイはコンピュータ本体と別体であっても良いし、一体であっても良い。さらに、ネットワークを介して接続される他のコンピュータが備えるディスプレイに表示される画像の制御を図面構造化システム1が行っても良い。
【0032】
なお、本実施形態では、画像の表示を行う装置としてディスプレイを例示するが、その他の態様であっても良い。例えば、プロジェクタを用いて情報の表示を行っても良い。さらに、紙媒体に情報を印字するプリンタをディスプレイの替りとして用いても良い。つまり、情報の出力の制御の対象として、プロジェクタまたはプリンタが含まれても良い。
【0033】
図1に示すように、事前処理部10は、ラスタ形式図面2に含まれる斑点、汚れ、歪み、欠けなどのノイズを除去して修正する処理を実行する。この処理は、図面構造化システム1に入力されたラスタ形式図面2が、ベクタ変換機能部11と文字認識機能部12とシンボル認識機能部13に入力される前に実施される事前処理である。なお、ノイズの除去および修正は、予め設定された設定値に基づく画像処理により実施される。
【0034】
なお、紙をスキャナで読み取って生成されたラスタ形式図面2である場合には、読み取られた図が傾いていたり、倍率(縮尺)が異なっていたりする場合がある。そこで、事前処理部10が、図の傾きまたは倍率を修正する処理を実行しても良い。また、同一の形状のシンボル4であっても、シンボル4が傾いて記載されていたり、倍率(縮尺)が異なって記載されていたりする場合がある。そこで、事前処理部10が、シンボル4の傾きまたは倍率を修正する処理を実行しても良い。
【0035】
ベクタ変換機能部11は、ラスタ形式図面2をベクタ形式図面に変換するベクタ変換処理を実行する。ここで、ラスタ形式図面2に含まれる文字9(英数字含む)およびシンボル4以外をベクタ変換したものが、本実施形態のベクタ形式図面である。
【0036】
ベクタ変換機能部11は、ラスタ形式図面2をベクタ形式図面に変換する前に、文字9について事前に設定された条件に適合するラスタ形式図面2に含まれる画像を特定し、これらの画像をベクタ変換対象外に指定しても良い。そして、ベクタ変換機能部11は、ラスタ形式図面2に含まれる文字9以外をベクタ変換しても良い。なお、事前に設定された条件としては、例えば、ラスタ形式図面2に含まれる10ピクセル以内の画像を文字9とみなすものとする。
【0037】
また、ベクタ変換機能部11は、ラスタ形式図面2をベクタ形式図面に変換する前に、シンボル4について事前に設定された条件に適合するラスタ形式図面2に含まれる画像を特定し、これらの画像をベクタ変換対象外に指定しても良い。そして、ベクタ変換機能部11は、ラスタ形式図面2に含まれるシンボル4以外をベクタ変換しても良い。なお、事前に設定された条件としては、例えば、ラスタ形式図面2に含まれる所定の特徴量を有する形状を成す画像をシンボル4とみなすものとする。
【0038】
なお、ベクタ変換機能部11では、ラスタ形式図面2に含まれる文字9も含めて、ラスタ形式図面2をベクタ形式図面に変換しても良い。また、ラスタ形式図面2に含まれるシンボル4も含めて、ラスタ形式図面2をベクタ形式図面に変換しても良い。そして、ベクタ変換機能部11で変換された文字9またはシンボル4は、文字認識機能部12またはシンボル認識機能部13で認識された文字9またはシンボル4と置換されても良い。これらの置換の際には、認識率が高い方が選択されるようにしても良い。
【0039】
文字認識機能部12は、ラスタ形式図面2から文字9(英数字を含む)を認識するものである。なお、ラスタ形式図面2からベクタ形式図面に変換された後に、このベクタ形式図面から文字9を認識するようしても良い。即ち、文字認識機能部12は、ラスタ形式図面2に含まれる文字9を認識可能となっているとともに、ベクタ変換機能部11により変換されたベクタ形式図面に含まれる文字9を認識可能となっている。
【0040】
図2に示すように、シンボル認識機能部13は、ラスタ形式図面2に描かれているシンボル4を認識する。このシンボル認識機能部13は、シンボル認識器33と認識結果選択部34と認識ルール設定部35とを備える。さらに、シンボル認識器33は、画像リサイズ処理部36と座標認識部37と深層学習画像認識部38とテンプレート画像認識部39とを備える。
【0041】
シンボル認識機能部13は、ラスタ形式図面2が入力されたときに、ラスタ形式図面2に描かれているシンボル4の認識結果40として、シンボル4の種類、シンボル4の座標、シンボル4の認識率を出力する。
【0042】
シンボル4の種類は、機器、弁、ポンプ、電子素子、回路要素などの構成要素の種類を示す。シンボル4の座標は、ラスタ形式図面2における所定の位置を原点として絶対座標を規定したときに、その座標におけるシンボル4の位置を示す。シンボル4の認識率は、シンボル認識データベース25に予め登録されたシンボル4に関する情報とラスタ形式図面2のシンボル4から抽出されたシンボル4に関する情報との一致率(認識精度)を示す。
【0043】
なお、認識ルール設定部35には、シンボル認識ルールとしてのシンボル4を認識するときの認識設定値として所定の閾値が設定されている。例えば、認識設定値が閾値以下の場合には、認識が失敗したと判定し、認識設定値が閾値を超える場合には、認識が成功したと判定する。また、認識設定値には、閾値以外の設定値が含まれていても良い。例えば、ベクタ変換のときに用いる変換設定値が含まれていても良い。
【0044】
シンボル認識器33は、シンボル4を認識する処理を実行する。ここで、画像リサイズ処理部36は、ラスタ形式図面2の画像のリサイズを実行する。画像の傾き、または倍率(縮尺)などを、シンボル4が認識し易いように調整する。
【0045】
座標認識部37は、ラスタ形式図面2におけるシンボル4の座標の位置を認識する。この座標認識部37が、シンボル4の座標の位置を認識することで、前述のベクタ変換機能部11が変換したベクタ形式図面の同じ座標位置に、シンボル認識機能部13が認識したシンボル4を配置することができる。なお、シンボルの座標位置の認識は、深層学習画像認識部38またはテンプレート画像認識部39で行っても良い。
【0046】
深層学習画像認識部38は、シンボル認識データベース25に記憶された学習済モデルに基づいて、ラスタ形式図面2のシンボル4を認識する。例えば、座標認識部37で指定した位置にある画像を、深層学習画像認識部38の学習済みモデルに入力する。そして、入力した画像中に含まれるシンボル4の認識を行うことが可能である。このようにすれば、深層学習に基づく画像認識技術を用いてラスタ形式図面2のシンボル4を認識させることができる。このシンボル4の認識には、どのような種別のシンボルなのかを分類することが含まれても良い。
【0047】
なお、深層学習画像認識部38は、ラスタ形式図面2にあるシンボル4の座標の認識と、シンボル4の認識とを合わせて行っても良い。
【0048】
テンプレート画像認識部39は、シンボル認識データベース25に記憶されたテンプレート画像に基づいて、ラスタ形式図面2のシンボル4を認識する。例えば、テンプレート画像の特徴点を捉えることでシンボル4の認識を行うことが可能である。なお、テンプレート画像は、認識対象となっているシンボル4のひな型となる画像である。1種類のシンボル4に対して複数のテンプレート画像が登録されていても良い。
【0049】
なお、テンプレート画像認識部39は、ラスタ形式図面2にあるシンボル4の座標の認識と、シンボル4の認識とを合わせて行っても良い。
【0050】
学習済モデルは、シンボル認識データベース25の学習済モデル登録部31に予め登録されている。これらの学習済モデルは、深層学習によりシンボル4の特徴量を学習させて生成されたものである。また、テンプレート画像は、シンボル認識データベース25のテンプレート画像登録部32に予め登録されている。つまり、シンボル認識データベース25が、学習済モデルを記憶するとともに、シンボル4のテンプレート画像を記憶する。
【0051】
本実施形態のシンボル認識器33は、深層学習画像認識部38およびテンプレート画像認識部39以外の認識部(認識器)を備えていても良い。また、深層学習画像認識部38およびテンプレート画像認識部39などの複数の認識部を組み合せてシンボル4の認識をしても良い。
【0052】
認識結果選択部34は、学習済モデルに基づく認識結果とテンプレート画像に基づく認識結果のうち認識率が高い方を選択する。このようにすれば、認識率の高い方の認識結果に基づいてシンボル4を認識することができるため、シンボル4の認識の精度を向上させることができる。
【0053】
例えば、深層学習画像認識部38(第1種の分類器)は、深層学習を用いた手法である。深層学習を用いた手法は教師データを準備して、その特徴を学習させる必要がある。そのため、学習が不充分であると検出精度が低いといったデメリットがある。一方、図面の変化またはノイズに対して比較的ロバストであるというメリットがある。
【0054】
テンプレート画像認識部39(第2種の分類器)は、テンプレートマッチングと呼ばれる手法を用いる。テンプレートマッチングとは、認識対象の図面の中に、テンプレート画像として用意したシンボル4の画像が存在するかを探索する手法である。テンプレート画像は、定型形状のシンボル群で構成されているため、テンプレートマッチング有効である。テンプレートマッチングは、特徴点抽出処理または教師データの準備などが不要であるため、導入が容易といったメリットがある。一方、ノイズまたは歪みなどの影響、または図面の僅かな違いの影響を受け易いといったデメリットがある。
【0055】
本実施形態では、これら2種類の分類器を組み合わせることで、高精度にシンボル4を検出できるようにしている。また、後述する構造化を行う処理で、ベクタ変換の結果と、シンボル認識結果とを合成するために、ラスタ形式図面2の縮尺、基準点座標を取得するための処理も併せて行うようにしても良い。
【0056】
なお、シンボル認識データベース25に登録されているシンボル4に関する情報は、構造化ルール定義データベース23にも予め登録されている(
図3)。そして、シンボル認識データベース25に登録されている情報と、構造化ルール定義データベース23に登録されている情報とでシンボル4の定義に関して連携がとられている。例えば、「SA1」という名称のシンボル4がシンボル認識データベース25に登録されている場合には、構造化ルール定義データベース23にも「SA1」の定義情報が登録されている。
【0057】
図1に示すように、誤認識チェック機能部14は、ベクタ変換機能部11にてベクタ変換されたベクタ形式図面に誤変換があるか否かを確認する。また、誤認識チェック機能部14は、文字認識機能部12にて認識された文字9に誤りがあるか否かを確認する。さらに、誤認識チェック機能部14は、シンボル認識機能部13にて認識されたシンボル4に誤りがあるか否かを確認する。誤認識(誤変換)の確認は、自動的に行っても良いし、人手により行っても良い。なお、誤認識(誤変換)がある場合には、その修正を行う。
【0058】
本実施形態の誤認識チェック機能部14は、図面構造化システム1が備えるディスプレイに、ベクタ形式図面に誤変換があるか否かを確認可能な変換確認情報を出力する。また、誤認識チェック機能部14は、認識された文字9に誤りがあるか否かを確認可能な文字確認情報をディスプレイに出力する。さらに、誤認識チェック機能部14は、認識されたシンボル4に誤りがあるか否かを確認可能なシンボル確認情報をディスプレイに出力する。図面構造化システム1のユーザは、ディスプレイに出力されたそれぞれの確認情報を確認して誤認識(誤変換)があるか否かを判断する。なお、確認情報は、例えば、シンボル4または文字9の認識率などである。この認識率が所定の閾値以下(例えば、50%以下)である場合に、確認情報として対応するシンボル4または文字9を出力する。
【0059】
誤認識の態様としては、例えば、ベクタ形式図面の配線が未接続になること、または、ベクタ形式図面のシンボル4が本来ならば円形状であるのに対して多角形状になることなどである。
【0060】
ユーザは、誤認識があると判断した場合に、その誤認識箇所(誤変換箇所)を修正する操作を行う。この操作を受け付けた誤認識チェック機能部14は、誤認識箇所を修正する処理を実行する。例えば、誤認識チェック機能部14が、誤りがある認識結果(変換結果)に対応するシンボル4を修正する操作を受け付けて、これを修正する処理を実行することができる。このようにすれば、誤った認識結果に基づいてベクタ形式図面に配置されたシンボル4を修正することができる。
【0061】
誤認識データ蓄積部16は、誤認識チェック機能部14により修正されたベクタ形式図面とこれに対応してベクタ変換機能部11にて用いられた変換設定値とを含む誤認識データを蓄積する。また、誤認識データ蓄積部16は、誤認識チェック機能部14により修正された文字9とこれに対応して文字認識機能部12にて用いられた認識設定値とを含む誤認識データを蓄積する。さらに、誤認識データ蓄積部16は、誤認識チェック機能部14により修正されたシンボル4の認識結果とこれに対応してシンボル認識機能部13にて用いられた認識設定値とを含む誤認識データを蓄積する。このようにすれば、過去の誤認識データを蓄積してその後の調整に利用することができる。
【0062】
最適認識学習部17には、誤認識データ蓄積部16に蓄積されたベクタ変換機能部11の誤変換に関する情報(ベクタ変換前のラスタ形式図面2と、ベクタ変換機能部11により誤変換された結果と、誤認識チェック機能部14により修正された変換結果と、ベクタ変換機能部11が誤変換した際の変換設定値)が入力される。
【0063】
そして、最適認識学習部17は、誤認識データ蓄積部16から入力されたベクタ変換機能部11の誤変換に関する情報をもとに、ベクタ変換機能部11による誤変換の発生率を低減させる最適な変換設定値を演算して学習する。なお、誤変換のデータが多数ある場合には、最適認識学習部17は、多層のニューラルネットワークを用いた深層学習を使用しても良い。最適認識学習部17は、さらに、演算した最適な変換設定値をベクタ変換機能部11にフィードバックして、このベクタ変換機能部11におけるベクタ変換の変換設定値を更新させる。
【0064】
また、最適認識学習部17には、誤認識データ蓄積部16に蓄積された文字認識機能部12の誤認識に関する情報(誤認識前のラスタ形式図面2と、文字認識機能部12により誤認識された結果と、誤認識チェック機能部14により修正された認識結果と、文字認識機能部12が誤認識した際の認識設定値)が入力される。
【0065】
そして、最適認識学習部17は、誤認識データ蓄積部16から入力された文字認識機能部12の誤認識に関する情報をもとに、文字認識機能部12による誤認識の発生率を低減させる最適な認識設定値を演算して学習する。なお、誤認識のデータが多数ある場合には、最適認識学習部17は、多層のニューラルネットワークを用いた深層学習を使用しても良い。最適認識学習部17は、さらに、演算した最適な認識設定値を文字認識機能部12にフィードバックして、この文字認識機能部12における文字9の認識設定値を更新させる。
【0066】
さらに、最適認識学習部17には、誤認識データ蓄積部16に蓄積されたシンボル認識機能部13の誤認識に関する情報(誤認識前のラスタ形式図面2と、シンボル認識機能部13により誤認識された結果と、誤認識チェック機能部14により修正された認識結果と、シンボル認識機能部13が誤認識した際の認識設定値)が入力される。
【0067】
そして、最適認識学習部17は、誤認識データ蓄積部16から入力されたシンボル認識機能部13の誤認識に関する情報をもとに、シンボル認識機能部13による誤認識の発生率を低減させる最適な認識設定値を演算して学習する。なお、誤認識のデータが多数ある場合には、最適認識学習部17は、多層のニューラルネットワークを用いた深層学習を使用しても良い。最適認識学習部17は、さらに、演算した最適な認識設定値をシンボル認識機能部13にフィードバックして、このシンボル認識機能部13におけるシンボル4の認識設定値を更新させる。
【0068】
つまり、最適認識学習部17は、誤認識データ蓄積部16に蓄積された誤認識データに基づいて、シンボル認識機能部13にて用いる認識設定値を調整する。このようにすれば、過去に行われた誤認識の修正に基づいて、シンボル認識機能部13のシンボル4の認識の精度を向上させることができる。
【0069】
図3に示すように、構造化ルール定義データベース23は、ベクタ形式図面に描かれている構成要素(例えば、配線、図枠、盤枠、回路要素、表構造、操作スイッチ展開図、渡り線など)を構造化する際のルールを規定したデータベースである。
【0070】
構造化ルール情報登録部26は、構造化ルール定義データベース23の一部である。この構造化ルール情報登録部26には、構成要素の特徴を規定する情報が登録されている。つまり、予め構造化されたシンボル4と、ベクタ形式図面におけるシンボル4または線分の形状の特徴を示す特徴情報とが互いに対応付けられて記憶されている。さらに、ベクタ形式図面におけるシンボル4の特徴(形状)を示す特徴情報が、シンボル4の種類を個々に識別可能な識別情報に対応付けて登録されている。シンボル4の識別情報とは、例えば、シンボル4の名称でも良いし、シンボルIDでも良い。
【0071】
例えば、ベクタ形式図面において、配線(
図5の線分5)の特徴は、所定長さ以上の実線である。所定の回路要素(シンボル4)の特徴としては、例えば、回路要素がリレー6の場合は、
図5に示すように、円および所定長さ未満の実線を組み合わせたものが特徴となる。また、線分については、例えば盤枠8の特徴は2点鎖線である。
【0072】
また、属性情報登録部27には、シンボル4の識別情報に対応付けて、シンボル4の属性を示す属性情報(プロパティ)が登録されている。さらに、接続情報登録部28には、シンボル4と線分(配線または配管)との接続関係を定義するためのルールを示す登録されている。
【0073】
データ構造定義データベース24は、構造化された構造要素のデータを分類して記録する際に基準となるデータ構造の階層(レイヤー)を規定したデータベースである。例えば、データ構造定義データベース24の階層情報登録部30には、シンボル4の識別情報に対応付けて、データ構造の階層を示す階層情報が登録されている。
【0074】
なお、構造化された配線のデータおよびシンボル4のデータは、データ構造定義データベース24に登録されたデータ構造の階層に基づいて、図示しない記録媒体に階層構造で分類して記録することができる。
【0075】
構造化機能部15は、シンボル認識機能部13の認識結果に基づいて特定されたシンボル4をベクタ形式図面に配置する処理を実行する。さらに、構造化機能部15は、構造化ルール定義データベース23に記憶された属性情報を参照するとともに、シンボル4と線分との接続関係を定義するためのルールに従って、シンボル4に属性情報と接続情報とを付与してベクタ形式図面を構造化する処理を実行する。
【0076】
例えば、構造化機能部15は、構造化ルール定義データベース23(構造化ルール情報登録部26を含む)を参照し、シンボル認識機能部13の認識されたシンボル4が構造化ルール定義データベース23に記憶された特徴情報を一致するか否かを判定する。そして、特徴情報が一致する場合に、構造化ルール定義データベース23に予め記憶されたシンボル4をベクタ形式図面に配置する。このようにすれば、予め構造化された精度の高いシンボル4をベクタ形式図面に配置することができる。
【0077】
また、構造化機能部15は、シンボル4が認識されたラスタ形式図面2の座標と、ベクタ形式図面との対応関係を算出し、ラスタ形式図面2で特定された座標に対応するベクタ形式図面の座標位置にシンボル4を配置する処理を実行する。このようにすれば、ラスタ形式図面2とベクタ形式図面の互いの座標に基づいてシンボル4の配置ができるため、構造化の精度を向上させることができる。
【0078】
構造化されるときの属性情報について説明する。例えば、ラスタ形式図面2のシンボル4をシンボル認識器33で認識する。ここで、シンボル4の名称を特定したとする。ここで、シンボル4の形状情報と名称とを、その対応関係を記憶した構造化ルール情報登録部26を用いて照合する。
【0079】
また、属性情報登録部27に登録されている属性情報の一部の値が空になっているとする。ここで、構造化情報付与部44は、属性情報の一部の空になっている値に、ラスタ形式図面2から取得した文字情報を入れるようにする。例えば、シンボル変換機能部43が、ベクタ形式図面で所定のシンボル4を構造化したものと置換したとする。ここで、構造化情報付与部44は、ラスタ形式図面2で所定のシンボル4の付近の文字情報を属性情報として登録する。
【0080】
構造化されるときの接続情報について説明する。例えば、構造化情報付与部44が、ベクタ化された線分を配線として定義するとともに、この線分の近くにある文字情報を配線の属性情報として定義したとする。ここで、構造化情報付与部44は、配線とシンボル4との接続情報を定義する。例えば、接続情報は、所定の配線が第1器具に接続されるとともに、この配線が枝分かれして第2器具と第3器具に接続されるなどを示す情報である。
【0081】
シンボル4と線分とが、どのような場合に接続しているか、逆に接続していないかなどの定義に関するルールが、接続情報登録部28に登録されている。例えば、接続情報登録部28には、シンボル4の端点から近傍の線分までの距離が、10ミリ以上離れている場合には、互いに接続されていないものと見なすなどのルールが登録される。
【0082】
また、構造化機能部15は、ベクタ形式図面に配置されたシンボル4および線分5などの構造化のデータを、データ構造定義データベース24に登録された階層情報に基づいて階層ごとに分類し、図示しない記録媒体に記録する。
【0083】
本実施形態の構造化機能部15は、配線抽出機能部41と図枠抽出機能部42とシンボル変換機能部43と構造化情報付与部44と表構造抽出機能部45と操作スイッチ展開図抽出機能部46と図面描写機能部47と図面名称付与機能部48とを備える。
【0084】
構造化機能部15の配線抽出機能部41は、ベクタ形式図面に描かれている線分5である配線(
図5)を抽出する。例えば、配線を抽出する場合において、配線抽出機能部41は、まず、ベクタ形式図面において、所定長さ以上の実線を探索して抽出する。次に、配線抽出機能部41は、この抽出した実線が構造化ルール定義データベース23に登録された配線の特徴(実線)と一致するか否かを判定する。ここで、一致する場合に、この抽出した実線を構造化ルール定義データベース23に登録した配線であると定義して構造化する。その後、配線抽出機能部41は、その構造化した配線のデータを、データ構造定義データベース24で定義されたデータ構造の階層に基づいて、記録媒体に分類して記録し、その配線に識別番号(線番号)を付する。
【0085】
図枠抽出機能部42は、ベクタ形式図面に描かれている図枠または盤枠8(
図5)などを抽出する。例えば、盤枠8を抽出する場合において、図枠抽出機能部42は、まず、ベクタ形式図面において2点鎖線を探索して抽出する。次に、構造化機能部15は、この抽出した2点鎖線が構造化ルール定義データベース23に登録された盤枠の特徴(2点鎖線)と一致するか否かを判定する。ここで、一致する場合に、この抽出した2点鎖線を構造化ルール定義データベース23に登録した盤枠8であると定義して構造化する。その後、構造化機能部15は、その構造化した盤枠8のデータを、データ構造定義データベース24で定義されたデータ構造の階層に基づいて、記録媒体に分類して記録する。さらに、必要な場合に、その盤枠に識別番号(線番号)を付する。なお、構造化機能部15は、図枠についても盤枠8と同様に図枠を定義し、そのデータを記録する。さらに、図面名称付与機能部48は、図面名称、図面作成者、系統などに関する情報を図枠に付与する。
【0086】
シンボル変換機能部43は、ベクタ形式図面にシンボル4を配置して構造化する。例えば、シンボル変換機能部43は、まず、シンボル認識機能部13で認識したシンボル4と、構造化ルール定義データベース23(構造化ルール情報登録部26)に登録されているシンボル4の定義とが一致しているかを判定する。ここで、一致する場合に、構造化ルール定義データベース23に登録されているシンボル4をベクタ形式図面に配置して構造化するものである。
【0087】
なお、一致とは、例えば、シンボル4の名称(シンボルID)が一致するものであれば良い。例えば、シンボル認識機能部13により「SA1」というシンボル4として認識されたものに対して、構造化ルール定義データベース23にも「SA1」という名称のシンボルが登録されていた場合は、両者が一致したとみなせる。
【0088】
その後、構造化情報付与部44は、構造化されたシンボル4に対して、構造化ルール定義データベース23に登録された属性情報および接続情報を含む構造化情報を付与する。さらに、構造化情報付与部44は、構造化されたシンボル4に対して、データ構造定義データベース24に登録された階層情報(構造化情報)を付与する。そして、データ構造定義データベース24で定義されたデータ構造の階層に基づいて、シンボル4を含むデータを記録媒体に分類して記録し、それぞれのシンボル4に識別番号を付与する。
【0089】
なお、構造化機能部15が備える表構造抽出機能部45、操作スイッチ展開図抽出機能部46、図面描写機能部47、図面名称付与機能部48についても、前述の配線抽出機能部41などと同様の処理を実行する。例えば、表構造抽出機能部45は、ベクタ形式図面において抽出した表構造などの特徴が構造化ルール定義データベース23に登録された表構造などの特徴と一致するか否かを判定する。ここで、一致する場合に、ベクタ形式図面の表構造などを、構造化ルール定義データベース23に登録された表構造などであると定義して構造化する。そして、構造化機能部15は、この構造化した表構造などデータ構造定義データベース24のデータ構造の階層を基準に分類して記録し、必要な場合に表構造などに識別番号を付する。また、操作スイッチ展開図抽出機能部46は、展開接続図にあるカムスイッチなどの接点構成について書かれた操作スイッチ展開図を抽出する。また、図面描写機能部47は、図面の描写を調整する。例えば、シンボルの配置の補正、斜めになった配線の補正、配管の図面上での描写位置の補正などを行う。なお、これらの補正は、接続関係を変更せずに、あくまでも見た目上の描写位置を変更し、図面の視認性を向上させるものである。また、図面名称付与機能部48は、名称、図面作成者、系統などに関する情報を図面に付与する。
【0090】
構造化チェック機能部18は、構造化機能部15が構造化した構造化結果(即ち、構造化図面3)について、構造化ルール定義データベース23に基づいて構造化されていない不適切な構造化結果であるか否かを確認する。構造化結果の確認は、自動的に行っても良いし、人手により行っても良い。そして、不適切な構造化結果がある場合には、その修正を行う。なお、この構造化チェック機能部18において、不適切な構造化結果が無いと判定されたものは、図面構造化システム1から構造化図面3として出力される。
【0091】
ここで、不適切な構造化結果とは、例えば、線分5である配線(
図5)が未結線である、属性情報が必要な構造要素に属性情報が付与されていない、配線(線分5)またはシンボル4などのように識別番号が必要な構造要素に識別番号が付与されていないことである。さらに、シンボル4の位置が適切な座標からずれていることも不適切な構造化結果に含まれる。
【0092】
本実施形態の構造化チェック機能部18は、図面構造化システム1が備えるディスプレイに、不適切な構造化結果を確認可能な構造化確認情報を出力する。また、図面構造化システム1のユーザは、ディスプレイに出力された構造化確認情報を確認して不適切な構造化結果であるか否かを判断する。
【0093】
ユーザは、不適切な構造化結果であると判断した場合に、不適切な部分を修正する操作を行う。この操作を受け付けた構造化チェック機能部18は、不適切な部分を修正する処理を実行する。
【0094】
誤構造化データ蓄積部19は、構造化チェック機能部18が構造化機能部15による構造化結果について修正した事象に関して、構造化前のベクタ形式図面と、構造化機能部15により出力された修正が必要な構造化結果と、構造化チェック機能部18により修正された結果と、修正が必要な構造化結果を出力した際の構造化機能部15の構造化設定値(構造化のルール)とを蓄積する。このようにすれば、過去の不適切な構造化データを蓄積してその後の調整に利用することができる。
【0095】
最適構造化学習部20には、誤構造化データ蓄積部19に蓄積された情報(構造化前のベクタ形式図面と、構造化機能部15により出力された修正が必要な構造化結果と、構造化チェック機能部18により修正された結果と、修正が必要な構造化結果を出力した際の構造化機能部15の構造化設定値)が入力される。
【0096】
そして、最適構造化学習部20は、誤構造化データ蓄積部19から入力された情報をもとに、構造化機能部15による修正が必要な構造化結果の発生数を低減させる最適な構造化設定値を演算して学習する。なお、不適切な構造化データが多数ある場合には、最適構造化学習部20は、多層のニューラルネットワークを用いた深層学習を使用しても良い。さらに、最適構造化学習部20は、演算した最適な構造化設定値を構造化ルール定義データベース23(構造化ルール情報登録部26を含む)にフィードバックして、この構造化ルール定義データベース23の構造化設定値(構造化のルール)を更新させる。
【0097】
図1に示すように、学習用図面生成部21は、複数のシンボル4が描かれたラスタ形式の1枚の図面をシンボル4が描かれた部分以外の部分で区切って複数枚の学習用図面49を生成する。これらの学習用図面49は、機械学習に用いられる。
【0098】
例えば、
図4に1枚の図面を例示する。この図において正方形の破線(枠線)で囲まれた部分が学習用図面49であるとする。1枚の図面から複数の学習用図面49を生成する場合には、それぞれの学習用図面49の縁辺(枠線)が、図面の余白部分または線分5を横断するように図面を区分けする。つまり、学習用図面49の縁辺が、シンボル4を横断しないようにする。なお、複数の学習用図面49は、互いに重複する範囲があっても良い。それぞれの学習用図面49には、シンボル4の形状が維持された状態で描かれるようになる。そのため、シンボル4の形状に関するデータを漏れなく作成することができ、効率的に学習することができる。
【0099】
図1に示すように、学習済モデル生成部22は、学習用図面49に基づいて学習済モデルを生成する。このようにすれば、1枚の図面から複数枚の学習用図面49を生成することができ、学習に必要な枚数の学習用図面49を確保することができる。なお、学習済モデル生成部22で生成された学習済モデルは、シンボル認識データベース25の学習済モデル登録部31(
図2)に登録される。なお、ラスタ形式の1枚の図面を区切って複数枚の学習用図面49に分割する作業は、自動的に行っても良いし、人手により行っても良い。
【0100】
なお、図面構造化システム1には、機械学習を行う人工知能(AI:Artificial Intelligence)を備えるコンピュータが含まれても良い。例えば、ベクタ変換機能部11、文字認識機能部12、シンボル認識機能部13、構造化機能部15、最適認識学習部17、最適構造化学習部20、学習済モデル生成部22には、深層学習に基づいて、複数のパターンから特定のパターンを抽出する深層学習部が含まれても良い。
【0101】
本実施形態のコンピュータを用いた解析には、人工知能の学習に基づく解析技術を用いることができる。例えば、ニューラルネットワークによる機械学習により生成された学習モデル、その他の機械学習により生成された学習モデル、深層学習アルゴリズム、回帰分析などの数学的アルゴリズムを用いることができる。また、機械学習の形態には、クラスタリング、深層学習などの形態が含まれる。
【0102】
本実施形態のシステムは、機械学習を行う人工知能を備えるコンピュータを含む。例えば、ニューラルネットワークを備える1台のコンピュータでシステムを構成しても良いし、ニューラルネットワークを備える複数台のコンピュータでシステムを構成しても良い。
【0103】
ここで、ニューラルネットワークとは、脳機能の特性をコンピュータによるシミュレーションによって表現した数学モデルである。例えば、シナプスの結合によりネットワークを形成した人工ニューロン(ノード)が、学習によってシナプスの結合強度を変化させ、問題解決能力を持つようになるモデルを示す。さらに、ニューラルネットワークは、深層学習(Deep Learning)により問題解決能力を取得する。
【0104】
例えば、画像認識で実績のあるCNN(Convolution Neural Network)を用いる。このCNNでは、中間層が畳み込み層とプーリング層で構成される。畳み込み層は、前の層で近くにあるノードにフィルタ処理を施すことで特徴マップを取得する。プーリング層は、畳込み層から出力された特徴マップを、さらに縮小して新たな特徴マップとする。この際に特徴マップにおいて着目する領域に含まれる画素の最大値を得ることで、特徴量の位置の多少のずれも吸収することができる。
【0105】
畳み込み層は、画像の局所的な特徴を抽出し、プーリング層は、局所的な特徴をまとめる処理を行う。これらの処理では、入力画像の特徴を維持しながら画像を縮小処理する。つまり、CNNでは、画像の持つ情報量を大幅に圧縮(抽象化)することができる。そして、ニューラルネットワークに記憶された抽象化された画像イメージを用いて、入力される画像を認識し、画像の分類を行うことができる。
【0106】
例えば、シンボル認識器33の深層学習画像認識部38にCNNを用いることで、ラスタ形式図面2に含まれるシンボルの種別を分類することができる。まず、シンボル形状などの特徴と、シンボルの種別(例えば、コイル、接点、ポンプなどの種別)との対応関係を学習させたCNNの学習済みモデルを準備する。この学習済みモデルに対して、シンボルを含むラスタ形式の画像を入力すると、入力した画像に含まれるシンボルの種別を出力する。
【0107】
なお、深層学習には、オートエンコーダ、RNN(Recurrent Neural Network)、LSTM(Long Short-Term Memory)、GAN(Generative Adversarial Network)などの各種手法がある。これらの手法を本実施形態の深層学習に適用しても良い。
【0108】
また、画像内の物体のクラス分類と物体の位置検出とを行う物体検出手法を用いても良い。この物体検出手法は、座標認識部37と深層学習画像認識部38の役割に相当する。代表的な物体検出手法として、例えば、R-CNN(Regional CNN)、SSD(Single Shot MultiBox Detector)、YOLO(You only look once)などがある。また、物体検出手法の代わりに、画像中のピクセルが、どのクラスに所属するかを分類するセグメンテーション手法を用いることも可能である。
【0109】
次に、図面構造化システム1が実行する処理について
図6から
図11のフローチャートを用いて説明する。なお、
図1から
図3に示すブロック図を適宜参照する。以下のステップは、図面構造化システム1が実行する少なくとも一部の処理であり、図面構造化システム1が実行する処理に他のステップが含まれても良い。
【0110】
なお、以下の処理を実行する前に、構造化ルール定義データベース23とデータ構造定義データベース24とシンボル認識データベース25に各種情報が予め記憶される。例えば、構造化ルール定義データベース23には、シンボル、配線、配管の属性を示す属性情報と、シンボルと線分(配線または配管)との接続関係を定義するためのルールが予め記憶される。
【0111】
図6に示すように、まず、ステップS11において、図面構造化システム1には、ラスタ形式図面2が入力される。ここで、事前処理部10は、この入力されたがラスタ形式図面2に斑点または汚れなどのノイズがあるか否かを判定する。ここで、ラスタ形式図面2にノイズがある場合には、事前処理部10がノイズを除去するなどの所定の修正処理を実行する。さらに、事前処理部10が図の傾きまたは倍率を修正する処理を実行しても良い。そして、ステップS12、ステップS15、ステップS18に進む。なお、これらのステップは並列に実行される。
【0112】
ステップS12において、ベクタ変換機能部11は、ラスタ形式図面2をベクタ形式図面に変換する処理を実行する。
【0113】
次のステップS13において、誤認識チェック機能部14は、図面構造化システム1が備えるディスプレイに、ベクタ形式図面に誤変換があるか否かを確認可能な変換確認情報を出力する。
【0114】
次のステップS14において、誤認識チェック機能部14は、ベクタ形式図面の誤変換を修正する操作を受け付けたか否か、つまり、ベクタ形式図面に誤変換があるか否かを判定する。ここで、ベクタ形式図面に誤変換がない場合(ステップS14にてNOの場合)は、ステップS21に進む。一方、ベクタ形式図面に誤変換がある場合(ステップS14にてYESの場合)は、ステップS31に進む。
【0115】
図8に示すように、ステップS31において、誤認識チェック機能部14は、ベクタ形式図面の誤変換を修正する処理を実行する。そして、ステップS32、ステップS35に進む。なお、これらのステップは並列に実行される。
【0116】
ステップS32において、誤認識データ蓄積部16は、誤認識チェック機能部14により修正されたベクタ形式図面とこれに対応してベクタ変換機能部11にて用いられた変換設定値とを含む誤認識データを蓄積する。
【0117】
次のステップS33において、最適認識学習部17には、誤認識データ蓄積部16に蓄積されたベクタ変換機能部11の誤変換に関する情報が入力される。ここで、最適認識学習部17は、誤認識データ蓄積部16から入力されたベクタ変換機能部11の誤変換に関する情報をもとに、ベクタ変換機能部11による誤変換の発生率を低減させる最適な変換設定値を演算して学習する。
【0118】
次のステップS34において、最適認識学習部17は、演算した最適な変換設定値をベクタ変換機能部11にフィードバックして、このベクタ変換機能部11におけるベクタ変換の変換設定値を更新させる。そして、ステップS22に進む。
【0119】
ステップS35において、誤認識チェック機能部14は、修正結果である修正されたベクタ形式図面を構造化機能部15に入力する。そして、ステップS22に進む。
【0120】
図6に示すように、ステップS15において、文字認識機能部12は、ラスタ形式図面2に描かれている文字9を認識する処理を実行する。
【0121】
次のステップS16において、誤認識チェック機能部14は、図面構造化システム1が備えるディスプレイに、認識された文字9に誤りがあるか否かを確認可能な文字確認情報を出力する。
【0122】
次のステップS17において、誤認識チェック機能部14は、誤認識された文字9を修正する操作を受け付けたか否か、つまり、文字9の誤認識があるか否かを判定する。ここで、文字9の誤認識がない場合(ステップS17にてNOの場合)は、ステップS21に進む。一方、文字9の誤認識がある場合(ステップS17にてYESの場合)は、ステップS41に進む。
【0123】
図9に示すように、ステップS41において、誤認識チェック機能部14は、誤認識された文字9を修正する処理を実行する。そして、ステップS42、ステップS45に進む。なお、これらのステップは並列に実行される。
【0124】
ステップS42において、誤認識データ蓄積部16は、誤認識チェック機能部14により修正された文字9とこれに対応して文字認識機能部12にて用いられた認識設定値とを含む誤認識データを蓄積する。
【0125】
次のステップS43において、最適認識学習部17には、誤認識データ蓄積部16に蓄積された文字認識機能部12の誤認識に関する情報が入力される。ここで、最適認識学習部17は、誤認識データ蓄積部16から入力された文字認識機能部12の誤認識に関する情報をもとに、文字認識機能部12による誤認識の発生率を低減させる最適な認識設定値を演算して学習する。
【0126】
次のステップS44において、最適認識学習部17は、演算した最適な認識設定値を文字認識機能部12にフィードバックして、この文字認識機能部12における文字9の認識設定値を更新させる。そして、ステップS22に進む。
【0127】
ステップS45において、誤認識チェック機能部14は、修正結果である修正された文字9を構造化機能部15に入力する。そして、ステップS22に進む。
【0128】
図6に示すように、ステップS18において、シンボル認識機能部13は、ラスタ形式図面2に描かれているシンボル4を認識する処理を実行する。
【0129】
次のステップS19において、誤認識チェック機能部14は、図面構造化システム1が備えるディスプレイに、認識されたシンボル4に誤りがあるか否かを確認可能なシンボル確認情報を出力する。
【0130】
次のステップS20において、誤認識チェック機能部14は、誤認識されたシンボル4を修正する操作を受け付けたか否か、つまり、シンボル4の誤認識があるか否かを判定する。ここで、シンボル4の誤認識がない場合(ステップS20にてNOの場合)は、ステップS21に進む。一方、シンボル4の誤認識がある場合(ステップS20にてYESの場合)は、ステップS51に進む。
【0131】
図10に示すように、ステップS51において、誤認識チェック機能部14は、誤認識されたシンボル4を修正する処理を実行する。そして、ステップS52、ステップS55に進む。なお、これらのステップは並列に実行される。
【0132】
ステップS52において、誤認識データ蓄積部16は、誤認識チェック機能部14により修正されたシンボル4とこれに対応してシンボル認識機能部13にて用いられた認識設定値とを含む誤認識データを蓄積する。
【0133】
次のステップS53において、最適認識学習部17には、誤認識データ蓄積部16に蓄積されたシンボル認識機能部13の誤認識に関する情報が入力される。ここで、最適認識学習部17は、誤認識データ蓄積部16から入力されたシンボル認識機能部13の誤認識に関する情報をもとに、シンボル認識機能部13による誤認識の発生率を低減させる最適な認識設定値を演算して学習する。
【0134】
次のステップS54において、最適認識学習部17は、演算した最適な認識設定値をシンボル認識機能部13にフィードバックして、このシンボル認識機能部13におけるシンボル4の認識設定値を更新させる。そして、ステップS22に進む。
【0135】
ステップS55において、誤認識チェック機能部14は、修正結果である修正されたシンボル4を構造化機能部15に入力する。そして、ステップS22に進む。
【0136】
図7に示すように、ステップS21において、ベクタ変換機能部11は、変換結果である変換したベクタ形式図面を構造化機能部15に入力する。また、文字認識機能部12は、認識結果である認識したシンボル4を構造化機能部15に入力する。また、シンボル認識機能部13は、認識結果である認識したシンボル4を構造化機能部15に入力する。
【0137】
次のステップS22において、構造化機能部15は、構造化対象のベクタ形式図面のデータ構造に関する情報をデータ構造定義データベース24から取得する。例えば、データ構造定義データベース24の階層情報登録部30に登録された階層情報を取得する。
【0138】
次のステップS23において、構造化機能部15は、ベクタ形式図面を構造化するときのルールに関する情報を、構造化ルール定義データベース23の構造化ルール情報登録部26から取得する。
【0139】
次のステップS24において、構造化機能部15は、ベクタ形式図面に配置するシンボル4に関する情報を、構造化ルール定義データベース23から取得する。例えば、構造化機能部15は、シンボル4の属性情報を属性情報登録部27から取得するとともに、シンボルと線分(配線または配管)との接続関係を定義するためのルールを接続情報登録部28から取得する。
【0140】
次のステップS25において、構造化機能部15は、ベクタ変換機能部11による変換結果(ベクタ形式図面)と、文字認識機能部12による文字9の認識結果と、シンボル認識機能部13によるシンボル4の認識結果とに基づいて、ベクタ形式図面の構造要素を構造化して、構造化図面3を生成する処理を実行する。例えば、構造化機能部15は、シンボル認識機能部13の認識結果に基づいて特定されたシンボル4をベクタ形式図面に配置するとともに、構造化ルール定義データベース23に記憶された属性情報と接続情報とをシンボル4に付与してベクタ形式図面を構造化する。さらに、構造化機能部15は、この構造化されたデータを、データ構造定義データベース24のデータ構造の階層に基づいて分類して所定の記録媒体に記録する。
【0141】
次のステップS26において、構造化チェック機能部18は、図面構造化システム1が備えるディスプレイに、不適切な構造化結果を確認可能な構造化確認情報を出力する。
【0142】
次のステップS27において、構造化チェック機能部18は、不適切な部分を修正する操作を受け付けたか否か、つまり、構造化図面3を修正する必要があるか否かを判定する。ここで、構造化図面3を修正する必要がない場合(ステップS27にてNOの場合)は、ステップS28に進む。一方、構造化図面3を修正する必要がある場合(ステップS28にてYESの場合)は、ステップS61に進む。
【0143】
ステップS28において、構造化チェック機能部18は、構造化図面3を図面構造化システム1から出力する。そして、処理を終了する。
【0144】
図11に示すように、ステップS61において、構造化チェック機能部18は、構造化図面3の不適切な部分を修正する処理を実行する。そして、ステップS62、ステップS65に進む。なお、これらのステップは並列に実行される。
【0145】
ステップS62において、誤構造化データ蓄積部19は、構造化前のベクタ形式図面と文字9とシンボル4と、修正が必要な構造化結果と、構造化チェック機能部18により修正された結果と、修正が必要な構造化結果を出力したときの構造化機能部15の構造化設定値(構造化ルール)とを、誤構造化データ蓄積部19に蓄積する。
【0146】
次のステップS63において、最適構造化学習部20には、誤構造化データ蓄積部19に蓄積された各種情報が入力される。ここで、最適構造化学習部20は、誤構造化データ蓄積部19から入力された構造化に関する各種情報をもとに、修正が必要な構造化図面3の発生率を低減させる最適な構造化設定値を演算して学習する。
【0147】
次のステップS64において、最適構造化学習部20は、演算した最適な構造化設定値を構造化ルール定義データベース23にフィードバックして、この構造化ルール定義データベース23における構造化設定値を更新させる。そして、処理を終了する。
【0148】
ステップS65において、構造化チェック機能部18は、修正結果である修正された構造化図面3を図面構造化システム1から出力する。そして、処理を終了する。
【0149】
なお、本実施形態において、基準値(閾値)を用いた任意の値(認識設定値、変換設定値、認識率、構造化設定値など)の判定は、「任意の値が基準値以上か否か」の判定でも良いし、「任意の値が基準値を超えているか否か」の判定でも良い。或いは、「任意の値が基準値以下か否か」の判定でも良いし、「任意の値が基準値未満か否か」の判定でも良い。また、基準値が固定されるものでなく、変化するものであっても良い。従って、基準値の代わりに所定範囲の値を用い、任意の値が所定範囲に収まるか否かの判定を行っても良い。また、予め装置に生じる誤差を解析し、基準値を中心として誤差範囲を含めた所定範囲を判定に用いても良い。
【0150】
なお、本実施形態のフローチャートにおいて、各ステップが直列に実行される形態を例示しているが、必ずしも各ステップの前後関係が固定されるものでなく、一部のステップの前後関係が入れ替わっても良い。また、一部のステップが他のステップと並列に実行されても良い。
【0151】
本実施形態のシステムは、専用のチップ、FPGA(Field Programmable Gate Array)、GPU(Graphics Processing Unit)、またはCPU(Central Processing Unit)などのプロセッサを高集積化させた制御装置と、ROM(Read Only Memory)またはRAM(Random Access Memory)などの記憶装置と、HDD(Hard Disk Drive)またはSSD(Solid State Drive)などの外部記憶装置と、ディスプレイなどの表示装置と、マウスまたはキーボードなどの入力装置と、通信インターフェースとを備える。このシステムは、通常のコンピュータを利用したハードウェア構成で実現できる。
【0152】
なお、本実施形態のシステムで実行されるプログラムは、ROMなどに予め組み込んで提供される。もしくは、このプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、CD-R、メモリカード、DVD、フレキシブルディスク(FD)などのコンピュータで読み取り可能な非一過性の記憶媒体に記憶されて提供するようにしても良い。
【0153】
また、このシステムで実行されるプログラムは、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせて提供するようにしても良い。また、このシステムは、構成要素の各機能を独立して発揮する別々のモジュールを、ネットワークまたは専用線で相互に接続し、組み合わせて構成することもできる。
【0154】
なお、本実施形態では、プラントに関連したラスタ形式図面2を構造化図面3に変換する形態を例示しているが、その他の態様であっても良い。例えば、車両、船舶、航空機などに関するラスタ形式図面2を構造化図面3に変換するものでも良い。
【0155】
なお、本実施形態の図面構造化システム1は、誤認識データ蓄積部16と最適認識学習部17と誤構造化データ蓄積部19と最適構造化学習部20とを備えていないものでも良い。また、図面構造化システム1は、学習用図面生成部21と学習済モデル生成部22とを備えていないものでも良い。
【0156】
以上説明した実施形態によれば、ラスタ形式図面に描かれているシンボルを認識するシンボル認識機能部を備えることにより、図面に描かれたシンボルの認識の精度を向上させることができる。
【0157】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0158】
1…図面構造化システム、2…ラスタ形式図面、3…構造化図面、4…シンボル、5…線分、6…リレー、7a,7b…配線、8…盤枠、9…文字、10…事前処理部、11…ベクタ変換機能部、12…文字認識機能部、13…シンボル認識機能部、14…誤認識チェック機能部、15…構造化機能部、16…誤認識データ蓄積部、17…最適認識学習部、18…構造化チェック機能部、19…誤構造化データ蓄積部、20…最適構造化学習部、21…学習用図面生成部、22…学習済モデル生成部、23…構造化ルール定義データベース、24…データ構造定義データベース、25…シンボル認識データベース、26…構造化ルール情報登録部、27…属性情報登録部、28…接続情報登録部、29…最適構造化学習データ登録部、30…階層情報登録部、31…学習済モデル登録部、32…テンプレート画像登録部、33…シンボル認識器、34…認識結果選択部、35…認識ルール設定部、36…画像リサイズ処理部、37…座標認識部、38…深層学習画像認識部、39…テンプレート画像認識部、40…認識結果、41…配線抽出機能部、42…図枠抽出機能部、43…シンボル変換機能部、44…構造化情報付与部、45…表構造抽出機能部、46…操作スイッチ展開図抽出機能部、47…図面描写機能部、48…図面名称付与機能部、49…学習用図面。