JP2016206909A - 情報処理装置、情報処理方法 - Google Patents

情報処理装置、情報処理方法 Download PDF

Info

Publication number
JP2016206909A
JP2016206909A JP2015087074A JP2015087074A JP2016206909A JP 2016206909 A JP2016206909 A JP 2016206909A JP 2015087074 A JP2015087074 A JP 2015087074A JP 2015087074 A JP2015087074 A JP 2015087074A JP 2016206909 A JP2016206909 A JP 2016206909A
Authority
JP
Japan
Prior art keywords
image
information processing
voting
partial
size
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.)
Pending
Application number
JP2015087074A
Other languages
English (en)
Inventor
裕人 吉井
Hiroto Yoshii
裕人 吉井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015087074A priority Critical patent/JP2016206909A/ja
Publication of JP2016206909A publication Critical patent/JP2016206909A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】 見える大きさが著しく異なる姿勢があるような物体に対しても安定的に認識を正しく実行するための技術を提供すること。【解決手段】 物体が写っている画像から部分画像をサンプリングし、該サンプリングした部分画像に基づいて物体認識用のデータを作成する情報処理装置であって、画像において物体が占める領域のサイズを求め、該サイズに応じて画像からサンプリングする部分画像の数を制御する。【選択図】 図1

Description

