"動的輪郭モデルにより画像の輪郭抽出を行う画像処理装置であって、画像の予め定められた特徴を基に注目領域を抽出する注目領域抽出手段と、前記抽出された注目領域の輪郭を抽出する輪郭抽出手段と、前記抽出された輪郭の形状を評価する輪郭形状評価手段と、前記評価の結果に基づいて、前記抽出された輪郭をサンプリングする制御点を設定する制御点設定手段とを有する画像処理装置。請求項1に記載された画像処理装置において、前記抽出された輪郭を分割して部分輪郭を生成する輪郭分割手段を有し、前記輪郭形状評価手段は、前記部分輪郭の形状を評価し、前記制御点設定手段は、前記部分輪郭毎に前記制御点を設定する画像処理装置。請求項1に記載された画像処理装置において、前記制御点設定手段は、前記評価の結果に基づいて、前記制御点を等間隔に設定する範囲と不等間隔に設定する範囲とを決定する画像処理装置。請求項1に記載された画像処理装置において、前記抽出された輪郭から所定の一つの輪郭を選択する輪郭選択手段を有し、前記輪郭形状評価手段は、前記選択された輪郭の形状を評価し、前記制御点設定手段は、前記選択された輪郭の形状の評価の結果に基づいて、前記抽出された全ての輪郭の制御点を設定する画像処理装置。請求項4に記載された画像処理装置において、前記所定の一つの輪郭は、中心が画像の中心に最も近い輪郭である画像処理装置。請求項4に記載された画像処理装置において、前記所定の一つの輪郭は、長さが最長の輪郭である画像処理装置。動的輪郭モデルにより画像の輪郭抽出を行う画像処理方法であって、画像の予め定められた特徴を基に注目領域を抽出する注目領域抽出工程と、前記抽出された注目領域の輪郭を抽出する輪郭抽出工程と、前記抽出された輪郭の形状を評価する輪郭形状評価工程と、前記評価の結果に基づいて、前記抽出された輪郭をサンプリングする制御点を設定する制御点設定工程とを有する画像処理方法。コンピュータを、請求項1乃至6のいずれかに記載された画像処理装置の各手段として機能させるための画像処理プログラム。動的輪郭モデルにより画像の輪郭抽出を行う画像処理システムであって、画像の予め定められた特徴を基に注目領域を抽出する注目領域抽出手段と、前記抽出された注目領域の輪郭を抽出する輪郭抽出手段と、前記抽出された輪郭の形状を評価する輪郭形状評価手段と、前記評価の結果に基づいて、前記抽出された輪郭をサンプリングする制御点を設定する制御点設定手段とを有する画像処理システム。本発明は、このような問題を解決するためになされたものであり、その目的は、動的輪郭モデルにより画像の輪郭抽出を行うときに、画像の特徴を基に抽出した注目領域の形状に応じて、初期輪郭の制御点を適切に設定できるようにすることである。本発明の画像処理装置は、動的輪郭モデルにより画像の輪郭抽出を行う画像処理装置であって、画像の予め定められた特徴を基に注目領域を抽出する注目領域抽出手段と、前記抽出された注目領域の輪郭を抽出する輪郭抽出手段と、前記抽出された輪郭の形状を評価する輪郭形状評価手段と、前記評価の結果に基づいて、前記抽出された輪郭をサンプリングする制御点を設定する制御点設定手段とを有する画像処理装置である。本発明の画像処理方法は、動的輪郭モデルにより画像の輪郭抽出を行う画像処理方法であって、画像の予め定められた特徴を基に注目領域を抽出する注目領域抽出工程と、前記抽出された注目領域の輪郭を抽出する輪郭抽出工程と、前記抽出された輪郭の形状を評価する輪郭形状評価工程と、前記評価の結果に基づいて、前記抽出された輪郭をサンプリングする制御点を設定する制御点設定工程とを有する画像処理方法である。本発明の画像処理プログラムは、コンピュータを、本発明の画像処理装置の各手段として機能させるための画像処理プログラムである。本発明の画像処理システムは、動的輪郭モデルにより画像の輪郭抽出を行う画像処理システムであって、画像の予め定められた特徴を基に注目領域を抽出する注目領域抽出手段と、前記抽出された注目領域の輪郭を抽出する輪郭抽出手段と、前記抽出された輪郭の形状を評価する輪郭形状評価手段と、前記評価の結果に基づいて、前記抽出された輪郭をサンプリングする制御点を設定する制御点設定手段とを有する画像処理システムである。本発明によれば、動的輪郭モデルにより画像の輪郭抽出を行うときに、画像の特徴を基に抽出した注目領域の形状に応じて、初期輪郭の制御点を適切に設定することができる。以下、本発明の実施の形態について、図面を参照して説明する。[第1の実施形態]実施形態全体の概要本実施形態では、ウォーターシェッドWatershed法などの簡易的な領域分割法を前処理として利用することで、動的輪郭モデルに適切な初期輪郭を、少ないユーザ作業量で与えることができる。本実施形態によると、少ないユーザ作業量で、ユーザの意図する抽出対象オブジェクトを指定することができ、且つ、オブジェクト輪郭の実際の詳細な抽出はシステムが行うために、ユーザの全体の作業量を顕著に低減することができる。本実施形態の処理は大きく分けて2段階からなる。ROIを抽出する段階と、ROIから輪郭を抽出し、その輪郭をサンプリングし、制御点を定める段階である。ROI抽出には様々な方法がある。本実施形態では、領域成長法の一つであるウォーターシェッド法を用いた場合について説明するが、他の方法を用いてもよい。ウォーターシェッド法は、いくつかのシード点から、グラディエントの和が一定になるように領域を成長させ、他のシード点からの領域との接触線を最終的な輪郭とする、領域成長法による画像分割法であるhttpenwikipediaorgwikiWatershed28algorithm29参照。この方法では、シード点はユーザが指定することが基本となるが、他の方法によるROI情報などを用いて自動的にシード点を設定することもできる。ウォーターシェッド法では、シード点の数だけ領域が生じるが、一般的にウォーターシェッド法では複雑なオブジェクトを抽出するために、一つのオブジェクトに対して複数のシード点が必要となり、所謂過分割の状態となりやすい。そのため一旦分割した後、抽出対象のオブジェクトの輪郭となるように、領域の統合を行うことがある。この領域の統合には例えばスプリットアンドマージSplitandMerge法などを用いることができる。抽出対象のオブジェクトと領域が一意に対応付けできた後、これをROI候補領域と呼ぶことにする。次にこのROI候補領域の輪郭を抽出する。ROI候補領域は他の領域と二値的に識別できるため、この輪郭抽出は単純な二値画像からの輪郭抽出法を用いることができる。ここで抽出された輪郭は連続線情報であるため、このまま動的輪郭モデルで利用することはできない。そのため抽出された輪郭をサンプリングし、制御点を設定する必要がある。曲線のサンプリングにも様々な手法がある。最も単純には、等間隔サンプリング法があるが、これは輪郭形状にかかわらず一定の間隔でサンプリングするため、後処理である動的輪郭モデルにおける輪郭形状追従性が悪くなり適切ではない。輪郭形状に従ってサンプリング間隔を調整する不等間隔サンプリング方式には例えばTheChinチェーンの近似アルゴリズムのような方法があり、これにより後段の動的輪郭モデルで高い精度が期待できるような、制御点を設定することができる。これは端的には、複雑な形状部には多くの制御点を、簡単な形状の部分には少数の制御点を割り振る方法といえる。このような処理の組み合わせにより、動的輪郭モデルで初期輪郭として利用するのに好適な、制御点を構成することができる。画像処理システムの構成図1に本発明の実施形態の画像処理装置を有する画像処理システムを示す。この画像処理システムは、ネットワーク2と、それぞれがネットワーク2に接続された画像処理装置1、画像取得装置3、画像出力装置4、及び記憶装置5からなる。画像取得装置3はイメージスキャナやデジタルカメラなど、写真、原稿、風景などの画像の画像情報を取得する装置である。画像出力装置4は電子写真記録方式やインクジェット記録方式のプリンタやプロッタからなる画像を形成する装置である。記憶装置5はHDDハードディスクドライブなどの大容量の外部記憶装置である。画像処理装置1は、コンピュータにより構成されており、画像処理装置内部バス11と、それぞれが画像処理装置内部バス11に接続されたCPUCentralProcessingUnit12、ROMReadOnlyMemory13、RAMRandomAccessMemory14、記憶装置15、操作装置16、表示装置17、及び通信装置18を有する。CPU12は、ROM13や記憶装置15に格納されているプログラムやデータをRAM14に読み込んで実行することにより、この画像処理装置1の全体の制御などを行うプロセッサである。ROM13はプログラムやデータを記憶するメモリである。RAM14は、CPU12が各種動作を行うときにプログラムやデータを一時的に記憶するメモリである。記憶装置15はHDDからなり、CPU12が各種動作を行うときに使用するプログラムやデータを記憶する内部記憶装置である。操作装置16は、キーボード、マウスなど、ユーザが画像処理装置1を操作するためのユーザインタフェースである。表示装置17は、LCDLiquidCrystalDisplayやCRTCathodeRayTubeなど、操作装置16から入力した情報や画像処理装置1の動作状態などを表示するユーザインタフェースである。通信装置18は、ネットワーク2を介して、画像取得装置3、画像出力装置4、記憶装置5とデータ通信を行うための装置である。このような構成により、画像処理装置1は内部の記憶装置15、外部の記憶装置5のいずれかに保持される画像情報、もしくは画像取得装置3により取得される画像情報を取得する。次に作業用のRAM14にその入力画像情報を展開し、予め定められた処理方法によりこれを処理する。この結果は記憶装置15もしくはネットワーク2経由で記憶装置5に保持することができる。ユーザからの指示に従い、システムはRAM14に展開された処理済み画像情報をネットワーク2経由で画像出力装置4に送り、ハードコピーを作成することができる。画像入力から制御点生成処理までの流れ図2は、本実施形態の画像処理装置1に画像が入力されてから初期輪郭の制御点が生成されるまでの流れを示す図である。図示のように、入力画像は、順次、画像処理部21内の前処理部22と、ROI候補領域抽出部23と、制御点生成部24で処理される。前処理部22は、与えられた入力画像を後段の処理に適する形に変換するための解像度変換部221と色空間変換部222を備えている。入力画像の解像度が高すぎる場合には処理速度向上のために、解像度変換部221により、後段の処理で用いる解像度に変換してもよい。また入力画像の色空間が後段の処理での色空間と異なる場合には、色空間変換部222により、適時色空間変換を行う。ROI候補領域抽出部23は初期輪郭のもとになるROI候補領域を抽出するものであり、領域分割部231とその後の領域統合部232からなる。領域分割部231はここでは領域成長法の一つであるウォーターシェッド法を用いる。ウォーターシェッド法では、グレーレベルに変換した入力画像からグラディエントを計算し、別途設定されたシード点からのグラディエント和が一定になるように領域分割を行う。ウォーターシェッド法では一般的に過分割になる傾向があり、そのため抽出したいオブジェクト1つに対して複数の領域が発生することがある。その場合にはユーザの指示により、領域を統合し、抽出するオブジェクトと一対一に領域が対応するようにする。この処理は領域統合部232で行われ、例えばスプリットアンドマージアルゴリズムの統合部を用いて処理することができる。この領域統合により、オブジェクト周囲のROI候補領域が設定される。制御点生成部24の輪郭抽出部241では、ROI候補領域の輪郭抽出を行う。ウォーターシェッド法及びスプリットアンドマージ処理により既にROI候補領域は他の領域と区別するためのフラグを与えられているため、二値画像からの輪郭抽出処理となり、簡易な方法で輪郭を抽出することができる。このとき、抽出すべきオブジェクト領域のトポロジーが1でない場合ドーナツ状などで領域に穴があいている場合、内部の穴の周囲にも輪郭を構成することができる。この場合、領域外周部の輪郭と内周部の輪郭を別の輪郭としてそれぞれ輪郭抽出→制御点生成を行うことで、複雑な形状の領域も抽出することができるようになる。最後にサンプリング部242では、最も単純な方法として等間隔サンプリングを用いるものとする。この場合、輪郭情報を点列として符号化した後、予め定められた間隔でその符号をサンプリングすることでサンプリング結果として制御点が得られる。画像処理装置の機能ブロック図図3は、本実施形態の画像処理装置の機能ブロック図である。図示のように、図2に示す処理に対応するように、解像度変換部32、色空間変換部33、領域分割部34、領域統合部36、輪郭抽出部37、サンプリング部38の各処理部と、ユーザとのインタラクションを行うためのユーザインタフェース31、画像等を保持するためのリポジトリ35からなる。ここでユーザインタフェース31は各処理部の制御も行う。画像処理装置のコンポーネントレベルの振る舞い図4は、画像処理装置1のコンポーネントレベルの振る舞いを示すシーケンス図である。本実施形態における画像処理は、前記のとおり大きく分けるとROI候補領域抽出と、制御点生成処理からなる。ただし任意の入力画像を処理するために、多くの場合解像度変換や色空間変換などの前処理が必要になる。まず前処理部22では、入力画像に対して解像度変換S5と色空間変換S6を行う。ここでは、ユーザインタフェース31に対する指示S1に基づいて、リポジトリ35から検索した画像を入力画像とするS2~S4。入力画像Inputimageの解像度をx、予め定められた出力画像Outputimageの解像度をy、入力画像の高さheight、幅widthとすると、最も単純な解像度変換は、以下のように表される。ここで関数Avgは引数の平均を返すものである。RatioxyFori0iheightRatioForj0jwidthRatioOutputimageAvgheightRatioiiRatiowidthRatiojjRatioなお、これ以外のサンプリング方法を用いて低解像度化を行ってもかまわない。本実施形態では、ROI候補領域抽出部23において領域成長法の一つであるウォーターシェッド法を利用する。この方法はグレースケール画像を入力画像として想定するため、色空間変換S6では、カラー画像からグレースケール画像への縮退を行うことが求められる。ただし、カラー画像をそのまま利用可能なウォーターシェッド法の派生法を用いる場合には、色空間変換は必要ない。RGBカラー画像からグレースケール画像への最も単純な変換は上記の仮定の下で以下のように示される。ここで関数R,G,Bはそれぞれ引数の画像情報の赤、緑、青成分を返すものである。Fori0iheightForj0jwidthGrayscaleimage03R05G02B低解像度化、色空間変換を受けた画像は、一旦途中生成画像中間生成画像としてリポジトリ35に保存されるS7、S8。ただし、後段の全処理を通じてメモリRAM14内で利用可能であればリポジトリ35に保存する必要はない。保存書き込みの終了がリポジトリ35から前処理部22に通知されS9、前処理の終了が前処理部22からユーザインタフェース31に通知されるS10。次にROI候補領域抽出部23では、ユーザインタフェース31に対する指示S11に基づいて、リポジトリ35から途中生成画像を検索しS12~S14、領域の分割S15と主なオブジェクトに沿った領域の統合S16を行う。一般的に色や明度などの局所特徴に基づいた領域分割は、画像中の意味あるオブジェクトに対して過分割になりやすい。そのため局所特徴に基づいた領域分割の後、オブジェクトに沿って領域を統合する処理が必要となる。《領域分割処理の詳細》領域分割処理S15は、前記のとおり局所特徴を利用した方法を用いる。これは画像の見えに近い領域分割結果を得るために必要である。図5は領域分割処理S15の詳細な機能ブロックであり、図6はその機能ブロックに対応するシーケンス図である。図5は、図3の領域分割部34に対応するものであり、処理制御部41、シード点配置部42、グラディエントマップ計算部43、グラディエント和計算部44、及び終了評価部45からなる。図6に示すように、まずシード点配置部42が処理制御部41の指示に応じてシード点を配置してシード点情報を処理制御部41に渡しS101~S103、次いでグラディエントマップ計算部43が処理制御部41の指示S104に応じてグラディエントマップを計算しS105、計算結果のグラディエントマップを処理制御部41に渡すS106。次にグラディエント和計算部44が処理制御部41の指示S107に応じてグラディエント和を計算しS108、終了評価部45に終了条件のチェックを指示しS109、終了評価部45は終了条件をチェックした後に、終了通知を処理制御部41に送るS110~S111。位置におけるグラディエント場Gradの計算S108を例えば以下のように行う。Fori0iheightForj0jwidthGradMAXここでgは点ijを中心とする局所窓の中での、中心からの勾配とし、nはその通し番号とし、1つの局所窓内で計算される勾配の総数をNとする。二次元画像の場合、Gradは、各点に対して方向を持つベクトルを与える。次に各点に定義されたグラディエント情報と、与えられたシード点情報を元に、領域を構成する。このときシード点はユーザが与えるものとするが、例えば予め定められた数のシード点をランダムに配置する方法などを採ってもよい。ここでシード点の数をMとし、シード点mから成長した領域Rの隣接画素の集合をAdjR、隣接画素の総数をAとする。また、各シード点から輪郭各点までのグラディエント和SumGradが最小となるパスをpに沿って以下のように計算する。関数MINは引数の最小値を返すものである。Form0mMFora0aASumGradMINこの指標は、各シード点に対して隣接画素の数A個計算される。この方法で各シード点から領域成長を続ける。領域成長の終了条件は、他のシード点からの領域との接触であり、上記のグラディエント和を計算する過程で、単一の画素が複数のシード点からのパスに乗ったことを条件にして終了させることができるS109、S110。なお、図示を省略したが、領域分割処理済みの画像データは途中生成画像としてリポジトリ35に保存される。《領域統合処理の詳細》図7は領域統合処理S16の詳細な機能ブロックであり、図8はその機能ブロックに対応するシーケンス図である。図7は、図3の領域統合部36に対応するものであり、処理制御部51、色空間変換部52、平均色計算部53、統合クライテリア評価部54、及び領域統合部55からなる。図8に示すように、色空間変換部52は処理制御部51からの色空間変換指示S201を受けると、リポジトリ35から領域分割済みの画像を検索取得して入力画像としS202~S204、Lab色空間への色空間変換を行うS205。次いでLab色空間の入力画像を用いて領域統合を行い、統合結果を処理制御部51に渡すS206~S214。この領域統合には様々な方法が利用できるが、代表的なものとしてスプリットアンドマージアルゴリズムの統合部分マージ処理段を用いることとする。スプリットアンドマージアルゴリズムのマージ処理段では、予め定められた統合指標を各領域に対して計算し、指標が近い近接領域を統合していくことこの条件を統合クライテリアと呼ぶで過分割状態を緩和する。この統合クライテリアは自由に設定可能であるが、計算が収束するように統合の終了条件を設定する必要がある。本実施形態では、統合指標として領域の平均色を利用し、近接領域間の統合指標の差が予め定められた閾値Tを下回る場合にはこれらの領域を統合する。平均色の差異を人間の知覚と近づけるために、平均色計算はLab色空間で行う。RGB色空間からLab色空間への変換S205は例えばhttpimagedispjpcommentarycolorcformulaLabhtmlにある変換式を用いて計算することができる。領域mのLab色空間における平均色をE、領域mに属する画素の集合をSとすると、各領域の平均色Eは、Form0mMEAvgと表せるS207。領域mに隣接する領域の集合をNeighbor、領域mの隣接領域の総数をNとすると、Form0mMForn0nNIfNeighborTNeighborを領域mに統合するS210、S211。ここで条件判定は統合クライテリア評価部54が行い、統合は領域統合部55が行う。各領域に領域番号を振り、領域に属する画素の属性の一つとして領域番号を保持することで、各画素の領域番号を修正することにより、上記統合過程を効率的に行うことができる。図4の説明に戻る。領域統合処理された画像は、ROI候補領域抽出部23によりリポジトリ35に途中生成画像として保存されS17、S18、保存書き込みの終了がリポジトリ35からROI候補領域抽出部23に通知されS19、ROI候補領域抽出処理の終了がROI候補領域抽出部23からユーザインタフェース31に通知されるS20。次にユーザインタフェース31に対する制御点生成の指示S21に応じて、制御点生成部24がリポジトリ35から、ROI候補領域抽出部23により保存された途中生成画像を検索して取得するS22~S24。次いで、取得した途中生成画像に対して、順次、輪郭抽出処理S25、サンプリング処理S26を施して制御点を生成する。そして、生成した制御点データをリポジトリ35に保存し、保存書き込みの完了をリポジトリ35が制御点生成部24に通知しS27~S29、制御点生成処理の終了を制御点生成部24がユーザインタフェース31に通知するS30。《制御点生成処理の詳細》図9は制御点生成処理S25、S26の詳細な機能ブロックであり、図10はその機能ブロックに対応するシーケンス図である。図9は、図3の輪郭抽出部37、サンプリング部38及びリポジトリ35に対応するものであり、処理制御部61、境界抽出部62、サンプリング部63、及びリポジトリ35からなる。図9及び図10は、後述する等間隔サンプリング及び不等間隔サンプリングに共通である。図10に示すように、まず処理制御部61はリポジトリ35からROI候補領域抽出部23により保存された途中生成画像を検索し、取得して入力画像とするS301~S303。次いで境界抽出部62が処理制御部61の指示に基づいて、ROI候補領域の境界抽出を行い、境界情報を処理制御部61に渡すS304~S306。最後にサンプリング部63が処理制御部61の指示に基づいて、境界情報のサンプリングを行って制御点を生成し、制御点情報を処理制御部61に渡すS307~S309。ここでS304~S309はROI候補領域の数だけ反復する。また、S307のサンプリングでは、等間隔サンプリング、不等間隔サンプリングのどちらかを行うように、予めユーザインタフェース31から設定することができる。各ROI候補領域の境界情報輪郭についての点群情報のデータ構造例を下記の表1に示す。ここで、X座標位置、Y座標位置は、各ROI候補領域の輪郭である連続線を横方向X軸方向、縦方向Y軸方向に所定の間隔でサンプリングした点、換言すれば、ROI候補領域の輪郭に格子を重ねたときの輪郭上の格子点の座標である。等間隔サンプリングの場合には、上記データの内、点列を等間隔にサンプリングすることで結果が得られる。この場合最終的に得られる輪郭上の点情報がそのまま制御点情報となるため、制御点のデータ構造も表1に準ずるものとする。次に不等間隔サンプリングであるが、サンプリングを不等間隔にする理由は前記のとおりオブジェクトの複雑さに従い、変化の少ない部分には少ない制御点を、変化の多い部分には多くの制御点を割り当てるためである。不等間隔サンプリングの一例として、以下の様なサンプリング方法を用いる。点列情報が表1のように与えられた場合、各点における変化量は微分値線微分を用いて表すことができる。ここで、隣り合う2個の点の間のX座標位置の変化がΔX、Y座標位置の変化がΔYの場合、√{ΔX2ΔY2}により微分値を算出する。つまり、差分により近似する。次に輪郭に沿った微分値の加重移動平均を求める。この加重移動平均を求めるための局所窓の大きさは予め与えておく。加重移動平均値の算出に用いる関数の一例を図11に示す。この例は、ターゲット点ターゲット処理対象となるデータ点からの距離に応じて加重がリニアに減少する関数である。通常の平均と異なり、加重移動平均はターゲット点からの距離に従い重み付け係数が減少するため、遠方のデータ点からの影響を小さく抑えることができる。これにより、ROI候補領域の輪郭の微分値の平均を計算するための局所窓外周部に、微分値の大きな点が入ってきた瞬間の平均値の急激な増大を防ぎ、より実際的な微分平均値の算出が可能となる。この加重移動平均Avgdが予め定められた閾値THを上回る場合には、その点をサンプリングして制御点とする。このためのデータ構造例を表2に示す。THは予め与えられた固定値を用いてもよいし、THをパラメータとして変化させ、制御点の数が一定になるまでTHを降下させ、サンプリング処理を繰り返すことで、予め定められた制御点数を満たすサンプリング結果を得ることもできる。以上の処理により、輪郭曲線の複雑さに適応した制御点を生成することができる。輪郭を分割して生成した部分輪郭に対する制御点の生成本実施形態では、輪郭曲線の複雑さに適応した制御点を生成する際、輪郭を分割して部分輪郭を生成し、部分輪郭に対してサンプリングを行って、等間隔サンプリングもしくは不等間隔サンプリングの制御点を生成する。図12は、この制御点生成処理の一例を示すフローチャートである。この処理は図10におけるサンプリング部63が実行する。図12に示すように、ROI候補領域の境界情報を基に、ROI候補領域の輪郭を分割して、部分輪郭を生成するST1。なお、輪郭を分割する方法については後述する。次いで、部分輪郭の一つs=1をターゲットとして選択しST2、その部分輪郭上の一点を部分輪郭開始地点としST3、その点をターゲット点にするとともに、ターゲット点における部分輪郭上の微分値を計算するST4。次にターゲット点における微分値の加重移動平均値を計算しST5、計算結果が閾値THを上回るか否かを判断するST6。そして、上回ると判断した場合はST6:Yes、そのターゲット点を制御点に指定しST7、上回らないと判断した場合はST6:No、そのターゲット点を制御点に指定しないST8。部分輪郭s=1の終了点に到達するまでターゲット点を移してST9:No→ST10、ST4~ST8を反復する。終了点に到達したらST9:Yes、全ての部分輪郭を処理するまで次の部分輪郭を選択しST11→ST12:No、ST3~ST11を反復する。一つの輪郭の全ての部分輪郭を処理したらST12:Yes、ターゲットを次の輪郭に移してST13:No→ST14、ST1から実行する。全ての輪郭の処理を終了したらST13:Yes、この図の処理を終了させる。以上の処理により、各部分輪郭に対して、形状の複雑さに適応した制御点を生成することができる。図13は、部分輪郭に対してサンプリングを行って制御点を生成する処理の別の一例を示すフローチャートである。このフローでは、各部分輪郭に対してそれぞれ等間隔サンプリングを行うか不等間隔サンプリングを行うかを決定するため、まず各部分輪郭に対して、輪郭形状の微分値の平均値avgdと標準偏差値stddを指標として求める。そのため、等間隔サンプリング、不等間隔サンプリングとこれらの指標との関係を予め実験により導出しておく。今回の場合、指標が2つあるため、表3のように2次元の表として、定義することができる。この表において、avgd及びstddはそれぞれ0から100の間の値に正規化されている。同様に3つ以上の指標を用いる場合にも、対応した次元の表を作成することで対応できる。図13に示すように、ROI候補領域の境界情報を基に、ROI候補領域の輪郭を分割して、部分輪郭を生成するST101。次いで、部分輪郭の一つをターゲットとして選択し、その部分輪郭上の一点を部分輪郭開始地点としST102、その点をターゲット点にするとともに、ターゲット点における輪郭上の微分値を計算するST103。部分輪郭の終了点に到達するまでターゲット点を移してST104:No→ST105、ST103を反復し、部分輪郭の終了点に到達したらST104:Yes、ターゲットとした部分輪郭全体の微分値の平均値avgdを算出しST106、さらにターゲットとした部分輪郭全体の微分値の標準偏差値stddを算出するST107。次に平均値avgd及び標準偏差値stdd、並びに表3を基に等間隔サンプリングにするか不等間隔サンプリングにするかを決定するST108。全て部分輪郭の処理を終了するまで処理対象ターゲットの部分輪郭を移してST109:No→ST110、部分輪郭毎に上記のステップST102~ST108を実行し、全ての部分輪郭の処理を終了したらST109:Yes、この図の処理を終了させる。以上の処理により、画像内の各ROI候補領域の各部分輪郭に対して、それぞれの微分値の平均値及び標準偏差値を基に等間隔サンプリングを行うか不等間隔サンプリングを行うかを決定することで、部分輪郭の形状の複雑さに応じて適応的に制御点を生成することができる。輪郭の分割処理図12のST1及び図13のST101における輪郭分割処理のうち、最も単純な処理は等間隔に輪郭を分割することである。これは計算が簡単軽量である反面、輪郭区間が適切に設定されないことにより、後処理サンプリング方法の決定に影響を与えることがある。この影響を軽減するために輪郭分割を適応的に行うことが有効である。本実施形態の目的はサンプリング方法とサンプリング間隔を適当に設定することにより、全体の制御点の個数を減らし、後段の輪郭追従、輪郭調整処理段を高速化することであるので、制御点の個数を低減可能な直線性の高い領域を独立した輪郭区間として分割する方が望ましい。そこで、ハフ変換を用いることで、輪郭を、原点からの距離及び角度の2次元に置き換え、ハフ平面内のピークを検出することで、輪郭の直線性の高い部分を抽出する。一般にハフ変換は背景雑音に対する感度が高いが、今回のように輪郭が抽出されている場合には背景雑音の影響を受けないため、直線性の高い輪郭区間を高精度に抽出することができる。ただし、ハフ平面のピーク値は、原点からの距離と角度を表しているだけであるため、これら二つの情報だけでは輪郭の直線性の高い部分を抽出することはできない。そのため、本実施形態では、以下に示す処理により直線性の高い輪郭区間の抽出を行う。図14は、この処理、即ちハフ変換を用いた輪郭分割処理を示すフローチャートである。また、図15は、ハフ変換を用いた輪郭分割処理を説明するための図であり、図16は、ハフ変換を用いた輪郭分割処理により実行される輪郭からの直線区間の抽出を説明するための図であり、図17は、ハフ変換を用いた輪郭分割処理において抽出される可能性のある擬似直線を示す図である。図14に示すように、フラグ関数fを初期化するST201。フラグ関数fは輪郭点sが候補であるか否かを示す関数であり、候補である場合には1を、そうでない場合には0をとる。引数のs及びtは、ループが異なるために変えているだけで本質的には違いはない。ST201では、全てのsに対してfs=0とする。次に、図14及び図15に示すように、輪郭をハフ変換しST202、ハフ平面におけるピーク値rΘを検出するST203。このピーク値は実平面では一つの直線を表すため、ハフ平面のピーク値を高い順にn個とることは、実平面における直線をn個とることに相当する。これらは輪郭の直線近似として、適当なn個の直線となっている。次に各直線に対して、輪郭上の各点からの距離垂線距離をとりST204、ST205、この垂線距離が予め定められた閾値TH1よりも小さい点を、直線区間候補とするST206:Yes→ST207。輪郭上の各点を順に検査し、直線区間候補となっている点の連続区間が予め定められた閾値TH2よりも大きくなっている場合には、その連続区間を輪郭区間として採用するST207~ST215。実際には図16に示すように、変換後のピーク値から導出される直線と、輪郭を比較し、その直線からの垂直距離Dが閾値TH1以下の輪郭範囲を直線区間の候補とする。輪郭上の各点を順に検査し、直線区間候補となっている点の連続区間が予め定められた閾値TH2よりも大きくなっている場合には、その連続区間を輪郭区間として採用する。これにより図17に示されるような疑似直線の検出を避けることができる。本実施形態によれば、抽出対象のオブジェクト輪郭を部分輪郭に分割し、各部分輪郭に対して等間隔サンプリングか不等間隔サンプリングかを決めることで、輪郭上により高精度に制御点を配置することができる。具体的には直線性の高い部分輪郭に対しては間隔の広い等間隔サンプリングを行い、込み入った曲線部に関しては適応的にサンプリング間隔を決定する不等間隔サンプリングを適用することで、輪郭全体の制御点の数を減らしつつ、込み入った曲線部に関しても輪郭形状に対する追従性を確保することができる。[第2の実施形態]実施形態全体の概要本実施形態におけるシステム構成は第1の実施形態と同様である。即ち、第1の実施形態の図1、図2は本実施形態と共通である。また、本実施形態の画像処理装置の機能ブロック、そのコンポーネントレベルの振る舞いは、それぞれ図3、図4と同様である。本実施形態は、入力画像中の複数の輪郭を検出し、各輪郭に対して最適な制御点の配置を行うためのシステムである。本実施形態では、ROI候補領域抽出部をスプリットアンドマージアルゴリズム領域分割統合法を用いて行う。スプリットアンドマージアルゴリズムは、最終的に少数の領域のみを与える方式であるため、これらの領域からオブジェクトとして抽出するべき領域を選択する処理が別途必要になる。スプリットアンドマージアルゴリズムは周知であるから、ここでは概略のみを説明する。スプリットアンドマージアルゴリズムは、領域の分割を行うスプリット処理段と、統合を行うマージ処理段からなる。スプリット処理段では、予め定められた指標に基づき、領域を再帰的に分割する。殆どの場合この処理段での分割は過分割最終的な分割結果よりも過度に領域が分割されている状態となる。再帰的分割処理を停止する条件としては、ターゲット領域内部の均一性指標の閾値処理によることが多い。また均一でないと判定された領域の分割方式に関しても多くの研究があるが、殆どの例では単純な分割方法で十分であり、四分割で実装している例が多い。スプリット処理段で過分割された領域情報を元に、マージ処理段では領域の統合を行い、最終的な領域分割結果を得る。マージ処理段はスプリット処理段に比べ技術的な難易度が高いが、処理全体の性能の決定要因となる重要な処理段である。一般的にはスプリット処理段と同じく、均一性指標を用いて隣接領域の統合を行う。例えば領域の平均色を均一性尺度とし、平均色間の差異の大小により領域の統合を決める方式の場合、例えばターゲット領域の隣接領域を平均色の順にスタックにため、スタック上位の隣接領域から順にターゲット領域との統合の可否を判定することで領域の統合を行うことができる。この方式の場合画像内のどの領域からマージ処理を開始するかで結果が異なる場合があるが、例えば画像左上から処理を開始すると予め決めておくことで、処理の一貫性を保つことができる。最も単純な方法は、画像中心に抽出するべきオブジェクトが存在すると仮定し、中心からの距離が最も小さい領域をROI候補領域とする方法である。他にも抽出すべきオブジェクトが決まっている場合には、類似画像領域検索機能を利用することで、大まかなROI候補領域を抽出することが可能である。画像中に多数のオブジェクトが存在する場合、各個にサンプリング方法を決めることもできるが計算量が多くなる。例えばガラス面に水滴が多数あるような例を考えたとき、全ての水滴に対してサンプリング方法決定のための処理を施すのは計算量が増えるため望ましくない。水滴の形状の類似性を考えると、代表的な水滴でサンプリング方法を決定し、それに基づいて画像全体を処理するのが適当である。その場合、代表的なオブジェクトをどのように見つけるかが重要である。最も単純には、画像中心に最も重要なオブジェクトが存在すると仮定し、そのオブジェクトのサンプリング方法を、他のオブジェクトでも利用する方法が考えられる。画像中心への近さに関しても様々な計算方法があり得るが、例えば、予備的に画像を分割し、各領域の重心を計算し、画像中心から最も近い重心を持つ領域を代表的なオブジェクトとして利用する方法がある。制御点生成処理の詳細1枚の画像の中にある複数の輪郭の制御点のサンプリング方法及びサンプリング間隔を決定するための方法として、第1~第3の方法を提案する。《画像の中心に最も近い輪郭の評価値に基づく画像中の全輪郭のサンプリング》第1の方法では、1枚の画像の中にある複数の輪郭の内、特定の一つの輪郭として、画像の中心に最も近い輪郭を設定し、その輪郭の評価結果を用いて画像全体のサンプリング方法を決定する。つまり、画像中央に重要な領域があると仮定し、画像の中心に最も近い輪郭の評価結果を用いて画像全体のサンプリング方法を決定する。図18は、この方法の手順である画像の中心に重心が最も近い輪郭を検出する処理を示すフローチャートである。まず、画像中の輪郭抽出処理ST301、最短重心距離Dminの初期化及び代表値Rの初期化ST302の後に輪郭番号sを初期化するST303。次いで、輪郭sの中心と画像の中心との間の距離Dsを計算しST304、計算結果がDminの初期値より小さい場合ST305:Yes、Dmin=Dsとするとともに、輪郭sを代表値RとするST306。輪郭番号をインクリメントしST307、全ての輪郭に対してST304~ST307を反復することにより、Dminを与える輪郭Rを代表値として設定するST308:Yes→ST309。このように、輪郭抽出処理ST301により全ての輪郭を抽出し、その後の処理として、各領域境界に囲まれる範囲の重心を計算し、画像中心から重心までの距離が一番小さい輪郭Rを、代表的な輪郭として選択する。画像を代表する輪郭として画像の中心に重心が最も近い輪郭Rを設定したら、図19に示す処理により画像中の全ての輪郭のサンプリング間隔を決定する。この図の処理では、画像を代表する輪郭に対して、輪郭形状の微分値の平均値avgdと標準偏差値stddを指標として求める。そのため、サンプリング間隔とこれらの指標との関係を予め実験により導出し、表4のように2次元の表として、サンプリング間隔を定義しておく。同様に3つ以上の指標を用いる場合にも、対応した次元の表を作成することで対応できる。avgd及びstddはそれぞれ0から100の間の値に正規化されている。図示のように、画像を代表する輪郭をターゲット輪郭とし、その一点を輪郭開始地点最初のターゲット点としST401、そのターゲット点における輪郭上の微分値を計算するST402。輪郭を一周するまでターゲット点を移してST403:No→ST404、ST402を反復し、輪郭を一周したらST403:Yes、画像を代表する輪郭全体の微分値の平均値avgdを算出しST405、さらにターゲット輪郭全体の微分値の標準偏差値stddを算出するST406。次に平均値avgd及び標準偏差値stdd、並びに表4を基に等間隔サンプリングの間隔を決定するST407。以上の処理により、画像を代表する輪郭である画像の中心に最も近い重心を持つ輪郭の微分値の平均値及び標準偏差値を基に、画像中の全ての輪郭に対して、等間隔サンプリングのための間隔を与えることができる。《画像中で最長の輪郭の評価値に基づく画像中の全輪郭のサンプリング》第2の方法では、1枚の画像の中にある複数の輪郭の内、特定の一つの輪郭として、長さが最大の輪郭を選択し、その輪郭の評価結果を用いて画像全体のサンプリング方法を決定する。図20は、この方法の処理手順を示すフローチャートである。図示のように、画像中の輪郭抽出処理ST501、最長輪郭長Lmaxの初期化及び代表値Rの初期化ST502の後に輪郭番号sを初期化するST503。次いで、輪郭sの輪郭長Lsを計算しST504、計算結果がLmaxの初期値より大きい場合ST505:Yes、Lmax=Lsとするとともに、輪郭sを代表値RとするST506。輪郭番号をインクリメントしST507、全ての輪郭に対してST504~ST507を反復することにより、Lmaxを与える輪郭Rを代表値として設定するST508:Yes→ST509。《画像中の全輪郭を一体とみなした評価値に基づくサンプリング》第3の方法では、画像中の全ての輪郭を一体とみなして評価することで、全ての輪郭に共通するサンプリング間隔を決める。図21に、この方法の処理手順のフローチャートを示す。図示のように、画像中から1つの輪郭をターゲット輪郭として選択しST601、最長輪郭長Lmaxの初期化及び代表値Rの初期化ST602の後に、輪郭番号sを初期化しST603、輪郭上の開始地点を初期化するST604。ターゲット点における輪郭上の微分値の計算ST605を、輪郭を一周するまでターゲット点を移動しながら繰り返しST606:No→ST607、輪郭を一周したらST606:Yes、全ての輪郭を処理するまでST608:No、ターゲットを次の輪郭に移しST609、輪郭毎に輪郭を一周するまで、輪郭上の微分値の計算を行うST604~S607。全ての輪郭の処理が終了したらST608:Yes、ターゲットとした全ての輪郭の微分値の平均値avgdを算出しST610、さらにターゲットとした全ての輪郭の微分値の標準偏差値stddを算出するST611。そして、平均値avgd及び標準偏差値stdd、並びに表4を基に、全ての輪郭に共通する等間隔サンプリングの間隔を決定する。本発明の第2の実施形態における第1の方法及び第2の方法によれば、1枚の画像中の複数の輪郭の中から代表となる輪郭を定め、その輪郭の複雑さに基づいて、画像中の全ての輪郭の制御点を定めるので、輪郭毎に制御点を定める処理と比べると、処理時間が短縮される。また、第3の方法によれば、1枚の画像中の複数の輪郭を一体とみなして、複数の輪郭全体の複雑さに基づいて、画像中の全ての輪郭に共通する制御点を定めるので、輪郭毎に制御点を定める処理と比べると、処理時間が短縮される。なお、以上の各実施形態では、画像処理装置1が画像入力から制御点生成までの全ての画像処理を行うものとしたが、この画像処理の一部をインターネットなどのネットワーク上の画像処理サーバが実行するような画像処理システムを構成することもできる。"