JP2004348659A - 被写体形状認識システム及び方法並びに被写体形状認識用プログラム、当該プログラムを記憶した記憶媒体 - Google Patents
被写体形状認識システム及び方法並びに被写体形状認識用プログラム、当該プログラムを記憶した記憶媒体 Download PDFInfo
- Publication number
- JP2004348659A JP2004348659A JP2003147882A JP2003147882A JP2004348659A JP 2004348659 A JP2004348659 A JP 2004348659A JP 2003147882 A JP2003147882 A JP 2003147882A JP 2003147882 A JP2003147882 A JP 2003147882A JP 2004348659 A JP2004348659 A JP 2004348659A
- Authority
- JP
- Japan
- Prior art keywords
- subject
- shape
- model data
- dimensional model
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】薄板状の柔軟物体の形状を短時間で認識する。
【解決手段】画像取得手段にて取得した被写体の画像データと、修正した三次元モデルデータとの形状を比較して、被写体形状1を認識するシステムであって、三次元モデルデータを、被写体上にあらかじめ設定された複数の節点11と、これら節点のうち隣り合う節点を相互に接続するあらかじめ定められた長さを有するリンク12と、各節点から被写体の外縁に向かってリンクとは所定の角度を有して延びるあらかじめ定められた長さを有するサブリンク13と、により構成すると共に、三次元モデルデータの節点とリンクとサブリンクとの各要素に基づいて当該三次元モデルデータを修正する。
【選択図】 図2
【解決手段】画像取得手段にて取得した被写体の画像データと、修正した三次元モデルデータとの形状を比較して、被写体形状1を認識するシステムであって、三次元モデルデータを、被写体上にあらかじめ設定された複数の節点11と、これら節点のうち隣り合う節点を相互に接続するあらかじめ定められた長さを有するリンク12と、各節点から被写体の外縁に向かってリンクとは所定の角度を有して延びるあらかじめ定められた長さを有するサブリンク13と、により構成すると共に、三次元モデルデータの節点とリンクとサブリンクとの各要素に基づいて当該三次元モデルデータを修正する。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、被写体形状認識システムにかかり、特に、薄板状の柔軟部材を被写体として、当該部材の三次元形状を認識するシステムに関する。また、被写体形状認識方法及び被写体形状認識用プログラムに関する。
【0002】
【従来の技術】
従来より、カメラにて被写体を撮影して当該被写体の画像データをコンピュータ取り込み、当該画像データをコンピュータにて処理することにより、被写体の三次元形状を認識するシステムが開発されている。その一例を、図18乃至図19を参照して説明する。図18は、従来システムにおける認識手法を示すフローチャートである。図19は、従来例における三次元モデルデータの一例を示す図である。
【0003】
一般的に、被写体形状認識システムとしては、被写体となる物体の画像を取り込むカメラ(画像取得手段)と、取り込んだ画像データを処理するプログラムが組み込まれたコンピュータと、を備えている。そして、コンピュータには被写体の形状データと比較されるモデルデータがあらかじめ記憶されており、かかるモデルデータとのマッチングにより、被写体の形状を認識するという手法を採っている。以下、これを詳述する。
【0004】
まず、カメラにて対象物体を撮影し、かかる対象物体の画像データがコンピュータに転送されて記憶される(ステップS101)。そして、コンピュータでは、取り込んだ画像データのノイズを処理するなど前処理(ステップS102)を施した後に、被写体の形状の特徴を表すデータを抽出する(ステップS103)。例えば、端点や輪郭線などの特徴量を抽出する。
【0005】
続いて、基準となるモデルデータを読み出し(ステップS104)、当該モデルデータと、抽出した被写体の特徴量とを比較する(ステップS105)。このとき、被写体の特徴量とモデルデータのものとの一致度を評価し、その評価値があらかじめ定められたコンピュータの記憶部に記憶されているしきい値以下であるか否かを判断する(ステップS106)。なお、この場合における評価値は、当該値が小さいほど一致していることを表すものとする。
【0006】
そして、評価値がしきい値以下であれば(ステップS106にて肯定判断)、そのモデル形状を被写体の形状として認識する(ステップS108)。一方、評価値がしきい値よりも大きい場合には(ステップS106にて否定判断)、モデルデータの修正を行う(ステップS107)。なお、この事例では、評価値がしきい値以下であるときのモデルデータを被写体形状として認識する場合を例示したが、判断手法の一例に過ぎず、これに限定されない。
【0007】
この際、モデルデータはその形状を表すために多くのパラメータが設定されているが、これらパラメータを最適化することにより、被写体の画像データに近似するようにする。パラメータは、例えば、図19に示すように、モデルデータである対象物体Sをメッシュ形状で表した際の各節点座標である。従って、上述したモデルデータの修正とは、例えば、節点の位置を移動するなどして、モデルデータの位置・姿勢ばかりでなく、形状自体の変形を行うこともある。
【0008】
なお、上述したような対象物体の形状を認識するシステム及び手法は、特許文献1にも開示されている。
【0009】
【特許文献1】
特開2000−194859号公報
【0010】
【発明が解決しようとする課題】
しかしながら、上記従来例に示す認識手法では、対象物体が薄板状の柔軟物体であると、以下のような不都合がある。まず、被写体が薄板形状、例えば、紙状である場合では、特に湾曲やねじれなどの変形があり、上述したように特徴量を端点や輪郭線などとすると、当該特徴量の抽出及びモデルデータとのマッチングが困難となる。
【0011】
また、被写体が薄板状であるか否かに関わらず、モデルデータを図19に示すようにメッシュ形状にて表すとすると、パラメータである節点の個数が多く、モデルデータの最適化に時間がかかるという問題も生じる。
【0012】
さらには、対象物体(被写体)が薄板状であるため、変形が視線方向すなわちカメラの撮影方向と一致した場合には、被写体が線状に見えるだけであって、物体の形状認識を精度よく行うことが困難となる。
【0013】
【発明の目的】
本発明は、上記従来例の有する不都合を改善し、特に、薄板状の柔軟物体の形状を短時間で認識することができる被写体形状認識システムを提供することをその目的とする。また、認識精度の向上をも図る。
【0014】
【課題を解決するための手段】
そこで、本発明では、被写体となる物体を撮影する画像取得手段と、取得した画像データを記憶部に記憶して演算処理するコンピュータとを備え、被写体の形状を認識するシステムであって、このコンピュータが、当該コンピュータの記憶部に記憶された被写体の三次元モデルデータを読み出して当該三次元モデルデータの形状を修正すると共に当該修正後の三次元モデルデータを記憶部に記憶するモデルデータ修正機能と、三次元モデルデータと画像取得手段にて取得した被写体の画像データとの形状を比較して算出した比較結果データとこのときの三次元モデルデータとを記憶部に記憶する形状比較機能と、比較結果データが記憶部にあらかじめ記憶された判断基準を満たすか否か判断して当該判断基準を満たすときの三次元モデルデータを被写体の画像取得時における形状として認識する形状認識機能と、を備え、三次元モデルデータを、被写体上にあらかじめ設定された複数の節点と、これら節点のうち隣り合う節点を相互に接続するあらかじめ定められた長さを有するリンクと、各節点から被写体の外縁に向かってリンクとは所定の角度を有して延びるあらかじめ定められた長さを有するサブリンクと、により構成すると共に、形状修正機能は、三次元モデルデータの節点とリンクとサブリンクとの各要素に基づいて当該三次元モデルデータを修正する、という構成を採っている。
【0015】
このような構成にすることにより、まず、コンピュータの記憶部には、被写体を節点、リンク、サブリンクとにより構成してモデル化した三次元モデルデータが記憶されている。そして、画像取得手段にて被写体の映像を取得した後に、この取り込んだ画像データ内における被写体自体の形状と三次元モデルデータとが比較されて、そのときの比較結果データ及び三次元モデルデータ自体が記憶部に記憶される。続いて、三次元モデルデータの形状が、構成要素のパラメータを変更することで修正される。そして、上記同様に、修正された三次元モデルデータと取り込んだ被写体の画像データ内の被写体形状とが比較され、比較結果データと修正された三次元モデルデータが記憶される。このとき、モデルデータは、節点、リンク、サブリンクとにより構成されているので、これらに関するデータのみを修正することで三次元モデルデータの形状を変更することができる。
【0016】
その後、上記モデルデータの修正処理及び比較処理が所定の回数繰り返えされる。そして、算出された総ての比較結果データを調べ、これらのうち、あらかじめコンピュータの記憶部に記憶した判断基準を満たしているときの三次元モデルデータを記憶部から読み出して、当該三次元モデルデータを被写体の画像取得時における形状として認識する。なお、比較結果データがあらかじめ定めた判断基準を満たしているか否かは、比較結果データを算出した直後に行い、当該判断基準を満たした段階で修正処理を止め、形状を認識してもよい。
【0017】
以上により、従来より行われている多くの節点にて表されるメッシュデータの形状修正とは異なり、節点、リンク、サブリンクと、これらに関するデータをパラメータとすることで三次元モデルデータの形状を変形することができ、より少ないパラメータの変更でこれを実行することができる。このため、演算処理量の減少により、演算装置であるコンピュータの処理負担の減少を図り、被写体の形状認識処理の高速化を図ることができる。また、被写体の三次元モデルデータを、複数の節点、隣り合う節点を接続するリンク、各節点からリンクと所定の角度を成して被写体自体の外縁に向かって延びるサブリンクとにより表すことで、被写体が薄板状の物体である場合には、これらの要素で被写体の形状をより正確に表現することができる。
【0018】
また、形状修正機能は、リンクが接続された一方の節点を回転中心とする当該リンクの回転角度と、当該サブリンクが接続された節点を回転中心とする当該サブリンクの回転角度と、をそれぞれ変更パラメータとしてその値を変更することによりモデルデータの形状を修正する、という構成であると望ましい。
【0019】
さらに、形状修正機能は、三次元モデルデータのあらかじめ定められた節点の三次元座標をも変更パラメータとしてその値を変更することによりモデルデータの形状を修正する、という構成であってもよい。
【0020】
そして、上記のように変更パラメータの値を変更する際に、形状修正機能は、各変更パラメータの変更割合である、あらかじめ定められたパラメータ毎の重みデータに応じて変更する、という構成としてもよい。
【0021】
これにより、2つの要素におけるパラメータのみを修正することで三次元モデルデータを変形することができるため、より短時間にて認識処理を実現することができる。特に、上述したようにパラメータを設定することによって、被写体の湾曲及びねじりを表現することができるため、少ないパラメータであっても被写体のあらゆる形状に対応することができ、形状認識精度も維持することができる。また、各変更パラメータの変更度合を被写体の特性に応じてあらかじめ設定しておくことにより、形状が変形しやすい方向の変更パラメータを大きく変更するという設定も可能であり、より修正処理の高速化を図ることができる。さらには、被写体の位置が固定されていない場合には、三次元モデルデータの一つの節点の位置をパラメータとすることにより、当該三次元モデルデータの位置を移動して被写体の形状に合わせることが可能となり、さらなる認識処理の高速化を図ることができる。
【0022】
また、形状比較機能は、被写体の画像データと三次元モデルデータとの各対応座標においてそれぞれ物体の形状が存在するか否かを判断すると共に、全ての対応座標における一致点あるいは相違点の数に基づいて被写体の画像データと三次元モデルデータとの形状を比較して比較結果データを算出する、という構成であってもよい。同様に、一致点あるいは相違点の数を被写体の画像データから算出した当該被写体の面積で除算した値に基づいて被写体の画像データと三次元モデルデータとの形状を比較してもよい。
【0023】
これにより、被写体形状の認識を、画像データと三次元モデルデータとの各対応画素における一致点、相違点の数に応じて行うため、簡易なアルゴリズムにて認識処理を実現でき、高速に、かつ高精度な認識結果を得ることができる。特に、一致あるいは相違する画素数を被写体の画像データから求めた当該被写体面積で割ることで、比較結果データを正規化でき、当該被写体の認識精度の撮影角度による影響を抑制することができる。
【0024】
また、コンピュータが有する各機能は、節点毎に作動するよう構成してもよい。これにより、各節点毎では変更パラメータの数が少なくなるため、より少ない設計変数で最適化を行うことができ、認識処理の迅速化及び高精度化を図ることができる。
【0025】
さらには、画像取得手段を複数設置すると共に、コンピュータが備える各機能が、各画像取得手段毎に取得した各画像データそれぞれに対して作動し、形状認識機能は、各画像データ毎の形状比較機能による比較結果データのうち、記憶部に記憶された判断基準に対して最も適切な比較結果が得られたと判断した三次元モデルデータを被写体の形状として認識する、という構成としてもよい。これにより、撮影角度によっては、被写体の形状を適切に認識できない場合も生じるが、同時に2方向以上から撮影することで、適切な形状認識結果を得ることができる。
【0026】
また、本発明では、コンピュータの指令により画像取得手段にて被写体となる物体を撮影して当該被写体の画像データをコンピュータの記憶部に記憶する被写体画像取込工程と、この被写体画像取込工程の後に、コンピュータが記憶部に記憶された被写体の三次元モデルデータと画像取得手段にて取得した被写体の画像データとを比較して算出した比較結果データとこのときの三次元モデルデータとを記憶部に記憶する形状比較工程と、コンピュータが形状比較工程による比較結果データが記憶部にあらかじめ記憶された判断基準を満たすか否か判断して当該判断基準を満たしている場合にその時点における三次元モデルデータを被写体の画像取得時における形状としてコンピュータが認識する形状認識工程と、を備えると共に、形状比較工程と形状認識工程との間に、コンピュータが形状比較工程による比較結果データが判断基準を満たしていない場合に、記憶部に記憶された被写体の三次元モデルデータを読み出して当該三次元モデルデータを修正すると共に当該修正後の三次元モデルデータを記憶部に記憶するモデルデータ修正工程を備え、このモデルデータ修正工程が、被写体上にあらかじめ設定された複数の節点と、これら節点のうち隣り合う節点を相互に接続するあらかじめ定められた長さを有するリンクと、各節点から被写体の外縁に向かってリンクとは所定の角度を有して延びるあらかじめ定められた長さを有するサブリンクと、により構成された三次元モデルデータの形状を、節点とリンクとサブリンクとの各要素に基づいて修正する、という被写体形状認識方法をも提供している。
【0027】
また、同様に、コンピュータの指令により画像取得手段にて被写体となる物体を撮影して当該被写体の画像データをコンピュータの記憶部に記憶する被写体画像取込工程と、この被写体画像取込工程の後に、コンピュータが記憶部に記憶された被写体の三次元モデルデータを読み出して当該三次元モデルデータの形状を修正すると共に当該修正後の三次元モデルデータを記憶部に記憶するモデルデータ修正工程と、三次元モデルデータと画像取得手段にて取得した被写体の画像データとの形状を比較してこの比較結果データとこのときの三次元モデルデータとを記憶部に記憶する形状比較工程と、を備えると共に、モデルデータ修正工程と形状比較工程とを所定回数繰り返した後に、コンピュータが形状比較工程による比較結果データが記憶部にあらかじめ記憶された判断基準を満たすか否かを判断して当該判断基準を満たすときの三次元モデルデータを被写体の画像取得時における形状として認識する形状認識工程を備え、モデルデータ修正工程が、被写体上にあらかじめ設定された複数の節点と、これら節点のうち隣り合う節点を相互に接続するあらかじめ定められた長さを有するリンクと、各節点から被写体の外縁に向かってリンクとは所定の角度を有して延びるあらかじめ定められた長さを有するサブリンクと、により構成された三次元モデルデータの形状を、節点とリンクとサブリンクとの各要素に基づいて修正する、被写体形状認識方法をも提供している。
【0028】
さらには、コンピュータに、画像取得手段を介して被写体となる物体を撮影し当該被写体の画像データをコンピュータの記憶部に記憶する被写体画像取込機能と、記憶部に記憶された被写体の三次元モデルデータを読み出して当該三次元モデルデータの形状を修正すると共に当該修正後の三次元モデルデータを記憶部に記憶するモデルデータ修正機能と、三次元モデルデータと画像取得手段にて取得した被写体の画像データとの形状を比較して算出した比較結果データとこのときの三次元モデルデータとを記憶部に記憶する形状比較機能と、この比較結果データが記憶部にあらかじめ記憶された判断基準を満たすか否か判断して当該判断基準を満たすときの三次元モデルデータを被写体の画像取得時における形状として認識する形状認識機能と、を実現させるためのプログラムであって、モデルデータ修正機能が、被写体上にあらかじめ設定された複数の節点と、これら節点のうち隣り合う節点を相互に接続するあらかじめ定められた長さを有するリンクと、各節点から被写体の外縁に向かってリンクとは所定の角度を有して延びるあらかじめ定められた長さを有するサブリンクと、により構成された三次元モデルデータの形状を、節点とリンクとサブリンクとの各要素に基づいて修正する、被写体形状認識用プログラム、及び、当該プログラムを記憶した記憶媒体をも提供している。
【0029】
このようにしても、上記同様の作用、効果を得ることができ、上述した目的を達成することができる。
【0030】
【発明の実施の形態】
〈第1の実施形態〉
以下、本発明の第1の実施形態について、図1乃至図14を参照して説明する。図1は、本発明の構成を示すブロック図である。図2は、本発明の構成要素であるコンピュータの構成を示す機能ブロック図である。図3は、被写体の取得画像の様子を示す説明図である。図4は、被写体の三次元モデルデータを示す模式図である。図5は、被写体の三次元モデルデータの変更パラメータを示す説明図である。図6は、三次元モデルデータから二次元モデル画像を生成する際の様子を示す説明図である。図7乃至図8は、取得した被写体の画像データと三次元モデルデータから生成したモデル画像とを比較した際の様子を示す説明図である。図9乃至11は、本発明の動作を示すフローチャートである。図12乃至図14は、本発明の応用例を示す図である。
【0031】
(全体構成)
本発明である被写体形状認識システムは、図1に示すように、被写体1となる物体を撮影する画像取得手段2と、取得した画像データを処理するコンピュータ3とを備えている。そして、このコンピュータ3にて、撮影した被写体1の形状を認識するというものである。
【0032】
(被写体)
本発明において形状を認識する物体である被写体1は、薄板状の柔軟物体である。例えば、略長方形状の紙部材である。このように、被写体1は薄板状であるため、湾曲やねじれを伴う変形が生じるが、それをも考慮して被写体1の形状を認識しようとするものである。ここで、本実施形態においては、被写体1の変形を、主に「湾曲」と「ねじれ」という用語を用いて表現する。具体的には、略長方形の薄板部材である被写体1にて、長辺方向に向かって波を打つ形状に変形している状態を「湾曲」と呼び、被写体1の中心線を軸に回転する変形を「ねじれ」と呼ぶ。なお、その形状を認識する際に、厚みをほとんど考慮しないこととする。
【0033】
(画像取得手段)
画像取得手段2は、CCDカメラといったの静止画を撮影するカメラ2である。このカメラ2は、後述するように、コンピュータ3に所定のインタフェースを介して接続されている。そして、画像の取得タイミングがコンピュータ3にて制御され、取り込んだ画像データをコンピュータ3に送信する。なお、カメラ2は動画を撮影し、その内の1コマをコンピュータ3に送信してもよい。さらには、動画データをコンピュータ3に送信してもよく、かかる場合には、コンピュータ内にてその内の1コマが取り出され、後述する形状認識処理に用いられる。また、本実施形態ではカメラ2が一台備わっている場合を例示したが、これに限定されるものではない。そして、上記CCDカメラは画像取得手段2の一例であって、これに限定されるものではない。
【0034】
(コンピュータ)
コンピュータ3は、演算処理を行うCPU4と、処理データを一次保持するメインメモリ(主記憶部)5と、あらかじめ処理に必要なデータ及び形状認識処理を実現するプログラムなどを記憶しておくハードディスク(外部記憶装置)6と、被写体1形状の認識結果を利用する機器(図示せず)への通信インタフェース7と、モニタ8といった出力手段と、キーボード及びマウス9といった入力手段とを備えている。そして、このコンピュータ3にて被写体1の形状を認識する処理が実行される。このため、当該コンピュータ3には、種々の機能が備えられており、種々のデータが記憶されている。これを以下に詳述する。
【0035】
コンピュータ3のCPU4は、以下の処理部を備えている。すなわち、以下に示す処理を実現するためのプログラムがあらかじめハードディスク6などの記憶媒体に記憶されており、これがCPU4にて実行されて当該CPU4に各処理機能が組み込まれることで、当該CPU4が各処理部として作動することとなる。なお、上記プログラムは、ハードディスク6などのあらかじめコンピュータ3内の記憶手段に記憶されていることに限定されず、コンピュータ3がCD−ROMなどの可搬媒体から読み出したり、ネットワーク上の他のコンピュータからダウンロードすることにより、当該コンピュータ3のCPU4に組み込んでもよい。
【0036】
ここで、被写体形状認識プログラムは、例えば、以下に説明するように、コンピュータ3の動作を制御するプログラムである。すなわち、コンピュータ3の指令によりカメラ2を介して被写体1となる物体を撮影し当該被写体の画像データをコンピュータ3のメインメモリ5に記憶する被写体画像取込処理と、ハードディスク6に記憶された被写体1の三次元モデルデータを読み出して当該三次元モデルデータの形状を修正すると共に当該修正後の三次元モデルデータをメインメモリ5あるいはハードディスク6に記憶するモデルデータ修正処理と、三次元モデルデータとカメラ2にて取得した被写体1の画像データとの形状を比較して算出した比較結果データとこのときの三次元モデルデータとをメインメモリ5に記憶する形状比較処理と、この比較結果データがハードディスク6にあらかじめ記憶された判断基準を満たすか否か判断して当該判断基準を満たすときの三次元モデルデータを被写体1の画像取得時における形状として認識する形状認識処理と、を実行するようコンピュータ3の動作を制御し、特に、三次元モデルデータの形状を、節点とリンクとサブリンクとの各要素に基づいて修正するよう、コンピュータの動作を制御する被写体形状認識用プログラムである。
【0037】
上記プログラムがコンピュータ3に組み込まれ、CPU4に構築される各処理部の内容を、図2を参照して説明する。
【0038】
この図に示すように、CPU4には、上述したカメラ2にて撮影した被写体1の画像データを取得する画像入力部41と、取得した画像データに基づいて被写体1の形状を認識処理するための前処理を施す画像前処理部42と、ハードディスク6などの記憶装置から被写体1の三次元モデルデータを読み出すモデルデータ読出部43と、読み出したあるいは修正した三次元モデルデータを二次元の画像データに変換するモデル画像生成部44と、撮影した被写体1の画像データと三次元モデルデータから生成したモデル画像データとの一致度を評価する評価関数値計算部45と、が備えられている。
【0039】
また、上記評価関数値計算部45で評価が所定の基準を満たさない場合はもちろんのこと、当該基準を満たしているか否かの判断を後に行う場合に、三次元モデルデータを修正するモデルデータ修正部46と、修正処理によりモデルデータ自体を変形するモデルデータ変形部47と、さらには、算出した評価関数値が所定の基準を満たしている場合にそのときの三次元モデルデータを被写体の形状と認識して、その結果に基づいて所定のデータを出力する出力部48と、が備えられている。以下、各処理部41〜48の機能について説明すると同時に、ハードディスク6などに記憶されているデータも説明する。
【0040】
画像入力部41は、上述したカメラ2にて撮影した映像を、ディジタルデータに変換してコンピュータ3内に取り込む。その一例を図3(a),(b)を参照して説明する。なお、実際に被写体1を撮影した映像であってコンピュータ3内に取り込まれたデータを、単に画像データと呼ぶ。
【0041】
まず、カメラ2にて被写体1を中心として画像を取り込むと、図3(a)に示すような濃淡画像データが得られる。そして、これを画像入力部41にて、画像データ中の各画素毎の濃淡値(2t階調)を調べ、その値を各画素毎に記憶することで画像データが得られる。例えば、本実施形態では、カメラ1の解像度を横640ドット(m=640)×縦480ドット(n=480)とし、濃淡値は256(=28)階調(0〜255)としている。そして、濃淡値は、0が黒であり、255が白である。
【0042】
画像前処理部42では、後に被写体1の形状認識のための前処理が施される。具体的には、図3(a),(b)に示す画像データに対して、ノイズ除去処理を行い、あらかじめ定められたしきい値や画像データ内の濃淡値のヒストグラムなどから定めたしきい値にて二値化処理を行う。例えば、図3(a)に示すように、被写体1の色が白色である場合には、ヒストグラムにて白色を表す濃淡値(255)付近に分布が集中する箇所が形成されるので、その集中した分布の麓付近の小さい方の値をしきい値として設定する。これにより、被写体1部分と背景部分とを効率よく区別することができる。そして、例えば、二値化の際に白黒の値を反転して表示すると、図3(c)に示すように、シルエット画像を得ることができる。なお、二値化処理の際のしきい値は、あらかじめ設定されているものや、上述のように算出されたものに限定されない。
【0043】
但し、二値化の際に適切なしきい値を設定した場合であっても、被写体1以外の背景画像中の物体自体が、反射光の関係で被写体1同様にシルエットとして画像中に残ってしまう場合がある。このため、二値化処理後にラベリング処理を行い、被写体1のシルエットと他の物体によるシルエットとを区別し、例えば、最も大きな面積を有するシルエットを被写体1のものと認識して、他のシルエットを削除する処理を行うとよい。また、その後は、図3(c)に示すように処理した被写体1の画像データを、メインメモリ5などに一時的に保持しておく。
【0044】
モデルデータ読出部43は、ハードディスク6のモデルデータ記憶部61にあらかじめ記憶されている被写体1の三次元モデルデータをメインメモリ5に読み出す。この被写体1の三次元モデルデータは、被写体1が何ら変形していない状態における形状を表すデータである。特に、本実施形態における被写体1は、図4(a)に示すように略長方形状の薄板状部材であるので、図4(b)に示すようにモデル化したものが被写体1の三次元モデルデータである。
【0045】
図4(b)を参照して、被写体の三次元モデルデータについて詳述する。本発明では、薄板状の柔軟部材をモデル化する際に、複数の節点11と、各節点11を接続するリンク12と、このリンク12と直交して各節点上を通るサブリンク13とにより表現している。具体的には、節点11は、略長方形である被写体1の長辺方向に沿った中心線上に、均等の間隔で設定されている。図4(b)に示す例では、両端部に設定されたものを含む5つの節点11が設定されている。また、リンク12は、各節点11を接続する線として設定されている。図4(b)に示す例では、節点11が被写体1の中心線上に位置しているので、リンク12も中心線上に位置して設定されている。そして、節点11の間隔が均等であることから、各節点間に位置する4つのリンク12の長さも総てが同一の長さである。さらには、上記リンク12に直交する線として、各節点11上にサブリンク13が設定されている。このサブリンク13は、長方形状である被写体1の短辺と平行に設定されており、正確には、両端部では短辺と一致している。従って、総てのサブリンク13の長さは同一の長さであり、各サブリンク13の両端は長辺の外縁に到達している。そして、その数は節点11の数を同じく5つである。
【0046】
ここで、説明の都合上、モデルデータ修正部46及びモデルデータ変形部47について、モデル画像生成部44及び評価関数値計算部45に先だって説明する。モデルデータ修正部46及びモデルデータ変更部47は、後述する評価関数値計算部45よる評価関数値があらかじめ定められた許容評価関数値を満たさない場合に、被写体1の三次元モデルデータを修正及び変更処理する。但し、後述する応用例については、上記評価関数値に対する判断を後に行うため、算出した評価関数値の値に関係なく、被写体1の三次元モデルデータの修正及び変更処理を行う。
【0047】
モデルデータ修正部46では、図4(b)に示す三次元モデルデータのパラメータを修正する。すなわち、以下に示す変更パラメータの修正値を算出する。ここで、三次元モデルデータのパラメータは、各節点11におけるリンク11の回転角(θx,θz)と、サブリンク12の回転角(θy)である。つまり、1つのジョイントに対するパラメータは(θx,θy,θz)の3つである。
【0048】
具体的に、モデルデータの修正方法を図5を参照して説明する。まず、図5(a)に示すように、図4(b)に示すモデルデータの節点11を、それぞれP0,P1,P2,・・・,Pnと設定する。そして、これらの間を接続するリンク12を、それぞれL1,L2,・・・,Lnと設定する。すなわち、節点P0からP1に延びるリンクをL1と、節点P1からP2に延びるリンクをL2と設定する。そして、上記リンクL1,L2,・・・,Lnの一方の端点P0,P1,P2,・・・,Pnをそれぞれ回転中心として、当該回転中心となる節点におけるYZ平面上のY軸に対する回転角度をθx1,θx2,・・・,θxnを変更することによりモデルデータを修正する(図5(a)参照)。同様に、各節点におけるXY平面上のX軸に対する回転角度θz1,θz2,・・・,θznも変更して修正する(図5(c)参照)。このようにして各リンクの角度を変更することで、被写体1の「湾曲」に関する変形を表すことができる。
【0049】
また、変更パラメータには、各サブリンク13の回転角度も含まれている。すなわち、図5(b)に示すように、各節点におけるサブリンクSL1,SL2,・・・,SLnの当該節点P0,P1,P2,・・・,Pnを回転中心として、当該回転中心となる節点におけるXZ平面上のX軸に対する回転角度θy1,θy2,・・・,θynを変更パラメータとして設定する。従って、これらを変更することにより、三次元モデルデータを修正することができる。すなわち、各サブリンクの回転角度を変更することで、被写体1の「ねじれ」に関する変形を表すことができる。
【0050】
そして、被写体1は薄板状の部材であるため、上記パラメータを変更して「湾曲」と「ねじれ」の変形を加えることで、ほとんどの形状に対応することができる。
【0051】
なお、本実施形態では、被写体1の位置が固定されており、常に取り込み画像のほぼ同一箇所に撮影されるように設定してある。例えば、被写体1の端点である節点P0及びサブリンクSL0の値が固定されている。ちなみに、被写体の位置が固定されていない場合においては後述する。
【0052】
また、上記パラメータの修正値は、例えば、あらかじめオペレータにて設定された値毎に段階的に変更される。一例としては、各パラメータが2°ずつ変更される。ただし、変更パラメータの修正方法は、これに限定されるものではない。
【0053】
そして、3つの値の変更の割合、すなわち、いかなるパラメータの変形量を最も大きくするか、などについては、あらかじめ被写体の特性に応じて、その重みデータをコンピュータに記憶しておき、かかる値に応じてパラメータの値が修正される。例えば、被写体1が、ねじれ方向に変形しづらく、湾曲方向には変形しやすい場合には、各リンクの変更パラメータである(θx,θz)の重みを大きく設定しておく。すると、一度の修正において、ねじれ方向への変形を表すパラメータθyよりも、θx,θzの方がその修正量が大きくなる。
【0054】
そして、上述したようにモデルデータ修正部46にて、変更パラメータを修正し、実際に変更した変更パラメータ値を用いた三次元モデルデータがモデルデータ変形部47にて生成される。その模式図を、図5(d)に示す。このようにして、実際にカメラ2にて取り込んだ被写体1の画像データと比較される修正後の三次元モデルデータが生成されるが、ここままではモデルデータが三次元データであるのに対して、被写体1の画像データは二次元データであるため、比較が困難となる。このため、モデル画像生成部44にて、修正した三次元モデルデータを二次元画像データに変換する。なお、この際に、モデルデータ修正部46にて修正された三次元モデルデータ自体は、メインメモリ5上にあるいはハードディスク6に記憶される。そして、この記憶された三次元モデルデータは、後にさらに修正が必要な場合に用いられる。
【0055】
モデル画像生成部44は、具体的には、以下のようにしてモデル画像を生成する。なお、このモデル画像生成部44は、モデルデータ修正部46及びモデルデータ変形部47にて修正された三次元モデルデータばかりでなく、あらかじめコンピュータのハードディスク6(モデルデータ記憶部61)に記憶されている初期の三次元モデルデータの二次元画像をも生成する。
【0056】
まず、コンピュータのハードディスク6には、あらかじめ設定されたカメラパラメータが記憶されている(カメラパラメータ記憶部62)。このカメラパラメータは、あらかじめカメラキャリブレーションを行うことにより算出された、各カメラのイメージ座標系(二次元座標系)と三次元座標系とを対応付ける変換行列である。なお、カメラキャリブレーションについては、一般的に用いられているため(下記文献参照)、その詳細な説明は省略する。例えば、三次元座標系上の点とイメージ座標系上の点との対応を最低6点以上定め、最小二乗法によりカメラパラメータを求める。
【0057】
カメラキャリブレーションに関する文献:
R.Y.Tsai,「An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision」,IEEE CVPR,1986,pp.364−374
【0058】
そして、上記カメラパラメータを用いた二次元画像データの生成方法を、図6を参照して説明する。まず、モデルデータ変形部47にて変形された図5(d)に示す三次元モデルデータの各サブリンクの端点を、モデル周囲の点としてその座標を算出する。具体的には、上述した基準節点P0及び変更パラメータ(θx,θy,θz)を用いて各点の三次元座標を算出する。その模式図を図6(a)に示す。
【0059】
続いて、カメラキャリブレーションで求めたカメラパラメータをカメラパラメータ記憶部62から読み出し、このカメラパラメータを用いて各点の三次元座標値をイメージ座標系(二次元画像データ)に変換する。変換後は、モデル画像上に投影する(図6(b)参照)。その後、各点を連結して内部を塗りつぶし、モデル画像を生成する(図6(c)参照)。
【0060】
上述のようにして生成されたモデル画像データと、撮影した被写体1の画像データとの一致度(近似度)を評価関数値計算部45にて評価する。すなわち、評価関数値計算部45は、あらかじめコンピュータ3内に記憶された被写体1の三次元モデルデータあるいは修正後の被写体1の三次元モデルデータと、カメラ2にて取得した被写体1の画像データと形状を比較して、比較結果データである評価関数値を算出する形状比較機能として機能する。
【0061】
この評価関数値計算部45による処理を具体的に説明すると、まず、被写体1の画像データとモデル画像データとの各対応画素の排他的論理和を算出する。図7(a)に被写体の実際の画像データを、図7(b)にモデル画像データを示すが、二値化しているため、それぞれ物体が存在する箇所のみが黒く塗りつぶされた状態となっている。すなわち、物体が存在する画素の濃淡値は0であり、その他の画素の濃淡値は255である。
【0062】
そして、画面全体において、各対応画素毎に当該画素の濃淡値が一致しているか否かを調べ、相違している画素の数Sを加算する。すなわち、以下の式にて相違している画素数Sを算出する。
【0063】
【数1】
【0064】
【数2】
f(u,v):対象物体の画像の画素値
g(u,v):モデルの画像の画素値
【0065】
また、このとき、一致している画素には濃淡値「0」を、相違している画素には濃淡値「255」を設定し、これを画像化したものを図7(c)に示す。
【0066】
そして、評価関数値計算部45は、上記相違する画素の合計数Sを、被写体の画像の面積で除算し、正規化した値S’を算出する。そして、この値S’を評価関数値とする。
【0067】
【数3】
Rf:実物の面積(画素数の合計)
【0068】
そして、算出した評価関数値S’と、このときの三次元モデルデータとを対応付けて、メインメモリ5あるいはハードディスク6に記憶しておく。これは、このときに算出された評価関数値S’が、後述するようあらかじめ設定された判断基準を満たす場合には、かかる場合の三次元モデルデータを被写体1の形状として認識するためである。
【0069】
このように、相違点の合計数を分子としていることから、評価関数値S’の値が小さければ小さいほど、被写体の形状と三次元モデルデータの形状とが近似していることとなる。従って、被写体1の形状と三次元モデルデータとがほぼ一致していると判断できる値を上記判断基準データとして、すなわち、被写体形状と一致すると許容できる値(許容評価関数値)をあらかじめ設定し、許容評価関数値としてハードディスク6に記憶しておく(許容評価関数値記憶部63)。但し、評価関数値と比較される判断基準は、上記しきい値のようなあらかじめ設定された値に関するデータであることに限定されず、後述するように、算出された評価関数値のうち最も小さい値を選択するというアルゴリズムにて表される基準であってもよい。
【0070】
そして、評価関数値計算部45にて、上記算出したS’が記憶されている許容評価関数値以下であるか否かを調べ、許容値以下である場合には、その旨の信号を出力部48に伝達する。一方、許容値よりも大きい場合には、上述したモデルデータ修正部46に対してその旨の情報を伝達する。すると、モデルデータ修正部46では、上述したように三次元モデルデータの修正処理が実現される。すなわち、モデルデータ修正部46は、主に、評価関数値計算部45による計算結果S’があらかじめ定められた判断基準である許容評価関数値を満たしていない場合に、三次元モデルデータを修正するモデルデータ修正機能として作動する。
【0071】
なお、出力部48では、上記信号を受信した際に、三次元モデルデータの形状を被写体の形状と認識する。すなわち、この出力部48は、上記評価関数値計算部45による計算結果S’があらかじめ定められた判断基準である許容評価関数値を満たしている場合にその時点における三次元モデルデータを被写体の画像取得時における形状として認識する形状認識機能として作動する。そして、出力部48は、さらに、被写体の形状と認識した三次元モデルデータの三次元画像あるいは二次元画像をモニタ8に出力したり、あるいは、後述する応用例に示すように、被写体1に対して作動するロボットアームなどの外部機器10に、かかる形状情報を送信する(図2参照)。
【0072】
なお、上記モデルデータ修正部46におけるモデルデータの修正処理は、評価関数値S’が、あらかじめ設定された許容評価関数値以下になるまで繰り返される。すなわち、図2に示すモデル画像生成部44、評価関数値計算部45、モデルデータ修正部46、モデルデータ変形部47における処理は、三次元モデルデータが被写体の画像データに近似するまで繰り返されることとなる。
【0073】
ここで、評価関数値の判断基準が、ある設定値ではなく、例えば、最小値を選択するといったアルゴリズムである場合には、上述した変更パラメータ(θx,θy,θz)を変更し、それぞれ評価関数値が算出され、そのうちの最も小さい値が選択されることとなる。このときには、パラメータの設定が、非線形の最適化の問題となる。本実施形態では、このような非線形の最適化問題を解くために、滑降シンプレックス法を用いることとする。滑降シンプレックス法に関しては、以下の文献に記載されている。
【0074】
文献:Nelder,J.A., and Mead,R. 1965, Computer Journal, vol.7, p.308
なお、後述する動作説明時に、その処理の流れを説明する。
【0075】
そして、例えば、図4(b)に示す三次元モデルデータの場合には、対象物体の一端が固定されており、節点の個数が4個であるので、設計変数(変更パラメータ)は12個となる。これは、各リンク毎に変数である2つの回転角があり、当該リンクが4本あるため、まず8個。そして、サブリンクが4本あるため、その回転角で4個。合計12個である。また、このような設計変数が12個ある場合には、シンプレックス(頂点)は13個となる。かかる場合における最適化の例を図8に示す。図8(a)は被写体の実際の画像であり、かかる画像に対して全パラメータを同時に最適化する。そして、図8(b)に、被写体の画像データと三次元画像データとの排他的論理和を取ったときの画像を示す。この図に示す黒く塗りつぶされた箇所は相違する画素であるが、ほぼ一致した三次元モデルデータを得ることができる。
【0076】
(動作)
次に、本システムの動作について、図9乃至図11のフローチャートを参照して説明する。図9は、コンピュータによる被写体の取り込み、及び、取り込み画像の前処理の様子を示し、図10は、被写体の画像データとモデルデータとを比較して、被写体の形状を認識する処理を示す。図11は、具体的に、モデルデータを最適化する際の処理手法を示す。なお、この動作説明では、評価関数値の判断を許容評価関数値を用いて行う場合と、最小値となる値を選択する場合と、に分けて説明する。
【0077】
はじめに、動作の概略を説明する。まず、評価関数値の判断を評価関数値を用いて行う場合には、コンピュータ3の指令によりカメラ2にて被写体1となる物体を撮影して当該被写体1の画像データをコンピュータ3のメインメモリ5に記憶する被写体画像取込工程と、この被写体画像取込工程の後に、コンピュータ3がハードディスク6に記憶された被写体1の三次元モデルデータとカメラ2にて取得した被写体1の画像データとを比較して算出した比較結果データとこのときの三次元モデルデータとをメインメモリ5あるいはハードディスク6に記憶する形状比較工程と、コンピュータ3が形状比較工程による比較結果データがハードディスク6にあらかじめ記憶された判断基準を満たすか否か判断して当該判断基準を満たしている場合にその時点における三次元モデルデータを被写体1の画像取得時における形状として認識する形状認識工程と、が行われ、さらに、形状比較工程と形状認識工程との間に、コンピュータ3が形状比較工程による比較結果データが判断基準を満たしていない場合に、メインメモリ5あるいはハードディスク6に記憶された被写体の1三次元モデルデータを読み出して当該三次元モデルデータを修正すると共に当該修正後の三次元モデルデータをメインメモリ5あるいはハードディスク6に記憶するモデルデータ修正工程が行われる。特に、モデルデータ修正工程は、三次元モデルデータの形状を、節点とリンクとサブリンクとの各要素に基づいて修正する。このような手順にて被写体1の形状認識が行われる。
【0078】
また、評価関数値が最小値となる値を選択する場合には、コンピュータ3の指令によりカメラ2にて被写体1となる物体を撮影して当該被写体1の画像データをコンピュータ3のメインメモリ5に記憶する被写体画像取込工程が行われ、この被写体画像取込工程の後に、コンピュータ3がメインメモリ5やハードディスク6に記憶された被写体1の三次元モデルデータを読み出して当該三次元モデルデータの形状を修正すると共に当該修正後の三次元モデルデータをメインメモリ5やハードディスク6記憶部に記憶するモデルデータ修正工程と、三次元モデルデータと2にて取得した被写体1の画像データとの形状を比較してこの比較結果データとこのときの三次元モデルデータとをメインメモリ6に記憶する形状比較工程と、が行われる。さらに、モデルデータ修正工程と形状比較工程とを所定回数繰り返した後に、コンピュータ3が形状比較工程による比較結果データがハードディスク6にあらかじめ記憶された判断基準を満たすか否かを判断して当該判断基準を満たすときの三次元モデルデータを被写体の画像取得時における形状として認識する形状認識工程が行われる。このような手順にて被写体1の形状認識が行われる。
【0079】
以下、具体的に、評価関数値の判断を許容評価関数値を用いて行う場合の動作を説明する。まず、コンピュータ3の指令によりカメラ2にて被写体1を撮影し、画像データをコンピュータ3に取り込む(ステップS1)。このとき、被写体1が画面上のほぼ中央に位置するよう、あらかじめカメラ2の位置を設定して画像を取り込む。そして、取り込んだ画像データに対して、コンピュータ3内のメインメモリ5(具体的には、画像処理用のフレームメモリ)上にて、前処理が行われる。その内容は、ノイズを除去し(ステップS2)、あらかじめ被写体1の色などを考慮して設定されコンピュータ3に記憶されているしきい値、あるいは、画像の特性から算出したしきい値を用いて二値化する(ステップS3)。その後、ラベリングにて、画面上の中央付近にあるもっとも大きな物体を、被写体として設定する(ステップS4)。そして、被写体の画像データを、メインメモリ5に記憶して保存しておく(ステップS5)。
【0080】
続いて、ハードディスク6に記憶されている三次元モデルデータをメインメモリ5に読み出し(ステップS11)、まず、初期状態の三次元モデルデータにおける二次元のモデル画像データを生成する(ステップS12)。ここで、メインメモリ5から一時保存した被写体の画像データを読み出し、この被写体画像データと、上記生成したモデル画像データとが近似しているか否かを評価する評価関数値を算出する(ステップS13)。すなわち、上述したように、被写体画像データとモデル画像データとの排他的論理和の合計数を、被写体画像の面積で除算して正規化した値を算出する。ここで、被写体画像の面積は、例えば二値化した画像データ(図3(c)参照)から、当該被写体の形状に相当する部分の画素数を合計することにより求める。従って、かかる処理が上述した前処理の段階(例えば、図9のステップS4の後)に行われ、算出された面積値がメインメモリなどに記憶される。
【0081】
続いて、ハードディスク6からあらかじめ設定してある許容評価関数値を読み出し、この許容評価関数値と算出した評価関数値とを比較する(ステップS14)。そして、評価関数値が許容評価関数値以下であれば(ステップS14で肯定判断)、このときの三次元モデルデータを被写体の形状として認識し(ステップS16)、その座標を算出するなど、用途に応じた処理を行う。一方、算出した評価関数値が許容評価関数値よりも大きい場合には(ステップS14にて否定判断)、三次元モデルデータの修正を行い(ステップS15)、修正したモデルデータにて再度評価を行う(ステップS12〜S14)。このとき、修正したモデルデータをメインメモリやハードディスクに記憶しておくことで、以前の修正データからさらに修正することができ、修正処理の効率化を図ることができる。このようにして、三次元モデルデータが実際に撮影した被写体の画像データと近似するまで、処理を繰り返し、モデルデータの最適化を行う。
【0082】
ここで、上記記載では、三次元モデルデータの最適化処理(ステップS12〜ステップS15の繰り返し)の一例として滑降シンプレックス法を例示したが、それを用いたときの処理を図11のフローチャートを参照して説明する。すなわち、判断基準として許容評価関数値を用いずに、算出した評価関数値が最小となるときの三次元モデルデータを被写体1の形状として認識するよう処理する場合について、具体的な動作を説明する。
【0083】
まず、(N+1)個の各シンプレックス(頂点)のN個の設計変数の値を、乱数で初期化する(ステップS21)。そして、(N+1)個の各頂点の評価関数値を計算する(ステップS22)。
【0084】
続いて、(N+1)個の各頂点の評価関数値が、小さくなるよう設計変数である変更パラメータの値を変更していく(ステップS23)。このとき、算出した評価関数値と、変更パラメータの値すなわちモデルデータ自体とを、メインメモリやハードディスクに記憶しておく。そして、上記処理を、収束条件に関する値がしきい値以下となるまで繰り返す(ステップS24)。ここで、上記収束条件に関する値を、例えば、N+1個のシンプレックスのうち最良の評価関数値と最悪の評価関数値との比に関する値とし、以下に示す式(数4式あるいは数5式)を満たすまで上記処理を繰り返す。但し、以下の式は一例であって、これに限定されるものではない。
【0085】
【数4】
【0086】
【数5】
【0087】
その後、これまでに算出した評価関数値のうち、最も小さい値となったものを選択し、そのときの設計変数、すなわち、三次元モデルデータを、実際の被写体の形状であると認識する(ステップS25)。
【0088】
ここで、上記パラメータに加えて、上記節点P0,P1,P2,・・・,Pnのうち端点となる節点P0の三次元座標をもモデルデータ修正部46にて修正されるパラメータとしてもよい。さらにこれに加えて、当該節点P0におけるサブリンク(図示しないが、符号SL0で表すべきサブリンク)の当該節点P0を回転中心とした回転角度をもパラメータとしてもよい。具体的な処理としては、上記節点P0の座標や、サブリンクSL0の回転角度を修正するたびに評価関数値を算出して、被写体画像データとの比較を行う。そして、上記同様に、評価関数値が許容評価関数値以下となったとき、あるいは、最小値と取ったときの三次元モデルデータを、被写体の形状として認識する。かかる場合には、被写体の位置が固定されていない場合であっても、モデルデータ修正時に節点P0座標を変更してかかる場合の評価関数値を算出することで、最適なモデルデータを設計することができる。
【0089】
また、上記説明では、評価関数値S’として正規化した場合を例示したが、必ずしも正規化する必要はない。例えば、評価関数値を実際の撮影画像データとモデルデータとの差異点の数すなわち差異のある面積の値や、逆に一致する面積の値としてもよい。かかる場合には、許容評価関数値は、あらかじめ設定された許容できる面積値となる。
【0090】
(応用例)
次に、本発明である被写体形状認識システムの応用例を、図12乃至図14を参照して説明する。図12は、被写体形状認識システムを応用した離型紙取り除きシステムの概略を示す構成図である。図13は、当該システムの動作状態を示す説明図である。図14は、その動作を説明するフローチャートである。
【0091】
まず、本応用例では、自動車などの部品となるウインドウガラス110の周囲に、のりなどで貼り付けられた当該ガラス保護用の離型紙111を自動的にロボットアーム140で取り除くというシステムである。具体的には、ウインドウガラス110が自動車組み立て工場のライン上を流れており、所定箇所において停止しているときに、コンピュータ130にて離型紙111の端部位置及び形状が認識されて、当該コンピュータ130が離型紙111の形状に対応してロボットアーム140を作動させて、離型紙111を把持して取り除くというものである。
【0092】
(構成)
構成としては、上述同様に、コンピュータ130と、カメラ120とを備えており、コンピュータ130にてその動作を制御されるロボットアーム140が、当該コンピュータ130に通信インタフェース(図1にて符号7)を介して備えられている。
【0093】
そして、カメラ120は、常に同一箇所を撮影するよう設置されており、具体的には、ウインドウガラス110がライン上を停止した際に、離型紙111の一端部が位置する箇所を撮影するよう配設されている。その撮影箇所の拡大図を、図12の(A)に示す。この図に示すように、ウインドウガラス110からはみ出ている離型紙111の端部付近は、紙部材であるため湾曲やうねりを伴ってあらゆる形状に変形している。この図に示す例であると、斜め上方に反り返るよう変形している。従って、かかる部分をロボットアームにて把持するためには、端部の形状を精度よく認識することが求められる。
【0094】
このとき、ウインドウガラス110は、常にほぼ同一箇所に停止するため、離型紙111の端部付近であってウインドウガラス110に張り付いている箇所である当該ウインドウガラス110の外縁箇所(図12で点線部分)は、カメラ120にて撮影する画面上で毎回ほぼ同一箇所となる。従って、この部分(図12で点線部分)を固定端として、あらかじめその座標をコンピュータに記憶しておく。具体的には、点線部分の中央部が被写体の端点に位置する節点P0との対応部分となり、点線自体が節点P0を通るサブリンクSL0との対応部分となる。そして、ウインドウガラス110外部の部分に位置する離型紙111の先端部側が、他の節点などと対応する箇所となる。よって、離型紙111のウインドウガラス110から突出している部分の形状を、被写体形状として認識することとなる。
【0095】
そして、コンピュータ130には、上述同様のプログラムが記憶されており、CPUに組み込まれることにより、上記機能を実現できる。このとき、離型紙111の端部付近であってウインドウガラス110に張り付いている箇所の座標は、あらかじめコンピュータ130内に記憶されているが、かかる座標よりもウインドウガラス側に位置する離型紙111の形状は無視するようプログラムにて設定されている。すなわち、二値化処理時には、ウインドウガラス110上に位置する箇所の画像情報は破棄するよう設定されている。
【0096】
また、コンピュータ130には、認識した形状に関する情報に基づいてロボットアーム140を操作する機能が備えられている。すなわち、上述したように、三次元モデルデータを用いて離型紙111の形状を認識した後に、当該離型紙111が位置する箇所の座標を指定して、ロボットアームが離型紙111を把持するよう動作指令を出す。例えば、形状認識した離型紙111のほぼ中心箇所の座標を把持するよう、動作指令を出す。そして、離型紙111を把持した後は、図13に示すように、離型紙111をウインドウガラス110から剥がすよう、ロボットアーム140を操作する指令を出す。
【0097】
(動作)
このような動作を、図14のフローチャートを参照して説明する。まず、所定箇所に移動して停止したウインドウガラス110の一部である離型紙111の端部付近の画像を、カメラ120にて取得する(ステップS31)。そして、この画像データと、あらかじめコンピュータ内に記憶している三次元モデルデータとを用いて、上述したように離型紙111の先端部付近の形状を認識する(ステップS32)。
【0098】
その後、コンピュータ130は、撮影した離型紙111の形状であると認識された三次元モデルデータを用いて、ウインドウガラス110から突出している離型紙111の中心付近の座標を算出する(ステップS34)。そして、この座標付近を把持するよう、ロボットアーム120に動作指令を出すと共に(ステップS35)、離型紙111を把持した後に、当該離型紙111のウインドウガラス110への張り付け形状に沿って離型紙111を剥がすよう、動作指令を出す(ステップS36)。
【0099】
このようにすることにより、ライン上を流れるウインドウガラス110に張り付けられた離型紙111の端部の形状を自動的に認識し、この形状に合わせてロボットアーム140に当該離型紙111を把持するよう指令を出すため、変形しやすい紙部材であっても確実に把持することができ、作業効率の向上を図ることができる。
【0100】
〈第2の実施形態〉
次に、本発明の第2の実施形態について、図15乃至図16を参照して説明する。図15は、本実施形態における形状認識の様子を示す説明図である。図16は、本実施形態における動作を示すフローチャートである。
【0101】
本実施形態においては、上述した第1の実施形態とほぼ同様の構成となっているが、被写体の形状認識処理が、各節点毎に行われる点で異なる。すなわち、三次元モデルデータを各節点毎に分割して、分割した各要素毎に、実際の被写体の画像データとの評価関数値を算出して、最適化を行うというものである。
【0102】
具体的に、図5(a)に示す符号を用いて説明すると、まずはじめに、節点P0〜P1間の要素のみの最適化を行うこととなる。すると、節点P0は初期値として設定されており、また、当該節点P0を通るサブリンクSL0も初期値として規定値となっているため、P1に延びるリンクL1の角度と、この節点におけるサブリンクSL1の角度といった3つのパラメータが最適化の設計変数となるだけである。従って、各要素の最適化処理の高速化を図ることができ、これを総ての節点に対して繰り返しても、処理の遅延とはならない。
【0103】
この処理の様子を、図15及び図16を参照して説明する。なお、画像取込処理や前処理、さらには、具体的な最適化処理などについては省略し、具体的な形状認識処理についてのみ説明する。
【0104】
形状認識処理になると、まず、各設定が初期化され、特に、節点を表すパラメータiが0に初期化される(ステップS41)。このとき、被写体の三次元モデルデータの節点数も読み出される。その後、iがインクリメントされ(ステップS42)、i=1となる。
【0105】
そして、最初にi=1の節点に対して、最適化処理が実現される(ステップS43)。これは、i=0の節点(図5では、節点P0)は端点であるため、処理の対象とはならないからである。具体的にi=1の節点に対応する部分とは、図5では、被写体の端部にある節点P0から隣にある節点P1までの部分であり、当該節点P1を通るサブリンクSL1を含む。従って、この部分の設計変数は、節点P0〜P1間のリンクL1と、サブリンクSL1の3つであるため、滑降シンプレックス法による最適化では、シンプレックス(頂点)が4つとなる。
【0106】
このようにして最適化したときの様子を、図15(a)に示す。この図は、上述した図8と同様に、実際の被写体の画像データと、三次元モデルデータを二次元化したモデル画像データとの排他的論理和を取ったときの図であり、相違点が黒くなるよう表示している。この図に示すように、節点P0〜P1間ではほぼ良好に形状認識が行われている。
【0107】
ある節点の最適化処理が行われると、現在の節点が三次元モデルデータ内で最終節点であるか否かが調べられる。具体的には、あらかじめ調べたモデルの総節点数から1を引いた値であるか否かを調べる(ステップS44)。これは、モデルの両端部に節点があるため、1つ少なくカウントしなければならないためである。
【0108】
そして、最終節点でなければ(ステップS44にて否定判断)、再度、iの値をインクリメントして、上述同様に、次の節点までの部分について、最適化処理を行う。このとき、次の節点Piにおける最適化処理を行う前に、実際の被写体の画像データから事前に行った節点Pi−1のモデル画像データの領域を消去する(ステップS45)。このようにして部分毎に最適化処理した様子を、図15(b)〜図15(e)に示す。
【0109】
このようにすることにより、複数の節点が設定されている被写体の三次元モデルデータでは、多くの変更パラメータをほぼ同時期に修正しなければならず、最適化されるまで多くの処理時間を要することとなるが、本実施形態のようにパラメータ数を少数にした場合には、モデルの個々の部分の最適化にかかる時間は少なく、全体としても処理時間の短縮化を図ることができる。また、コンピュータにおける処理負担の軽減も図ることができる。
【0110】
〈第3の実施形態〉
次に、本発明の第3の実施形態について、図17を参照して説明する。本実施形態における被写体形状認識システムは、上述した第1又は第2の実施形態とほぼ同様の構成を取っているが、画像取得手段であるカメラが2台備わっていることに特徴がある。これを詳述する。
【0111】
図17の構成ブロック図に示すように、本実施形態におけるシステムは、被写体210を撮影する第1のカメラ221と、第2のカメラ222が備えられており、これらの動作はコンピュータ230にて制御される。そして、第1のカメラ221と第2のカメラ222は、被写体210に対して撮影角度が異なるよう、別の場所に配置されている。従って、各カメラ221,222にて取得した画像データ内の被写体210の形状は、それぞれ異なる形状にて撮影されることとなる。
【0112】
そして、これに伴い、コンピュータ230による処理も、上述した実施形態とは多少異なる。まず、コンピュータ230は、2つのカメラ210からほぼ同時に被写体210の画像データを取得し、各画像データ毎に上述した形状認識処理を行う。すなわち、前処理を施して、三次元モデルデータとの比較を行う。
【0113】
その後、コンピュータ230は、各カメラ毎に取得した画像データ毎に評価関数値を算出すると共に、そのときの三次元モデルデータも記憶しておくが、そのうち、最も評価関数値が小さいものの三次元モデルデータを、実際の被写体210の形状であると認識する。
【0114】
このようにすることにより、被写体の撮影角度によっては適切な形状認識を行えない場合があるが、2方向から被写体210の形状を取得して、それぞれの形状を認識することにより、より認識精度が増すこととなる。
【0115】
ここで、上記実施形態では画像取得手段であるカメラを2台設置した場合を例示したが、必ずしもこれに限定されない。さらに多くのカメラを備え、それぞれ取得した画像データのうち、最も適切に認識できるものを採用するようコンピュータが処理をしてもよい。
【0116】
また、このときの最適化処理を、上記第2の実施形態に示すよう三次元モデルデータを節点毎に分割した部分毎に行ってもよい。
【0117】
【発明の効果】
本発明は、以上のように構成され機能するので、これによると、三次元モデルデータを、節点とリンクとサブリンクとにより構成し、リンク及びサブリンクの回転角度を修正することにより三次元モデルデータを修正して、被写体の画像データと比較して当該被写体の形状を認識する、という構成を採っているため、従来より行われている多くの節点にて表されるメッシュデータの形状修正とは異なり、少ないパラメータの変更で三次元データの修正処理を実行することができ、演算装置であるコンピュータの処理負担の軽減を図り、被写体の形状認識処理の高速化を図ることができる、という従来にない優れた効果を有する。特に、本発明における被写体は薄板状の物体であるため、これらの要素によって被写体の変形を充分に表現することができることにより、当該被写体の形状をより正確に表現することができ、高い認識精度を維持することができる。
【0118】
また、各変更パラメータの変更割合を被写体の特性に応じてあらかじめ設定しておくことにより、形状が変形しやすい方向の変更パラメータを大きく変更するという設定も可能であり、より修正処理の高速化を図ることができる。さらには、被写体の位置が固定されていない場合には、三次元モデルデータの一つの節点の位置をパラメータとすることにより、当該三次元モデルデータの位置を移動して被写体の形状に合わせることが可能となり、さらなる認識処理の高速化を図ることができる。
【0119】
また、被写体形状の認識を、画像データと三次元モデルデータとの各対応画素における一致点、相違点の数に応じて行うため、簡易なアルゴリズムにて認識処理を実現でき、高速に、かつ高精度な認識結果を得ることができる。特に、一致あるいは相違する画素数を被写体の画像データによる面積で割ることで、比較結果データを正規化でき、当該被写体形状の認識精度に対する撮影角度の影響を軽減することができる。
【0120】
また、被写体の画像データと三次元モデルデータとの比較を、モデルデータの節点毎に行うよう構成することにより、変更パラメータの数が少なくなるため、より少ない設計変数で最適化を行うことができ、認識処理のさらなる迅速化及び高精度化を図ることができる。
【0121】
さらに、被写体を取り込むカメラを複数設置し、各画像データ毎の比較結果データのうち、最も適切な比較結果が得られたと判断した三次元モデルデータを被写体の形状として認識する、という構成にすることにより、撮影角度によっては、被写体の形状を適切に認識できない場合も生じるが、同時に2方向以上から撮影することで、適切な形状認識結果を得ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態における構成を示すブロック図である。
【図2】図1に開示したコンピュータの構成を示す機能ブロック図である。
【図3】図3は、被写体の取得画像の様子を示す説明図である。図3(a)は、画像取得手段にて取り込んだ際の図を示し、図3(b)は、ディジタルデータに変換してた際のデータ構成を示す模式図である。図3(c)は、前処理を施して二値化した時の様子を示す図である。
【図4】図4は、被写体の三次元モデルデータを示す模式図である。図4(a)は、その斜視図を示し、図4(b)は、モデル化した状態の斜視図を示す。
【図5】図5は、被写体の三次元モデルデータの変更パラメータを示す説明図である。図5(a)及び図5(c)は、リンクの角度を示し、図5(c)は、サブリンクの角度を示す。図5(d)は、パラメータを修正して変形した三次元モデルデータの模式図を示す。
【図6】図6は、三次元モデルデータから二次元モデル画像を生成する際の様子を示す説明図である。図6(a)は、三次元モデルデータの外形を算出したときの模式図を示し、図6(b),(c)は、二次元画像データとして変換した時の図を示す。
【図7】図7は、取得した被写体の画像データと三次元モデルデータから生成したモデル画像とを比較した際の様子を示す説明図である。図7(a)は、被写体の実際の画像データを、図7(b)は、モデル画像データを示し、図7(c)は、これらの排他的論理和を算出したものを図形化したものを示す。
【図8】図8は、取得した被写体の画像データと三次元モデルデータから生成したモデル画像とを比較した際の様子を示す説明図である。図8(a)は被写体の実際の画像データであり、図8(b)に、被写体の画像データと三次元画像データとの排他的論理和を取ったときの画像を示す。
【図9】第1の実施形態における動作を示すフローチャートであり、特に、被写体の画像データに対する形状認識処理の前に施す処理を示す。
【図10】第1の実施形態における動作を示すフローチャートであり、特に、三次元モデルデータを用いて被写体の形状を認識する処理を示す。
【図11】第1の実施形態における動作を示すフローチャートであり、特に、三次元モデルデータを最適化する際に滑降シンプレックス法を用いた場合の処理を示す。
【図12】本発明である被写体形状認識システムを用いた応用システムの概略を示した構成図である。
【図13】図12に開示した応用システムの作動状況を示す説明図である。
【図14】図12に開示した応用にシステムの動作を示すフローチャートである。
【図15】本発明の第2の実施形態における処理の様子を示す説明図である。
【図16】本発明の第2の実施形態における動作を示すフローチャートである。
【図17】本発明の第3の実施形態における構成を示すブロック図である。
【図18】従来例における被写体形状の認識手法を示すフローチャートである。
【図19】従来例におけるモデルデータの一例を示す図である。
【符号の説明】
1,210 被写体
2,120 カメラ(画像取得手段)
3,130,230 コンピュータ
4 CPU(演算装置)
5 メインメモリ(主記憶装置)
6 ハードディスク(補助記憶装置)
7 通信インタフェース
8 モニタ(表示装置)
9 キーボード・マウス(入力装置)
11,P0〜Pn 節点
12,L1〜Ln リンク
13,SL0〜SLn サブリンク
110 ウインドウガラス
111 離型紙(被写体)
221 第1のカメラ(画像取得手段)
222 第2のカメラ(画像取得手段)
【発明の属する技術分野】
本発明は、被写体形状認識システムにかかり、特に、薄板状の柔軟部材を被写体として、当該部材の三次元形状を認識するシステムに関する。また、被写体形状認識方法及び被写体形状認識用プログラムに関する。
【0002】
【従来の技術】
従来より、カメラにて被写体を撮影して当該被写体の画像データをコンピュータ取り込み、当該画像データをコンピュータにて処理することにより、被写体の三次元形状を認識するシステムが開発されている。その一例を、図18乃至図19を参照して説明する。図18は、従来システムにおける認識手法を示すフローチャートである。図19は、従来例における三次元モデルデータの一例を示す図である。
【0003】
一般的に、被写体形状認識システムとしては、被写体となる物体の画像を取り込むカメラ(画像取得手段)と、取り込んだ画像データを処理するプログラムが組み込まれたコンピュータと、を備えている。そして、コンピュータには被写体の形状データと比較されるモデルデータがあらかじめ記憶されており、かかるモデルデータとのマッチングにより、被写体の形状を認識するという手法を採っている。以下、これを詳述する。
【0004】
まず、カメラにて対象物体を撮影し、かかる対象物体の画像データがコンピュータに転送されて記憶される(ステップS101)。そして、コンピュータでは、取り込んだ画像データのノイズを処理するなど前処理(ステップS102)を施した後に、被写体の形状の特徴を表すデータを抽出する(ステップS103)。例えば、端点や輪郭線などの特徴量を抽出する。
【0005】
続いて、基準となるモデルデータを読み出し(ステップS104)、当該モデルデータと、抽出した被写体の特徴量とを比較する(ステップS105)。このとき、被写体の特徴量とモデルデータのものとの一致度を評価し、その評価値があらかじめ定められたコンピュータの記憶部に記憶されているしきい値以下であるか否かを判断する(ステップS106)。なお、この場合における評価値は、当該値が小さいほど一致していることを表すものとする。
【0006】
そして、評価値がしきい値以下であれば(ステップS106にて肯定判断)、そのモデル形状を被写体の形状として認識する(ステップS108)。一方、評価値がしきい値よりも大きい場合には(ステップS106にて否定判断)、モデルデータの修正を行う(ステップS107)。なお、この事例では、評価値がしきい値以下であるときのモデルデータを被写体形状として認識する場合を例示したが、判断手法の一例に過ぎず、これに限定されない。
【0007】
この際、モデルデータはその形状を表すために多くのパラメータが設定されているが、これらパラメータを最適化することにより、被写体の画像データに近似するようにする。パラメータは、例えば、図19に示すように、モデルデータである対象物体Sをメッシュ形状で表した際の各節点座標である。従って、上述したモデルデータの修正とは、例えば、節点の位置を移動するなどして、モデルデータの位置・姿勢ばかりでなく、形状自体の変形を行うこともある。
【0008】
なお、上述したような対象物体の形状を認識するシステム及び手法は、特許文献1にも開示されている。
【0009】
【特許文献1】
特開2000−194859号公報
【0010】
【発明が解決しようとする課題】
しかしながら、上記従来例に示す認識手法では、対象物体が薄板状の柔軟物体であると、以下のような不都合がある。まず、被写体が薄板形状、例えば、紙状である場合では、特に湾曲やねじれなどの変形があり、上述したように特徴量を端点や輪郭線などとすると、当該特徴量の抽出及びモデルデータとのマッチングが困難となる。
【0011】
また、被写体が薄板状であるか否かに関わらず、モデルデータを図19に示すようにメッシュ形状にて表すとすると、パラメータである節点の個数が多く、モデルデータの最適化に時間がかかるという問題も生じる。
【0012】
さらには、対象物体(被写体)が薄板状であるため、変形が視線方向すなわちカメラの撮影方向と一致した場合には、被写体が線状に見えるだけであって、物体の形状認識を精度よく行うことが困難となる。
【0013】
【発明の目的】
本発明は、上記従来例の有する不都合を改善し、特に、薄板状の柔軟物体の形状を短時間で認識することができる被写体形状認識システムを提供することをその目的とする。また、認識精度の向上をも図る。
【0014】
【課題を解決するための手段】
そこで、本発明では、被写体となる物体を撮影する画像取得手段と、取得した画像データを記憶部に記憶して演算処理するコンピュータとを備え、被写体の形状を認識するシステムであって、このコンピュータが、当該コンピュータの記憶部に記憶された被写体の三次元モデルデータを読み出して当該三次元モデルデータの形状を修正すると共に当該修正後の三次元モデルデータを記憶部に記憶するモデルデータ修正機能と、三次元モデルデータと画像取得手段にて取得した被写体の画像データとの形状を比較して算出した比較結果データとこのときの三次元モデルデータとを記憶部に記憶する形状比較機能と、比較結果データが記憶部にあらかじめ記憶された判断基準を満たすか否か判断して当該判断基準を満たすときの三次元モデルデータを被写体の画像取得時における形状として認識する形状認識機能と、を備え、三次元モデルデータを、被写体上にあらかじめ設定された複数の節点と、これら節点のうち隣り合う節点を相互に接続するあらかじめ定められた長さを有するリンクと、各節点から被写体の外縁に向かってリンクとは所定の角度を有して延びるあらかじめ定められた長さを有するサブリンクと、により構成すると共に、形状修正機能は、三次元モデルデータの節点とリンクとサブリンクとの各要素に基づいて当該三次元モデルデータを修正する、という構成を採っている。
【0015】
このような構成にすることにより、まず、コンピュータの記憶部には、被写体を節点、リンク、サブリンクとにより構成してモデル化した三次元モデルデータが記憶されている。そして、画像取得手段にて被写体の映像を取得した後に、この取り込んだ画像データ内における被写体自体の形状と三次元モデルデータとが比較されて、そのときの比較結果データ及び三次元モデルデータ自体が記憶部に記憶される。続いて、三次元モデルデータの形状が、構成要素のパラメータを変更することで修正される。そして、上記同様に、修正された三次元モデルデータと取り込んだ被写体の画像データ内の被写体形状とが比較され、比較結果データと修正された三次元モデルデータが記憶される。このとき、モデルデータは、節点、リンク、サブリンクとにより構成されているので、これらに関するデータのみを修正することで三次元モデルデータの形状を変更することができる。
【0016】
その後、上記モデルデータの修正処理及び比較処理が所定の回数繰り返えされる。そして、算出された総ての比較結果データを調べ、これらのうち、あらかじめコンピュータの記憶部に記憶した判断基準を満たしているときの三次元モデルデータを記憶部から読み出して、当該三次元モデルデータを被写体の画像取得時における形状として認識する。なお、比較結果データがあらかじめ定めた判断基準を満たしているか否かは、比較結果データを算出した直後に行い、当該判断基準を満たした段階で修正処理を止め、形状を認識してもよい。
【0017】
以上により、従来より行われている多くの節点にて表されるメッシュデータの形状修正とは異なり、節点、リンク、サブリンクと、これらに関するデータをパラメータとすることで三次元モデルデータの形状を変形することができ、より少ないパラメータの変更でこれを実行することができる。このため、演算処理量の減少により、演算装置であるコンピュータの処理負担の減少を図り、被写体の形状認識処理の高速化を図ることができる。また、被写体の三次元モデルデータを、複数の節点、隣り合う節点を接続するリンク、各節点からリンクと所定の角度を成して被写体自体の外縁に向かって延びるサブリンクとにより表すことで、被写体が薄板状の物体である場合には、これらの要素で被写体の形状をより正確に表現することができる。
【0018】
また、形状修正機能は、リンクが接続された一方の節点を回転中心とする当該リンクの回転角度と、当該サブリンクが接続された節点を回転中心とする当該サブリンクの回転角度と、をそれぞれ変更パラメータとしてその値を変更することによりモデルデータの形状を修正する、という構成であると望ましい。
【0019】
さらに、形状修正機能は、三次元モデルデータのあらかじめ定められた節点の三次元座標をも変更パラメータとしてその値を変更することによりモデルデータの形状を修正する、という構成であってもよい。
【0020】
そして、上記のように変更パラメータの値を変更する際に、形状修正機能は、各変更パラメータの変更割合である、あらかじめ定められたパラメータ毎の重みデータに応じて変更する、という構成としてもよい。
【0021】
これにより、2つの要素におけるパラメータのみを修正することで三次元モデルデータを変形することができるため、より短時間にて認識処理を実現することができる。特に、上述したようにパラメータを設定することによって、被写体の湾曲及びねじりを表現することができるため、少ないパラメータであっても被写体のあらゆる形状に対応することができ、形状認識精度も維持することができる。また、各変更パラメータの変更度合を被写体の特性に応じてあらかじめ設定しておくことにより、形状が変形しやすい方向の変更パラメータを大きく変更するという設定も可能であり、より修正処理の高速化を図ることができる。さらには、被写体の位置が固定されていない場合には、三次元モデルデータの一つの節点の位置をパラメータとすることにより、当該三次元モデルデータの位置を移動して被写体の形状に合わせることが可能となり、さらなる認識処理の高速化を図ることができる。
【0022】
また、形状比較機能は、被写体の画像データと三次元モデルデータとの各対応座標においてそれぞれ物体の形状が存在するか否かを判断すると共に、全ての対応座標における一致点あるいは相違点の数に基づいて被写体の画像データと三次元モデルデータとの形状を比較して比較結果データを算出する、という構成であってもよい。同様に、一致点あるいは相違点の数を被写体の画像データから算出した当該被写体の面積で除算した値に基づいて被写体の画像データと三次元モデルデータとの形状を比較してもよい。
【0023】
これにより、被写体形状の認識を、画像データと三次元モデルデータとの各対応画素における一致点、相違点の数に応じて行うため、簡易なアルゴリズムにて認識処理を実現でき、高速に、かつ高精度な認識結果を得ることができる。特に、一致あるいは相違する画素数を被写体の画像データから求めた当該被写体面積で割ることで、比較結果データを正規化でき、当該被写体の認識精度の撮影角度による影響を抑制することができる。
【0024】
また、コンピュータが有する各機能は、節点毎に作動するよう構成してもよい。これにより、各節点毎では変更パラメータの数が少なくなるため、より少ない設計変数で最適化を行うことができ、認識処理の迅速化及び高精度化を図ることができる。
【0025】
さらには、画像取得手段を複数設置すると共に、コンピュータが備える各機能が、各画像取得手段毎に取得した各画像データそれぞれに対して作動し、形状認識機能は、各画像データ毎の形状比較機能による比較結果データのうち、記憶部に記憶された判断基準に対して最も適切な比較結果が得られたと判断した三次元モデルデータを被写体の形状として認識する、という構成としてもよい。これにより、撮影角度によっては、被写体の形状を適切に認識できない場合も生じるが、同時に2方向以上から撮影することで、適切な形状認識結果を得ることができる。
【0026】
また、本発明では、コンピュータの指令により画像取得手段にて被写体となる物体を撮影して当該被写体の画像データをコンピュータの記憶部に記憶する被写体画像取込工程と、この被写体画像取込工程の後に、コンピュータが記憶部に記憶された被写体の三次元モデルデータと画像取得手段にて取得した被写体の画像データとを比較して算出した比較結果データとこのときの三次元モデルデータとを記憶部に記憶する形状比較工程と、コンピュータが形状比較工程による比較結果データが記憶部にあらかじめ記憶された判断基準を満たすか否か判断して当該判断基準を満たしている場合にその時点における三次元モデルデータを被写体の画像取得時における形状としてコンピュータが認識する形状認識工程と、を備えると共に、形状比較工程と形状認識工程との間に、コンピュータが形状比較工程による比較結果データが判断基準を満たしていない場合に、記憶部に記憶された被写体の三次元モデルデータを読み出して当該三次元モデルデータを修正すると共に当該修正後の三次元モデルデータを記憶部に記憶するモデルデータ修正工程を備え、このモデルデータ修正工程が、被写体上にあらかじめ設定された複数の節点と、これら節点のうち隣り合う節点を相互に接続するあらかじめ定められた長さを有するリンクと、各節点から被写体の外縁に向かってリンクとは所定の角度を有して延びるあらかじめ定められた長さを有するサブリンクと、により構成された三次元モデルデータの形状を、節点とリンクとサブリンクとの各要素に基づいて修正する、という被写体形状認識方法をも提供している。
【0027】
また、同様に、コンピュータの指令により画像取得手段にて被写体となる物体を撮影して当該被写体の画像データをコンピュータの記憶部に記憶する被写体画像取込工程と、この被写体画像取込工程の後に、コンピュータが記憶部に記憶された被写体の三次元モデルデータを読み出して当該三次元モデルデータの形状を修正すると共に当該修正後の三次元モデルデータを記憶部に記憶するモデルデータ修正工程と、三次元モデルデータと画像取得手段にて取得した被写体の画像データとの形状を比較してこの比較結果データとこのときの三次元モデルデータとを記憶部に記憶する形状比較工程と、を備えると共に、モデルデータ修正工程と形状比較工程とを所定回数繰り返した後に、コンピュータが形状比較工程による比較結果データが記憶部にあらかじめ記憶された判断基準を満たすか否かを判断して当該判断基準を満たすときの三次元モデルデータを被写体の画像取得時における形状として認識する形状認識工程を備え、モデルデータ修正工程が、被写体上にあらかじめ設定された複数の節点と、これら節点のうち隣り合う節点を相互に接続するあらかじめ定められた長さを有するリンクと、各節点から被写体の外縁に向かってリンクとは所定の角度を有して延びるあらかじめ定められた長さを有するサブリンクと、により構成された三次元モデルデータの形状を、節点とリンクとサブリンクとの各要素に基づいて修正する、被写体形状認識方法をも提供している。
【0028】
さらには、コンピュータに、画像取得手段を介して被写体となる物体を撮影し当該被写体の画像データをコンピュータの記憶部に記憶する被写体画像取込機能と、記憶部に記憶された被写体の三次元モデルデータを読み出して当該三次元モデルデータの形状を修正すると共に当該修正後の三次元モデルデータを記憶部に記憶するモデルデータ修正機能と、三次元モデルデータと画像取得手段にて取得した被写体の画像データとの形状を比較して算出した比較結果データとこのときの三次元モデルデータとを記憶部に記憶する形状比較機能と、この比較結果データが記憶部にあらかじめ記憶された判断基準を満たすか否か判断して当該判断基準を満たすときの三次元モデルデータを被写体の画像取得時における形状として認識する形状認識機能と、を実現させるためのプログラムであって、モデルデータ修正機能が、被写体上にあらかじめ設定された複数の節点と、これら節点のうち隣り合う節点を相互に接続するあらかじめ定められた長さを有するリンクと、各節点から被写体の外縁に向かってリンクとは所定の角度を有して延びるあらかじめ定められた長さを有するサブリンクと、により構成された三次元モデルデータの形状を、節点とリンクとサブリンクとの各要素に基づいて修正する、被写体形状認識用プログラム、及び、当該プログラムを記憶した記憶媒体をも提供している。
【0029】
このようにしても、上記同様の作用、効果を得ることができ、上述した目的を達成することができる。
【0030】
【発明の実施の形態】
〈第1の実施形態〉
以下、本発明の第1の実施形態について、図1乃至図14を参照して説明する。図1は、本発明の構成を示すブロック図である。図2は、本発明の構成要素であるコンピュータの構成を示す機能ブロック図である。図3は、被写体の取得画像の様子を示す説明図である。図4は、被写体の三次元モデルデータを示す模式図である。図5は、被写体の三次元モデルデータの変更パラメータを示す説明図である。図6は、三次元モデルデータから二次元モデル画像を生成する際の様子を示す説明図である。図7乃至図8は、取得した被写体の画像データと三次元モデルデータから生成したモデル画像とを比較した際の様子を示す説明図である。図9乃至11は、本発明の動作を示すフローチャートである。図12乃至図14は、本発明の応用例を示す図である。
【0031】
(全体構成)
本発明である被写体形状認識システムは、図1に示すように、被写体1となる物体を撮影する画像取得手段2と、取得した画像データを処理するコンピュータ3とを備えている。そして、このコンピュータ3にて、撮影した被写体1の形状を認識するというものである。
【0032】
(被写体)
本発明において形状を認識する物体である被写体1は、薄板状の柔軟物体である。例えば、略長方形状の紙部材である。このように、被写体1は薄板状であるため、湾曲やねじれを伴う変形が生じるが、それをも考慮して被写体1の形状を認識しようとするものである。ここで、本実施形態においては、被写体1の変形を、主に「湾曲」と「ねじれ」という用語を用いて表現する。具体的には、略長方形の薄板部材である被写体1にて、長辺方向に向かって波を打つ形状に変形している状態を「湾曲」と呼び、被写体1の中心線を軸に回転する変形を「ねじれ」と呼ぶ。なお、その形状を認識する際に、厚みをほとんど考慮しないこととする。
【0033】
(画像取得手段)
画像取得手段2は、CCDカメラといったの静止画を撮影するカメラ2である。このカメラ2は、後述するように、コンピュータ3に所定のインタフェースを介して接続されている。そして、画像の取得タイミングがコンピュータ3にて制御され、取り込んだ画像データをコンピュータ3に送信する。なお、カメラ2は動画を撮影し、その内の1コマをコンピュータ3に送信してもよい。さらには、動画データをコンピュータ3に送信してもよく、かかる場合には、コンピュータ内にてその内の1コマが取り出され、後述する形状認識処理に用いられる。また、本実施形態ではカメラ2が一台備わっている場合を例示したが、これに限定されるものではない。そして、上記CCDカメラは画像取得手段2の一例であって、これに限定されるものではない。
【0034】
(コンピュータ)
コンピュータ3は、演算処理を行うCPU4と、処理データを一次保持するメインメモリ(主記憶部)5と、あらかじめ処理に必要なデータ及び形状認識処理を実現するプログラムなどを記憶しておくハードディスク(外部記憶装置)6と、被写体1形状の認識結果を利用する機器(図示せず)への通信インタフェース7と、モニタ8といった出力手段と、キーボード及びマウス9といった入力手段とを備えている。そして、このコンピュータ3にて被写体1の形状を認識する処理が実行される。このため、当該コンピュータ3には、種々の機能が備えられており、種々のデータが記憶されている。これを以下に詳述する。
【0035】
コンピュータ3のCPU4は、以下の処理部を備えている。すなわち、以下に示す処理を実現するためのプログラムがあらかじめハードディスク6などの記憶媒体に記憶されており、これがCPU4にて実行されて当該CPU4に各処理機能が組み込まれることで、当該CPU4が各処理部として作動することとなる。なお、上記プログラムは、ハードディスク6などのあらかじめコンピュータ3内の記憶手段に記憶されていることに限定されず、コンピュータ3がCD−ROMなどの可搬媒体から読み出したり、ネットワーク上の他のコンピュータからダウンロードすることにより、当該コンピュータ3のCPU4に組み込んでもよい。
【0036】
ここで、被写体形状認識プログラムは、例えば、以下に説明するように、コンピュータ3の動作を制御するプログラムである。すなわち、コンピュータ3の指令によりカメラ2を介して被写体1となる物体を撮影し当該被写体の画像データをコンピュータ3のメインメモリ5に記憶する被写体画像取込処理と、ハードディスク6に記憶された被写体1の三次元モデルデータを読み出して当該三次元モデルデータの形状を修正すると共に当該修正後の三次元モデルデータをメインメモリ5あるいはハードディスク6に記憶するモデルデータ修正処理と、三次元モデルデータとカメラ2にて取得した被写体1の画像データとの形状を比較して算出した比較結果データとこのときの三次元モデルデータとをメインメモリ5に記憶する形状比較処理と、この比較結果データがハードディスク6にあらかじめ記憶された判断基準を満たすか否か判断して当該判断基準を満たすときの三次元モデルデータを被写体1の画像取得時における形状として認識する形状認識処理と、を実行するようコンピュータ3の動作を制御し、特に、三次元モデルデータの形状を、節点とリンクとサブリンクとの各要素に基づいて修正するよう、コンピュータの動作を制御する被写体形状認識用プログラムである。
【0037】
上記プログラムがコンピュータ3に組み込まれ、CPU4に構築される各処理部の内容を、図2を参照して説明する。
【0038】
この図に示すように、CPU4には、上述したカメラ2にて撮影した被写体1の画像データを取得する画像入力部41と、取得した画像データに基づいて被写体1の形状を認識処理するための前処理を施す画像前処理部42と、ハードディスク6などの記憶装置から被写体1の三次元モデルデータを読み出すモデルデータ読出部43と、読み出したあるいは修正した三次元モデルデータを二次元の画像データに変換するモデル画像生成部44と、撮影した被写体1の画像データと三次元モデルデータから生成したモデル画像データとの一致度を評価する評価関数値計算部45と、が備えられている。
【0039】
また、上記評価関数値計算部45で評価が所定の基準を満たさない場合はもちろんのこと、当該基準を満たしているか否かの判断を後に行う場合に、三次元モデルデータを修正するモデルデータ修正部46と、修正処理によりモデルデータ自体を変形するモデルデータ変形部47と、さらには、算出した評価関数値が所定の基準を満たしている場合にそのときの三次元モデルデータを被写体の形状と認識して、その結果に基づいて所定のデータを出力する出力部48と、が備えられている。以下、各処理部41〜48の機能について説明すると同時に、ハードディスク6などに記憶されているデータも説明する。
【0040】
画像入力部41は、上述したカメラ2にて撮影した映像を、ディジタルデータに変換してコンピュータ3内に取り込む。その一例を図3(a),(b)を参照して説明する。なお、実際に被写体1を撮影した映像であってコンピュータ3内に取り込まれたデータを、単に画像データと呼ぶ。
【0041】
まず、カメラ2にて被写体1を中心として画像を取り込むと、図3(a)に示すような濃淡画像データが得られる。そして、これを画像入力部41にて、画像データ中の各画素毎の濃淡値(2t階調)を調べ、その値を各画素毎に記憶することで画像データが得られる。例えば、本実施形態では、カメラ1の解像度を横640ドット(m=640)×縦480ドット(n=480)とし、濃淡値は256(=28)階調(0〜255)としている。そして、濃淡値は、0が黒であり、255が白である。
【0042】
画像前処理部42では、後に被写体1の形状認識のための前処理が施される。具体的には、図3(a),(b)に示す画像データに対して、ノイズ除去処理を行い、あらかじめ定められたしきい値や画像データ内の濃淡値のヒストグラムなどから定めたしきい値にて二値化処理を行う。例えば、図3(a)に示すように、被写体1の色が白色である場合には、ヒストグラムにて白色を表す濃淡値(255)付近に分布が集中する箇所が形成されるので、その集中した分布の麓付近の小さい方の値をしきい値として設定する。これにより、被写体1部分と背景部分とを効率よく区別することができる。そして、例えば、二値化の際に白黒の値を反転して表示すると、図3(c)に示すように、シルエット画像を得ることができる。なお、二値化処理の際のしきい値は、あらかじめ設定されているものや、上述のように算出されたものに限定されない。
【0043】
但し、二値化の際に適切なしきい値を設定した場合であっても、被写体1以外の背景画像中の物体自体が、反射光の関係で被写体1同様にシルエットとして画像中に残ってしまう場合がある。このため、二値化処理後にラベリング処理を行い、被写体1のシルエットと他の物体によるシルエットとを区別し、例えば、最も大きな面積を有するシルエットを被写体1のものと認識して、他のシルエットを削除する処理を行うとよい。また、その後は、図3(c)に示すように処理した被写体1の画像データを、メインメモリ5などに一時的に保持しておく。
【0044】
モデルデータ読出部43は、ハードディスク6のモデルデータ記憶部61にあらかじめ記憶されている被写体1の三次元モデルデータをメインメモリ5に読み出す。この被写体1の三次元モデルデータは、被写体1が何ら変形していない状態における形状を表すデータである。特に、本実施形態における被写体1は、図4(a)に示すように略長方形状の薄板状部材であるので、図4(b)に示すようにモデル化したものが被写体1の三次元モデルデータである。
【0045】
図4(b)を参照して、被写体の三次元モデルデータについて詳述する。本発明では、薄板状の柔軟部材をモデル化する際に、複数の節点11と、各節点11を接続するリンク12と、このリンク12と直交して各節点上を通るサブリンク13とにより表現している。具体的には、節点11は、略長方形である被写体1の長辺方向に沿った中心線上に、均等の間隔で設定されている。図4(b)に示す例では、両端部に設定されたものを含む5つの節点11が設定されている。また、リンク12は、各節点11を接続する線として設定されている。図4(b)に示す例では、節点11が被写体1の中心線上に位置しているので、リンク12も中心線上に位置して設定されている。そして、節点11の間隔が均等であることから、各節点間に位置する4つのリンク12の長さも総てが同一の長さである。さらには、上記リンク12に直交する線として、各節点11上にサブリンク13が設定されている。このサブリンク13は、長方形状である被写体1の短辺と平行に設定されており、正確には、両端部では短辺と一致している。従って、総てのサブリンク13の長さは同一の長さであり、各サブリンク13の両端は長辺の外縁に到達している。そして、その数は節点11の数を同じく5つである。
【0046】
ここで、説明の都合上、モデルデータ修正部46及びモデルデータ変形部47について、モデル画像生成部44及び評価関数値計算部45に先だって説明する。モデルデータ修正部46及びモデルデータ変更部47は、後述する評価関数値計算部45よる評価関数値があらかじめ定められた許容評価関数値を満たさない場合に、被写体1の三次元モデルデータを修正及び変更処理する。但し、後述する応用例については、上記評価関数値に対する判断を後に行うため、算出した評価関数値の値に関係なく、被写体1の三次元モデルデータの修正及び変更処理を行う。
【0047】
モデルデータ修正部46では、図4(b)に示す三次元モデルデータのパラメータを修正する。すなわち、以下に示す変更パラメータの修正値を算出する。ここで、三次元モデルデータのパラメータは、各節点11におけるリンク11の回転角(θx,θz)と、サブリンク12の回転角(θy)である。つまり、1つのジョイントに対するパラメータは(θx,θy,θz)の3つである。
【0048】
具体的に、モデルデータの修正方法を図5を参照して説明する。まず、図5(a)に示すように、図4(b)に示すモデルデータの節点11を、それぞれP0,P1,P2,・・・,Pnと設定する。そして、これらの間を接続するリンク12を、それぞれL1,L2,・・・,Lnと設定する。すなわち、節点P0からP1に延びるリンクをL1と、節点P1からP2に延びるリンクをL2と設定する。そして、上記リンクL1,L2,・・・,Lnの一方の端点P0,P1,P2,・・・,Pnをそれぞれ回転中心として、当該回転中心となる節点におけるYZ平面上のY軸に対する回転角度をθx1,θx2,・・・,θxnを変更することによりモデルデータを修正する(図5(a)参照)。同様に、各節点におけるXY平面上のX軸に対する回転角度θz1,θz2,・・・,θznも変更して修正する(図5(c)参照)。このようにして各リンクの角度を変更することで、被写体1の「湾曲」に関する変形を表すことができる。
【0049】
また、変更パラメータには、各サブリンク13の回転角度も含まれている。すなわち、図5(b)に示すように、各節点におけるサブリンクSL1,SL2,・・・,SLnの当該節点P0,P1,P2,・・・,Pnを回転中心として、当該回転中心となる節点におけるXZ平面上のX軸に対する回転角度θy1,θy2,・・・,θynを変更パラメータとして設定する。従って、これらを変更することにより、三次元モデルデータを修正することができる。すなわち、各サブリンクの回転角度を変更することで、被写体1の「ねじれ」に関する変形を表すことができる。
【0050】
そして、被写体1は薄板状の部材であるため、上記パラメータを変更して「湾曲」と「ねじれ」の変形を加えることで、ほとんどの形状に対応することができる。
【0051】
なお、本実施形態では、被写体1の位置が固定されており、常に取り込み画像のほぼ同一箇所に撮影されるように設定してある。例えば、被写体1の端点である節点P0及びサブリンクSL0の値が固定されている。ちなみに、被写体の位置が固定されていない場合においては後述する。
【0052】
また、上記パラメータの修正値は、例えば、あらかじめオペレータにて設定された値毎に段階的に変更される。一例としては、各パラメータが2°ずつ変更される。ただし、変更パラメータの修正方法は、これに限定されるものではない。
【0053】
そして、3つの値の変更の割合、すなわち、いかなるパラメータの変形量を最も大きくするか、などについては、あらかじめ被写体の特性に応じて、その重みデータをコンピュータに記憶しておき、かかる値に応じてパラメータの値が修正される。例えば、被写体1が、ねじれ方向に変形しづらく、湾曲方向には変形しやすい場合には、各リンクの変更パラメータである(θx,θz)の重みを大きく設定しておく。すると、一度の修正において、ねじれ方向への変形を表すパラメータθyよりも、θx,θzの方がその修正量が大きくなる。
【0054】
そして、上述したようにモデルデータ修正部46にて、変更パラメータを修正し、実際に変更した変更パラメータ値を用いた三次元モデルデータがモデルデータ変形部47にて生成される。その模式図を、図5(d)に示す。このようにして、実際にカメラ2にて取り込んだ被写体1の画像データと比較される修正後の三次元モデルデータが生成されるが、ここままではモデルデータが三次元データであるのに対して、被写体1の画像データは二次元データであるため、比較が困難となる。このため、モデル画像生成部44にて、修正した三次元モデルデータを二次元画像データに変換する。なお、この際に、モデルデータ修正部46にて修正された三次元モデルデータ自体は、メインメモリ5上にあるいはハードディスク6に記憶される。そして、この記憶された三次元モデルデータは、後にさらに修正が必要な場合に用いられる。
【0055】
モデル画像生成部44は、具体的には、以下のようにしてモデル画像を生成する。なお、このモデル画像生成部44は、モデルデータ修正部46及びモデルデータ変形部47にて修正された三次元モデルデータばかりでなく、あらかじめコンピュータのハードディスク6(モデルデータ記憶部61)に記憶されている初期の三次元モデルデータの二次元画像をも生成する。
【0056】
まず、コンピュータのハードディスク6には、あらかじめ設定されたカメラパラメータが記憶されている(カメラパラメータ記憶部62)。このカメラパラメータは、あらかじめカメラキャリブレーションを行うことにより算出された、各カメラのイメージ座標系(二次元座標系)と三次元座標系とを対応付ける変換行列である。なお、カメラキャリブレーションについては、一般的に用いられているため(下記文献参照)、その詳細な説明は省略する。例えば、三次元座標系上の点とイメージ座標系上の点との対応を最低6点以上定め、最小二乗法によりカメラパラメータを求める。
【0057】
カメラキャリブレーションに関する文献:
R.Y.Tsai,「An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision」,IEEE CVPR,1986,pp.364−374
【0058】
そして、上記カメラパラメータを用いた二次元画像データの生成方法を、図6を参照して説明する。まず、モデルデータ変形部47にて変形された図5(d)に示す三次元モデルデータの各サブリンクの端点を、モデル周囲の点としてその座標を算出する。具体的には、上述した基準節点P0及び変更パラメータ(θx,θy,θz)を用いて各点の三次元座標を算出する。その模式図を図6(a)に示す。
【0059】
続いて、カメラキャリブレーションで求めたカメラパラメータをカメラパラメータ記憶部62から読み出し、このカメラパラメータを用いて各点の三次元座標値をイメージ座標系(二次元画像データ)に変換する。変換後は、モデル画像上に投影する(図6(b)参照)。その後、各点を連結して内部を塗りつぶし、モデル画像を生成する(図6(c)参照)。
【0060】
上述のようにして生成されたモデル画像データと、撮影した被写体1の画像データとの一致度(近似度)を評価関数値計算部45にて評価する。すなわち、評価関数値計算部45は、あらかじめコンピュータ3内に記憶された被写体1の三次元モデルデータあるいは修正後の被写体1の三次元モデルデータと、カメラ2にて取得した被写体1の画像データと形状を比較して、比較結果データである評価関数値を算出する形状比較機能として機能する。
【0061】
この評価関数値計算部45による処理を具体的に説明すると、まず、被写体1の画像データとモデル画像データとの各対応画素の排他的論理和を算出する。図7(a)に被写体の実際の画像データを、図7(b)にモデル画像データを示すが、二値化しているため、それぞれ物体が存在する箇所のみが黒く塗りつぶされた状態となっている。すなわち、物体が存在する画素の濃淡値は0であり、その他の画素の濃淡値は255である。
【0062】
そして、画面全体において、各対応画素毎に当該画素の濃淡値が一致しているか否かを調べ、相違している画素の数Sを加算する。すなわち、以下の式にて相違している画素数Sを算出する。
【0063】
【数1】
【0064】
【数2】
f(u,v):対象物体の画像の画素値
g(u,v):モデルの画像の画素値
【0065】
また、このとき、一致している画素には濃淡値「0」を、相違している画素には濃淡値「255」を設定し、これを画像化したものを図7(c)に示す。
【0066】
そして、評価関数値計算部45は、上記相違する画素の合計数Sを、被写体の画像の面積で除算し、正規化した値S’を算出する。そして、この値S’を評価関数値とする。
【0067】
【数3】
Rf:実物の面積(画素数の合計)
【0068】
そして、算出した評価関数値S’と、このときの三次元モデルデータとを対応付けて、メインメモリ5あるいはハードディスク6に記憶しておく。これは、このときに算出された評価関数値S’が、後述するようあらかじめ設定された判断基準を満たす場合には、かかる場合の三次元モデルデータを被写体1の形状として認識するためである。
【0069】
このように、相違点の合計数を分子としていることから、評価関数値S’の値が小さければ小さいほど、被写体の形状と三次元モデルデータの形状とが近似していることとなる。従って、被写体1の形状と三次元モデルデータとがほぼ一致していると判断できる値を上記判断基準データとして、すなわち、被写体形状と一致すると許容できる値(許容評価関数値)をあらかじめ設定し、許容評価関数値としてハードディスク6に記憶しておく(許容評価関数値記憶部63)。但し、評価関数値と比較される判断基準は、上記しきい値のようなあらかじめ設定された値に関するデータであることに限定されず、後述するように、算出された評価関数値のうち最も小さい値を選択するというアルゴリズムにて表される基準であってもよい。
【0070】
そして、評価関数値計算部45にて、上記算出したS’が記憶されている許容評価関数値以下であるか否かを調べ、許容値以下である場合には、その旨の信号を出力部48に伝達する。一方、許容値よりも大きい場合には、上述したモデルデータ修正部46に対してその旨の情報を伝達する。すると、モデルデータ修正部46では、上述したように三次元モデルデータの修正処理が実現される。すなわち、モデルデータ修正部46は、主に、評価関数値計算部45による計算結果S’があらかじめ定められた判断基準である許容評価関数値を満たしていない場合に、三次元モデルデータを修正するモデルデータ修正機能として作動する。
【0071】
なお、出力部48では、上記信号を受信した際に、三次元モデルデータの形状を被写体の形状と認識する。すなわち、この出力部48は、上記評価関数値計算部45による計算結果S’があらかじめ定められた判断基準である許容評価関数値を満たしている場合にその時点における三次元モデルデータを被写体の画像取得時における形状として認識する形状認識機能として作動する。そして、出力部48は、さらに、被写体の形状と認識した三次元モデルデータの三次元画像あるいは二次元画像をモニタ8に出力したり、あるいは、後述する応用例に示すように、被写体1に対して作動するロボットアームなどの外部機器10に、かかる形状情報を送信する(図2参照)。
【0072】
なお、上記モデルデータ修正部46におけるモデルデータの修正処理は、評価関数値S’が、あらかじめ設定された許容評価関数値以下になるまで繰り返される。すなわち、図2に示すモデル画像生成部44、評価関数値計算部45、モデルデータ修正部46、モデルデータ変形部47における処理は、三次元モデルデータが被写体の画像データに近似するまで繰り返されることとなる。
【0073】
ここで、評価関数値の判断基準が、ある設定値ではなく、例えば、最小値を選択するといったアルゴリズムである場合には、上述した変更パラメータ(θx,θy,θz)を変更し、それぞれ評価関数値が算出され、そのうちの最も小さい値が選択されることとなる。このときには、パラメータの設定が、非線形の最適化の問題となる。本実施形態では、このような非線形の最適化問題を解くために、滑降シンプレックス法を用いることとする。滑降シンプレックス法に関しては、以下の文献に記載されている。
【0074】
文献:Nelder,J.A., and Mead,R. 1965, Computer Journal, vol.7, p.308
なお、後述する動作説明時に、その処理の流れを説明する。
【0075】
そして、例えば、図4(b)に示す三次元モデルデータの場合には、対象物体の一端が固定されており、節点の個数が4個であるので、設計変数(変更パラメータ)は12個となる。これは、各リンク毎に変数である2つの回転角があり、当該リンクが4本あるため、まず8個。そして、サブリンクが4本あるため、その回転角で4個。合計12個である。また、このような設計変数が12個ある場合には、シンプレックス(頂点)は13個となる。かかる場合における最適化の例を図8に示す。図8(a)は被写体の実際の画像であり、かかる画像に対して全パラメータを同時に最適化する。そして、図8(b)に、被写体の画像データと三次元画像データとの排他的論理和を取ったときの画像を示す。この図に示す黒く塗りつぶされた箇所は相違する画素であるが、ほぼ一致した三次元モデルデータを得ることができる。
【0076】
(動作)
次に、本システムの動作について、図9乃至図11のフローチャートを参照して説明する。図9は、コンピュータによる被写体の取り込み、及び、取り込み画像の前処理の様子を示し、図10は、被写体の画像データとモデルデータとを比較して、被写体の形状を認識する処理を示す。図11は、具体的に、モデルデータを最適化する際の処理手法を示す。なお、この動作説明では、評価関数値の判断を許容評価関数値を用いて行う場合と、最小値となる値を選択する場合と、に分けて説明する。
【0077】
はじめに、動作の概略を説明する。まず、評価関数値の判断を評価関数値を用いて行う場合には、コンピュータ3の指令によりカメラ2にて被写体1となる物体を撮影して当該被写体1の画像データをコンピュータ3のメインメモリ5に記憶する被写体画像取込工程と、この被写体画像取込工程の後に、コンピュータ3がハードディスク6に記憶された被写体1の三次元モデルデータとカメラ2にて取得した被写体1の画像データとを比較して算出した比較結果データとこのときの三次元モデルデータとをメインメモリ5あるいはハードディスク6に記憶する形状比較工程と、コンピュータ3が形状比較工程による比較結果データがハードディスク6にあらかじめ記憶された判断基準を満たすか否か判断して当該判断基準を満たしている場合にその時点における三次元モデルデータを被写体1の画像取得時における形状として認識する形状認識工程と、が行われ、さらに、形状比較工程と形状認識工程との間に、コンピュータ3が形状比較工程による比較結果データが判断基準を満たしていない場合に、メインメモリ5あるいはハードディスク6に記憶された被写体の1三次元モデルデータを読み出して当該三次元モデルデータを修正すると共に当該修正後の三次元モデルデータをメインメモリ5あるいはハードディスク6に記憶するモデルデータ修正工程が行われる。特に、モデルデータ修正工程は、三次元モデルデータの形状を、節点とリンクとサブリンクとの各要素に基づいて修正する。このような手順にて被写体1の形状認識が行われる。
【0078】
また、評価関数値が最小値となる値を選択する場合には、コンピュータ3の指令によりカメラ2にて被写体1となる物体を撮影して当該被写体1の画像データをコンピュータ3のメインメモリ5に記憶する被写体画像取込工程が行われ、この被写体画像取込工程の後に、コンピュータ3がメインメモリ5やハードディスク6に記憶された被写体1の三次元モデルデータを読み出して当該三次元モデルデータの形状を修正すると共に当該修正後の三次元モデルデータをメインメモリ5やハードディスク6記憶部に記憶するモデルデータ修正工程と、三次元モデルデータと2にて取得した被写体1の画像データとの形状を比較してこの比較結果データとこのときの三次元モデルデータとをメインメモリ6に記憶する形状比較工程と、が行われる。さらに、モデルデータ修正工程と形状比較工程とを所定回数繰り返した後に、コンピュータ3が形状比較工程による比較結果データがハードディスク6にあらかじめ記憶された判断基準を満たすか否かを判断して当該判断基準を満たすときの三次元モデルデータを被写体の画像取得時における形状として認識する形状認識工程が行われる。このような手順にて被写体1の形状認識が行われる。
【0079】
以下、具体的に、評価関数値の判断を許容評価関数値を用いて行う場合の動作を説明する。まず、コンピュータ3の指令によりカメラ2にて被写体1を撮影し、画像データをコンピュータ3に取り込む(ステップS1)。このとき、被写体1が画面上のほぼ中央に位置するよう、あらかじめカメラ2の位置を設定して画像を取り込む。そして、取り込んだ画像データに対して、コンピュータ3内のメインメモリ5(具体的には、画像処理用のフレームメモリ)上にて、前処理が行われる。その内容は、ノイズを除去し(ステップS2)、あらかじめ被写体1の色などを考慮して設定されコンピュータ3に記憶されているしきい値、あるいは、画像の特性から算出したしきい値を用いて二値化する(ステップS3)。その後、ラベリングにて、画面上の中央付近にあるもっとも大きな物体を、被写体として設定する(ステップS4)。そして、被写体の画像データを、メインメモリ5に記憶して保存しておく(ステップS5)。
【0080】
続いて、ハードディスク6に記憶されている三次元モデルデータをメインメモリ5に読み出し(ステップS11)、まず、初期状態の三次元モデルデータにおける二次元のモデル画像データを生成する(ステップS12)。ここで、メインメモリ5から一時保存した被写体の画像データを読み出し、この被写体画像データと、上記生成したモデル画像データとが近似しているか否かを評価する評価関数値を算出する(ステップS13)。すなわち、上述したように、被写体画像データとモデル画像データとの排他的論理和の合計数を、被写体画像の面積で除算して正規化した値を算出する。ここで、被写体画像の面積は、例えば二値化した画像データ(図3(c)参照)から、当該被写体の形状に相当する部分の画素数を合計することにより求める。従って、かかる処理が上述した前処理の段階(例えば、図9のステップS4の後)に行われ、算出された面積値がメインメモリなどに記憶される。
【0081】
続いて、ハードディスク6からあらかじめ設定してある許容評価関数値を読み出し、この許容評価関数値と算出した評価関数値とを比較する(ステップS14)。そして、評価関数値が許容評価関数値以下であれば(ステップS14で肯定判断)、このときの三次元モデルデータを被写体の形状として認識し(ステップS16)、その座標を算出するなど、用途に応じた処理を行う。一方、算出した評価関数値が許容評価関数値よりも大きい場合には(ステップS14にて否定判断)、三次元モデルデータの修正を行い(ステップS15)、修正したモデルデータにて再度評価を行う(ステップS12〜S14)。このとき、修正したモデルデータをメインメモリやハードディスクに記憶しておくことで、以前の修正データからさらに修正することができ、修正処理の効率化を図ることができる。このようにして、三次元モデルデータが実際に撮影した被写体の画像データと近似するまで、処理を繰り返し、モデルデータの最適化を行う。
【0082】
ここで、上記記載では、三次元モデルデータの最適化処理(ステップS12〜ステップS15の繰り返し)の一例として滑降シンプレックス法を例示したが、それを用いたときの処理を図11のフローチャートを参照して説明する。すなわち、判断基準として許容評価関数値を用いずに、算出した評価関数値が最小となるときの三次元モデルデータを被写体1の形状として認識するよう処理する場合について、具体的な動作を説明する。
【0083】
まず、(N+1)個の各シンプレックス(頂点)のN個の設計変数の値を、乱数で初期化する(ステップS21)。そして、(N+1)個の各頂点の評価関数値を計算する(ステップS22)。
【0084】
続いて、(N+1)個の各頂点の評価関数値が、小さくなるよう設計変数である変更パラメータの値を変更していく(ステップS23)。このとき、算出した評価関数値と、変更パラメータの値すなわちモデルデータ自体とを、メインメモリやハードディスクに記憶しておく。そして、上記処理を、収束条件に関する値がしきい値以下となるまで繰り返す(ステップS24)。ここで、上記収束条件に関する値を、例えば、N+1個のシンプレックスのうち最良の評価関数値と最悪の評価関数値との比に関する値とし、以下に示す式(数4式あるいは数5式)を満たすまで上記処理を繰り返す。但し、以下の式は一例であって、これに限定されるものではない。
【0085】
【数4】
【0086】
【数5】
【0087】
その後、これまでに算出した評価関数値のうち、最も小さい値となったものを選択し、そのときの設計変数、すなわち、三次元モデルデータを、実際の被写体の形状であると認識する(ステップS25)。
【0088】
ここで、上記パラメータに加えて、上記節点P0,P1,P2,・・・,Pnのうち端点となる節点P0の三次元座標をもモデルデータ修正部46にて修正されるパラメータとしてもよい。さらにこれに加えて、当該節点P0におけるサブリンク(図示しないが、符号SL0で表すべきサブリンク)の当該節点P0を回転中心とした回転角度をもパラメータとしてもよい。具体的な処理としては、上記節点P0の座標や、サブリンクSL0の回転角度を修正するたびに評価関数値を算出して、被写体画像データとの比較を行う。そして、上記同様に、評価関数値が許容評価関数値以下となったとき、あるいは、最小値と取ったときの三次元モデルデータを、被写体の形状として認識する。かかる場合には、被写体の位置が固定されていない場合であっても、モデルデータ修正時に節点P0座標を変更してかかる場合の評価関数値を算出することで、最適なモデルデータを設計することができる。
【0089】
また、上記説明では、評価関数値S’として正規化した場合を例示したが、必ずしも正規化する必要はない。例えば、評価関数値を実際の撮影画像データとモデルデータとの差異点の数すなわち差異のある面積の値や、逆に一致する面積の値としてもよい。かかる場合には、許容評価関数値は、あらかじめ設定された許容できる面積値となる。
【0090】
(応用例)
次に、本発明である被写体形状認識システムの応用例を、図12乃至図14を参照して説明する。図12は、被写体形状認識システムを応用した離型紙取り除きシステムの概略を示す構成図である。図13は、当該システムの動作状態を示す説明図である。図14は、その動作を説明するフローチャートである。
【0091】
まず、本応用例では、自動車などの部品となるウインドウガラス110の周囲に、のりなどで貼り付けられた当該ガラス保護用の離型紙111を自動的にロボットアーム140で取り除くというシステムである。具体的には、ウインドウガラス110が自動車組み立て工場のライン上を流れており、所定箇所において停止しているときに、コンピュータ130にて離型紙111の端部位置及び形状が認識されて、当該コンピュータ130が離型紙111の形状に対応してロボットアーム140を作動させて、離型紙111を把持して取り除くというものである。
【0092】
(構成)
構成としては、上述同様に、コンピュータ130と、カメラ120とを備えており、コンピュータ130にてその動作を制御されるロボットアーム140が、当該コンピュータ130に通信インタフェース(図1にて符号7)を介して備えられている。
【0093】
そして、カメラ120は、常に同一箇所を撮影するよう設置されており、具体的には、ウインドウガラス110がライン上を停止した際に、離型紙111の一端部が位置する箇所を撮影するよう配設されている。その撮影箇所の拡大図を、図12の(A)に示す。この図に示すように、ウインドウガラス110からはみ出ている離型紙111の端部付近は、紙部材であるため湾曲やうねりを伴ってあらゆる形状に変形している。この図に示す例であると、斜め上方に反り返るよう変形している。従って、かかる部分をロボットアームにて把持するためには、端部の形状を精度よく認識することが求められる。
【0094】
このとき、ウインドウガラス110は、常にほぼ同一箇所に停止するため、離型紙111の端部付近であってウインドウガラス110に張り付いている箇所である当該ウインドウガラス110の外縁箇所(図12で点線部分)は、カメラ120にて撮影する画面上で毎回ほぼ同一箇所となる。従って、この部分(図12で点線部分)を固定端として、あらかじめその座標をコンピュータに記憶しておく。具体的には、点線部分の中央部が被写体の端点に位置する節点P0との対応部分となり、点線自体が節点P0を通るサブリンクSL0との対応部分となる。そして、ウインドウガラス110外部の部分に位置する離型紙111の先端部側が、他の節点などと対応する箇所となる。よって、離型紙111のウインドウガラス110から突出している部分の形状を、被写体形状として認識することとなる。
【0095】
そして、コンピュータ130には、上述同様のプログラムが記憶されており、CPUに組み込まれることにより、上記機能を実現できる。このとき、離型紙111の端部付近であってウインドウガラス110に張り付いている箇所の座標は、あらかじめコンピュータ130内に記憶されているが、かかる座標よりもウインドウガラス側に位置する離型紙111の形状は無視するようプログラムにて設定されている。すなわち、二値化処理時には、ウインドウガラス110上に位置する箇所の画像情報は破棄するよう設定されている。
【0096】
また、コンピュータ130には、認識した形状に関する情報に基づいてロボットアーム140を操作する機能が備えられている。すなわち、上述したように、三次元モデルデータを用いて離型紙111の形状を認識した後に、当該離型紙111が位置する箇所の座標を指定して、ロボットアームが離型紙111を把持するよう動作指令を出す。例えば、形状認識した離型紙111のほぼ中心箇所の座標を把持するよう、動作指令を出す。そして、離型紙111を把持した後は、図13に示すように、離型紙111をウインドウガラス110から剥がすよう、ロボットアーム140を操作する指令を出す。
【0097】
(動作)
このような動作を、図14のフローチャートを参照して説明する。まず、所定箇所に移動して停止したウインドウガラス110の一部である離型紙111の端部付近の画像を、カメラ120にて取得する(ステップS31)。そして、この画像データと、あらかじめコンピュータ内に記憶している三次元モデルデータとを用いて、上述したように離型紙111の先端部付近の形状を認識する(ステップS32)。
【0098】
その後、コンピュータ130は、撮影した離型紙111の形状であると認識された三次元モデルデータを用いて、ウインドウガラス110から突出している離型紙111の中心付近の座標を算出する(ステップS34)。そして、この座標付近を把持するよう、ロボットアーム120に動作指令を出すと共に(ステップS35)、離型紙111を把持した後に、当該離型紙111のウインドウガラス110への張り付け形状に沿って離型紙111を剥がすよう、動作指令を出す(ステップS36)。
【0099】
このようにすることにより、ライン上を流れるウインドウガラス110に張り付けられた離型紙111の端部の形状を自動的に認識し、この形状に合わせてロボットアーム140に当該離型紙111を把持するよう指令を出すため、変形しやすい紙部材であっても確実に把持することができ、作業効率の向上を図ることができる。
【0100】
〈第2の実施形態〉
次に、本発明の第2の実施形態について、図15乃至図16を参照して説明する。図15は、本実施形態における形状認識の様子を示す説明図である。図16は、本実施形態における動作を示すフローチャートである。
【0101】
本実施形態においては、上述した第1の実施形態とほぼ同様の構成となっているが、被写体の形状認識処理が、各節点毎に行われる点で異なる。すなわち、三次元モデルデータを各節点毎に分割して、分割した各要素毎に、実際の被写体の画像データとの評価関数値を算出して、最適化を行うというものである。
【0102】
具体的に、図5(a)に示す符号を用いて説明すると、まずはじめに、節点P0〜P1間の要素のみの最適化を行うこととなる。すると、節点P0は初期値として設定されており、また、当該節点P0を通るサブリンクSL0も初期値として規定値となっているため、P1に延びるリンクL1の角度と、この節点におけるサブリンクSL1の角度といった3つのパラメータが最適化の設計変数となるだけである。従って、各要素の最適化処理の高速化を図ることができ、これを総ての節点に対して繰り返しても、処理の遅延とはならない。
【0103】
この処理の様子を、図15及び図16を参照して説明する。なお、画像取込処理や前処理、さらには、具体的な最適化処理などについては省略し、具体的な形状認識処理についてのみ説明する。
【0104】
形状認識処理になると、まず、各設定が初期化され、特に、節点を表すパラメータiが0に初期化される(ステップS41)。このとき、被写体の三次元モデルデータの節点数も読み出される。その後、iがインクリメントされ(ステップS42)、i=1となる。
【0105】
そして、最初にi=1の節点に対して、最適化処理が実現される(ステップS43)。これは、i=0の節点(図5では、節点P0)は端点であるため、処理の対象とはならないからである。具体的にi=1の節点に対応する部分とは、図5では、被写体の端部にある節点P0から隣にある節点P1までの部分であり、当該節点P1を通るサブリンクSL1を含む。従って、この部分の設計変数は、節点P0〜P1間のリンクL1と、サブリンクSL1の3つであるため、滑降シンプレックス法による最適化では、シンプレックス(頂点)が4つとなる。
【0106】
このようにして最適化したときの様子を、図15(a)に示す。この図は、上述した図8と同様に、実際の被写体の画像データと、三次元モデルデータを二次元化したモデル画像データとの排他的論理和を取ったときの図であり、相違点が黒くなるよう表示している。この図に示すように、節点P0〜P1間ではほぼ良好に形状認識が行われている。
【0107】
ある節点の最適化処理が行われると、現在の節点が三次元モデルデータ内で最終節点であるか否かが調べられる。具体的には、あらかじめ調べたモデルの総節点数から1を引いた値であるか否かを調べる(ステップS44)。これは、モデルの両端部に節点があるため、1つ少なくカウントしなければならないためである。
【0108】
そして、最終節点でなければ(ステップS44にて否定判断)、再度、iの値をインクリメントして、上述同様に、次の節点までの部分について、最適化処理を行う。このとき、次の節点Piにおける最適化処理を行う前に、実際の被写体の画像データから事前に行った節点Pi−1のモデル画像データの領域を消去する(ステップS45)。このようにして部分毎に最適化処理した様子を、図15(b)〜図15(e)に示す。
【0109】
このようにすることにより、複数の節点が設定されている被写体の三次元モデルデータでは、多くの変更パラメータをほぼ同時期に修正しなければならず、最適化されるまで多くの処理時間を要することとなるが、本実施形態のようにパラメータ数を少数にした場合には、モデルの個々の部分の最適化にかかる時間は少なく、全体としても処理時間の短縮化を図ることができる。また、コンピュータにおける処理負担の軽減も図ることができる。
【0110】
〈第3の実施形態〉
次に、本発明の第3の実施形態について、図17を参照して説明する。本実施形態における被写体形状認識システムは、上述した第1又は第2の実施形態とほぼ同様の構成を取っているが、画像取得手段であるカメラが2台備わっていることに特徴がある。これを詳述する。
【0111】
図17の構成ブロック図に示すように、本実施形態におけるシステムは、被写体210を撮影する第1のカメラ221と、第2のカメラ222が備えられており、これらの動作はコンピュータ230にて制御される。そして、第1のカメラ221と第2のカメラ222は、被写体210に対して撮影角度が異なるよう、別の場所に配置されている。従って、各カメラ221,222にて取得した画像データ内の被写体210の形状は、それぞれ異なる形状にて撮影されることとなる。
【0112】
そして、これに伴い、コンピュータ230による処理も、上述した実施形態とは多少異なる。まず、コンピュータ230は、2つのカメラ210からほぼ同時に被写体210の画像データを取得し、各画像データ毎に上述した形状認識処理を行う。すなわち、前処理を施して、三次元モデルデータとの比較を行う。
【0113】
その後、コンピュータ230は、各カメラ毎に取得した画像データ毎に評価関数値を算出すると共に、そのときの三次元モデルデータも記憶しておくが、そのうち、最も評価関数値が小さいものの三次元モデルデータを、実際の被写体210の形状であると認識する。
【0114】
このようにすることにより、被写体の撮影角度によっては適切な形状認識を行えない場合があるが、2方向から被写体210の形状を取得して、それぞれの形状を認識することにより、より認識精度が増すこととなる。
【0115】
ここで、上記実施形態では画像取得手段であるカメラを2台設置した場合を例示したが、必ずしもこれに限定されない。さらに多くのカメラを備え、それぞれ取得した画像データのうち、最も適切に認識できるものを採用するようコンピュータが処理をしてもよい。
【0116】
また、このときの最適化処理を、上記第2の実施形態に示すよう三次元モデルデータを節点毎に分割した部分毎に行ってもよい。
【0117】
【発明の効果】
本発明は、以上のように構成され機能するので、これによると、三次元モデルデータを、節点とリンクとサブリンクとにより構成し、リンク及びサブリンクの回転角度を修正することにより三次元モデルデータを修正して、被写体の画像データと比較して当該被写体の形状を認識する、という構成を採っているため、従来より行われている多くの節点にて表されるメッシュデータの形状修正とは異なり、少ないパラメータの変更で三次元データの修正処理を実行することができ、演算装置であるコンピュータの処理負担の軽減を図り、被写体の形状認識処理の高速化を図ることができる、という従来にない優れた効果を有する。特に、本発明における被写体は薄板状の物体であるため、これらの要素によって被写体の変形を充分に表現することができることにより、当該被写体の形状をより正確に表現することができ、高い認識精度を維持することができる。
【0118】
また、各変更パラメータの変更割合を被写体の特性に応じてあらかじめ設定しておくことにより、形状が変形しやすい方向の変更パラメータを大きく変更するという設定も可能であり、より修正処理の高速化を図ることができる。さらには、被写体の位置が固定されていない場合には、三次元モデルデータの一つの節点の位置をパラメータとすることにより、当該三次元モデルデータの位置を移動して被写体の形状に合わせることが可能となり、さらなる認識処理の高速化を図ることができる。
【0119】
また、被写体形状の認識を、画像データと三次元モデルデータとの各対応画素における一致点、相違点の数に応じて行うため、簡易なアルゴリズムにて認識処理を実現でき、高速に、かつ高精度な認識結果を得ることができる。特に、一致あるいは相違する画素数を被写体の画像データによる面積で割ることで、比較結果データを正規化でき、当該被写体形状の認識精度に対する撮影角度の影響を軽減することができる。
【0120】
また、被写体の画像データと三次元モデルデータとの比較を、モデルデータの節点毎に行うよう構成することにより、変更パラメータの数が少なくなるため、より少ない設計変数で最適化を行うことができ、認識処理のさらなる迅速化及び高精度化を図ることができる。
【0121】
さらに、被写体を取り込むカメラを複数設置し、各画像データ毎の比較結果データのうち、最も適切な比較結果が得られたと判断した三次元モデルデータを被写体の形状として認識する、という構成にすることにより、撮影角度によっては、被写体の形状を適切に認識できない場合も生じるが、同時に2方向以上から撮影することで、適切な形状認識結果を得ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態における構成を示すブロック図である。
【図2】図1に開示したコンピュータの構成を示す機能ブロック図である。
【図3】図3は、被写体の取得画像の様子を示す説明図である。図3(a)は、画像取得手段にて取り込んだ際の図を示し、図3(b)は、ディジタルデータに変換してた際のデータ構成を示す模式図である。図3(c)は、前処理を施して二値化した時の様子を示す図である。
【図4】図4は、被写体の三次元モデルデータを示す模式図である。図4(a)は、その斜視図を示し、図4(b)は、モデル化した状態の斜視図を示す。
【図5】図5は、被写体の三次元モデルデータの変更パラメータを示す説明図である。図5(a)及び図5(c)は、リンクの角度を示し、図5(c)は、サブリンクの角度を示す。図5(d)は、パラメータを修正して変形した三次元モデルデータの模式図を示す。
【図6】図6は、三次元モデルデータから二次元モデル画像を生成する際の様子を示す説明図である。図6(a)は、三次元モデルデータの外形を算出したときの模式図を示し、図6(b),(c)は、二次元画像データとして変換した時の図を示す。
【図7】図7は、取得した被写体の画像データと三次元モデルデータから生成したモデル画像とを比較した際の様子を示す説明図である。図7(a)は、被写体の実際の画像データを、図7(b)は、モデル画像データを示し、図7(c)は、これらの排他的論理和を算出したものを図形化したものを示す。
【図8】図8は、取得した被写体の画像データと三次元モデルデータから生成したモデル画像とを比較した際の様子を示す説明図である。図8(a)は被写体の実際の画像データであり、図8(b)に、被写体の画像データと三次元画像データとの排他的論理和を取ったときの画像を示す。
【図9】第1の実施形態における動作を示すフローチャートであり、特に、被写体の画像データに対する形状認識処理の前に施す処理を示す。
【図10】第1の実施形態における動作を示すフローチャートであり、特に、三次元モデルデータを用いて被写体の形状を認識する処理を示す。
【図11】第1の実施形態における動作を示すフローチャートであり、特に、三次元モデルデータを最適化する際に滑降シンプレックス法を用いた場合の処理を示す。
【図12】本発明である被写体形状認識システムを用いた応用システムの概略を示した構成図である。
【図13】図12に開示した応用システムの作動状況を示す説明図である。
【図14】図12に開示した応用にシステムの動作を示すフローチャートである。
【図15】本発明の第2の実施形態における処理の様子を示す説明図である。
【図16】本発明の第2の実施形態における動作を示すフローチャートである。
【図17】本発明の第3の実施形態における構成を示すブロック図である。
【図18】従来例における被写体形状の認識手法を示すフローチャートである。
【図19】従来例におけるモデルデータの一例を示す図である。
【符号の説明】
1,210 被写体
2,120 カメラ(画像取得手段)
3,130,230 コンピュータ
4 CPU(演算装置)
5 メインメモリ(主記憶装置)
6 ハードディスク(補助記憶装置)
7 通信インタフェース
8 モニタ(表示装置)
9 キーボード・マウス(入力装置)
11,P0〜Pn 節点
12,L1〜Ln リンク
13,SL0〜SLn サブリンク
110 ウインドウガラス
111 離型紙(被写体)
221 第1のカメラ(画像取得手段)
222 第2のカメラ(画像取得手段)
Claims (12)
- 被写体となる物体を撮影する画像取得手段と、取得した画像データを記憶部に記憶して演算処理するコンピュータとを備え、前記被写体の形状を認識するシステムであって、
このコンピュータが、当該コンピュータの記憶部に記憶された前記被写体の三次元モデルデータを読み出して当該三次元モデルデータの形状を修正すると共に当該修正後の三次元モデルデータを前記記憶部に記憶するモデルデータ修正機能と、前記三次元モデルデータと前記画像取得手段にて取得した前記被写体の画像データとの形状を比較して算出した比較結果データとこのときの三次元モデルデータとを前記記憶部に記憶する形状比較機能と、前記比較結果データが前記記憶部にあらかじめ記憶された判断基準を満たすか否か判断して当該判断基準を満たすときの前記三次元モデルデータを前記被写体の画像取得時における形状として認識する形状認識機能と、を備え、
前記三次元モデルデータを、前記被写体上にあらかじめ設定された複数の節点と、これら節点のうち隣り合う節点を相互に接続するあらかじめ定められた長さを有するリンクと、前記各節点から前記被写体の外縁に向かって前記リンクとは所定の角度を有して延びるあらかじめ定められた長さを有するサブリンクと、により構成すると共に、
前記形状修正機能は、前記三次元モデルデータの節点とリンクとサブリンクとの各要素に基づいて当該三次元モデルデータを修正することを特徴とする被写体形状認識システム。 - 前記形状修正機能は、前記リンクが接続された一方の前記節点を回転中心とする当該リンクの回転角度と、当該サブリンクが接続された前記節点を回転中心とする当該サブリンクの回転角度と、をそれぞれ変更パラメータとしてその値を変更することによりモデルデータの形状を修正する、ことを特徴とする請求項1記載の被写体形状認識システム。
- 前記形状修正機能は、前記三次元モデルデータのあらかじめ定められた前記節点の三次元座標をも変更パラメータとしてその値を変更することによりモデルデータの形状を修正する、ことを特徴とする請求項2記載の被写体形状認識システム。
- 前記形状修正機能は、前記各変更パラメータの変更割合である、あらかじめ定められたパラメータ毎の重みデータに応じて変更する、ことを特徴とする請求項2又は3記載の被写体形状認識システム。
- 前記形状比較機能は、前記被写体の画像データと前記三次元モデルデータとの各対応座標においてそれぞれ物体の形状が存在するか否かを判断すると共に、全ての対応座標における一致点あるいは相違点の数に基づいて前記被写体の画像データと前記三次元モデルデータとの形状を比較して前記比較結果データを算出する、ことを特徴とする請求項1,2,3又は4記載の被写体形状認識システム。
- 前記形状比較機能は、前記被写体の画像データと前記三次元モデルデータとの各対応座標においてそれぞれ物体の形状が存在するか否かを判断すると共に、全ての対応座標における一致点あるいは相違点の数を前記被写体の画像データから算出した当該被写体の面積で除算した値に基づいて前記被写体の画像データと前記三次元モデルデータとの形状を比較して前記比較結果データを算出する、ことを特徴とする請求項1,2,3又は4記載の被写体形状認識システム。
- 前記コンピュータが有する各機能は、前記節点毎に作動することを特徴とする請求項1,2,3,4,5又は6記載の被写体形状認識システム。
- 前記画像取得手段を複数設置すると共に、
前記コンピュータが備える各機能が、前記各画像取得手段毎に取得した各画像データそれぞれに対して作動し、
前記形状認識機能は、前記各画像データ毎の前記形状比較機能による比較結果データのうち、前記記憶部に記憶された判断基準に対して最も適切な比較結果が得られたと判断した前記三次元モデルデータを前記被写体の形状として認識する、ことを特徴とする請求項1,2,3,4,5,6又は7記載の被写体形状認識システム。 - コンピュータの指令により画像取得手段にて被写体となる物体を撮影して当該被写体の画像データを前記コンピュータの記憶部に記憶する被写体画像取込工程と、
この被写体画像取込工程の後に、前記コンピュータが前記記憶部に記憶された前記被写体の三次元モデルデータと前記画像取得手段にて取得した前記被写体の画像データとを比較して算出した比較結果データとこのときの三次元モデルデータとを前記記憶部に記憶する形状比較工程と、前記コンピュータが前記形状比較工程による比較結果データが前記記憶部にあらかじめ記憶された判断基準を満たすか否か判断して当該判断基準を満たしている場合にその時点における前記三次元モデルデータを前記被写体の画像取得時における形状として前記コンピュータが認識する形状認識工程と、を備えると共に、
前記形状比較工程と前記形状認識工程との間に、前記コンピュータが前記形状比較工程による比較結果データが前記判断基準を満たしていない場合に、前記記憶部に記憶された前記被写体の三次元モデルデータを読み出して当該三次元モデルデータを修正すると共に当該修正後の三次元モデルデータを前記記憶部に記憶するモデルデータ修正工程を備え、
このモデルデータ修正工程が、前記被写体上にあらかじめ設定された複数の節点と、これら節点のうち隣り合う節点を相互に接続するあらかじめ定められた長さを有するリンクと、前記各節点から前記被写体の外縁に向かって前記リンクとは所定の角度を有して延びるあらかじめ定められた長さを有するサブリンクと、により構成された前記三次元モデルデータの形状を、前記節点とリンクとサブリンクとの各要素に基づいて修正する、ことを特徴とする被写体形状認識方法。 - コンピュータの指令により画像取得手段にて被写体となる物体を撮影して当該被写体の画像データを前記コンピュータの記憶部に記憶する被写体画像取込工程と、
この被写体画像取込工程の後に、前記コンピュータが前記記憶部に記憶された前記被写体の三次元モデルデータを読み出して当該三次元モデルデータの形状を修正すると共に当該修正後の三次元モデルデータを前記記憶部に記憶するモデルデータ修正工程と、前記三次元モデルデータと前記画像取得手段にて取得した前記被写体の画像データとの形状を比較して算出した比較結果データとこのときの三次元モデルデータとを前記記憶部に記憶する形状比較工程と、を備えると共に、
前記モデルデータ修正工程と前記形状比較工程とを所定回数繰り返した後に、前記コンピュータが前記形状比較工程による比較結果データが前記記憶部にあらかじめ記憶された判断基準を満たすか否かを判断して当該判断基準を満たすときの前記三次元モデルデータを前記被写体の画像取得時における形状として認識する形状認識工程を備え、
前記モデルデータ修正工程が、前記被写体上にあらかじめ設定された複数の節点と、これら節点のうち隣り合う節点を相互に接続するあらかじめ定められた長さを有するリンクと、前記各節点から前記被写体の外縁に向かって前記リンクとは所定の角度を有して延びるあらかじめ定められた長さを有するサブリンクと、により構成された前記三次元モデルデータの形状を、前記節点とリンクとサブリンクとの各要素に基づいて修正する、ことを特徴とする被写体形状認識方法。 - コンピュータに、画像取得手段を介して被写体となる物体を撮影し当該被写体の画像データを前記コンピュータの記憶部に記憶する被写体画像取込機能と、前記記憶部に記憶された前記被写体の三次元モデルデータを読み出して当該三次元モデルデータの形状を修正すると共に当該修正後の三次元モデルデータを前記記憶部に記憶するモデルデータ修正機能と、前記三次元モデルデータと前記画像取得手段にて取得した前記被写体の画像データとの形状を比較して算出した比較結果データとこのときの三次元モデルデータとを前記記憶部に記憶する形状比較機能と、この比較結果データが前記記憶部にあらかじめ記憶された判断基準を満たすか否か判断して当該判断基準を満たすときの前記三次元モデルデータを前記被写体の画像取得時における形状として認識する形状認識機能と、を実現させるためのプログラムであって、
前記モデルデータ修正機能が、前記被写体上にあらかじめ設定された複数の節点と、これら節点のうち隣り合う節点を相互に接続するあらかじめ定められた長さを有するリンクと、前記各節点から前記被写体の外縁に向かって前記リンクとは所定の角度を有して延びるあらかじめ定められた長さを有するサブリンクと、により構成された前記三次元モデルデータの形状を、前記節点とリンクとサブリンクとの各要素に基づいて修正する、被写体形状認識用プログラム。 - 前記請求項11記載の被写体形状認識用プログラムを記憶した記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003147882A JP2004348659A (ja) | 2003-05-26 | 2003-05-26 | 被写体形状認識システム及び方法並びに被写体形状認識用プログラム、当該プログラムを記憶した記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003147882A JP2004348659A (ja) | 2003-05-26 | 2003-05-26 | 被写体形状認識システム及び方法並びに被写体形状認識用プログラム、当該プログラムを記憶した記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004348659A true JP2004348659A (ja) | 2004-12-09 |
Family
ID=33534292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003147882A Withdrawn JP2004348659A (ja) | 2003-05-26 | 2003-05-26 | 被写体形状認識システム及び方法並びに被写体形状認識用プログラム、当該プログラムを記憶した記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004348659A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007064836A (ja) * | 2005-08-31 | 2007-03-15 | Kyushu Institute Of Technology | カメラキャリブレーションの自動化アルゴリズム |
-
2003
- 2003-05-26 JP JP2003147882A patent/JP2004348659A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007064836A (ja) * | 2005-08-31 | 2007-03-15 | Kyushu Institute Of Technology | カメラキャリブレーションの自動化アルゴリズム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021115071A1 (zh) | 单目内窥镜图像的三维重建方法、装置及终端设备 | |
JP5336995B2 (ja) | 特徴点位置決め装置、画像認識装置、その処理方法及びプログラム | |
JP2000293696A (ja) | 画像認識装置 | |
WO2010122721A1 (ja) | 照合装置、照合方法および照合プログラム | |
US6925206B2 (en) | White line detection apparatus and white line detection method | |
WO1994023390A1 (en) | Apparatus for identifying person | |
WO2013105381A1 (ja) | 画像処理方法、画像処理装置および画像処理プログラム | |
CN113902652B (zh) | 散斑图像校正方法、深度计算方法、装置、介质及设备 | |
KR20150097251A (ko) | 다중 영상간 대응점을 이용한 카메라 정렬 방법 | |
JP2004348659A (ja) | 被写体形状認識システム及び方法並びに被写体形状認識用プログラム、当該プログラムを記憶した記憶媒体 | |
CN111435117A (zh) | 裂纹线检测装置、裂纹线检测方法和记录介质 | |
JPH10206135A (ja) | 3次元物体位置姿勢決定方法 | |
JP2021018477A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP6915326B2 (ja) | 画像処理装置、画像処理システムおよびプログラム | |
CN112950787B (zh) | 一种基于图像序列的目标物体三维点云生成方法 | |
JPH1151611A (ja) | 認識対象物体の位置姿勢認識装置および位置姿勢認識方法 | |
JP4468019B2 (ja) | 画像処理装置 | |
JP4664805B2 (ja) | 顔端検出装置、顔端検出方法、及び、プログラム | |
JP2004164479A (ja) | 画像変形情報生成装置、画像変形情報生成方法及び画像変形情報生成プログラム | |
JP6427038B2 (ja) | カメラパラメータ推定装置およびカメラパラメータ推定プログラム | |
JP2001014462A (ja) | 指紋照合システム | |
JP3297964B2 (ja) | 画像処理方法およびその装置 | |
JP3870255B2 (ja) | 3次元復元方法及び装置 | |
JP2004102323A (ja) | 画像処理装置および画像処理方法 | |
JP3702594B2 (ja) | パラメータ調節方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060801 |