(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】情報処理装置、情報処理方法、及びコンピュータプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20241217BHJP
【FI】
G06T7/00 350B
(21)【出願番号】P 2020113508
(22)【出願日】2020-06-30
【審査請求日】2022-10-13
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】100169823
【氏名又は名称】吉澤 雄郎
(74)【代理人】
【識別番号】230118913
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100188307
【氏名又は名称】太田 昌宏
(72)【発明者】
【氏名】島村 貴衣
(72)【発明者】
【氏名】黒田 知宏
(72)【発明者】
【氏名】秋定 征世
(72)【発明者】
【氏名】新美 誠
【審査官】新井 則和
(56)【参考文献】
【文献】特開平11-126216(JP,A)
【文献】特許第6116746(JP,B1)
【文献】特開2020-016946(JP,A)
【文献】欧州特許出願公開第03104302(EP,A1)
【文献】特許第6651675(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
複数の図形と文字列とを含む
入力画像を取得し、
前記入力画像から前記複数の図形と前記文字列とを検出し、
前記入力画像から検出された前記複数の図形の各々について、前記
入力画像における前記図形と前記文字列との位置関係に基づき、
前記図形に関連性を有する前記文字列が存在するか否かを判定し、関連性を有する前記文字列が存在すると判定された場合、前記図形の位置を示す座標及び前記図形の種類と
関連性を有する前記文字列を示すテキスト情報と
を対応
づけて、前記複数の図形についての関連性情報を生成し、
前記関連性情報
に基づいて、前記複数の図形の近傍に、当該図形の種類と、当該図形に対応づけられた前記文字列と、を示すテキスト情報を配置した表示画像を表示部に表示させる
制御部を備え
、
前記制御部は、
サンプルとなるサンプル図形の位置と、サンプルとなるサンプル文字列の位置と、前記サンプル図形と前記サンプル文字列との間の関連性とを教師データとして機械学習された関連性に関する第1の予測モデルを取得し、
予め定められた図形の種類と、当該種類の図形を示すサンプル画像とを教師データとして機械学習された図形検出に関する第2の予測モデルを取得し、
前記関連性情報を生成する際は、前記第1の予測モデルを用いて、前記図形と前記文字列との位置関係に基づき、前記図形と前記文字列との関連性を予測するとともに、前記第2の予測モデルを用いて、前記入力画像から検出された前記複数の図形の種類を検出し、
前記図形と前記文字列との前記位置関係には、前記図形と前記文字列との間の距離、及び、前記図形に対する前記文字列の方向の少なくともいずれかが含まれる、
情報処理装置。
【請求項2】
前記制御部は、
前記入力画像として、手書きの複数の図形と文字列とを含む画像を取得し、
前記入力画像から手書きの前記複数の図形と前記文字列とを検出し、
手書きの前記複数の図形と前記文字列とを含む前記入力画像から検出された前記複数の図形の各々について、前記入力画像における前記図形と前記文字列との位置関係に基づき、前記図形に関連性を有する前記文字列が存在するか否かを判定し、関連性を有する前記文字列が存在すると判定された場合、前記図形の位置を示す座標及び前記図形の種類と関連性を有する前記文字列を示すテキスト情報とを対応づけて、前記複数の図形についての関連性情報を生成し、
前記関連性情報に基づいて、前記手書きの複数の図形の近傍に、当該図形の種類と、当該図形に対応付けられた前記文字列と、を示すテキスト情報を配置した画像を前記表示画像として表示部に表示させる
請求項1に記載の情報処理装置。
【請求項3】
前記制御部は、前記入力画像に含まれる前記図形のうち、対応する前記文字列が存在しない図形については、当該図形の近傍に、当該図形の種類のみを示すテキスト情報を配置した表示画像を表示部に表示させる、請求項1又は2に記載の情報処理装置。
【請求項4】
前記制御部は、
前記
入力画像から予め定められた種類の図形を検出し、
前記検出された図形と前記文字列との位置関係に基づき前記関連性情報を生成する
請求項1から3のいずれか1項に記載の情報処理装置。
【請求項5】
前記制御部は、
前記
入力画像として、複数の図形と複数の文字列とを含む画像を取得し、
前記複数の図形の各々について、当該図形と関連性を有する前記複数の文字列に含まれる文字列を示す情報を前記関連性情報として生成する
請求項1から
4のいずれか1項に記載の情報処理装置。
【請求項6】
制御部が、
複数の図形と文字列とを含む
入力画像を取得
することと、
前記入力画像から前記複数の図形と前記文字列とを検出することと、
前記入力画像から検出された前記複数の図形の各々について、前記
入力画像における前記図形と前記文字列との位置関係に基づき、
前記図形に関連性を有する前記文字列が存在するか否かを判定し、関連性を有する前記文字列が存在すると判定された場合、前記図形の位置を示す座標及び前記図形の種類と
関連性を有する前記文字列を示すテキスト情報と
を対応
づけて、前記複数の図形についての関連性情報を生成
することと、
前記関連性情報
に基づいて、前記複数の図形の近傍に、当該図形の種類と、当該図形に対応づけられた前記文字列と、を示すテキスト情報を配置した表示画像を表示部に表示させることと、
を含み、
前記制御部は、
サンプルとなるサンプル図形の位置と、サンプルとなるサンプル文字列の位置と、前記サンプル図形と前記サンプル文字列との間の関連性とを教師データとして機械学習された関連性に関する第1の予測モデルを取得し、
予め定められた図形の種類と、当該種類の図形を示すサンプル画像とを教師データとして機械学習された図形検出に関する第2の予測モデルを取得し、
前記関連性情報を生成する際は、前記第1の予測モデルを用いて、前記図形と前記文字列との位置関係に基づき、前記図形と前記文字列との関連性を予測するとともに、前記第2の予測モデルを用いて、前記入力画像から検出された前記複数の図形の種類を検出し、
前記図形と前記文字列との前記位置関係には、前記図形と前記文字列との間の距離、及び、前記図形に対する前記文字列の方向の少なくともいずれかが含まれる、
情報処理方法。
【請求項7】
複数の図形と文字列とを含む
入力画像を取得する処理と、
前記入力画像から前記複数の図形と前記文字列とを検出する処理と、
前記入力画像から検出された前記複数の図形の各々について、前記
入力画像における前記図形と前記文字列との位置関係に基づき、
前記図形に関連性を有する前記文字列が存在するか否かを判定し、関連性を有する前記文字列が存在すると判定された場合、前記図形の位置を示す座標及び前記図形の種類と
関連性を有する前記文字列を示すテキスト情報と
を対応
づけて、前記複数の図形についての関連性情報を生成する処理と、
前記関連性情報
に基づいて、前記複数の図形の近傍に、当該図形の種類と、当該図形に対応づけられた前記文字列と、を示すテキスト情報を配置した表示画像を表示部に表示させる処理と
をコンピュータに実行させ
、
さらに、
サンプルとなるサンプル図形の位置と、サンプルとなるサンプル文字列の位置と、前記サンプル図形と前記サンプル文字列との間の関連性とを教師データとして機械学習された関連性に関する第1の予測モデルを取得する処理と、
予め定められた図形の種類と、当該種類の図形を示すサンプル画像とを教師データとして機械学習された図形検出に関する第2の予測モデルを取得する処理と、
前記関連性情報を生成する処理において、前記第1の予測モデルを用いて、前記図形と前記文字列との位置関係に基づき、前記図形と前記文字列との関連性を予測するとともに、前記第2の予測モデルを用いて、前記入力画像から検出された前記複数の図形の種類を検出する処理と、
を前記コンピュータに実行させ、
前記図形と前記文字列との前記位置関係には、前記図形と前記文字列との間の距離、及び、前記図形に対する前記文字列の方向の少なくともいずれかが含まれる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法、及びコンピュータプログラムに関する。
【背景技術】
【0002】
従来、画像に含まれる対象を識別し、その対象の画像における位置を認識する技術が知られている(例えば、特許文献1参照)。
【0003】
また、スキャナに読み込まれるなどして生成された文字列を表す画像を解析して、文字列データに変換するOCR(Optical Character Recognition:光学文字認識)技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
図形と文字列とを含むアナログ図面(紙に印刷されている図面又は手書きにより描かれている図面等をいう。)が作成される場合、図形と文字列とが関連性を有する場合がある。例えば、システムの設計図において、システムの構成要素を示す図形と、その図形を説明する文字列が記載される場合、その図形と文字列とは関連性を有するといえる。そのようなアナログ図面がスキャナにより画像に変換されてコンピュータ上で利用される場合、図面の検索による再利用及び図面のデータ削減の観点から、図形と文字列との関連性を示す情報を利用できることが有用である。
【0006】
しかし、従来の構成においては、画像に含まれる特定の対象を認識すること、及び、文字列を文字列データに変換することはできるものの、画像に含まれる図形と文字列とが何らかの関連性を有するかを識別することはできなかった。
【0007】
本開示は、上述の点に鑑みてなされたものであり、画像に含まれる図形と文字列とが関連性を有することを示す情報を自動的に生成可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
幾つかの実施形態に係る情報処理装置は、図形と文字列とを含む画像を取得し、前記画像における前記図形と前記文字列との位置関係に基づき、前記図形と前記文字列との関連性を示す関連性情報を生成する制御部を備える。これにより、図形と文字列との関連性を示す情報を自動的に生成することができる。
【0009】
一実施形態に係る情報処理装置において、前記制御部は、前記位置関係として、前記図形と前記文字列との間の距離、及び、前記図形に対する前記文字列の方向の少なくともいずれかに基づき、前記関連性情報を生成してもよい。これにより、図形と文字列との関連性を精度よく示す情報を生成することができる。
【0010】
一実施形態に係る情報処理装置において、前記制御部は、サンプルとなるサンプル図形の位置と、サンプルとなるサンプル文字列の位置と、前記サンプル図形と前記サンプル文字列との間の関連性とを教師データとして機械学習された関連性に関する予測モデルを取得し、前記関連性情報を生成する際は、前記関連性に関する予測モデルを用いて、前記図形と前記文字列との位置関係に基づき、前記図形と前記文字列との関連性を予測するようにしてもよい。これにより、図形と文字列とが関連性を有するか否かの基準を人手により予め設定することなく、図形と文字列との関連性を示す情報を生成することができる。
【0011】
一実施形態に係る情報処理装置において、前記制御部は、前記画像から予め定められた種類の図形を検出し、前記検出された図形と前記文字列との位置関係に基づき前記関連性情報を生成するようにしてもよい。これにより、図形の種類を区別して関連性情報を生成することができる。
【0012】
一実施形態に係る情報処理装置において、前記制御部は、前記種類と、前記種類の図形を示すサンプル画像とを教師データとして機械学習された図形検出に関する予測モデルを取得し、前記画像から前記種類の図形を検出する際は、前記図形検出に関する予測モデルを用いるようにしてもよい。これにより、図形の種類を区別するための基準を人手により予め設定することなく、図形の種類を区別して関連性情報を生成することができる。
【0013】
一実施形態に係る情報処理装置において、前記制御部は、前記画像を解析して当該画像に含まれる文字列を取得し、前記検出された図形と前記取得された文字列との位置関係に基づき前記関連性情報を生成するようにしてもよい。これにより、画像から自動的に文字列を取得して、関連性情報を生成することができる。
【0014】
一実施形態に係る情報処理装置において、前記制御部は、前記画像として、複数の図形と複数の文字列とを含む画像を取得し、前記複数の図形の各々について、当該図形と関連性を有する前記複数の文字列に含まれる文字列を示す情報を前記関連性情報として生成するようにしてもよい。これにより、複数の図形及び複数の文字列が画像内に存在する場合においても、図形ごとに関連性を有する文字列を識別して関連性情報を生成することができる。
【0015】
幾つかの実施形態に係る情報処理方法は、制御部が、図形と文字列とを含む画像を取得し、前記画像における前記図形と前記文字列との位置関係に基づき、前記図形と前記文字列との関連性を示す関連性情報を生成する。これにより、図形と文字列との関連性を示す情報を自動的に生成することができる。
【0016】
幾つかの実施形態に係るコンピュータプログラムは、図形と文字列とを含む画像を取得する処理と、前記画像における前記図形と前記文字列との位置関係に基づき、前記図形と前記文字列との関連性を示す関連性情報を生成する処理とをコンピュータに実行させる。これにより、図形と文字列との関連性を示す情報を自動的に生成することができる。
【発明の効果】
【0017】
本開示によれば、画像に含まれる図形と文字列とが何らかの関連性を有することを示す情報を自動的に生成可能な技術が提供される。
【図面の簡単な説明】
【0018】
【
図1】比較例に係る装置により、図形と文字列とを含む図面の画像から図形と文字列とを関連付ける手順を模式的に示す図である。
【
図2】比較例に係る装置によりオブジェクトを検出する手順を模式的に示す図である。
【
図3】本開示の一実施形態に係る情報処理装置の構成を示すブロック図である。
【
図4】本開示の一実施形態に係る情報処理装置の動作を示すフローチャートである。
【
図6】
図5の図面にオブジェクト及びラベルの情報を連結したデータの一例を示す図である。
【
図7】図形検出に関する予測モデルが生成される例を示す図である。
【
図8】本開示の一実施形態に係る情報処理装置によるオブジェクト検出処理の例を示す図である。
【
図9】本開示の一実施形態に係る情報処理装置による関連性取得処理を示すフローチャートである。
【
図10】本開示の一実施形態に係る情報処理装置による関連性取得処理の例を示す図である。
【発明を実施するための形態】
【0019】
(比較例)
図1は、比較例に係る装置により、図形と文字列とを含むアナログ図面の画像から図形と文字列とを関連付ける手順を模式的に示す図である。
図1は、手書きにより配管図が記載された図面をPC等の装置により処理する場合の例を示している。PCは、Personal Computerの略称である。
【0020】
PCは、図面をスキャンし、スキャン画像を取得する(ステップS81)。ステップS81では、まず、PCに接続されたスキャナが、図面を撮影する。PCは、撮影した画像をビットマップデータに変換し、画像の状態に応じて、ビットマップデータを補正する。具体的には、PCは、画像の傾き、ひずみ、及び裏面から透けた部分を補正する。PCは、補正された画像を、ビットマップデータとしてメモリ上に保管する。以下、メモリ上に保管された画像は「スキャン画像」と称される。
【0021】
次に、PCは、スキャン画像から予め定められた各図形をピクセルデータとして抽出する(ステップS82)。その際、PCは、抽出された各図形の、スキャン画像上における位置を取得する。PCは、例えば、特許文献1に記載の手法を用いて各図形を抽出してもよい。
【0022】
次に、PCは、スキャン画像に描かれている各文字列を認識して、文字列データを取得する(ステップS83)。その際、PCは、抽出された各文字列の、スキャン画像上における位置を取得する。PCは、OCRにより文字列を認識してもよい。
【0023】
次に、ユーザが、PCを操作して、スキャン画像から抽出された各図形と、スキャン画像に描かれている各文字列とを関連付ける(ステップS84)。
図2は、比較例に係る装置により図形と文字列を関連付ける手順を模式的に示す図である。すなわち、ユーザは、PCに接続されたモニタ上でスキャン画像91を目視により確認し、スキャン画像91内の各図形と各文字列とを照合して関連付ける(92)。
図2の例では、ユーザは照合の結果をPCに入力する。スキャン画像91には、バルブを示す手書きの図形と、その図形の近傍に「バルブ用」との手書きの文字列とが存在する。そこで、ユーザは、バルブを示す図形と「バルブ用」との文字列を関連付けるための操作を行う。これに応じて、PCは、図形の種類及び位置と、その図形に関連付けられた文字列との関連性を示す情報93を生成する。
図2の例では、情報93において、図形の種類が「物体名:バルブ」により示されている。その図形のスキャン画像における位置が「位置:(200,200)」により示されている。その図形に関連付けられた文字列が「ラベル:バルブ用」により示されている。以下、図形に併記された図形を説明する文字列は「ラベル」と称される。
【0024】
比較例においては、図形と文字列との関連付けを示す情報を取得するために、ユーザが、スキャン画像を目視により確認し、スキャン画像内の各図形と各文字列とを照合して関連付けるための操作をする必要があった。そのため、比較例では、ユーザの手作業が必要であり、例えば処理対象の図面が大量に存在する場合、処理に膨大な作業時間を要していた。また、比較例は、ユーザの手作業を必要とするため、スキャン画像内の各図形と各文字列とを関連付ける際に人為的な誤りが入り込む恐れがあった。
【0025】
(本開示の実施形態)
以下では、添付図面を参照しながら本開示の一実施形態に係る情報処理装置の構成及び動作について主に説明する。
図3は、本開示の一実施形態に係る情報処理装置10の構成を示すブロック図である。
【0026】
情報処理装置10は、画像に含まれる図形と文字列との位置関係に基づき、図形と文字列との関連性を示す関連性情報を生成する。そのため、本開示の一実施形態に係る情報処理装置10は、図形と文字列との関連性を示す情報を、人手を要さず自動的に生成することができる。なお、本実施形態では、文字列は、複数の文字からなるものだけでなく、1文字からなるものも含む。
【0027】
情報処理装置10は、1つ又は互いに通信可能な複数のサーバ装置である。情報処理装置10は、これらに限定されず、PC等の任意の汎用の電子機器であってもよいし、専用の他の電子機器であってもよい。
図3に示すように、情報処理装置10は、制御部11、記憶部12、通信部13、入力部14、及び出力部15を備える。
【0028】
制御部11は、1つ以上のプロセッサを含む。一実施形態において「プロセッサ」は、汎用のプロセッサ、又は特定の処理に特化した専用のプロセッサであるが、これらに限定されない。制御部11は、情報処理装置10を構成する各構成部と通信可能に接続され、情報処理装置10全体の動作を制御する。
【0029】
記憶部12は、HDD、SSD、EEPROM、ROM、及びRAMを含む任意の記憶モジュールを含む。記憶部12は、例えば、主記憶装置、補助記憶装置、又はキャッシュメモリとして機能してもよい。記憶部12は、情報処理装置10の動作に用いられる任意の情報を記憶する。例えば、記憶部12は、システムプログラム、アプリケーションプログラム、及び通信部13によって受信された各種情報等を記憶してもよい。記憶部12は、情報処理装置10に内蔵されているものに限定されず、USB等のデジタル入出力ポート等によって接続されている外付けのデータベース又は外付け型の記憶モジュールであってもよい。HDDはHard Disk Driveの略称である。SSDはSolid State Driveの略称である。EEPROMはElectrically Erasable Programmable Read-Only Memoryの略称である。ROMはRead-Only Memoryの略称である。RAMはRandom Access Memoryの略称である。USBはUniversal Serial Busの略称である。
【0030】
通信部13は、任意の通信技術によってスキャナ等の他の装置と通信接続可能な、任意の通信モジュールを含む。通信部13は、さらに、他の装置との通信を制御するための通信制御モジュール、及び他の装置との通信に必要となる識別情報等の通信用データを記憶する記憶モジュールを含んでもよい。
【0031】
入力部14は、ユーザの入力操作を受け付けて、ユーザの操作に基づく入力情報を取得する1つ以上の入力インタフェースを含む。例えば、入力部14は、物理キー、静電容量キー、ポインティングディバイス、出力部15のディスプレイと一体的に設けられたタッチスクリーン、又は音声入力を受け付けるマイク等であるが、これらに限定されない。
【0032】
出力部15は、ユーザに対して情報を出力し、ユーザに通知する1つ以上の出力インタフェースを含む。例えば、出力部15は、情報を画像で出力するディスプレイ、又は情報を音声で出力するスピーカ等であるが、これらに限定されない。なお、上述の入力部14及び出力部15の少なくとも一方は、情報処理装置10と一体に構成されてもよいし、別体として設けられてもよい。
【0033】
情報処理装置10の機能は、本実施形態に係るコンピュータプログラム(プログラム)を、制御部11に含まれるプロセッサで実行することにより実現される。すなわち、情報処理装置10の機能は、ソフトウェアにより実現される。コンピュータプログラムは、情報処理装置10の動作に含まれるステップの処理をコンピュータに実行させることで、当該ステップの処理に対応する機能をコンピュータに実現させる。すなわち、コンピュータプログラムは、コンピュータを本実施形態に係る情報処理装置10として機能させるためのプログラムである。
【0034】
コンピュータプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体は、例えば、磁気記録装置、光ディスク、光磁気記録媒体、又は半導体メモリである。プログラムの流通は、例えば、プログラムを記録したDVD又はCD-ROMなどの可搬型記録媒体を販売、譲渡、又は貸与することによって行う。「DVD」は、Digital Versatile Discの略称である。「CD-ROM」は、Compact Disc Read Only Memoryの略称である。プログラムをサーバのストレージに格納しておき、ネットワークを介して、サーバから他のコンピュータにプログラムを転送することにより、プログラムは流通されてもよい。プログラムはプログラムプロダクトとして提供されてもよい。
【0035】
コンピュータは、例えば、可搬型記録媒体に記録されたプログラム又はサーバから転送されたプログラムを、一旦、主記憶装置に格納する。そして、コンピュータは、主記憶装置に格納されたプログラムをプロセッサで読み取り、読み取ったプログラムに従った処理をプロセッサで実行する。コンピュータは、可搬型記録媒体から直接プログラムを読み取り、プログラムに従った処理を実行してもよい。コンピュータは、コンピュータにサーバからプログラムが転送される度に、逐次、受け取ったプログラムに従った処理を実行してもよい。このような処理は、サーバからコンピュータへのプログラムの転送を行わず、実行指示及び結果取得のみによって機能を実現する、いわゆるASP型のサービスによって実行されてもよい。「ASP」は、Application Service Providerの略称である。プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるものが含まれる。例えば、コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータは、「プログラムに準ずるもの」に該当する。
【0036】
情報処理装置10の一部又は全ての機能が、制御部11に含まれる専用回路により実現されてもよい。すなわち、情報処理装置10の一部又は全ての機能が、ハードウェアにより実現されてもよい。また、情報処理装置10は単一の情報処理装置により実現されてもよいし、複数の情報処理装置の協働により実現されてもよい。
【0037】
情報処理装置10の動作が、
図4を参照して説明される。
図4を参照して説明する情報処理装置10の動作は本実施形態に係る情報処理方法に相当し、各ステップの動作は制御部11の制御に基づき実行される。
【0038】
図4のステップS11において、制御部11は、図形及び文字列が記載されたアナログ図面の画像を取得する。具体的には、制御部11は、スキャナにより取得された図面の画像データを、通信部13を介して、そのスキャナから直接、又は、画像データを記憶する外部の記憶装置から取得する。これに代えて、制御部11は、予め記憶部12に記憶された画像データを取得してもよい。
【0039】
図5は、画像データにより示される、手書きの図形及び文字列を含む画像の一例を示す図である。
図5の画像50には、6つの図形51~56が記載されている。文字列57~60は前述のラベルにあたる。図形51の近くには、「タンク用」の文字列57が記載されている。図形52の近くには、「ボイラー用」の文字列58が記載されている。図形53の近くには、「貯水タンク」の文字列59が記載されている。図形54の近くには、「ボイラーA」の文字列60が記載されている。図形55及び図形56の近くには文字列は記載されていない。
【0040】
詳細は後述されるように、制御部11は、画像50に含まれる各図形51~56と文字列57~60との位置関係に基づき、図形と文字列との関連性を示す関連性情報を生成し、その関連性情報を画像50に連結して構造化された画像を生成する。
図6は、画像50に基づき生成された、構造化された画像の一例を示す図である。
図6において、構造化された画像65には、図形51~56が画像50と同一の位置関係を保って含まれている。図形51~54には、図形の種類及びラベルを示す情報61~64が付されている。
【0041】
本実施形態では、情報61~64がXML形式で記載された例を説明するが、これらの情報の形式はXMLに限られない。例えば、これらの情報はCSV又はJSONの形式で記載されてもよい。XMLは、Extensible Markup Languageの略称である。CSVはComma-Separated Valuesの略称である。JSONはJavaScript Object Notationの略称である。情報61~64において、「figure」タグは図形であることを示す。属性「name」は図形の種類を示す。属性「value」は図形に関連性を有するラベルの内容にあたる文字列を示す。例えば、情報61においては、図形51の種類は「バルブ」である。図形51に関連性を有するラベルの内容にあたる文字列は「タンク用」である。
【0042】
図6では理解の容易のため、図形51~54の近傍に対応する情報61~64が示されているが、画像65が出力部15のディスプレイに表示される際に、情報61~64は表示されない。情報61~64は、コンピュータが画像65を用いて検索等の利用をする場合に利用される。ただし、情報61~64を対応する図形51~54の近傍に表示して、ユーザが各図形の種類及びラベルを確認できるようにしてもよい。また、
図6では、対応するラベルが存在しない図形55及び56には図形の種類及びラベルの情報が付されていないが、付されるようにしてもよい。
【0043】
図4のステップS12において、制御部11は、ステップS11において取得された画像データをビットマップデータに変換し、画像の状態に応じて、ビットマップデータを補正する。具体的には、制御部11は、画像の傾き、ひずみ、及び裏面から透けた部分を補正する。制御部11は、補正された画像データを、ビットマップデータとして記憶部12のメモリ上に保管する。以下、メモリ上に保管された画像は「スキャン画像」と称される。
【0044】
図4のステップS13において、制御部11は、ステップS12においてメモリ上に保管されたスキャン画像からオブジェクトを検出する。以下、スキャン画像内に含まれる各図形を抽象化し、各々を予め定義された図形検出モデルとして分類したものは、「オブジェクト」と称される。オブジェクトは、例えば、図形の種類及び位置を示す情報である。制御部11は、スキャン画像から予め定められた種類の図形を検出して、オブジェクトを検出する。具体的には、制御部11は、図形の種類と、その種類の図形を示すサンプル画像とを教師データとして機械学習された図形検出に関する予測モデルを取得し、この予測モデルを用いてオブジェクトを検出する。このように制御部11は、機械学習により取得された予測モデルを用いてオブジェクト検出処理を行うが、ユーザが設定した基準に基づきオブジェクト検出処理が行われてもよい。
【0045】
図7は、図形の種類と、その種類の図形を示すサンプル画像とを教師データとして機械学習を行い、図形検出に関する予測モデルを生成する例を模式的に示す図である。
図7により示される予測モデルの生成は、制御部11が、図形と文字列との関連性を示す関連性情報を生成する処理を行う前に行われる。予測モデルは、情報処理装置10により生成されるが、他のコンピュータが生成したものが使用されてもよい。
【0046】
図7の例では、情報処理装置10においてコンピュータプログラムにより実現される機能要素であるモデル生成部20が、予測モデル22を生成する。
図7の例では、「バルブ」という種類の図形を示す複数のサンプル画像23~25がモデル生成部20に入力されている。モデル生成部20は、「バルブ」という種類の図形にあたるこれらのサンプル画像23~25を教師データとして学習し(21)、「バルブ」の図形を示す画像についての予測モデル22を生成する。
【0047】
制御部11は、このようにして生成された予測モデルを用いて、スキャン画像からオブジェクトを検出する。
図8は、オブジェクト検出処理の例を示す図である。制御部11は、スキャン画像31に対し、前述の予測モデルを用いてオブジェクトを検出するオブジェクト検出処理を行う(32)。制御部11は、検出したオブジェクトをXML形式の情報33として出力する。情報33では、「Drawing」タグの「name」という属性によりスキャン画像の名前「配管
図1」が記載される。「figure」タグは、「配管
図1」のスキャン画像に含まれる各図形の情報を示す。「figure」タグ内の属性「name」は、図形の種類の名称を示す。属性「positionX」及び「positionY」は、図形の位置に対応するXY座標を示す。例えば、スキャン画像31において「貯水タンク」という手書きの文字列が付された図形については、「<figure name=“タンク” positionX=“400” positionY=“50”/>」という情報が生成されている。この情報は、図形の種類は「タンク」、図形の位置は(400,50)であることを示す。なお、オブジェクトの情報の形式はXMLに限られず、例えば、CSV又はJSONでもよい。
【0048】
図4のステップS14において、制御部11は、スキャン画像を解析してスキャン画像に含まれる文字列をラベルとして取得する。この処理は、既存のOCR技術を用いて行われてよい。ステップS14により取得される情報には、各文字列について、文字列の内容を示す文字列データ、及びスキャン画像におけるその文字列の位置を示す情報が含まれる。さらに、既存の形態素解析技術を使用して、文字列が単語又は文節に区分され、文節ごとに品詞が識別されてもよい。このような文字列の文法的な情報が文字列ごとに識別され、ラベルとして記録されることにより、そのような文法的な情報を用いてより精度の高い画像の検索を行うことが可能となる。
【0049】
図4のステップS15において、制御部11は、ステップS13で検出したオブジェクトと、ステップS14で取得したラベルとの関連性を取得する。そして、ステップS16において、制御部11は、オブジェクトの情報に、関連性を有するラベルの情報を連結して付加する。
【0050】
このようにして、制御部11は、画像における図形と文字列との位置関係に基づき、図形と文字列との関連性を示す関連性情報を生成する。具体的には、制御部11は、図形と文字列との位置関係として、図形と文字列との間の距離、及び、図形に対する文字列の方向の少なくともいずれかに基づき、関連性情報を生成する。制御部11は、例えば、図形との距離が予め定めた値以内の近傍に存在する文字列を、その図形と関連性を有する文字列として取得してもよい。あるいは、制御部11は、図形から見て特定の方向に存在する文字列を、その図形と関連性を有する文字列として取得してもよい。一般に、図形に関連性を有する文字列はその図形の文字列の近傍に記載されるため、図形と文字列との位置関係に基づき関連性の有無を判定することで、画像に含まれる図形と文字列が何らかの関連性を有することを示す情報を精度よく自動的に生成することができる。
【0051】
また、このような図形と文字列との関連性の有無を判定する基準は、本実施形態では機械学習により取得された予測モデルとして制御部11により予め取得される。すなわち、制御部11は、サンプルとなるサンプル図形の位置と、サンプルとなるサンプル文字列の位置と、サンプル図形とサンプル文字列との間の関連性とを教師データとして、機械学習された関連性に関する予測モデルを取得する。さらに、制御部11は、関連性情報を生成する際は、関連性に関する予測モデルを用いて、図形と文字列との位置関係に基づき、図形と文字列との関連性を予測する。これにより、図形と文字列とが関連性を有するか否かの基準を人手により予め設定することなく、図形と文字列との関連性を示す情報を生成することができる。
【0052】
本実施形態では、スキャン画像に複数の図形及び複数の文字列が含まれる場合、制御部11は、複数の図形の各々について、複数の文字列に含まれる文字列のうち図形と関連性を有するものを示す情報を関連性情報として生成する。したがって、複数の図形及び複数の文字列が画像内に存在する場合においても、図形ごとに関連性を有する文字列を識別して関連性情報を生成することができる。
【0053】
図9は、スキャン画像に複数の図形が含まれる場合の関連性情報を生成する関連性取得処理の処理手順を示すフローチャートである。関連性取得処理において、制御部11は、スキャン画像に含まれる図形に関するオブジェクトの各々について、関連付けるべきラベルが存在するか否かを判定し、存在する場合はラベルの情報をオブジェクトの情報に付加する処理を行う。
【0054】
図9のステップS21において、制御部11は、注目しているオブジェクトの図形について、関連性を有するラベルが存在するか否かを判定する。この判定は、前述のように、図形と文字列との位置関係に基づき行われる。存在する場合(ステップS21でYES)、制御部11は、ステップS22の処理を行う。存在しない場合(ステップS21でNO)、制御部11は、ステップS23の処理を行う。
【0055】
図9のステップS22において、制御部11は、注目しているオブジェクトの情報に、関連性を有するラベルの情報を付加する。そして、制御部11は、ステップS23処理を行う。
【0056】
図9のステップS23において、制御部11は、スキャン画像に未処理のオブジェクトが存在するか否かを判定する。存在する場合(ステップS23でYES)、制御部11は、ステップS21の処理を行う。存在しない場合(ステップS23でNO)、制御部11は、関連性取得処理を終了する。
【0057】
図10は、関連性取得処理の例を示す図である。制御部11は、スキャン画像41のオブジェクトの情報に対して、前述の関連性取得処理を行う(42)。制御部11は、オブジェクトの情報33にラベルを付加したものをXML形式の情報43として出力する。
図8の情報33と
図10の情報43とを比較すれば明らかなように、種類が「バルブ」の2つの図形、種類が「タンク」の図形、及び種類が「ボイラー」の図形には、関連性を有するラベルが存在するため、ラベルに相当する情報が付加されている。例えば、スキャン画像31における「<figure name=“タンク” positionX=“400” positionY=“50”/>」という情報には、「value=“ボイラーA”」というラベルの情報が属性として付加されている。この情報は、(400,50)の位置に存在する「タンク」という種類の図形には「ボイラーA」というラベルと関連性を有することを示している。なお、関連性情報の形式はXMLに限られず、例えば、CSV又はJSONでもよい。
【0058】
図4のステップS17において、制御部11は、スキャン画像41に対して、ステップS16までに生成された関連性情報を連結して、
図6を参照して前述した構造化された画像を生成する。そして、制御部11は、処理を終了する。
【0059】
上記のように、情報処理装置10は、スキャン画像における図形と文字列との位置関係に基づき、図形と文字列との関連性を示す関連性情報を生成する。具体的には、位置関係として、図形と文字列との間の距離、及び、図形に対する文字列の方向の少なくともいずれかに基づき、関連性情報を生成する。したがって、人手を介することなく画像に含まれる図形と文字列とが何らかの関連性を有することを示す情報を自動的に生成することが可能である。このような構成によれば、手書きの図面に対して、その図面に含まれる図形とそれに関連する文字列の情報をコンピュータで利用可能な形で容易に付与することができる。したがって、手書き図面の検索など、コンピュータにおける手書き図面の用途を拡大することが可能となる。
【0060】
本開示に係る実施形態について、諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形又は修正を行うことが容易であることに注意されたい。従って、これらの変形又は修正は本開示の範囲に含まれることに留意されたい。例えば、各構成部又は各ステップに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の構成部又はステップを1つに組み合わせたり、或いは分割したりすることが可能である。
【符号の説明】
【0061】
10 情報処理装置
11 制御部
12 記憶部
13 通信部
14 入力部
15 出力部