本発明は、画像からの物体認識技術に関するものである。
従来より、部分パターンを用いて物体認識を実現する情報処理方法が存在する。例えば、特許文献1のように、認識対象物体を構成する部分パターンを予め登録しておき、入力画像中に存在する部分パターンと登録された部分パターンとをマッチングして投票することで認識対象物体を認識する方法が存在する。特許文献1に記載の通り、この技術を生産ラインで用いられるワークに適用すると、対象ワークの認識・検出が実現できるようになる。例えば、バラバラに山積みされたワークの中からピッキングすべきワークを検出する際にこの技術を用いることができる。また、例えばベルトコンベア上に流れるワークに対してその位置と姿勢を認識する際にこの技術を用いることができる。
特開2008‐152555号公報
しかしながら、従来技術においては以下の課題が存在した。例えば、認識対象物体が平たい板状の物体であった場合、その姿勢によってその認識対象物体の見える大きさが著しく異なってくる。この際に、特許文献1にあるように同じ数の部分パターンを登録する情報処理方法だと、相対的に小さく見える姿勢に帰属する部分パターンの単位面積当たり登録数が相対的に大きくなっていた。その結果、相対的に小さく見える姿勢に帰属する部分パターンの投票が集中し、過度に、また、間違ってそのような姿勢を検出してしまうという課題が存在した。
本発明はこのような問題に鑑みてなされたものであり、見える大きさが著しく異なる姿勢があるような物体に対しても安定的に認識を正しく実行するための技術を提供する。
本発明の一様態は、物体が写っている画像から部分画像をサンプリングし、該サンプリングした部分画像に基づいて物体認識用のデータを作成する情報処理装置であって、前記画像において前記物体が占める領域のサイズを求める手段と、前記サイズに応じて前記画像からサンプリングする前記部分画像の数を制御する制御手段とを備えることを特徴とする。
本発明の構成により、見える大きさが著しく異なる姿勢があるような物体に対しても安定的に認識を正しく実行することができる。
情報処理装置が行う処理のフローチャート。 情報処理装置のハードウェア構成例を示すブロック図。 学習画像の一例を示す図。 ステップS108及びステップS109の処理を説明する図。 投票面の一例を示す図。 投票処理結果を説明する図。 投票処理結果を説明する図。 投票処理結果を説明する図。 情報処理装置が行う処理のフローチャート。 情報処理装置が行う処理のフローチャート。 情報処理装置が行う処理のフローチャート。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。
[第1の実施形態]
本実施形態では、物体が写っている画像から部分画像をサンプリングし、該サンプリングした部分画像に基づいて物体認識用のデータを作成する情報処理装置であって、画像において物体が占める領域のサイズを求め、該サイズに応じて画像からサンプリングする部分画像の数を制御する情報処理装置の一例について説明する。
先ず、本実施形態に係る情報処理装置のハードウェア構成例について、図2のブロック図を用いて説明する。
CPU201は、ROM202やRAM203に格納されているコンピュータプログラムやデータを用いて処理を実行することで、情報処理装置全体の動作制御を行うと共に、情報処理装置が行うものとして後述する各処理を実行若しくは制御する。
ROM202には、ブートプログラムや設定データなどが格納されている。
RAM203は、ROM202や2次記憶装置204からロードされたコンピュータプログラムやデータ、I/Oデバイス209から入力されたデータ、等を格納するためのエリアを有する。更に、RAM203は、CPU201が各種の処理を実行する際に用いるワークエリアを有する。このように、RAM203は、各種のエリアを適宜提供することができる。
2次記憶装置204は、ハードディスクドライブ装置などの大容量情報記憶装置である。2次記憶装置204には、OS(オペレーティングシステム)211や、情報処理装置が行うものとして後述する各処理をCPU201に実行させるためのコンピュータプログラムやデータが保存されている。このコンピュータプログラムには、モジュール213やアプリケーション212などが含まれる。また、このデータには、データ214が含まれている。また、2次記憶装置204には、以下の説明において既知の情報として取り扱う情報も保存されている。2次記憶装置204に保存されているコンピュータプログラムやデータは、CPU201による制御に従って適宜RAM203にロードされ、CPU201による処理対象となる。
ディスプレイ206は、CRTや液晶画面等により構成されており、CPU201による処理結果を画像や文字などでもって表示することができる装置である。なお、ディスプレイ206の代わりに、プロジェクタなど、CPU201による処理結果を画像や文字として投影する装置を用いても構わない。
キーボード207やマウス208は、情報処理装置の操作者が操作することで各種の指示をCPU201に対して入力することができる、ユーザインターフェースとして機能する装置である。
I/Oデバイス209は、情報処理装置に対して様々な情報を入力する機器、様々な情報を情報処理装置から外部の装置に対して出力する機器、を含むものである。本実施形態では、I/Oデバイス209は、少なくとも、物体を含む画像を取得可能な機器を含んでいる。このような機器には、例えば、各画素の画素値が輝度値を表す2次元撮像画像を撮像する撮像装置や、各画素の画素値が該機器の距離計測範囲内の各位置までの3次元距離を表す距離画像を撮像する機器(例えば、TOFセンサ装置等の3次元入力装置)が適用可能である。
また例えば、I/Oデバイス209に、2台のステレオカメラを適用しても良く、その場合、該2台のステレオカメラのそれぞれは物体を含む撮像画像を撮像し、CPU201は該2台のステレオカメラのそれぞれによる撮像画像を用いて三角測量技術を適用することで、該撮像画像に写っている空間の各位置までの3次元距離を求めることができ、これにより、距離画像を生成することができる。
また例えば、I/Oデバイス209に1台のパターン光投影装置(プロジェクタ)と1台以上の撮像装置とを適用しても良く、その場合、パターン光投影装置は、投影パターン(例えば、空間符号化画像や位相シフト法に用いられる空間的三角関数画像)を物体に投影し、撮像装置は該投影パターンが投影された物体の画像を撮像し、CPU201は該画像を用いて周知の技術を適用することで、物体までの距離の計測を行うことができ、これにより、距離画像を生成することができる。また、同様の目的のために、パターン光投影装置でランダムドットパターンを物体に投影し、該物体を2台の撮像装置で撮影する方法もある。また、同様の目的のために、レーザースリット光を用いた光切断法を用いても良い。
また、I/Oデバイス209は、情報処理装置が後述する各処理により求めた様々な情報(例えば物体の属性や位置)を、該物体を把持するためのロボット等の外部の機器に対して送出する機器をも含む。
CPU201、ROM202、RAM203、2次記憶装置204、ディスプレイ206、キーボード207、マウス208、I/Oデバイス209、は何れも、バス205に接続されている。
なお、本実施形態に係る情報処理装置は、一般のPC(パーソナルコンピュータ)であっても良いし、組み込みデバイス、デジタルカメラ、タブレット端末などの機器であっても良い。
次に、このような情報処理装置において行われる、物体を学習する学習処理(ステップS101〜S105)と、物体を認識する認識処理(ステップS106〜S111)と、について、図1のフローチャートに従って説明する。
<ステップS101>
CPU201は、学習対象となる物体が写っている画像を学習画像として取得する。本実施形態では、複数の物体のそれぞれについて、該物体を様々な姿勢(方向)から撮像(測定)した画像を学習画像として取得する。以下では、「姿勢Pから撮像(測定)した物体」を「姿勢Pの物体」と呼称する場合がある。学習画像の一例を図3に示す。
図3(a)には、同じ物体(物体1と称する)をそれぞれ異なる姿勢(姿勢1,姿勢2)から撮像した撮像画像(学習画像)を示しており、図3(a)の左側には、姿勢1から撮像した物体1(姿勢1の物体1)の撮像画像、図3(a)の右側には、姿勢2から撮像した物体1(姿勢2の物体1)の撮像画像を示している。
図3(b)には、同じ物体(物体2と称する)をそれぞれ異なる姿勢(姿勢3,姿勢4)から撮像した撮像画像(学習画像)を示しており、図3(b)の左側には、姿勢3から撮像した物体2(姿勢3の物体2)の撮像画像、図3(b)の右側には、姿勢4から撮像した物体2(姿勢4の物体2)の撮像画像を示している。
図3(c)には、物体2をそれぞれ異なる姿勢(姿勢3,姿勢4)から撮像した撮像画像(学習画像)を示しており、図3(c)の左側には、姿勢3から撮像した物体2の撮像画像、図3(c)の右側には、姿勢4から撮像した物体2の撮像画像を示している。
なお、本実施形態では、物体毎に、該物体を様々な姿勢から見た画像を学習画像として取得するが、N個の異なる物体をある方向から撮像したN枚の画像を学習画像としてもよいし、複数種類の物体を複数の異なる方向から撮像した画像を学習画像としてもよい。
なお、このような学習画像は、I/Oデバイス209などを用いて予め取得して2次記憶装置204に保存しておき、ステップS101で、2次記憶装置204からRAM203にロードする(取得する)ものとする。しかし、学習画像の取得元は2次記憶装置204に限るものではなく、外部装置から取得しても構わないし、I/Oデバイス209によって逐次的に撮像した画像を学習画像として取得するようにしても構わない。
<ステップS102>
CPU201は、ステップS101で取得したそれぞれの学習画像について、該学習画像中に写っている物体の領域のサイズを求める。例えば、CPU201がそれぞれの学習画像をディスプレイ206に表示し、ユーザがキーボード207やマウス208を操作して該表示されている学習画像において物体の領域を指定すると、CPU201が該指定された領域のサイズを求める。もちろん、学習画像における物体の領域を指定する方法は他にも考えられる。また、領域のサイズとは、領域が矩形である場合には、縦横サイズ(画素数)であっても良いし、領域が矩形以外の形状を有するのであれば、該領域に含まれている画素の数であっても良い。そしてCPU201は、それぞれの学習画像について求めた物体の領域のサイズを登録した投影面積リスト112を作成する。
なお、図1で述べている“画像”という用語は、いわゆるカメラで取得した2次元の輝度画像に限定されるものではない。例えば、3次元計測データを元に作成した距離画像でもよい。また、2次元の輝度画像とそれに対応する距離画像の組を画像として扱ってもよい。また、例えば、全く異なるモダリティとして、サーモセンサで取得した温度分布の情報を画像として扱うことも可能である。但し、どのような種類の画像であっても、物体が画像に占める領域は、ステップS102の処理のためにも特定されている必要がある。
<ステップS103>
CPU201は、ステップS101で取得したそれぞれの学習画像について、投影面積リスト112に該学習画像について登録した領域サイズに応じて、該学習画像からサンプリングする部分画像の数を決定する。学習画像からサンプリングする部分画像は、例えば、図3(a)、(b)に示す如く、学習画像に占める物体の領域サイズに関係なく3個(図3(a)の左側の学習画像からサンプリングする部分画像は部分画像301〜303の3個、図3(a)の右側の学習画像からサンプリングする部分画像は部分画像304〜306の3個、図3(b)の左側の学習画像からサンプリングする部分画像は部分画像307〜309の3個、図3(b)の右側の学習画像からサンプリングする部分画像は部分画像310〜312の3個)、とする方法もあるが、本実施形態では、図3(c)に示す如く、物体の領域サイズがより大きい学習画像については、サンプリングする部分画像の数をより多くし、物体の領域サイズがより小さい学習画像については、サンプリングする部分画像の数をより少なくする。
図3(c)(図3(b))に示した物体2は板状の物体であり、その観察する方向によっては見える面積が大きく異なる。図3(c)(図3(b))の場合、姿勢3の物体2が学習画像に占める領域のサイズは、姿勢4の物体2が学習画像に占める領域のサイズよりも大きい(約5倍)。然るに図3(c)では、図3(c)の左側の学習画像からサンプリングする部分画像の数(=5)を、図3(c)の右側の学習画像からサンプリングする部分画像の数(=1)の5倍としている。
なお、「物体の領域サイズがより大きい学習画像については、サンプリングする部分画像の数をより多くし、物体の領域サイズがより小さい学習画像については、サンプリングする部分画像の数をより少なくする」、という条件に基づいて、それぞれの学習画像に対する部分画像のサンプリング数を決定するのであれば、その決定方法は特定の決定方法に限るものではない。例えば、一番単純なアルゴリズムは、1枚の学習画像からサンプリングする平均サンプリング数をユーザがキーボード207やマウス208を操作して入力しておき、上記領域サイズに比例して該平均サンプリング数を増減させることで各学習画像におけるサンプリング数を決定するアルゴリズムである。
また、上記の条件は、換言すれば、「部分画像のサンプリング数が、各学習画像における物体の領域サイズの単調増加関数である」ということになる。然るに、例えば、上記の領域サイズの2乗に比例してサンプリング数を決定するアルゴリズムを用いてもよいし、領域サイズの閾値を予め設定しておき、領域サイズが閾値より小さい場合と大きい場合とで、比例定数が異なるような傾きが不連続になるような関数を用いても良い。
また、部分画像のサンプリング位置については特定の位置に限るものではなく、学習画像からランダムに部分画像をサンプリングしても良いし、格子状に規則的な位置から部分画像をサンプリングしても良い。
そしてCPU201は、それぞれの学習画像について決定した部分画像の数を登録したサンプリング数リスト113を作成する。
<ステップS104>
CPU201は、ステップS101で取得したそれぞれの学習画像から、サンプリング数リスト113において該学習画像について登録されているサンプリング数に応じた部分画像をサンプリングし、該サンプリングした部分画像の特徴量と、該学習画像における基準位置からの該部分画像の相対位置と、を関連づけて学習部分画像セット114に登録する。
部分画像の特徴量とは、該部分画像から直接的に取得した情報であっても良いし、該部分画像から取得した情報に基づいて新たに算出した情報であっても良い。例えば、部分画像の特徴量は、該部分画像に含まれるそれぞれの画素の画素値(輝度値)であっても良いし、該部分画像におけるSIFT等、高度な特徴抽出アルゴリズムを適用した結果としての特徴量であっても良い。
また、学習画像における基準位置とは、該学習画像における物体の領域内の何れかの位置であり、物体の領域の中心位置や重心位置であってもよいし、物体の領域の枠部における何れかの位置であっても良い。
<ステップS105>
CPU201は、学習部分画像セット114を用いて学習処理を行うことで、それぞれの学習画像に含まれている物体を認識するための辞書115を作成する。辞書115には、学習の結果だけでなく、学習部分画像セット114と同様に、部分画像の特徴量と、学習画像における基準位置からの該部分画像の相対位置と、が関連づけて登録される。なお、辞書115の別の実装形態としては、辞書115が、学習部分画像セット114に含まれている各要素へのポインタを保持するようにしても構わない。
なお、ステップS105における学習処理で用いる学習アルゴリズムとしては特許第5538967号公報で開示されているような分類木を用いた学習アルゴリズムが望ましいが、サポートベクターマシーン、ブースティング、ニューラルネット(ディープラーニング)等の機械学習アルゴリズムであれば、どの学習アルゴリズムを採用しても構わない。
<ステップS106>
CPU201は、認識対象物体が写っている画像を、入力画像として取得する。入力画像の取得方法は、学習画像と同様、如何なる取得方法を採用しても構わないが、学習画像と同様の形式の画像である必要がある。すなわち、学習画像が、各画素の画素値が輝度値を表す2次元撮像画像であれば、入力画像も同様の2次元撮像画像である必要があるし、学習画像が距離画像であれば、入力画像も距離画像である必要がある。
<ステップS107>
CPU201は、入力画像上に規定サイズ(上記の部分画像と同サイズであることが好ましい)のウィンドウを設定し、該設定したウィンドウ内の画像を認識用部分画像(部分画像116)として抽出する。以降、ウィンドウを入力画像の左上隅の位置から右下隅の位置までラスタスキャン順に移動させながら該ウィンドウ内の画像を認識用部分画像として抽出する。もちろん、入力画像上でウィンドウを移動させる順序はラスタスキャン順に限るものではない。
<ステップS108>
CPU201は、辞書115と、ステップS107で抽出した認識用部分画像と、を用いて認識処理を行い、該認識用部分画像に写っているものが、ステップS101〜S105で学習した物体のうち何れの物体であるのかを認識する。より具体的には、CPU201は、ステップS107で抽出した認識用部分画像から特徴量を抽出し、辞書115に登録されている特徴量群のうち、該抽出した特徴量と一致若しくは最も類似する特徴量を特定する。これにより、ステップS107で抽出した認識用部分画像に写っているものが、該特定した特徴量の抽出元となる学習画像に写っている物体であると認識することができる。
<ステップS109>
CPU201は、ステップS108における認識処理の結果に基づいて投票処理を行う。
ステップS108及びステップS109の処理について、図4を用いて説明する。ステップS106において入力画像401を取得したとする。この入力画像401には、姿勢1の物体1(物体404)と姿勢2の物体1(物体405)とが写っている。
ここで、ステップS107におけるウィンドウ設定処理を繰り返して行うことで入力画像401上をラスタスキャン順で移動するウィンドウがウィンドウ412に到達したとする。このとき、ウィンドウ412内の認識用部分画像は、図3の部分画像301と同じである(すなわち、ウィンドウ412内の認識用部分画像の特徴量と部分画像301の特徴量とは一致する若しくは最も類似する)ため、ステップS108における認識処理では、ウィンドウ412内の認識用部分画像は、図3(a)の左側の物体1であると認識する。このとき、CPU201は、図3(a)の左側の物体1用の投票面に対する投票処理を行う。
投票面とは、入力画像と同じ解像度を有する配列であり、初期状態では配列の全ての要素は0に初期化されている。然るに、ウィンドウ412内の認識用部分画像の特徴量と部分画像301の特徴量とが一致する若しくは最も類似する場合、入力画像401上のウィンドウ412の位置Pに対応する「図3(a)の左側の物体1用の投票面402」上の位置Qを特定し、該特定した位置Qに、「部分画像301の特徴量と関連づけて辞書115に登録されている相対位置」を加えた位置410(すなわち姿勢1の物体1の基準位置に対応する投票面402上の位置)における要素の要素値(投票値)をインクリメントする(投票する)。
また、ステップS107におけるウィンドウ設定処理を繰り返して行うことで入力画像401上をラスタスキャン順で移動するウィンドウがウィンドウ413に到達したとする。このとき、ウィンドウ413内の認識用部分画像は、図3の部分画像304と同じである(すなわち、ウィンドウ413内の認識用部分画像の特徴量と部分画像304の特徴量とは一致する若しくは最も類似する)ため、ステップS108における認識処理では、ウィンドウ413内の認識用部分画像は、図3(a)の右側の物体1であると認識する。このとき、CPU201は、図3(a)の右側の物体1用の投票面に対する投票処理を行う。すなわち、入力画像401上のウィンドウ413の位置Pに対応する「図3(a)の右側の物体1用の投票面403」上の位置Qを特定し、該特定した位置Qに、「部分画像304の特徴量と関連づけて辞書115に登録されている相対位置」を加えた位置411(すなわち姿勢2の物体1の基準位置に対応する投票面403上の位置)における要素の要素値(投票値)をインクリメントする(投票する)。
図4では、投票面402及び投票面403と、入力画像401中の物体404,405と、の関係を分かりやすくするために、投票面402上に物体404,405のそれぞれに対応する領域406,407、投票面403上に物体404,405のそれぞれに対応する領域408,409、を記している。
<ステップS110>
CPU201は、ウィンドウを入力画像の全域にわたって移動させたのか否かを判断する。例えば、ウィンドウを入力画像の左上隅の位置から右下隅の位置までラスタスキャン順に移動させる場合、ウィンドウの現在位置が入力画像の右下隅の位置であるか否かを判断する。この判断の結果、ウィンドウを入力画像の全域にわたって移動させた(上記の例では、ウィンドウの現在位置が入力画像の右下隅の位置である)場合には、処理はステップS111に進み、未だウィンドウを入力画像の全域にわたって移動させていない(上記の例では、ウィンドウの現在位置が未だ入力画像の右下隅の位置に達していない)場合には、処理はステップS107に戻り、ウィンドウを移動させてから該ウィンドウ内の画像を認識用部分画像として抽出する。
<ステップS111>
CPU201は、それぞれの投票面について、該投票面における各要素値のうち最大の要素値の位置Rを特定する。投票面の解像度を入力画像の解像度と同じにした場合、例えば、投票面402における各要素値のうち最大の要素値の位置Rを特定すると、「入力画像における位置Rには姿勢1の物体1が位置している」と特定することができ、入力画像上の物体の識別結果とその位置の両方を識別することができる。
図1のフローチャートに従った処理が完了した結果得られる投票面402、403の一例を、それぞれ図5(a)、(b)に示す。図5では、投票面402,403は何れも5×8の要素を有するものであるとしており、投票面402,403は、入力画像よりも小さい解像度の配列となっている。また、各要素に記されている数値は投票値を表しており、数値が記されていない要素の投票値は0である。なお、投票値は、実際は実数(浮動小数点変数)であって、もっと大きな値となるが、説明を簡単にするために整数で便宜的な表現をしている。
投票面の解像度を入力画像の解像度と同一とすると、非0を要素値として有する要素が存在する場所がスパースになるので、通常、ある程度の面積のある領域をまとめて投票ビンとして扱う。投票ビンの量子化が粗い場合、投票値は大きくなりロバストになるが、認識対象物体の検出位置精度が悪くなる。一方、投票ビンの量子化が細かい場合、検出位置を特定するための解像度は高くなるが、投票値が小さくなり、認識用部分画像の認識誤差に由来するノイズの影響を受けやすくなる。投票ビンの具体的な量子化サイズは認識対象物体の大きさと求められる検出位置精度を勘案して決定することになる。図4の説明で“投票”という文言で説明した処理は、実際はこの投票面のそれぞれ対応するビンの値(プログラムデータ構造としては2次元配列、もしくは行列の値)に加算することに相当する。
然るに、例えば、投票面402が5×8の要素から成る場合、「投票面402において位置410に対応する要素の投票値をインクリメントする」とは、入力画像を5×8のサブ領域に分割した場合に、位置410がどのサブ領域に属しているのかを特定し、該特定したサブ領域と位置的に対応する投票面402の要素の要素値をインクリメントする、ことになる。これは投票面403についても同様である。
図5の例では、投票面402では、要素501の要素値が最大の投票値となっているため、投票面402における要素501の位置が、投票面402における姿勢1の物体1の位置、であることになる。また、投票面403では、要素502の要素値が最大の投票値となっているため、投票面403における要素502の位置が、投票面403における姿勢2の物体1の位置、であることになる。
なお、図5では、投票面402に対する投票の結果、物体404の領域内だけではなく物体405の領域内にも投票が行われており、同様に、投票面403に対する投票の結果、物体405の領域内だけではなく物体404の領域内にも投票が行われているが、これは、部分的にみると、物体404と物体405とに似ている構造が存在するためである。
ここで、物体2に対して図3(b)に示したように、学習画像における物体2の領域サイズに関係なく、部分画像のサンプリング数を固定数(=3)とした場合における投票処理の結果について、図6,7を例にとり説明する。
ステップS106において図6の入力画像601を取得したとする。この入力画像601には、姿勢3の物体2(物体604)と姿勢4の物体2(物体605)とが写っている。
ステップS107におけるウィンドウ設定処理を繰り返して行うことで入力画像601上をラスタスキャン順で移動するウィンドウがウィンドウ612に到達したとする。このとき、正しくは、ウィンドウ612内の認識用部分画像は、図3の部分画像308と同じである(すなわち、ウィンドウ612内の認識用部分画像の特徴量と部分画像308の特徴量とは一致する若しくは最も類似する)のであるが、部分画像309の特徴量とも類似していることから、図6に示す如く、部分画像309の特徴量と一致する若しくは最も類似すると誤認しており、その結果、入力画像601上のウィンドウ612の位置Pに対応する「姿勢3の物体2用の投票面602」上の位置Qに「部分画像309の特徴量と関連づけて辞書115に登録されている相対位置」を加えた位置610に対応する要素の要素値(投票値)がインクリメントされている。
これに対し、ステップS107におけるウィンドウ設定処理を繰り返して行うことで入力画像601上をラスタスキャン順で移動するウィンドウがウィンドウ613に到達した場合には、入力画像601上のウィンドウ613の位置Pに対応する「姿勢4の物体2用の投票面603」上の位置Qに「部分画像310の特徴量と関連づけて辞書115に登録されている相対位置」を加えた位置611に対応する要素の要素値(投票値)がインクリメントされており、正しく投票がなされている。
そして、投票処理が完了した結果得られる投票面602,603の一例を、それぞれ図7(a)、(b)に示す。図5と同様、投票面602,603は何れも5×8の要素を有するものであるとしており、入力画像よりも小さい解像度の配列となっている。また、各要素に記されている数値は投票値を表しており、数値が記されていない要素の投票値は0である。
投票面602における投票値は、投票面603と比べて分散している。これは、認識用部分画像に写っているものがステップS101〜S105で学習した物体のうち何れの物体であるのかの認識精度が、姿勢3の物体2の方が姿勢4の物体2よりも悪いためである。一般に、平たい部分をより多く含む認識用部分画像の認識精度は低いことになる。
そして、図7(a)、(b)のそれぞれの投票面602,603を用いて姿勢3の物体2の位置、姿勢4の物体2の位置を確定する場合、図7(a)においては姿勢3の物体2の位置は要素701の位置、図7(b)においては姿勢4の物体2の位置は要素703の位置、となる。ここで、図7(b)の要素703の投票値が大きいことは、図6における物体605の位置から見ても正しいが、要素702の投票値が大きいことは、図6における物体605の位置から見ても間違っており、誤検出となっている。そして、要素702の要素値は要素701の要素値よりも大きい。もし、近隣位置で複数姿勢検出結果を制限するアルゴリズムをステップS111で採用すると、要素702の要素値が要素701の要素値を抑制してしまい、姿勢4の物体2の位置として要素702の位置と要素703の位置が検出されてしまう。
次に、物体2に対して図3(c)に示したように、学習画像における物体2の領域サイズに応じて部分画像のサンプリング数を制御した場合における投票処理の結果を図8に示す。図8(a)、(b)はそれぞれ、ステップS106において図6の入力画像601を取得して図1のフローチャートに従った処理を行ったことで得られる、姿勢3の物体2用の投票面、姿勢4の物体2用の投票面、の一例を示す。図5と同様、投票面は何れも5×8の要素を有するものであるとしており、入力画像よりも小さい解像度の配列となっている。また、各要素に記されている数値は投票値を表しており、数値が記されていない要素の投票値は0である。
上記の通り、図3(c)の左側の学習画像からサンプリングする部分画像の数(=5)を、図3(c)の右側の学習画像からサンプリングする部分画像の数(=1)の5倍としているため、図8からも明らかなように、図8(a)の投票面における投票値は図7(a)の投票面における投票値と比べても相対的に大きくなっており、図8(b)の投票面における投票値は図7(b)の投票面における投票値と比べても相対的に小さくなっている。その結果、要素801の要素値は要素802の要素値よりも大きな値となっている
ここで、図8(a)、(b)のそれぞれの投票面において極大値をとる投票値の要素は要素801,802,803となっているが、図7とは違い、要素801の投票値の方が、要素802の投票値よりも大きくなっている。この場合、図7で説明したのと同様に、近隣位置での複数姿勢検出の抑制をしたとすると、要素801の投票値が要素802の投票値を凌駕して、最終的な結果として、姿勢3の物体2の位置として要素801の位置、姿勢4の物体2の位置として要素803の位置、が検出されることになる。
このように、本実施形態によれば、学習画像における物体の領域サイズに応じて部分画像のサンプリング数を制御することによって、情報量の多い、すなわち領域サイズの大きい物体には多くの投票がされるようになる。一方、情報量の少ない、すなわち領域サイズの小さい物体には少ない投票がされるようになり、たとえ領域サイズの小さい物体を構成する部分画像の峻別性が高くても誤検出が発生しにくくなる。
なお、本実施形態では、投票は要素単位で行っていたが、それに限るものではなく、上記のようにして投票先の要素が決まった場合には、該要素を中心とする周囲の要素にも投票するようにしても構わない。その場合、該中心となる要素からの距離が離れている周囲要素ほどインクリメント量を小さくする。例えば2次元ガウス分布で投票点をぼかして投票してもよい。
[第2の実施形態]
第1の実施形態では、学習画像における物体の領域サイズに応じて部分画像のサンプリング数を制御した。これに対し、本実施形態では、部分画像のサンプリング数は全ての学習画像で同じとするが、投票は、学習画像における物体の領域サイズに応じた確率で行うものとする。以下では、第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。
すなわち、本実施形態では、物体が写っている画像から部分画像をサンプリングし、該サンプリングした部分画像に基づいて物体認識用のデータを作成する情報処理装置であって、画像において物体が占める領域のサイズを求め、該データを用いた認識処理において画像に対して行う投票の確率を、該サイズに応じて制御する情報処理装置の一例について説明する。
本実施形態では、情報処理装置は、図9のフローチャートに従った処理を行う。図9において、図1に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
<ステップS903>
CPU201は、ステップS101で取得したそれぞれの学習画像について、投影面積リスト112に該学習画像について登録した領域サイズに応じて投票確率を決定する。すなわち、物体の領域サイズがより大きい学習画像については投票確率をより高くし、物体の領域サイズがより小さい学習画像については投票確率をより小さくする。領域サイズと投票確率との関係がこのような関係を維持しているのであれば、領域サイズに応じて投票確率を決定する方法は特定の方法に限らない。そしてCPU201は、それぞれの学習画像について決定した投票確率を登録した投票確率リスト913を作成する。
そしてステップS904では、部分画像のサンプリング数がそれぞれの学習画像について同じであること以外は、ステップS904,S905ではそれぞれ上記のステップS104,S105と同様の処理を行う。
<ステップS909>
CPU201は、基本的には上記のステップS109における投票処理と同様の処理を行うのであるが、その際、必ず投票する(要素値をインクリメントする)のではなく、投票確率に応じた確率でもって投票する。
例えば、ステップS107におけるウィンドウ設定処理を繰り返して行うことで入力画像401上をラスタスキャン順で移動するウィンドウがウィンドウ412に到達したとすると、上記の通り、図3(a)の左側の物体1用の投票面に対する投票を行うのであるが、このとき、この投票は必ず行われるのではなく、図3(a)の左側の物体1の学習画像について投票確率リスト913に登録されている投票確率でもって投票を行う。例えば、ある学習画像に対応する投票確率が0.8の場合、該学習画像用の投票面には、10回に8回の割合でもって投票が行われるようにする。この結果、図8で示した投票面のような投票結果が得られ、領域サイズの著しく異なる学習画像を用いてもロバストな物体検出が実現できる。
[第3の実施形態]
第1,2の実施形態では、学習画像における部分画像に基づいて学習処理を行って辞書を作成するのであるが、本実施形態では、このような学習処理は行わずに、サンプリングした部分画像を準備するだけである。以下では、第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。
本実施形態では、情報処理装置は、図10のフローチャートに従った処理を行う。なお、図10において、図1に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
<ステップS1001>
CPU201は、複数の物体のそれぞれについて、該物体を様々な姿勢(方向)から撮像(測定)した画像を登録画像として取得する。すなわち、ステップS1001では、上記のステップS101で取得していた学習画像と同じものを登録画像として取得する。
<ステップS1002>
CPU201は、ステップS1001で取得したそれぞれの登録画像について、該登録画像中に写っている物体の領域のサイズを求める。本ステップにおける処理は、対象とする画像が学習画像ではなく登録画像(何れも名称が異なるだけで同じ画像)であるだけで、実質的な処理は上記のステップS102と同じである。そしてCPU201は、投影面積リスト112と同様の投影面積リスト1011を作成する。
<ステップS1003>
CPU201は、ステップS1001で取得したそれぞれの登録画像について、投影面積リスト1011に該登録画像について登録した領域サイズに応じて、該登録画像からサンプリングする部分画像の数を決定する。本ステップにおける処理は、対象とする画像が学習画像ではなく登録画像(何れも名称が異なるだけで同じ画像)であるだけで、実質的な処理は上記のステップS103と同じである。そしてCPU201は、サンプリング数リスト113と同様のサンプリング数リスト1012を作成する。
<ステップS1004>
CPU201は、ステップS1001で取得したそれぞれの登録画像から、サンプリング数リスト1012において該登録画像について登録されているサンプリング数に応じた部分画像をサンプリングし、該サンプリングした部分画像と、該登録画像における基準位置からの該部分画像の相対位置と、を関連づけて登録部分画像セット1013に登録する。
<ステップS1007>
CPU201は、ステップS107で抽出した認識用部分画像と、登録部分画像セット1013に登録されているそれぞれの部分画像と、のマッチングを行うことで、登録部分画像セット1013に登録されているそれぞれの部分画像のうち、該認識用部分画像と一致若しくは最も類似する部分画像を特定する。これにより、ステップS107で抽出した認識用部分画像に写っているものが、該特定した部分画像のサンプリング元となる登録画像に写っている物体であると認識することができる。
<ステップS1008>
CPU201は、ステップS1007における認識処理の結果に基づいて投票処理を行う。この投票処理は、基本的には上記のステップS109と同様の処理である。
また、ステップS1009,S1010ではそれぞれ上記のステップS110,S111と同様の処理を行う。以上の処理の結果、図8で示した投票面のような投票結果が得られ、領域サイズの著しく異なる登録画像を用いてもロバストな物体検出が実現できる。
[第4の実施形態]
本実施形態では、第3の実施形態をベースにしており、その上で、第2の実施形態のように、サンプリング数リストは作成せずに投票確率リストを作成する。以下では、第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第1に実施形態と同様であるものとする。本実施形態では、情報処理装置は、図11のフローチャートに従った処理を行う。図11において、図1に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
<ステップS1103>
CPU201は、ステップS1001で取得したそれぞれの登録画像について、投影面積リスト1011に該登録画像について登録した領域サイズに応じて投票確率を決定する。すなわち、物体の領域サイズがより大きい登録画像については投票確率をより高くし、物体の領域サイズがより小さい登録画像については投票確率をより小さくする。そしてCPU201は、それぞれの登録画像について決定した投票確率を登録した投票確率リスト1112を作成する。
このように、本実施形態によれば、図8で示した投票面のような投票結果が得られ、領域サイズの著しく異なる登録画像を用いてもロバストな物体検出が実現できる。なお、以上説明した各実施形態はその一部若しくは全部を適宜組み合わせて使用しても構わない。
また、上記の各実施形態では、1つの装置内で物体認識用のデータの作成処理と、物体認識処理と、の両方を行うようにしたが、それぞれの処理を別個の装置で行うようにしても構わない。
また、上記の各実施形態では、学習画像ごとに投票面を設けたが、全ての学習画像について共通の投票面を用いるようにしても構わない。その際、投票面における各要素には、様々な学習画像に対する投票値を管理する。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101:CPU

