(57)【要約】【課題】  入力された画像情報を、例えばソフトウェア開発支援ツールで利用可能であるような、モデル構成情報を保持した形式のデータに変換する機能を備えた画像処理装置を提供する。【解決手段】  画像を入力する画像入力手段１と、入力された画像から図形情報と文字情報を抽出する画像認識手段２と、図形情報を図形要素に分類し、分類された図形情報と文字情報から特定のモデル図のモデル構成要素を抽出するモデル構成要素抽出手段７と、モデル構成要素からモデル構成情報への変換機能をもつモデル構成情報変換手段９とを備えた。【選択図】        図１
2006331146.tif 000002
【特許請求の範囲】
【請求項１】
画像を入力する画像入力手段と、
入力された画像から図形情報と文字情報を抽出する画像認識手段と、
前記図形情報を図形要素に分類し、前記分類された図形情報と文字情報から特定のモデル図のモデル構成要素を抽出するモデル構成要素抽出手段と、
前記モデル構成要素からモデル構成情報への変換機能をもつモデル構成情報変換手段と、を備えたことを特徴とする画像解析装置。
【請求項２】
前記画像解析装置が、さらに前記モデル図の種類を提示する表示手段と、前記モデル図の種類を決定する決定手段を備えたことを特徴とする請求項１記載の画像解析装置。
【請求項３】
前記モデル構成要素抽出手段は、前記抽出された図形情報と文字情報が前記モデル図のモデル構成情報を省略した形態の場合、それを補完したモデル構成要素を抽出する機能を有することを特徴とする請求項１記載の画像解析装置。
【請求項４】
前記モデル構成情報変換手段は、前記モデル構成要素の補完処理をモデル図の種類ごとに異なって行う機能を有することを特徴とする請求項３記載の画像解析装置。
【請求項５】
前記表示手段は、複数の補完方法を提示する機能を有することを特徴とする請求項２記載の画像解析装置。
【請求項６】
前記表示手段は、前記モデル構成情報のデフォルト値の入力設定を受け付ける機能を有することを特徴とする請求項２記載の画像解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像情報から特定のモデル図の構成情報を抽出する画像解析装置に関する。
【背景技術】
【０００２】
ビジネスや研究開発の場では、多くの種類の図や表といったモデル図が用いられている。ソフトウェア開発においては、以前からフローチャートやデータフローダイアグラムに代表されるモデル図が用いられてきた。現在、ＵＭＬ（Unified Modeling Language）が広く普及しており、要求分析から実装までの一連の開発プロセスを一貫したモデル図を用いて管理するソフトウェア開発支援ツールも普及している。
特許文献１では、ＵＭＬで記法が定められているような複数種の図から所定のプログラム言語の完全なソースコードを得るビジュアルプログラミングシステムが提案されている。
手書きの画像から文字情報や図形情報を抽出するＯＣＲの技術は広く普及している。特許文献２では、手書き文字などの変形に強い文字認識方法を提案している。また、特許文献３では、画像から図形を抽出し直線及び円弧として表現する図形認識装置が提案されている。
【特許文献１】特開２００４−７０８１０公報
【特許文献２】特開平０７−２１３１７号公報
【特許文献３】特開２００４−１３９２７７公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ソフトウェア開発の場では、ミーティングやブレインストーミングが頻繁に行われ、それらの成果物は電子文書ではなく、ホワイトボードや用紙といった手書きのメディアに書かれたモデル図であることが多い。これらの成果物を再度ソフトウェア開発支援ツールに入力する作業は単調であり、工数を必要とする。また、入力時にミスし、内容が異なってしまうことも考えられる。
本発明は、入力された画像情報を、例えばソフトウェア開発支援ツールで利用可能であるような、モデル構成情報を保持した形式のデータに変換する機能を備えた画像解析装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、請求項１記載の発明は、画像を入力する画像入力手段と、入力された画像から図形情報と文字情報を抽出する画像認識手段と、図形情報を図形要素に分類し、分類された図形情報と文字情報から特定のモデル図のモデル構成要素を抽出するモデル構成要素抽出手段と、モデル構成要素からモデル構成情報への変換機能をもつモデル構成情報変換手段とを備えた画像解析装置を最も主要な特徴とする。
請求項２記載の発明では、モデル図の種類を提示する表示手段と、モデル図の種類を決定する決定手段を、さらに備えたことを特徴とする請求項１記載の画像解析装置を主要な特徴とする。
請求項３記載の発明では、モデル構成要素抽出手段は、抽出された図形情報と文字情報がモデル図のモデル構成情報を省略した形態の場合、それを補完したモデル構成要素を抽出する機能を有する請求項１記載の画像解析装置を主要な特徴とする。
請求項４記載の発明では、モデル構成情報変換手段は、モデル構成要素の補完処理をモデル図の種類ごとに異なって行う機能を有する請求項３記載の画像解析装置を主要な特徴とする。
請求項５記載の発明では、表示手段は、複数の補完方法を提示する機能を有する請求項２記載の画像解析装置を主要な特徴とする。
請求項６記載の発明では、表示手段は、モデル構成情報のデフォルト値の入力設定を受け付ける機能を有する請求項２記載の画像解析装置を主要な特徴とする。
【発明の効果】
【０００５】
請求項１によれば、手書きのメディアに書かれたモデル図をすぐにソフトウェア開発支援ツールで利用できる。これによって作業効率が向上する。また手書きのメディアから手入力する際のミスを防げる。
請求項２によれば、モデル図の種類を装置が知ることができる。
請求項３によれば、ユーザが、省略された形態のモデルをメディアに書くことが可能となる。これによって、ユーザは創造的な作業に集中できる効果も望まれる。
請求項４によれば、ユーザが手書きのメディアにモデル図を書く際、デフォルトの値までを詳細に書く必要がなくなり、作業効率が向上する。
請求項５によれば、ユーザの意図しない変換がなされることがなくなり、ユーザが手作業でこれを補正する手間がなくなり、作業効率が向上する。
請求項６によれば、プロジェクトの規則に従ったデフォルト値の設定をユーザが行うことができる。これにより、プロジェクト間で自明な情報を手書きのメディアにモデル図に書く必要がなくなる。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
図１は、本発明の実施形態に係る画像解析装置のブロック図である。図１に示すように、本画像解析装置は、画像入力機能をもつ画像入力部１、入力された画像を認識して図形情報と文字情報を抽出する機能をもつ画像認識部２、画像認識部２に利用されて画像情報からそれぞれ図形情報と文字情報への変換規則を定めた辞書機能をもつ図形情報辞書３、文字情報辞書４とを備える。
また、本画像解析装置は、さらに画像認識部２によって抽出された図形情報と文字情報を格納する機能をもつ図形情報格納部５、文字情報格納部６、図形情報を図形要素に分類し、その分類された図形情報と文字情報から特定モデルのモデル構成要素を抽出するモデル構成要素抽出部７、モデル構成要素抽出部７に利用されて図形情報及び文字情報からモデル構成要素への変換規則を定めた辞書の機能を持つモデル構成要素辞書８とを備える。
また、本画像解析装置は、さらにモデル構成要素からモデル構成情報への変換機能をもつモデル構成情報変換部９、モデル構成情報変換部９に利用されてモデル構成要素からモデル構成情報への変換基礎機能を定めた辞書の機能を持つモデル構成情報辞書１０、変換されたモデル構成情報をファイルへ出力するためのファイル出力部１１を備える。また、モデル構成情報変換部９は、構成要素の抽出に際し、入力画像内に明示的に記述されていないモデル構成情報のデフォルト値を自動的に決定する機能を有する。
また、本画像解析装置は、さらにモデル構成要素抽出部７において、どのモデル図として処理を実行するかのモデル図の種類を決定する機能を持ったモデル図種類選択制御部１２、及び、モデル図種類選択制御部１２におけるモデル図種類の決定をユーザに委譲するために、及び、モデル構成要素抽出部７において、ユーザが構成要素抽出の設定をするために、モデル図の種類を提示することにより本装置とユーザのインタラクションを提供する機能をもつ表示部１３を備える。
【０００７】
［実施例１］
次に、本発明の第１の実施例について説明する。図２は、本発明の実施形態に係る画像解析装置における全体処理フロー図である。
まず、この画像解析装置における全体処理について説明すると、画像入力部１に対して、画像情報、例えば、用紙に書かれたモデル図を、外部装置、例えばスキャナで取り込んだ画像を入力する（Ｓ１）。
次に、画像認識部２は、画像入力部１から入力された画像を受け取る。画像認識部２、例えばＯＣＲは、図形情報辞書３、文字情報辞書４に定められた変換規則に従い入力された画像から図形情報と文字情報を抽出する（Ｓ２）。図形情報は、例えばベクタ情報により構成され、ベクタ情報は、矩形、三角形といったレベルまで抽象化されることが望ましい。図形情報、文字情報ともに、同一座標系上の座標情報を保持することが望ましい。
ここで、例えば、図５に示すような画像が入力された場合、図６に示すような図形情報と文字情報が抽出される。すなわち、図形情報は矩形、線、三角形といったように、人間が画像を見たときに認識される形状にまで抽象化されており、図形の位置や形状を示す座標情報を保持している。文字情報は、文字列の始点を示す座標情報を保持している。
次に、モデル図種類選択制御部１２によって入力された画像情報がどのモデル図なのかを決定する。モデル図とは、例えば、表やグラフ、ソフトウェア開発を支援するモデル図などである。ソフトウェア開発を支援するモデル図として具体例を挙げるならば、ＵＭＬ、データフローダイアグラム、フローチャートなどである。
次に、ユーザは、表示部１３を通じて、モデル図の種類を決定することができる（Ｓ３）。どのモデル図が選択されたかという情報は、表示部１３からモデル図種類選択制御部１２に通知される。
次に、モデル構成要素抽出部７において、図形情報と文字情報からモデル構成要素を抽出する（Ｓ４）。モデル構成要素とは、例えば、ＵＭＬにおいては、クラス、属性、メソッド、関係といった概念を示す。データフローダイアグラムにおいては、データフロー、プロセス、ターミネータ、データストアといった概念を示す。モデル構成要素抽出部７は、モデル図種類選択制御部１２から通知されたモデル図種類に従って、適切なモデル構成要素辞書８に定められた変換規則に基づきモデル構成要素を抽出する。
【０００８】
図３は、図２に示すモデル構成要素抽出（Ｓ４）の詳細な処理フロー図である。すべての図形情報と文字情報に関して、モデル構成要素辞書８を参照し、対応するモデル構成要素を決定する（Ｓ１１〜Ｓ１４）。その際、図形情報と文字情報が、モデル図の要素の省略形を示す形体ならば（Ｓ１３でＹｅｓ）、省略された部分を補完する処理を行う（Ｓ１６）。
例えば、図６に示すような図形情報と文字情報を受け取り、モデル図種類選択制御部１２によって、モデル図の種類がＵＭＬと決定された場合を考える。ＵＭＬにおけるモデル構成要素辞書８の一例を図７に示す。図形要素の種類、及びそれらがどんな条件を満たしているかによって、どのモデル構成要素に対応付けられるかが決定する。
ここで、図６のＦ−０１の矩形は図７によるとクラスを示しているということになる。Ｆ−０６及びＦ−０７の線は、Ｆ−０１の矩形の内部にあるので、Ｆ−０１が示すクラスのフィールドを分割する線であるというふうに図形情報からモデル構成要素が抽出される。なお、クラスフィールドについては図９に示したとおりである。
矩形を横断する線によって区切られた領域を上から順番に第ｎフィールドとする。Ｓ−０１の文字列“クラス１”はＦ−０１が示すクラスの第１フィールド内にあり、＜＜＞＞で囲まれた文字列ではないので、クラス名である。線Ｆ−４は矩形Ｆ−１と矩形Ｆ−２を結んでいるので関連である。
Ｓ−０７の文字列は矩形Ｆ−１と線Ｆ−４の接点の近傍にあり、“０．１”は多重度を示す文字列であることがモデル構成要素辞書８により決定されるので多重度である。Ｓ−０９はＦ−１と線Ｆ−４の接点の近傍にあるが、多重度を示す文字列ではないのでロール名である。さらに、文字列Ｓ−０４はＦ−０１が示すクラスの第３フィールド内にあるので、メソッドである。
文字列Ｓ−０４の“＋操作１（引数１：ｉｎｔ）：ｖｏｉｄ”と言う文字列は、“＋”が可視性を示すモデル構成要素、“操作１”がメソッド名を示すモデル構成要素、“引数１”が第１引数名を示すモデル構成要素、“ｉｎｔ”が第１引数の型を示すモデル構成要素、“ｖｏｉｄ”がメソッドの返り値を示すモデル構成要素、というふうに分解される。
【０００９】
次に、図３に戻って、モデル構成情報変換部９は、モデル構成情報辞書１０に定められた変換規則に従い、抽出されたモデル構成要素を、モデル構成情報に変換する（Ｓ１５）。
モデル構成情報とは、モデル構成要素と可逆な形式の情報である。モデル図種類としてＵＭＬを例に挙げれば、モデル構成情報の形式として、ＸＭＩ、ＩＢＭ  Ｒａｔｉｏｎａｌ  Ｒｏｓｅのファイル形式であり業界のデファクトスタンダードとなっているＰｅｔａｌ形式、または、ＣやＣ＋＋やＪａｖａ（登録商標）などのプログラミング言語などが考えられる。
これらの形式で表現されたモデル構成情報は、ファイル出力部１１によって外部に出力され、モデル構成情報の形式をサポートする外部装置で利用することができる。
次に、図４は、図２に示すモデル構成情報変換（Ｓ５）の詳細な処理フロー図である。すべてのモデル構成要素について、モデル構成情報辞書１０を参照し、モデル構成情報への変換を行う。その後、モデル構成要素のデフォルト値を設定するならば、デフォルト値として設定する（Ｓ２１〜Ｓ２４）。
前記により抽出されたモデル構成要素をモデル構成情報に変換したものの一例を図８に示す。この例においては、モデル構成要素を要素の識別子で表現し、格識別子の値を“＝”の右辺値で表現している。また、モデル構成要素の構造を中括弧の入れ子構造にすることで表現している。
以上の処理によって、ユーザは、手書きのメディアに記述されたモデル図を、再度手入力する必要がなくなり、生産性の向上、入力ミスの軽減などの効果が望まれる。
【００１０】
［実施例２］
図３のモデル構成要素抽出の詳細な処理フローにおける、モデル構成要素補完処理（Ｓ１６）は、モデル図の種類によって図表の省略のルールが異なるため、モデル図の種類ごとに異なった処理を行わなければならない。
この第２の実施例では、ＵＭＬのクラスの省略形を例として挙げて、補完処理の実施例の説明を行う。
なお、第２の実施例では、図３のモデル構成要素抽出の詳細な処理フローにおけるモデル構成要素補完処理（Ｓ１６）以外は、第１の実施例と同様な形態をもつ。
ＵＭＬにおいては、クラスを図１０から図１２に示すように省略して記述することが許されている。図１０においては、第３フィールドを省略し、第１フィールドにクラス名、第２フィールドにメソッドを記述している。図１１においては、第３フィールドを省略し、第２フィールドに属性を記述している。図１２においては、第２フィールドと第３フィールドを省略し、第１フィールドにクラス名を記述している。
本実施例のモデル構成要素補完処理においては、図１０のモデル図を、属性を持たないクラスとして抽出する。図１１のモデル図を、メソッドを持たないクラスとして抽出する。図１２のモデル図を、メソッドと属性を持たないクラスとして抽出する。
ここで、図１０と図１１において、第２フィールドの文字列がメソッドなのか属性なのかを判断する方法について説明する。メソッドの記述においては、引数を１つも持たない場合でも、引数リストを括弧で囲むことが通例となっている。これを利用して、クラスのフィールドが２つだった場合には、括弧を含む文字列を含む場合はメソッドのフィールドとし、含まない場合には属性のフィールドと判断する。
【００１１】
［実施例３］
上述した第２の実施例において、クラスの第２フィールドに括弧を含む文字列が含まれない場合は、そのフィールドを属性として扱うとしたが、ユーザによっては、メソッドを記述する場合でも、括弧を書かない場合がある。
そこで第３の実施例においては、モデル構成要素の補完において、あいまいさが生じる場合、ユーザにどの補正方法にするかを提示し、ユーザはその選択肢から補正方法を指定し、モデル構成要素抽出部７は指定された補正方法に従って、モデル構成要素を抽出する。上記の場合以外は、第３の実施例は第２の実施例と同様の形態を持つ。
図１３は、モデル図としてＵＭＬを選択した場合における、ユーザに提示される画面の一例を模式的に表したものである。「購入」という文字列が、メソッドなのか属性なのかをユーザが指定する手段を提供している。
［実施例４］
図４のモデル構成情報変換の処理フローにおいて、各モデル構成要素にデフォルト値を設定する形態が、第４の実施例である。第４の実施例はモデル構成情報変換時にデフォルト値を設定すること以外は、第１から第３の実施例と同様な形態を持つ。ここで、表示部１３は、モデル構成情報のデフォルト値の入力設定を受け付ける機能を有している。
図１４に示したのが、ＵＭＬにおけるデフォルト設定の一例である。各モデル構成要素の項目ごとにデフォルト値が設定されている（図１４（１））。また、モデル構成要素のデフォルト値とは独立に、ある型をもつモデル構成要素の初期値が設定されている（図１４（２））。
図１４に示したデフォルト値を設定に基づき、図１５に示したモデル図をモデル構成情報に変換したものが図１６である。図１５では、“属性１”は属性名だけで、可視性も、型も、初期値も設定されていないが、図１４（１）左の設定に基づき、“ｐｒｉｖａｔｅ”の可視性、“ｉｎｔ”の型が設定されている。また図１４（１）右の設定に基づき、“ｉｎｔ”型である“属性１”の初期値に“０”が設定されている。
〔実施例５〕
図１４に示したデフォルト値をユーザが設定する方法を備えた実施例である。ユーザがデフォルト値を設定するタイミングは、モデル構成情報変換時とは限らない。本装置が起動している間は、ユーザはいつでもデフォルト値を設定できることが望ましい。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る画像解析装置のブロック図。
【図２】本発明の実施形態に係る画像解析装置における全体処理フロー図。
【図３】図２に示すモデル構成要素抽出の詳細な処理フロー図。
【図４】図２に示すモデル構成情報変換の詳細な処理フロー図。
【図５】本発明の対象となるモデル図。
【図６】図５の画面から抽出された図形情報と文字情報を示す図。
【図７】ＵＭＬにおけるモデル構成要素辞書を示す図。
【図８】モデル構成要素から変換されたモデル構成情報を示す図。
【図９】クラスフィールドを示す図。
【図１０】クラスの内容を示す図（その１）。
【図１１】クラスの内容を示す図（その２）。
【図１２】クラスの内容を示す図（その３）。
【図１３】モデル図としてＵＭＬを選択した場合における、ユーザに提示される画面の一例を模式的に表した図。
【図１４】ＵＭＬにおけるデフォルト設定の一例を示す図。
【図１５】可視性や型を省略したＵＭＬにおけるクラス図。
【図１６】図１５に示したモデル図をモデル構成情報に変換した例を示す図。
【符号の説明】
【００１３】
１  画像入力部（画像入力手段）、２  画像認識部（画像認識手段）、７  モデル構成要素抽出部（モデル構成要素抽出手段）、９  モデル構成要素変換部（モデル構成要素変換手段）、１２  モデル図種類選択制御部（決定手段構成要素）、１３  表示部（表示手段、決定手段構成要素）
【図１】
2006331146.tif 000003
【図２】
2006331146.tif 000004
【図３】
2006331146.tif 000005
【図４】
2006331146.tif 000006
【図５】
2006331146.tif 000007
【図６】
2006331146.tif 000008
【図７】
2006331146.tif 000009
【図８】
2006331146.tif 000010
【図９】
2006331146.tif 000011
【図１０】
2006331146.tif 000012
【図１１】
2006331146.tif 000013
【図１２】
2006331146.tif 000014
【図１３】
2006331146.tif 000015
【図１４】
2006331146.tif 000016
【図１５】
2006331146.tif 000017
【図１６】
2006331146.tif 000018