説明

3次元物体認識装置、並びに3次元物体認識プログラム及びこれが記録されたコンピュータ読み取り可能な記録媒体

【課題】 2次元画像における輪郭などの特徴から3次元物体を認識する3次元物体認識装置において、隠れの影響を排除してロバスト性を向上させるとともに、位置及び姿勢を最適化して認識精度を高める手段を提供する。
【解決手段】 本発明に係る3次元物体認識装置は、3次元物体を撮影するカメラと、3次元物体の位置及び姿勢を変化させながらカメラ画像に投影し、各投影点の座標及びエッジの向きを算出する手段と、それに基づいて作成したルックアップテーブルを記憶する手段と、ピラミッド画像を作成する手段と、解像度が最も低いピラミッド画像についてエッジを抽出する手段と、方向付きディスタンスマップを作成する手段と、方向付きディスタンスマップ上に各投影点をマッピングする手段と、位置及び姿勢を評価する手段と、位置及び姿勢を最適化する手段と、を備えるものである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、形状が既知の3次元物体を、カメラ等で撮影した2次元画像における輪郭などの特徴から認識する3次元物体認識装置、並びに3次元物体認識プログラム及びこれが記録されたコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【0002】
生産ラインにおいてロボットアームによる部品等の正確な操作を可能とするため、山積みにされた部品等を個々に認識し、各部品の位置及び姿勢を認識する3次元物体認識装置が近年開発されている。この3次元物体認識装置は、まず3次元物体を所定方向からカメラで撮影した画像から3次元物体のエッジすなわち輪郭などの特徴を抽出し、撮影画像を構成する各ピクセルについて最も近いエッジまでの距離をそれぞれ計算する。次に、3次元物体認識装置は、3次元物体を種々の位置及び姿勢に置いた状態で撮影画像に投影し、エッジを構成する各点の座標をそれぞれ算出する。そして、3次元物体認識装置は、両者を比較した誤差に基づいてその位置及び姿勢を評価し、最も評価の高い位置及び姿勢をその3次元物体の位置及び姿勢として認識する。
【0003】
しかし、3次元物体の位置及び姿勢を変化させる度に、撮影画像を構成する各ピクセルについて最も近いエッジまでの距離を計算したのでは、高性能な処理装置が必要となりコストが高くなる。従って、この問題を解消すべく、ディスタンスマップを予め作成することが提案されている(例えば特許文献1参照)。このディスタンスマップは、撮影画像を構成する各ピクセルに、最も近いエッジまでの距離を画素値としてそれぞれ持たせたものであり、このディスタンスマップを参照することにより、最も近いエッジまでの距離を一々計算する手間を省くことができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−025291号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、従来の3次元物体認識装置は、認識対象物の隠れの影響によってロバスト性が悪いという問題があった。すなわち、部品等が山積みされた状態では、カメラ方向から見ると、認識対象である3次元物体の一部が他の物体によって隠された状態となる場合がある。そして、あるピクセルから最も近いエッジが隠れた状態となった場合、最も近いエッジまでの距離が誤って計算されるため、3次元物体の位置及び姿勢を正しく評価することができず、誤認識が発生する。
【0006】
また、本発明に係る3次元認識システムは、予め定めた複数の位置及び姿勢を評価して最適なものを選択するに留まるため、3次元物体の本来の位置及び姿勢と比較して誤差が生じる場合があり、認識精度が悪いという問題もある。
【0007】
本発明は、このような問題に鑑みてなされたものであり、2次元画像における輪郭などの特徴から3次元物体を認識する3次元物体認識装置において、隠れの影響を排除してロバスト性を向上させるとともに、位置及び姿勢を最適化して認識精度を高める手段を提供する。
【課題を解決するための手段】
【0008】
上記目的を達成するための本発明の請求項1に係る3次元物体認識装置は、認識対象である3次元物体を所定方向から撮影して画像を取得するカメラと、前記3次元物体の位置及び姿勢を変化させながら、前記3次元物体のエッジを構成するサンプリング点のうち前記カメラから視認可能なサンプリング点をカメラ画像にそれぞれ投影し、各投影点の座標及び各投影点におけるエッジの向きをそれぞれ算出する投影点座標算出手段と、前記3次元物体の位置及び姿勢と、前記各投影点の座標及び各投影点におけるエッジの向きとを対応付けて格納したルックアップテーブルを記憶するルックアップテーブル記憶手段と、前記カメラが取得した原画像に基づいて、該原画像の解像度を異なる比率で低下させた複数枚のピラミッド画像を作成するピラミッド画像作成手段と、解像度が最も低い前記ピラミッド画像について前記3次元物体のエッジを抽出するエッジ抽出手段と、解像度が最も低い前記ピラミッド画像を構成する各ピクセルに、抽出したエッジのうち最も近いエッジまでの距離と、前記最も近いエッジの向きとを画素値として持たせてなる方向付きディスタンスマップを作成する方向付きディスタンスマップ作成手段と、前記方向付きディスタンスマップ上に、前記ルックアップテーブルに格納された前記各投影点をそれぞれマッピングする投影点マッピング手段と、前記各投影点におけるエッジの向きと、前記方向付きディスタンスマップにおいて前記各投影点に対応するピクセルが持つ最も近いエッジの向きとをそれぞれ比較し、両者が略一致する投影点群について対応するピクセル群が持つ最も近いエッジまでの距離の自乗和を算出し、その算出結果に基づいて前記3次元物体の位置及び姿勢を評価する位置姿勢評価手段と、該位置姿勢評価手段によって前記3次元物体の実際の位置及び姿勢に近いと評価された位置及び姿勢を、前記自乗和が最小となるように最適化する位置姿勢最適化手段と、を備えるものである。
【0009】
また、請求項2に係る3次元物体認識装置は、前記エッジ抽出手段が、サブピクセル精度で前記3次元物体のエッジを抽出し、前記位置姿勢評価手段が、前記最も近いエッジまでの距離として、前記ピクセル群から前記サブピクセル精度のエッジへ降ろした垂線の長さを用いるものである。
【0010】
また、請求項3に係る3次元物体認識装置は、コンピュータを、認識対象である3次元物体の位置及び姿勢を変化させながら、前記3次元物体のエッジを構成するサンプリング点のうちカメラから視認可能なサンプリング点をカメラ画像にそれぞれ投影し、各投影点の座標及び各投影点におけるエッジの向きをそれぞれ算出する投影点座標算出手段と、前記3次元物体の位置及び姿勢と、前記各投影点の座標及び各投影点におけるエッジの向きとを対応付けて格納したルックアップテーブルを記憶するルックアップテーブル記憶手段と、前記カメラが取得した原画像に基づいて、該原画像の解像度を異なる比率で低下させた複数枚のピラミッド画像を作成するピラミッド画像作成手段と、解像度が最も低い前記ピラミッド画像について前記3次元物体のエッジを抽出するエッジ抽出手段と、解像度が最も低い前記ピラミッド画像を構成する各ピクセルに、抽出したエッジのうち最も近いエッジまでの距離と、前記最も近いエッジの向きとを画素値として持たせてなる方向付きディスタンスマップを作成する方向付きディスタンスマップ作成手段と、前記方向付きディスタンスマップ上に、前記ルックアップテーブルに格納された前記各投影点をそれぞれマッピングする投影点マッピング手段と、前記各投影点におけるエッジの向きと、前記方向付きディスタンスマップにおいて前記各投影点に対応するピクセルが持つ最も近いエッジの向きとをそれぞれ比較し、両者が略一致する投影点群について対応するピクセル群が持つ最も近いエッジまでの距離の自乗和を算出し、その算出結果に基づいて前記3次元物体の位置及び姿勢を評価する位置姿勢評価手段と、該位置姿勢評価手段によって前記3次元物体の実際の位置及び姿勢に近いと評価された位置及び姿勢を、前記自乗和が最小となるように最適化する位置姿勢最適化手段として機能させるものである。
【0011】
また、請求項4に係る3次元物体認識プログラムが記録されたコンピュータ読み取り可能な記録媒体は、請求項3に記載の3次元物体認識プログラムが記録されたものである。
【発明の効果】
【0012】
本発明の請求項1に係る3次元物体認識装置によれば、位置姿勢評価手段が、方向付けディスタンスマップとエッジの向きが略一致する投影点だけについて自乗和を算出する。従って、カメラの方向から見て3次元物体の一部が他の物体によって隠された状態であって、最も近いエッジまでの距離が誤って計算されたピクセルに関しては、エッジの向きが一致せず、自乗和を算出する対象から除外される。これにより、いわゆる隠れの影響を低減して、ロバスト性を向上させることができる。また、解像度が最も低いピラミッド画像を用いてルックアップテーブルに格納された位置及び姿勢を評価するので、処理速度を高速化することができる。また、位置姿勢最適化手段が、実際の位置及び姿勢に近いと評価された位置及び姿勢を更に最適化するので、位置及び姿勢の認識精度を向上させることができる。
【0013】
また、請求項2に係る3次元物体認識装置によれば、ピラミッド画像についてのエッジ抽出をサブピクセル精度で行うので、位置及び姿勢の認識精度を向上させることができる。
【0014】
また、請求項3に係る3次元物体認識プログラムによれば、請求項1に係る3次元物体認識装置と同様の効果が得られる。
【0015】
また、請求項4に係る3次元物体認識プログラムが記録されたコンピュータ読み取り可能な記録媒体によれば、請求項1に係る3次元物体認識装置と同様の効果が得られる。
【図面の簡単な説明】
【0016】
【図1】本発明の実施例に係る3次元物体認識装置1の構成を示す模式図。
【図2】3次元物体認識プログラム8による処理の流れを示すフローチャート。
【図3】ピラミッド画像15を説明するための説明図。
【図4】エッジ抽出を説明するための説明図であって、原画像16の一部をピクセルレベルまで拡大した状態を示す図。
【図5】ルックアップテーブルの作成方法を説明するための説明図。
【発明を実施するための形態】
【0017】
図1は、本実施例に係る3次元物体認識装置1の構成を示す模式図である。3次元物体認識装置1は、作業台2の上に置かれた認識対象としての3次元物体3と、この3次元物体3を異なる方向から撮影する2台のカメラ4と、3次元物体3を把持するためのロボットアーム5と、各カメラ4から入力された撮影画像に基づいてロボットアーム5の動作を制御するコンピュータ6とを備えるものである。
【0018】
コンピュータ6は、図1に示すように、カメラ4が撮影した画像データ等を記憶する画像メモリ7と、3次元物体認識プログラム8を格納するハードディスク9と、該ハードディスク9から読み出された3次元物体認識プログラム8を一時記憶するRAM(Randaom Access Memory)10と、この3次元物体認識プログラム8に従って3次元物体3の位置及び姿勢を算出するCPU(Central Processing Unit)11と、画像メモリ7に記憶された画像データやCPU11による算出結果を表示するための表示部12と、マウスやキーボード等で構成される操作部13と、これら各部を互いに接続するシステムバス14とを有している。尚、本実施例では3次元物体認識プログラム8をハードディスク9に格納しているが、これに代えて、コンピュータ読み取り可能な記録媒体(不図示)に格納しておき、この記録媒体から読み出すことも可能である。
【0019】
以下、3次元物体認識プログラム8による処理手順について説明する。図2は、3次元物体認識プログラム8による処理の流れを示すフローチャートである。まず、CPU11は、3次元物体3を撮影した原画像がカメラ4から入力されると、この原画像に基づいて複数枚のピラミッド画像を作成し(S1)、図1に示す画像メモリ7に記憶する。図3は、ピラミッド画像15を説明するための説明図である。ピラミッド画像15は、原画像16の解像度を所定の比率で低下させたものである。例えば、CPU11は、縦横両方向にそれぞれn個ずつのピクセルが並んだ原画像16が入力された場合、縦横両方向にそれぞれn/2個のピクセルが並んだ第1ピラミッド画像15A、縦横両方向にそれぞれn/4個のピクセルが並んだ第2ピラミッド画像15B、縦横両方向にそれぞれn/8個のピクセルが並んだ第3ピラミッド画像15Cを作成する。尚、本実施例では3段階のピラミッド画像15を作成したが、この段階数は入力画像の大きさに応じて適宜変更することができる。
【0020】
次に、CPU11は、図2に示すように、解像度が最も低い第3ピラミッド画像15Cについて3次元物体3のエッジを抽出する(S2)。ここで、このエッジ抽出としては、ピクセル精度でのエッジ抽出を行う。図4は、エッジ抽出を説明するための説明図であって、原画像16の一部をピクセルレベルまで拡大した状態を示している。ピクセル精度でのエッジ抽出によれば、図において黒く塗り潰されたエッジ構成ピクセル17の集合体としてエッジが抽出される(以下、このエッジを「ピクセルエッジ18」と呼ぶ)。尚、本実施例では処理速度を優先させるべくピクセル精度でのエッジ抽出を行ったが、高い認識精度が要求される場合には、サブピクセル精度でのエッジ抽出を行ってもよい。サブピクセル精度でのエッジ抽出によれば、図4に直線で示すように、隣接ピクセル間隔D以下の精度でエッジが抽出される(以下、このエッジを「サブピクセルエッジ19」と呼ぶ)。
【0021】
次に、CPU11は、図2に示すように、方向付きディスタンスマップを作成し(S3)、図1に示すRAM8に記憶する。方向付きディスタンスマップとは、図に詳細は示さないが、エッジ抽出を行った第3ピラミッド画像15Cを構成する各ピクセルに、そのピクセルから最も近いピクセルエッジ18までの距離と、最も近いピクセルエッジ18の向きとを画素値として持たせたものである。
【0022】
次に、CPU11は、方向付きディスタンスマップ上に、予め記憶したルックアップテーブルに格納された投影点をそれぞれマッピングする(S4)。このルックアップテーブルとは、3次元物体3の形状やカメラ4の位置等に応じ、CPU11が事前に作成してRAM10等に記憶したものである。その作成方法は、図5に示すように、3次元物体3の各エッジ20の上にサンプリング点21を設定し、各サンプリング点21がカメラ4から視認可能であるか否かを判定する。そして、カメラ4から視認可能と判断したサンプリング点21だけをカメラ画像22に投影し、投影点23の座標及び投影点23におけるエッジ24の向きを算出する。この作業を、カメラ4の位置等から考えて可能性のある全範囲に渡って、3次元物体3の位置(3自由度)及び姿勢(3自由度)を十分に細かく変化させながら、繰り返し行う。そして、3次元物体3の位置及び姿勢に対応付けて、投影点23の座標と投影点23におけるエッジ20の向きとを格納することにより、ルックアップテーブルを作成する。CPU11は、このルックアップテーブルに格納された各投影点23を、その座標に基づいて方向付きディスタンスマップ上に順次配置する。尚、方向付きディスタンスマップでは、最も近いピクセルエッジ18までの距離は画素毎にしか格納されていないため、投影点23のマッピングに際し、投影点23の座標値が小数部分を有する場合には、いわゆるバイリニア補間を用いることによって投影点23の配置位置を決定すればよい。
【0023】
次に、CPU11は、マッピングされた各投影点23におけるエッジ24の向きと、方向付けディスタンスマップ上でその投影点23に対応するピクセルが画素値として持つ最も近いピクセルエッジ18の向きとを比較する。そして、両者が一致する投影点群について、CPU11は、その投影点群に対応するピクセル群が持つ最も近いピクセルエッジ18までの距離の自乗和を算出し、その算出結果に基づいて、3次元物体3の位置及び姿勢を評価する(S5)。すなわち、投影点23からなるエッジ24と、ピラミッド画像15Aにおけるピクセルエッジ18とを比較した時の誤差の大きさに基づいて、ルックアップテーブルに従って決定した位置及び姿勢が、3次元物体3の実際の位置及び姿勢からどの程度近いかを評価する。
【0024】
ここで、前記自乗和の算出に際しては、最も近いエッジまでの距離として、図4に示す対象ピクセル25からピクセルエッジ18までの距離Laを用いる。このピクセルエッジ18までの距離Laとは、図で黒く塗り潰されたエッジ構成ピクセル17までの最短距離を意味している。尚、前述のようにピラミッド画像15についてのエッジ抽出をサブピクセル精度で行った場合には、最も近いエッジまでの距離として、図4に示す対象ピクセル25からサブピクセルエッジ19までの距離Lbを用いてもよい。このサブピクセルエッジ19までの距離Lbとは、対象ピクセル25からサブピクセルエッジ19へと降ろした垂線26の長さを意味している。また、要求される処理速度と認識精度の兼ね合いによっては、最も近いエッジまでの距離として距離Laと距離Lbを混在させて用いてもよい。例えば、距離Lbが隣接ピクセル間距離Dに満たない場合には距離Lbを用い、距離Lbが隣接ピクセル間距離D以上である場合には距離Laを用いるようにしてもよい。
【0025】
そして、評価の結果、ルックアップテーブルに従って決定した位置及び姿勢が、3次元物体3の実際の位置及び姿勢に近いと判断した場合、CPU11は、前記自乗和が最小となるように、当該位置及び姿勢を最適化する(S6)。ここで、この最適化には、従来公知のレーベンバーグ・マーカート法を用いる。このように、方向付けディスタンスマップとエッジの向きが略一致する投影点23だけについて前記自乗和を算出するので、カメラ4の方向から見て3次元物体3の一部が他の物体によって隠された状態であって、最も近いエッジまでの距離が誤って計算されたピクセルに関しては、エッジの向きが一致せず、前記自乗和を算出する対象から除外される。これにより、いわゆる隠れの影響を低減して、ロバスト性を向上させることができる。また、自乗和が最小となるように位置及び姿勢を最適化することにより、位置及び姿勢の認識精度を向上させることができる。尚、位置及び姿勢の最適化の手法としては、レーベンバーグ・マーカート法に限られず、従来公知の他の非線形最適化手法を用いてもよい。
【0026】
その後、CPU11は、S6で最適化した位置及び精度が必要な精度を満たしているか否かを判定し(S7)、必要な精度を満たしていると判断した場合は(S7:Yes)、第1ピラミッド画像15Aについて得られた位置及び姿勢を最終結果として出力し(S8)、処理を終了する。一方、S7での判定の結果、必要な精度を満たしていないと判断した場合は(S7:No)、未処理のピラミッド画像15があるか否かを判定し(S9)、未処理のピラミッド画像15はないと判断した場合は(S9:No)、第1ピラミッド画像15Aの結果を最終結果として出力し(S8)、処理を終了する。一方、未処理のピラミッド画像15があると判断した場合は(S9:Yes)、S2へ戻って残りのピラミッド画像15例えば第2ピラミッド画像15Bについて同様の処理を行う。そして、未処理のピラミッド画像15が無くなるまでこれを繰り返す。このように、必要な精度に達するまで、より解像度の高いピラミッド画像15について処理を行うことにより、3次元物体3の位置及び姿勢をより高い精度で認識することができる。もちろん、高速な処理速度が要求される場合には、所定段階のピラミッド画像15で処理が終了するよう予め定めておいてもよいし、また所定段階のピラミッド画像15だけについて処理を行うように予め定めておいてもよい。
【産業上の利用可能性】
【0027】
本発明に係る3次元物体認識装置は、ロボットアーム以外の他の機器の動作制御に用いることも可能である。
【符号の説明】
【0028】
1 3次元物体認識装置
3 3次元物体
4 カメラ
8 3次元物体認識プログラム
15 ピラミッド画像
15C 第3ピラミッド画像
16 原画像
18 ピクセルエッジ
19 サブピクセルエッジ
21 サンプリング点
22 カメラ画像
23 投影点