Claims (10)

  1. 物体が写っている画像から部分画像をサンプリングし、該サンプリングした部分画像に基づいて物体認識用のデータを作成する情報処理装置であって、
    前記画像において前記物体が占める領域のサイズを求める手段と、
    前記サイズに応じて前記画像からサンプリングする前記部分画像の数を制御する制御手段と
    を備えることを特徴とする情報処理装置。
  2. 前記制御手段は、
    前記サイズが大きいほど前記画像からサンプリングする前記部分画像の数を増加させることを特徴とする請求項1に記載の情報処理装置。
  3. 更に、
    前記制御手段によって制御された数に応じてサンプリングされた部分画像を学習して、前記物体を認識するために使用する辞書を前記物体認識用のデータとして作成する手段を備えることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 物体が写っている画像から部分画像をサンプリングし、該サンプリングした部分画像に基づいて物体認識用のデータを作成する情報処理装置であって、
    前記画像において前記物体が占める領域のサイズを求める手段と、
    前記データを用いた認識処理において前記画像に対して行う投票の確率を、前記サイズに応じて制御する制御手段と
    を備えることを特徴とする情報処理装置。
  5. 前記制御手段は、
    前記サイズが大きいほど前記確率を増加させることを特徴とする請求項4に記載の情報処理装置。
  6. 更に、
    前記サンプリングされた部分画像を学習して、前記物体を認識するために使用する辞書を前記物体認識用のデータとして作成する手段を備えることを特徴とする請求項4又は5に記載の情報処理装置。
  7. 更に、
    入力画像におけるそれぞれの領域内の画像と前記物体認識用のデータとを用いて該入力画像に含まれている物体を認識する認識手段を備えることを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。
  8. 物体が写っている画像から部分画像をサンプリングし、該サンプリングした部分画像に基づいて物体認識用のデータを作成する情報処理装置が行う情報処理方法であって、
    前記情報処理装置のサイズを求める手段が、前記画像において前記物体が占める領域のサイズを求める工程と、
    前記情報処理装置の制御手段が、前記サイズに応じて前記画像からサンプリングする前記部分画像の数を制御する制御工程と
    を備えることを特徴とする情報処理方法。
  9. 物体が写っている画像から部分画像をサンプリングし、該サンプリングした部分画像に基づいて物体認識用のデータを作成する情報処理装置が行う情報処理方法であって、
    前記情報処理装置のサイズを求める手段が、前記画像において前記物体が占める領域のサイズを求める工程と、
    前記情報処理装置の制御手段が、前記データを用いた認識処理において前記画像に対して行う投票の確率を、前記サイズに応じて制御する制御工程と
    を備えることを特徴とする情報処理方法。
  10. コンピュータを、請求項1乃至7の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
