(57)【要約】【課題】物体の３次元形状を効率的に測定することができる形状測定装置、形状測定方法及びプログラムを提供する。【解決手段】形状測定装置１００は、撮像部１、距離画像センサ部２及び処理装置５を有する。撮像部１は、対象物の２次元画像を複数のフレームにわたって取得する。距離画像センサ部２は。対象物の距離画像を複数のフレームにわたって取得する。処理装置５は、複数のフレームのそれぞれの距離画像から対象物の特徴点を検出し、対象物に対して設定した座標系に検出した特徴点を書き込む。【選択図】図１
2019168251.tif 000002
【特許請求の範囲】
【請求項１】
対象物の２次元画像を複数のフレームにわたって取得する撮像部と、
前記対象物の距離画像を前記複数のフレームにわたって取得する距離画像センサ部と、
複数のフレームのそれぞれの前記距離画像から前記対象物の特徴点を検出し、前記対象物に対して設定した座標系に検出した前記特徴点を書き込む処理装置と、を備える、
形状測定装置。
【請求項２】
前記処理装置は、
前記複数のフレームに含まれる第１フレームと第２フレームとの間での前記対象物の回転を検出し、前記回転の回転軸を前記座標系の第１の軸として設定し、
前記第１フレームの前記距離画像に存在する第１の特徴点と、前記第１フレームと異なる第２フレームの前記距離画像で前記第１の特徴点に対応する第２の特徴点と、が属する平面を設定し、
前記平面が前記第１の軸と交わる点を前記座標系の原点として設定し、
前記原点から前記第１の特徴点へ向かう方向に動径座標を設定し、
前記第１の軸まわりの回転角方向に回転座標を設定する、
請求項１に記載の形状測定装置。
【請求項３】
前記処理装置は、
前記複数のフレームに含まれる第１フレームと第２フレームとの間での前記対象物の回転を検出し、前記回転の回転軸を前記座標系の第１の軸として設定し、
前記第１フレームの前記距離画像に存在する第１の特徴点と、前記第１フレームと異なる第２フレームの前記距離画像で前記第１の特徴点に対応する第２の特徴点と、が属する平面を設定し、
前記平面が前記第１の軸と交わる点を前記座標系の原点として設定し、
前記原点と前記第１の特徴点とを通る線を前記座標系の第２の軸として設定し、
前記平面上で前記第２の軸に直交する線を前記座標系の第３の軸として設定する、
請求項１に記載の形状測定装置。
【請求項４】
前記処理装置は、
前記距離画像を読み込む画像取得部と、
前記距離画像を参照し、前記対象物までの距離が所定値よりも大きな点を削除する処理を行う認識処理部と、
前記認識処理部で処理された前記距離画像から前記特徴点を検出する特徴点検出部と、を備える、
請求項２又は３に記載の形状測定装置。
【請求項５】
前記特徴点検出部は、
前記認識処理部で処理された前記距離画像を複数の領域に分割し、
前記複数の領域から注目領域を選択し、
前記注目領域の点から、隣接する２点からなる第１の組を全通り生成し、
一方の点にかかる前記対象物までの距離と他方の点にかかる前記対象物までの距離との差が所定の演算値または所定値よりも大きい前記第１の組を、特徴点候補として抽出し、
前記注目領域の周辺の前記領域の点と隣接する点とからなる第２の組を全通り生成し、
一方の点にかかる前記対象物までの距離と他方の点にかかる前記対象物までの距離との差が所定の演算値または所定値よりも大きい前記第２の組を、特徴点候補として抽出し、
前記特徴点候補として抽出された前記第１の組に含まれる点のそれぞれと、前記特徴点候補として抽出された前記第２の組に含まれる点のそれぞれとからなる第３の組を全通り生成し、
一方の点にかかる前記対象物までの距離と他方の点にかかる前記対象物までの距離との差が所定の演算値または所定値よりも大きい前記第３の組に含まれる前記第１の組の点を、特徴点として検出する、
請求項４に記載の形状測定装置。
【請求項６】
前記処理装置は、
前記第１フレームの前記距離画像と前記第２フレームの前記距離画像との差分を計算し、前記差分が所定値よりも大きな場合に前記対象物の移動を検知する移動検知部を更に備え、
特徴点検出部は、前記移動検知部が前記対象物の移動を検知した場合に、前記第２フレームの前記距離画像から特徴点を検出する、
請求項４又は５に記載の形状測定装置。
【請求項７】
対象物の２次元画像を複数のフレームにわたって取得し、
前記対象物の距離画像を前記複数のフレームにわたって取得し、
複数のフレームのそれぞれの前記距離画像から前記対象物の特徴点を検出し、
前記対象物に対して設定した座標系に、検出した前記特徴点を書き込む、
形状測定方法。
【請求項８】
対象物の２次元画像を複数のフレームにわたって取得する処理と。
前記対象物の距離画像を前記複数のフレームにわたって取得する処理と、
複数のフレームのそれぞれの前記距離画像から前記対象物の特徴点を検出する処理と、
前記対象物に対して設定した座標系に、検出した前記特徴点を書き込む処理と、をコンピュータに実行させる、
形状測定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は形状測定装置、形状測定方法及びプログラムに関する。
【背景技術】
【０００２】
画像情報から物体の３次元形状を取得する形状測定装置が知られている。例えば、測定対象の物体をステージや回転台に固定し、複数台の測定装置を使用して異なる視点から取得した画像データを組み合わせる手法が一般的に知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１８９２０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上述の形状測定装置は、複数台の測定装置が必要であるため、装置の規模が大きくなってしまう問題がある。また、測定対象の物体の姿勢がステージや回転台によって制限されてしまい、物体に形状によっては形状の測定が困難な場合がある。
【０００５】
本発明は、上記に鑑みて成されたものであり、物体の３次元形状を効率的に測定することができる形状測定装置、形状測定方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様である形状測定装置は、対象物の２次元画像を複数のフレームにわたって取得する撮像部と、前記対象物の距離画像を前記複数のフレームにわたって取得する距離画像センサ部と、複数のフレームのそれぞれの前記距離画像から前記対象物の特徴点を検出し、前記対象物に対して設定した座標系に検出した前記特徴点を書き込む処理装置と、を有するものである。
【０００７】
本発明の一態様である形状測定方法は、対象物の２次元画像を複数のフレームにわたって取得し、前記対象物の距離画像を前記複数のフレームにわたって取得し、複数のフレームのそれぞれの前記距離画像から前記対象物の特徴点を検出し、前記対象物に対して設定した座標系に、検出した前記特徴点を書き込むものである。
【０００８】
本発明の一態様である形状測定方法は、対象物の２次元画像を複数のフレームにわたって取得する処理と、前記対象物の距離画像を前記複数のフレームにわたって取得する処理と、複数のフレームのそれぞれの前記距離画像から前記対象物の特徴点を検出する処理と、前記対象物に対して設定した座標系に、検出した前記特徴点を書き込む処理と、をコンピュータに実行させる、ものである。
【発明の効果】
【０００９】
本発明によれば、物体の３次元形状を効率的に測定することができる形状測定装置、形状測定方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１にかかる形状測定装置の構成を模式的に示す図である。
【図２】実施の形態１にかかる処理部の構成を模式的に示す図である。
【図３】実施の形態１における対象物の保持例を示す図である。
【図４】第１フレームにおける対象物の特徴点を示す図である。
【図５】第２フレームにおける対象物の特徴点を示す図である。
【図６】対象物に設定される座標系を示す図である。
【図７】実施の形態１にかかる形状測定装置の動作示すフローチャートである。
【図８】実施の形態１にかかる特徴点検出を示すフローチャートである。
【図９】距離画像の分割を模式的に示す図である。
【図１０】特徴点候補の抽出を示すフローチャートである。
【図１１】注目領域と周辺領域とを模式的に示す図である。
【図１２】特徴点検出を示すフローチャートである。
【図１３】実施の形態２にかかる処理部の構成を模式的に示す図である。
【図１４】実施の形態２にかかる形状測定装置の動作を示すフローチャートである。
【図１５】移動検知処理を示すフローチャートである。
【図１６】実施の形態３にかかる処理部の構成を模式的に示す。
【図１７】実施の形態３にかかる形状測定装置の動作を示すフローチャートである。
【図１８】モデル分割処理を示すフローチャートである。
【図１９】Ｘ軸に垂直な断面での分割処理を示すフローチャートである。
【図２０】Ｙ軸に垂直な断面での分割処理を示すフローチャートである。
【図２１】Ｚ軸に垂直な断面での分割処理を示すフローチャートである。
【図２２】分割前の３次元モデルの例を示す図である。
【図２３】分割後の３次元モデルの例を示す図である。
【図２４】３次元モデルの頭部を置換した例を示す。
【発明を実施するための形態】
【００１１】
実施の形態１
実施の形態１にかかる形状測定装置について説明する。図１は、実施の形態１にかかる形状測定装置１００の構成を模式的に示す図である。形状測定装置１００は、撮像部１、距離画像センサ部２、操作部３、表示部４及び処理装置５を有する。
【００１２】
撮像部１は、形状測定の対象となる物体（以下、対象物１０と称する）の２次元画像を取得する装置であり、例えばカメラとして構成される。
【００１３】
距離画像センサ部２は、距離画像センサ部２と対象物１０との間の距離を示す距離画像を取得する。ここで、距離画像は、画素の２次元平面上での座標と、その座標における距離と、を含む３次元の点群データとして取得される。したがって、以下では、点群データを構成するデータ要素を点と称するものとする。距離画像センサ部２としては、例えばＴＯＦ（Time of Flight）カメラや赤外線センサを用いてもよい。
【００１４】
操作部３は、形状測定装置１００に与えるコマンドや設定パラメータなどの入力に用いられる。操作部３としては、キーボード、タッチパネル、マウスなどの各種の入力用機器を用いることができる。
【００１５】
表示部４は、形状測定装置１００での測定結果や設定情報などを表示する。表示部４としては、液晶ディスプレイやタッチパネルなど、各種の表示機器を用いることができる。
【００１６】
処理装置５は、撮像部１で取得された２次元画像と距離画像センサ部２で取得された距離画像とから、対象物１０の形状を検出可能に構成される。処理装置５は、コンピュータなどのハードウェア資源を用いて構成される。
【００１７】
処理装置５は、画像インターフェイス（Ｉ／Ｆ）１１、制御Ｉ／Ｆ１２、表示Ｉ／Ｆ１３、通信Ｉ／Ｆ１４、処理部１５、ＲＡＭ（Random Access Memory）１６、ＲＯＭ（Read only Memory）１７、記憶部１８及びバス１９を有する。
【００１８】
撮像部１で取得された２次元画像は、画像Ｉ／Ｆ１１及びバス１９を介して、例えばＲＡＭ１６に格納される。距離画像センサ部２で取得された距離情報は、画像Ｉ／Ｆ１１及びバス１９を介して、例えばＲＡＭ１６に格納される。
【００１９】
操作部３からは、コマンド等の入力情報が、制御Ｉ／Ｆ１２及びバス１９を介して、例えば処理部１５へ与えられる。
【００２０】
処理部１５は、形状測定装置１００での形状測定動作を制御し、形状測定にかかる演算処理を行う。処理部１５からは、測定結果などの表示情報が、表示Ｉ／Ｆ１３及びバス１９を介して、表示部４へ出力される。処理部１５は、通信Ｉ／Ｆ１４及びバス１９を介して、外部のネットワーク１０００と双方向通信が可能である。処理部１５の構成及び処理については後述する。
【００２１】
ＲＯＭ１７は、処理部１５が用いる情報が格納される。例えば、ＲＯＭ１７は、処理部１５の処理に用いるパラメータや、処理部１５が実行するプログラムなどが格納される。
【００２２】
記憶部１８は、形状測定装置１００での形状測定の結果や、測定処理完了後の画像データなどが格納される。ＲＡＭ１６の容量に余裕がない場合、記憶部１８はＲＡＭ１６に書き込まれるべき情報をＲＡＭ１６に代わって格納してもよい。記憶部１８は、ハードディスクなどの各種に記憶媒体を用いることができる。
【００２３】
図２に、実施の形態１にかかる処理部１５の構成を模式的に示す。処理部１５は、制御部１５Ａ、表示処理部１５Ｂ、ユーザーインターフェイス（ＵＩ：User Interface）部１５Ｃ、通信部１５Ｄ、画像取得部１５Ｅ、認識処理部１５Ｆ、特徴点検出部１５Ｇ及びモデル生成部１５Ｈを有する。
【００２４】
制御部１５Ａは、表示処理部１５Ｂ、ＵＩ部１５Ｃ、通信部１５Ｄ、画像取得部１５Ｅ、認識処理部１５Ｆ、特徴点検出部１５Ｇ及びモデル生成部１５Ｈの動作を制御する。
【００２５】
表示処理部１５Ｂは、表示Ｉ／Ｆ１３を介して、表示すべき情報を表示部４へ出力する。
【００２６】
ＵＩ部１５Ｃは、制御Ｉ／Ｆ１２を介して、操作部３からコマンド等の入力情報を受け取り、制御部１５Ａへ転送する。
【００２７】
通信部１５Ｄは、通信Ｉ／Ｆ１４を介して、外部のネットワーク１０００との間で通信を行う。
【００２８】
画像取得部１５Ｅは、撮像部１が取得した２次元画像を逐次読み込むことができる。画像取得部１５Ｅは、撮像部１が取得してＲＡＭ１６又は記憶部１８に格納された２次元画像を、ＲＡＭ１６又は記憶部１８から読み込んでもよい。画像取得部１５Ｅは、距離画像センサ部２が取得した距離画像を逐次読み込むことができる。画像取得部１５Ｅは、距離画像センサ部２が取得してＲＡＭ１６又は記憶部１８に格納された距離画像を、ＲＡＭ１６又は記憶部１８から読み込んでもよい。
【００２９】
認識処理部１５Ｆは、読み込んだ２次元画像と距離画像から、対象物１０に対応する領域を検出する。
【００３０】
特徴点検出部１５Ｇは、認識処理部１５Ｆで処理後の距離画像から、対象物１０の画像から特徴点を検出する。特徴点検出部１５Ｇは、検出した特徴点を、例えばＲＡＭ１６へ書き込む。
【００３１】
本実施の形態にかかる形状測定装置１００は、対象物１０を回転させながら複数のフレームにわたって２次元画像と距離画像とを取得し、各フレームについて対象物１０の特徴点を検出する。そして、異なるフレーム間で特徴点をパターンマッチングし、新たに検出された特徴点を逐次追加する。これにより、複数のフレームを用いて対象物１０の３次元形状を特定するための特徴点を検出できる。
【００３２】
また、本実施の形態にかかる形状測定装置１００は、対象物１０に設定した座標系を用いて特徴点を保存する。そのため、フレーム間における対象物１０の移動を検出し、その移動に対象物１０の座標系を追随させる。よって、対象物１０の姿勢が変化しても、対象物１０に設定した座標系は対象物１０の姿勢の変化に追随することができる。
【００３３】
本実施の形態では、対象物１０は、ユーザの手や保持部材などによって保持される。図３に、実施の形態１における対象物１０の保持例を示す。図３に示すように、対象物１０は、例えばユーザの親指Ｆ１と人差し指Ｆ２とに挟まれ保持される。ユーザが、対象物１０を持ち替えて対象物１０を移動、回転させて２次元画像及び距離画像を取得することで、複数のフレームにわたって２次元画像及び距離画像が得られる。
【００３４】
ここで、特徴点の検出と座標系について説明する。図４に、第１フレームにおける対象物１０の特徴点を示す。図５に、第１フレームよりも後のタイミングで取得された第２フレームにおける対象物１０の特徴点を示す。なお、第１フレームと第２フレームとは連続したフレームでも連続していなフレームでもよく、連続していない場合は第１フレームと第２フレームとの間に所定のフレーム数を挟むようにしてもよい。
【００３５】
第１フレームと第２フレームとの間の特徴点の対応付けは、例えば両フレームの特徴点をパターンマッチングすることで可能である。なお、第１フレームと第２フレームとで、画像内の対象物１０の大きさが変化し、対象物１０が移動したとしても、画像を比較することで特徴点の移動や距離の変化を考慮したパターンマッチングを行うことが可能である。
【００３６】
すなわち、本実施の形態では、複数フレームの画像について、１フレームずつ順に特徴点を抽出する。この際、隣接するフレーム間で、前のフレーム（第１フレーム）までに検出した特徴点と、後のフレーム（第２のフレーム）で新たに検出した特徴点とを比較し、パターンマッチングを行うことで、同一の特徴点を検出することができる。
【００３７】
図４では、特徴点を白丸と黒丸とで示している。白丸は、第１フレームの２次元画像には存在するが、第２フレームの２次元画像には存在しない特徴点ＣＰ１を示している。黒丸は、第１フレームの２次元画像及び第２フレームの２次元画像の両方に存在する特徴点ＣＰ２を示している。
【００３８】
図５では、特徴点を黒丸と四角形とで示している。四角形は、第１フレームの２次元画像には存在しないが、第２フレームの２次元画像には存在する特徴点ＣＰ３を示している。
【００３９】
図４の第１フレームと図５の第２フレームとの間で対象物１０の姿勢が変化すると、特徴点ＣＰ２は見えているが、特徴点ＣＰ１は隠れてしまい、特徴点ＣＰ３が新たに現れる。なお、上述したように、特徴点ＣＰ２はパターンマッチングにより特定される。第１フレームで検出された既知の特徴点ＣＰ１及びＣＰ２に、第２フレームで新たに検出された特徴点ＣＰ３を対象物１０に設定した座標系に書き加えることで、特徴点を蓄積することができる。
【００４０】
図６は、対象物１０に設定される座標系を示す図である。第１のタイミングで取得された２次元画像及び距離画像（第１フレーム）において、２つの特徴点Ａ１及びＢ１が存在するものとする。そして、第２のタイミングで取得された２次元画像及び距離画像（第２フレーム）においては、特徴点Ａ２が第１フレームの特徴点Ａ１に対応し、特徴点Ｂ２が第１フレームの特徴点Ｂ１に対応するものとする。
【００４１】
第１フレームの対象物１０に対して第２フレームの対象物１０がある回転軸を中心に角度θだけ回転している場合、回転軸となる直線を対象物１０の座標系のｚ軸（第１の軸とも称する）として設定する。特徴点Ａ１（第１の特徴点とも称する）と特徴点Ａ２（第２の特徴点とも称する）とが属する平面とｚ軸とが交わる点を直交する条件で原点Ｏとして設定する。対象物１０の座標系と距離センサ部２が測定する座標の関係であるが、ｚ軸は特徴点Ａ１，Ａ２、Ｂ１、Ｂ２の測定系の座標で一義的に決定できる。すなわち、特徴点Ａ１、Ａ２から等距離にある点の集合が作る面と、特徴点Ｂ１，Ｂ２から等距離にある点の集合が作る面が重なった部分は直線になるが、その直線がｚ軸になる。したがって、特徴点が２つ、フレームが２つあれば、ｚ軸は決定できる。
【００４２】
本実施の形態では、３次元円筒座標系を用いる。すなわち、原点から特徴点Ａ１へ向かう方向に動径座標を設定し、ｚ軸回りの回転方向に回転座標を設定する。原点Ｏから特徴点Ａ１及びＡ２までの距離をＲとすると、特徴点Ａ１の座標は（Ｒ，０，０）となり、特徴点Ａ２の座標は（Ｒ，θ，０）となる。これに合わせて、第２フレームにおいては、対象物１０に対する座標系もｚ軸に対してθだけ回転させ、対象物１０の動きに追随させる。この結果、特徴点Ａ２は座標（Ｒ、０、０）となり、第１フレームにおける特徴点Ａ１の座標と同じになるから、同じ特徴点に対しては同じ座標を維持できる。第２フレーム以降においても同様に対象物１０に対する座標系は対象物１０の動きに合わせて追随し、各特徴点の座標を維持する。
【００４３】
３次元直交座標系を用いる場合には、原点Ｏと特徴点Ａ１とを通る線ｘ軸（第２の軸とも称する）とする。平面ＰＬにおいてｘ軸と直交する線をｙ軸（第３の軸とも称する）とする。なお、最初の基準となる特徴点は任意である。
【００４４】
上述したように、第２フレームには、第１フレームに存在する既知の特徴点とは異なる新たな特徴点が検出され得る。複数のフレームについて特徴点の検出を行うことで、新たな特徴点が追加され、対象物１０の３次元形状を取得するのに必要な数の特徴点を蓄積することが可能となる。
【００４５】
第１フレームの距離画像には存在するが、第２フレームの距離画像では隠れてしまって検出されなかった既知の特徴点も存在しうる。この場合、既知の特徴点を第２フレーム上の特徴点に換算することで、既知の特徴点の情報と新たに検出された特徴点とを、同一の座標空間上で対応付けて保存することができる。
【００４６】
次いで、実施の形態１にかかる形状測定装置１００の形状測定について説明する。図７は、実施の形態１にかかる形状測定装置１００の動作示すフローチャートである。
【００４７】
ステップＳ１
処理部１５は、ＲＡＭ１６に格納された２次元画像から、１フレーム分の２次元画像を読み込む。ここで、取得された２次元画像をＩＭＧとする。また、処理部１５は、ＲＡＭ１６に格納された距離画像から、画像ＩＭＧに対応する距離画像ＤＩＳを読み込む。ここで、読み込んだ２次元画像の横方向をＸ方向、縦方向をＹ方向と定義する。距離画像は、Ｘ−Ｙ平面に対して垂直なＺ方向の対象物１０までの距離を示すものとする。
【００４８】
ステップＳ２
読み込んだ２次元画像と距離画像とを用いて１フレーム分の特徴点を検出し、ＲＡＭ１６に保存する。
【００４９】
ステップＳ３
形状測定に用いる複数のフレームのうち、読み出されていないフレームが有るかを判定する。読み込まれていないフレームが有る場合、ステップＳ１に戻る。
【００５０】
ステップＳ４
読み込まれていないフレームが無い場合、保存した特徴点に基づいて、３次元モデルを生成する。３次元モデルは、ステップＳ１〜Ｓ３で不要な点を除いた距離画像に同じフレームの２次元画像の情報（画素の輝度、色など）を対応づけることで生成することができる。
【００５１】
次いで、ステップＳ２にかかる特徴点検出について説明する。図８は、実施の形態１にかかる特徴点検出を示すフローチャートである。ステップＳ２では、１フレーム分の２次元画像と距離画像とを用いて、特徴点検出を行う。
【００５２】
ステップＳ２１
対象物１０を保持しているユーザの指などが距離画像に写り込んでいるため、指等についても形状測定装置は特徴点を検出してしまう。そのため、指等の特徴点をデータから除去する必要がある。ステップＳ２１では、これらの不要なデータが削除される。
【００５３】
認識処理部１５Ｆは、距離画像ＤＩＳを参照し、距離画像ＤＩＳが示す距離が所定の値よりも大きな点を距離画像ＤＩＳから削除する。これにより、対象物１０の背景などに起因する雑音データが除外される。また、認識処理部１５Ｆは、距離画像ＤＩＳから対象物１０を保持している部材やユーザの手などのデータを削除する。これは、例えば記憶部１８に予め対象物１０を保持している部材やユーザの手など形状や色の情報を記憶しておき、認識処理部１５Ｆがこの情報を参照することで実現することができる。例えば、ユーザが特定の色の手袋を着用している場合、当該手袋の色の画素を２次元画像ＩＭＧから削除してもよい。
【００５４】
または、持ち方を変えて対象物の同じ面について複数回測定を行う方法もとり得る。これによれば、特徴点を、検出回数が少ない特徴点と検出回数が多い特徴点とに選別することができる。この場合、検出回数が少ない特徴点は対象物１０を保持している指などの保持体であると判断できる。なぜならば、持ち方を変化させると、同じ特徴点が同じ座標に現れる可能性は少ないためである。したがって、持ち方を変化させながら複数回測定を行い、それぞれの特徴点が検出された回数をカウントすることで、不必要な特徴点を削除することができる。
【００５５】
ステップＳ２２
特徴点検出部１５Ｇは、距離画像ＤＩＳを複数の領域ＲＡに分割する。図９に、距離画像ＤＩＳの分割を模式的に示す。図９に示すように、距離画像ＤＩＳは、例えば複数の領域ＲＡに分割される。この例では、距離画像ＤＩＳは、例えば複数の矩形領域に分割される。
【００５６】
ステップＳ２３
特徴点検出部１５Ｇは、分割された領域から、注目領域ＴＡを選択する。
【００５７】
ステップＳ２４
特徴点検出部１５Ｇは、選択された領域に、距離画像の距離情報が対応づけられた点が存在するかを判定する。
【００５８】
ステップＳ２５
特徴点検出部１５Ｇは、選択された領域に距離画像の距離情報が対応づけられた点が存在する場合、選択された領域から特徴点候補を抽出する。以下、ステップＳ２５にかかる特徴点候補の抽出について具体的に説明する。図１０に、ステップＳ２５にかかる特徴点候補の抽出を示すフローチャートである。
【００５９】
ステップＳ２５１
選択された領域に距離画像の距離情報が対応づけられた２点が存在する場合、特徴点検出部１５Ｇは、選択された領域を、隣接する２点の組ｐ１〜ｐｍ（注目領域の場合には第１の組とも称し、周辺領域の場合には第２の組とも称する）を全通り生成する。
【００６０】
ステップＳ２５２
特徴点検出部１５Ｇは、２点の組ｐ１〜ｐｍの各組について、一方の点の距離と他方の点の距離との距離差を計算する。  
【００６１】
ステップＳ２５３
特徴点検出部１５Ｇは、２点の組ｐ１〜ｐｍの距離差の平均値を計算する。
【００６２】
ステップＳ２５４
特徴点検出部１５Ｇは、算出した平均値よりも大きな距離差を有する２点の組を、特徴点候補として、例えばＲＡＭ１６に保存する。
【００６３】
図８に戻り、ステップＳ２６以降について説明する。
ステップＳ２６
特徴点検出部１５Ｇは、注目領域に隣接する周辺領域のうち、未選択の周辺領域が存在するかを判定する。図１１に、注目領域ＴＡと周辺領域ＣＡ１〜ＣＡ８とを模式的に示す。
【００６４】
ステップＳ２７
未選択の周辺領域が存在する場合、特徴点検出部１５Ｇは、未選択の周辺領域から１つの周辺領域を選択し、ステップＳ２４へ戻る。これにより、ステップＳ２５において、選択された周辺領域内の特徴点候補が抽出される。
【００６５】
ステップＳ２８
未選択の周辺領域が存在しない場合、すなわち、全ての周辺領域が選択済みの場合、特徴点検出部１５Ｇは、注目領域ＴＡ及び周辺領域の特徴点候補から、特徴点を検出する。以下、ステップＳ２８にかかる特徴点の検出について具体的に説明する。図１２に、ステップＳ２８にかかる特徴点検出を示すフローチャートである。
【００６６】
ステップＳ２８１
注目領域の特徴点候補に含まれる点のそれぞれと、周辺領域の特徴点候補に含まれる点のそれぞれと、の組み合わせ（第３の組とも称する）を全通り生成する。
【００６７】
ステップＳ２８２
各組み合わせに含まれる２点の距離差を計算する。
【００６８】
ステップＳ２８３
計算した全ての組み合わせの距離差の平均値を計算する。
【００６９】
ステップＳ２８４
算出した平均値よりも大きな距離差を有する組み合わせに含まれる注目矩形領域の特徴点候補を、特徴点として検出する。検出された特徴点は、例えばＲＡＭ１６に保存される。
【００７０】
図８に戻り、ステップＳ２９について説明する。
ステップＳ２９
特徴点検出部１５Ｇは、複数の領域のうちで、注目領域として選択されていない領域が存在するかを判定する。
【００７１】
注目領域ＴＡとして選択されていない領域が存在する場合、ステップＳ２３に戻り、別の注目領域を選択して特徴点の検出が続行される。
【００７２】
注目領域として選択されていない領域が存在しない場合、すなわち、複数の領域の全てが注目領域として選択済みの場合、特徴点検出を終了する。
【００７３】
以上、本構成によれば、対象物上に設定した座標系を用いて、対象物の３次元形状を特定するための特徴点を検出することができる。フレーム間における対象物１０の移動に応じて対象物上に設定した座標系を追随させることができるので、対象物が移動しても、既知の特徴点と新たに検出された特徴点との位置関係を正確に反映させて特徴点を保存することができる。
【００７４】
これにより、対象物がステージや回転テーブルなどに固定されず、ユーザの手によって保持されて比較的複雑な移動をする場合でも、正確に特徴点を検出できる。また、専用のステージや回転テーブルが必要なく、より容易かる効率的に対象物の形状を測定することが可能となる。なお、ここでは各組の２点間の距離差から平均値を計算し比較しているが、予め所定値を決めておき、その所定値と比較するようにしてもよい。
【００７５】
実施の形態２
実施の形態１では、複数のフレームの２次元画像と距離画像とを用いた対象物の形状測定について説明した。しかし、第１フレームと第２フレームとの間での対象物１０の移動が小さい場合、両方のフレームにおいて、ほぼ同じ位置で同じ特徴点を検出してしまい、新たな特徴点が少数しか得られない、又は、新たな特徴点が１つも得られないことがあり得る。この場合、第２フレームについて特徴点検出を行っても、検出処理に要するリソースに対する特徴点の蓄積効果が小さくなってしまう。そのため、本実施の形態では、第１フレームと第２フレームとの間で新たな特徴点検出を効率的に行うことができる程度に対象物１０が移動した場合に、選択的に特徴点検出を行うことが望ましい。
【００７６】
実施の形態２にかかる形状測定装置について説明する。実施の形態２にかかる形状測定装置は、実施の形態１にかかる形状測定装置１００の処理装置５の処理部１５を処理部２５に置換した構成を有する。図１３に、実施の形態２にかかる処理部２５の構成を模式的に示す。処理部２５は、処理部１５に、移動検知部２５Ａを追加した構成を有する。
【００７７】
移動検知部２５Ａは、前のフレーム（第１フレーム）の距離画像と、後のフレーム（第２フレーム）の距離画像との差分を算出し、差分に応じて後のフレーム（第２フレーム）の特徴点検出を行う。
【００７８】
図１４は、実施の形態２にかかる形状測定装置の動作を示すフローチャートである。図１４に示すように、移動検知処理（ステップＳ５）が、ステップＳ１とステップＳ２との間に挿入される。
【００７９】
移動検知処理（ステップＳ５）について説明する。図１５は、移動検知処理（ステップＳ５）を示すフローチャートである。
【００８０】
ステップＳ５１
移動検知部２５Ａは、１つ前に読み込んだフレーム（第１フレーム）が存在するかを判定する。１つ前に読み込んだフレーム（第１フレーム）が存在しない場合、距離画像の比較はできないので、移動検知部２５Ａは移動検知処置を終了し、ステップＳ３へ進む。
【００８１】
ステップＳ５２
移動検知部２５Ａは、１つ前に読み込んだ（第１フレーム）フレームが存在する場合、ＲＡＭ１６から１つ前に読み込んだ（第１フレーム）フレームの距離画像とステップＳ１で読み込んだ後のフレーム（第２フレーム）の距離画像と、を読み込む。
【００８２】
ステップＳ５３
移動検知部２５Ａは、１つ前に読み込んだ（第１フレーム）フレームの距離画像と、ステップＳ１で読み込んだ後のフレーム（第２フレーム）の距離画像と、の差分を算出する。
【００８３】
ステップＳ５４
移動検知部２５Ａは、算出した差分が所定値よりも大きいかを判定する。算出した差分が所定値よりも小さい場合、特徴点検出（ステップＳ２）をスキップし、ステップＳ３に進む。算出した差分が所定値よりも小さい場合、特徴点検出（ステップＳ２）へ進む。なお、算出した差分が所定値と一致する場合、ステップＳ２へ進むものとしてもよいし、ステップＳ３へ進むものとしてもよい。
【００８４】
以上より、対象物に有意な移動がない場合には、特徴点検出をスキップすることができる。これにより、不要な処理を行わずに済み、複数フレームの特徴点検出処理の全体的な処理時間を短くすることができる。
【００８５】
実施の形態３
次いで、実施の形態３にかかる形状測定装置について説明する。実施の形態２及び３では、検出した特徴点の基づいた３次元モデルの生成について説明した。本実施の形態にかかる形状測定装置は、生成した３次元モデルを自動的に複数に部位に分割する機能を有するものとして構成される。
【００８６】
実施の形態３にかかる形状測定装置について説明する。実施の形態３にかかる形状測定装置は、実施の形態１にかかる形状測定装置１００の処理装置５の処理部１５を処理部３５に置換した構成を有する。図１６に、実施の形態３にかかる処理部３５の構成を模式的に示す。処理部３５は、処理部１５に、分割処理部３５Ａを追加した構成を有する。
【００８７】
分割処理部３５Ａは、ステップＳ４で生成された３次元モデルを分割する処理を行う。分割処理部３５Ａは、モデル分割部３５Ｂとモデル再構築部３５Ｃとを有する。モデル分割部３５Ｂは、３次元モデルの断面を参照し、断面が所定値よりも小さくなる位置で３次元モデルを分割する。モデル再構築部３５Ｃは、モデル分割部３５Ｂにより分割された部位の集合として、３次元モデルを再構築する。
【００８８】
図１７は、実施の形態３にかかる形状測定装置の動作を示すフローチャートである。図１７に示すように、モデル分割（ステップＳ６）とモデル再構築（ステップＳ７）とが、３次元モデル生成（ステップＳ４）の後に追加される。ステップＳ１〜Ｓ４については、実施の形態１と同様であるので説明を省略する。
【００８９】
ステップＳ６
上述したように、モデル分割部３５Ｂは、３次元モデルの断面を参照し、断面が所定値よりも小さくなる位置で３次元モデルを分割する。以下、ステップＳ６について説明する。図１８は、ステップＳ６での処理を示すフローチャートである。
【００９０】
ステップＳ６１
モデル分割部３５Ｂは、ＲＡＭ１６から、３次元モデルを読み込む。
【００９１】
ステップＳ６２
モデル分割部３５Ｂは、読み込んだ３次元モデルを、仮想的な３次元直交座標系に展開する。
【００９２】
ステップＳ６３
モデル分割部３５Ｂは、３次元モデルをＸ軸に垂直な面で分割する処理を行う。以下、ステップＳ６３について説明する。図１９は、ステップＳ６３での処理を示すフローチャートである。
【００９３】
ステップＳ６３１
Ｘ軸に所定のピッチだけ離隔した３次元モデルの複数の断面を複数取得する。例えば、Ｘ座標が最小の断面からＸ座標が最大の断面へ向けて、複数の断面を所得する。取得した断面の数をＮ（Ｎは、３以上の整数）である場合、１番目〜Ｎ番目の断面ＣＳ１〜ＣＳＮが取得される。
【００９４】
ステップＳ６３２
取得した複数の断面から隣接する２つの断面の組を順に選択する。ここでは、断面ＣＳｉと断面ＣＳ（ｉ＋１）とを選択する。ここで、ｉは、３以上Ｎ以下の整数である。なお、ｉの初期値は１である。
【００９５】
ステップＳ６３３
断面ＣＳｉと断面ＣＳ（ｉ＋１）との間での３次元モデルの断面積の差ΔＣＳを計算する。
【００９６】
ステップＳ６３４
算出した３次元モデルの断面積の差ΔＣＳが所定値ＴＨよりも大きいか（ΔＣＳ＞ＴＨ
）を判定する。断面積の差ΔＣＳが所定値ＴＨよりも小さければ、ステップＳ６３６へ進む。
【００９７】
ステップＳ６３５
算出した３次元モデルの断面積の差ΔＣＳが所定値ＴＨよりも大きい場合、断面積が小さい方の断面にて３次元モデルを分割する。
【００９８】
ステップＳ６３６
取得した複数の断面のうちで未選択の断面が有るかを判定する。具体的には、ｉ＝Ｎであるか否かを判定する。未選択の断面の組がない場合（ｉ＝Ｎ）、３次元モデルの分割を終了する。
【００９９】
ステップＳ６３７
未選択の断面の組が有る場合（ｉ＜Ｎ）、選択する断面を変更する必要がある。ここでは、ｉを１だけインクリメントして、ステップＳ６３２へ戻る。
【０１００】
ステップＳ６４
モデル分割部３５Ｂは、３次元モデルをＹ軸に垂直な面で分解する処理を行う。以下、ステップＳ６４について説明する。図２０は、ステップＳ６４での処理を示すフローチャートである。
【０１０１】
ステップＳ６４１〜Ｓ６４８は、Ｘ軸がＹ軸に変わったことを除き、図１９のステップＳ６３１〜６３８と同様であるので。詳細な説明を省略する。
【０１０２】
ステップＳ６５
モデル分割部３５Ｂは、３次元モデルをＺ軸に垂直な面で分解する処理を行う。以下、ステップＳ６５について説明する。図２１は、ステップＳ６５での処理を示すフローチャートである。
【０１０３】
ステップＳ６５１〜Ｓ６５８は、Ｘ軸がＺ軸に変わったことを除き、図１９のステップＳ６３１〜６３８と同様であるので。詳細な説明を省略する。
【０１０４】
以上の処理により、各軸に対して垂直な断面の面積が大きく変化する位置、すなわちくびれる位置で、３次元モデルを分割することができる。
【０１０５】
図１７に戻り、ステップＳ７について説明する。
ステップＳ７
モデル再構築部３５Ｃは、ステップＳ６で分割された３次元モデルを連結し、分割された部位の集合体として３次元モデルを再構築する。
【０１０６】
以上、本実施の形態にかかる形状測定装置によれば、ステップＳ６４〜Ｓ６６で設定する所定値に応じて、３次元モデルを複数の部位に自動的に分割することができる。なお、ステップＳ６４〜Ｓ６６で用いる所定値は同じであってもよいし、異なっていてもよい。
【０１０７】
ここで、３次元モデルの分割の例について説明する。図２２に、分割前の３次元モデルの一例を示す。図２３に、分割後の３次元モデルの例を示す。図２２の分割前の人型玩具の３次元モデル３０１は、本実施の形態にかかるモデル分割により、図２３に示すように、頭部３０２、右腕部３０３、左腕部３０４、胴体部３０５及び脚部３０６に分割されている、なお、図２３では、３次元モデルが分割されていることを明らかにするため、頭部３０２、右腕部３０３、左腕部３０４、胴体部３０５及び脚部３０６をそれぞれ離隔させて表示している。
【０１０８】
３次元モデルを分割することで、分割された各部位を独立して取り扱うことができるため、特定の部位の変更や置換を容易に行うことが可能となる。図２４に、図２２の３次元モデルの頭部を置換した例を示す。この例では、３次元モデル３０１の頭部３０２は、別の頭部３０７に置換されることで、３次元モデル３０８となっている。このように、頭部などの一部の部位を置換して、分割されたモデルを再構築することで、３次元モデルの設計を容易に変更することが可能となる。したがって、モデルの設計作業を効率的に行うことができる。
【０１０９】
なお、モデル分割（ステップＳ６）は、１回だけでなく、複数回繰り返して行ってもよい。例えば、１回目のモデル分割された各部位に、ステップＳ６３４、Ｓ６４４及びＳ６５４で用いる所定値ＴＨを１回目のモデル分割よりも小さな値を設定して再度モデル分割してもよい。これにより、各部位を更に小さな複数の部位に分割することができる。」
【０１１０】
分割対象の３次元モデルは、実施の形態１又は２で生成された３次元モデルだけでなく、任意の３次元モデルであってもよい。
【０１１１】
その他の実施の形態
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、図１７の形状測定装置の動作において、図１４のステップＳ５にかかる移動検知処理を挿入してもよい。
【０１１２】
上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、例えば処理装置に含まれる処理部の制御を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。
【０１１３】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【０１１４】
１  撮像部
２  距離画像センサ部
３  操作部
４  表示部
５〜７  処理装置
１０  対象物
１１  画像Ｉ／Ｆ
１２  制御Ｉ／Ｆ
１３  表示Ｉ／Ｆ
１４  通信Ｉ／Ｆ
１５、２５、３５  処理部
１５Ａ  制御部
１５Ｂ  表示処理部
１５Ｃ  ＵＩ部
１５Ｄ  通信部
１５Ｅ  画像取得部
１５Ｆ  認識処理部
１５Ｇ  特徴点検出部
１６  ＲＡＭ
１７  ＲＯＭ
１８  記憶部
１９  バス
２５Ａ  移動検知部
３５Ａ  分割処理部
３５Ｂ  モデル分割部
３５Ｃ  モデル再構築部
１００  形状測定装置
３０１、３０８  ３次元モデル
３０２、３０７  頭部
３０３  右腕部
３０４  左腕部
３０５  胴体部
３０６  脚部
１０００  ネットワーク
Ｆ１  親指
Ｆ２  人差し指
Ａ１、Ａ２、Ｂ１、Ｂ２、ＣＰ１〜ＣＰ３  特徴点
ＩＭＧ  ２次元画像
【図１】
2019168251.tif 000003
【図２】
2019168251.tif 000004
【図３】
2019168251.tif 000005
【図４】
2019168251.tif 000006
【図５】
2019168251.tif 000007
【図６】
2019168251.tif 000008
【図７】
2019168251.tif 000009
【図８】
2019168251.tif 000010
【図９】
2019168251.tif 000011
【図１０】
2019168251.tif 000012
【図１１】
2019168251.tif 000013
【図１２】
2019168251.tif 000014
【図１３】
2019168251.tif 000015
【図１４】
2019168251.tif 000016
【図１５】
2019168251.tif 000017
【図１６】
2019168251.tif 000018
【図１７】
2019168251.tif 000019
【図１８】
2019168251.tif 000020
【図１９】
2019168251.tif 000021
【図２０】
2019168251.tif 000022
【図２１】
2019168251.tif 000023
【図２２】
2019168251.tif 000024
【図２３】
2019168251.tif 000025
【図２４】
2019168251.tif 000026