【特許請求の範囲】
【請求項1】
認識対象である3次元物体を所定方向から撮影して画像を取得するカメラと、
前記3次元物体の位置及び姿勢を変化させながら、前記3次元物体のエッジを構成するサンプリング点のうち前記カメラから視認可能なサンプリング点をカメラ画像にそれぞれ投影し、各投影点の座標及び各投影点におけるエッジの向きをそれぞれ算出する投影点座標算出手段と、
前記3次元物体の位置及び姿勢と、前記各投影点の座標及び各投影点におけるエッジの向きとを対応付けて格納したルックアップテーブルを記憶するルックアップテーブル記憶手段と、
前記カメラが取得した原画像に基づいて、該原画像の解像度を異なる比率で低下させた複数枚のピラミッド画像を作成するピラミッド画像作成手段と、
解像度が最も低い前記ピラミッド画像について前記3次元物体のエッジを抽出するエッジ抽出手段と、
解像度が最も低い前記ピラミッド画像を構成する各ピクセルに、抽出したエッジのうち最も近いエッジまでの距離と、前記最も近いエッジの向きとを画素値として持たせてなる方向付きディスタンスマップを作成する方向付きディスタンスマップ作成手段と、
前記方向付きディスタンスマップ上に、前記ルックアップテーブルに格納された前記各投影点をそれぞれマッピングする投影点マッピング手段と、
前記各投影点におけるエッジの向きと、前記方向付きディスタンスマップにおいて前記各投影点に対応するピクセルが持つ最も近いエッジの向きとをそれぞれ比較し、両者が略一致する投影点群について対応するピクセル群が持つ最も近いエッジまでの距離の自乗和を算出し、その算出結果に基づいて前記3次元物体の位置及び姿勢を評価する位置姿勢評価手段と、
該位置姿勢評価手段によって前記3次元物体の実際の位置及び姿勢に近いと評価された位置及び姿勢を、前記自乗和が最小となるように最適化する位置姿勢最適化手段と、
を備えることを特徴とする3次元物体認識装置。
【請求項2】
前記エッジ抽出手段が、サブピクセル精度で前記3次元物体のエッジを抽出し、
前記位置姿勢評価手段が、前記最も近いエッジまでの距離として、前記ピクセル群から前記サブピクセル精度のエッジへ降ろした垂線の長さを用いることを特徴とする請求項1に記載の3次元物体認識装置。
【請求項3】
コンピュータを、
認識対象である3次元物体の位置及び姿勢を変化させながら、前記3次元物体のエッジを構成するサンプリング点のうちカメラから視認可能なサンプリング点をカメラ画像にそれぞれ投影し、各投影点の座標及び各投影点におけるエッジの向きをそれぞれ算出する投影点座標算出手段と、
前記3次元物体の位置及び姿勢と、前記各投影点の座標及び各投影点におけるエッジの向きとを対応付けて格納したルックアップテーブルを記憶するルックアップテーブル記憶手段と、
前記カメラが取得した原画像に基づいて、該原画像の解像度を異なる比率で低下させた複数枚のピラミッド画像を作成するピラミッド画像作成手段と、
解像度が最も低い前記ピラミッド画像について前記3次元物体のエッジを抽出するエッジ抽出手段と、
解像度が最も低い前記ピラミッド画像を構成する各ピクセルに、抽出したエッジのうち最も近いエッジまでの距離と、前記最も近いエッジの向きとを画素値として持たせてなる方向付きディスタンスマップを作成する方向付きディスタンスマップ作成手段と、
前記方向付きディスタンスマップ上に、前記ルックアップテーブルに格納された前記各投影点をそれぞれマッピングする投影点マッピング手段と、
前記各投影点におけるエッジの向きと、前記方向付きディスタンスマップにおいて前記各投影点に対応するピクセルが持つ最も近いエッジの向きとをそれぞれ比較し、両者が略一致する投影点群について対応するピクセル群が持つ最も近いエッジまでの距離の自乗和を算出し、その算出結果に基づいて前記3次元物体の位置及び姿勢を評価する位置姿勢評価手段と、
該位置姿勢評価手段によって前記3次元物体の実際の位置及び姿勢に近いと評価された位置及び姿勢を、前記自乗和が最小となるように最適化する位置姿勢最適化手段
として機能させるための3次元物体認識プログラム。
【請求項4】
請求項3に記載の3次元物体認識プログラムが記録されたコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−205095(P2010−205095A)
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願番号】特願2009−51500(P2009−51500)
【出願日】平成21年3月5日(2009.3.5)
【出願人】(301021658)株式会社三次元メディア (15)
【Fターム(参考)】