JP2015087074A 2015-04-21 2015-04-21 情報処理装置、情報処理方法 Pending JP2016206909A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015087074A JP2016206909A (ja) 2015-04-21 2015-04-21 情報処理装置、情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015087074A JP2016206909A (ja) 2015-04-21 2015-04-21 情報処理装置、情報処理方法

Publications (1)

Publication Number Publication Date
JP2016206909A true JP2016206909A (ja) 2016-12-08

Family

ID=57487715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015087074A Pending JP2016206909A (ja) 2015-04-21 2015-04-21 情報処理装置、情報処理方法

Country Status (1)

Country Link
JP (1) JP2016206909A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102064781B1 (ko) * 2017-01-26 2020-01-10 (주)로보케어 부분 샘플링 기반의 데이터 저장 시스템 및 방법
JP2020009435A (ja) * 2018-07-03 2020-01-16 株式会社神戸製鋼所 鋼材成分学習装置、鋼材成分推定装置、鋼種判定装置、鋼材成分学習方法、鋼材成分推定方法、鋼種判定方法、及びプログラム
WO2021014527A1 (ja) * 2019-07-22 2021-01-28 日本電気株式会社 照合位置出力システム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102064781B1 (ko) * 2017-01-26 2020-01-10 (주)로보케어 부분 샘플링 기반의 데이터 저장 시스템 및 방법
JP2020009435A (ja) * 2018-07-03 2020-01-16 株式会社神戸製鋼所 鋼材成分学習装置、鋼材成分推定装置、鋼種判定装置、鋼材成分学習方法、鋼材成分推定方法、鋼種判定方法、及びプログラム
JP7372017B2 (ja) 2018-07-03 2023-10-31 株式会社神戸製鋼所 鋼材成分学習装置、鋼材成分推定装置、鋼種判定装置、鋼材成分学習方法、鋼材成分推定方法、鋼種判定方法、及びプログラム
WO2021014527A1 (ja) * 2019-07-22 2021-01-28 日本電気株式会社 照合位置出力システム
JPWO2021014527A1 (ja) * 2019-07-22 2021-01-28
JP7176638B2 (ja) 2019-07-22 2022-11-22 日本電気株式会社 照合位置出力システム
US11908212B2 (en) 2019-07-22 2024-02-20 Nec Corporation Matching position output system

Similar Documents

Publication Publication Date Title
US11017210B2 (en) Image processing apparatus and method
WO2018049998A1 (zh) 交通标志牌信息获取方法及装置
CN109934847B (zh) 弱纹理三维物体姿态估计的方法和装置
US20170308736A1 (en) Three dimensional object recognition
CN108986152B (zh) 一种基于差分图像的异物检测方法及装置
EP3093822B1 (en) Displaying a target object imaged in a moving picture
US20140270362A1 (en) Fast edge-based object relocalization and detection using contextual filtering
JP6684475B2 (ja) 画像処理装置、画像処理方法及びプログラム
US11657644B2 (en) Automatic ruler detection
JP6172432B2 (ja) 被写体識別装置、被写体識別方法および被写体識別プログラム
US10395090B2 (en) Symbol detection for desired image reconstruction
JP2018055199A (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
US20180130241A1 (en) Image Modification Using Detected Symmetry
JP2016206909A (ja) 情報処理装置、情報処理方法
JP5704909B2 (ja) 注目領域検出方法、注目領域検出装置、及びプログラム
CN111354038A (zh) 锚定物检测方法及装置、电子设备及存储介质
CN117237681A (zh) 图像处理方法、装置及相关设备
CN116091998A (zh) 图像处理方法、装置、计算机设备和存储介质
JPWO2017126072A1 (ja) 画像認識システム、カメラ状態推定装置及び記憶媒体
JP5657503B2 (ja) 読取装置、方法及びプログラム
CN115063473A (zh) 物体高度的检测方法、装置、计算机设备、存储介质
JP2010113562A (ja) 物体検知追跡装置,物体検知追跡方法および物体検知追跡プログラム
JP2018092507A (ja) 画像処理装置、画像処理方法及びプログラム
WO2017042852A1 (en) Object recognition appratus, object recognition method and storage medium
WO2014178241A1 (ja) 画像処理装置、画像処理方法および画像処理プログラム