(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-17
(45)【発行日】2023-04-25
(54)【発明の名称】判定方法、判定プログラムおよび情報処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20230418BHJP
【FI】
G06T7/00 300F
(21)【出願番号】P 2020527141
(86)(22)【出願日】2018-06-29
(86)【国際出願番号】 JP2018024894
(87)【国際公開番号】W WO2020003510
(87)【国際公開日】2020-01-02
【審査請求日】2020-12-21
【前置審査】
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】片岡 正弘
(72)【発明者】
【氏名】盛 夢都
(72)【発明者】
【氏名】原井 夏樹
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2014-229010(JP,A)
【文献】特開2007-232389(JP,A)
【文献】特開平05-265547(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
コンピュータが、
撮影装置により撮影された第1の撮影画像を取得すると、複数の物体それぞれが有する複数の輪郭の形状を示す複数の輪郭データ群を記憶する記憶部を参照して、前記複数の輪郭データ群のうち、取得した前記第1の撮影画像に含まれる被写体の輪郭に対応する輪郭データが含まれる複数の輪郭データ群を特定し、
特定した前記複数の輪郭データ群それぞれに含まれる複数の輪郭データを、該複数の輪郭データの順序に対応付けて記憶する記憶部を参照して、特定した前記複数の輪郭データ群それぞれに含まれる複数の輪郭データのうち、前記被写体の輪郭に対応する前記輪郭データに対して特定の順序関係を有する複数の輪郭データを新たに特定し、
前記撮影装置により新たに撮影された第2の撮影画像を取得すると、新たに特定した前記複数の輪郭データと、前記第2の撮影画像に含まれる前記被写体の輪郭との対応関係に基づき、前記被写体がいずれの物体に対応するかの判定を行う、
処理を実行することを特徴とする判定方法。
【請求項2】
前記撮影装置は被写体を異なる方向から同時に撮影する撮影装置であり、前記撮影装置に同時に撮影された第1方向撮影画像と第2方向撮影画像とを基にして、前記被写体の輪郭を抽出する処理を更に実行することを特徴とする請求項
1に記載の判定方法。
【請求項3】
撮影装置により撮影された第1の撮影画像を取得すると、複数の物体それぞれが有する複数の輪郭の形状を示す複数の輪郭データ群を記憶する記憶部を参照して、前記複数の輪郭データ群のうち、取得した前記第1の撮影画像に含まれる被写体の輪郭に対応する輪郭データが含まれる複数の輪郭データ群を特定し、
特定した前記複数の輪郭データ群それぞれに含まれる複数の輪郭データを、該複数の輪郭データの順序に対応付けて記憶する記憶部を参照して、特定した前記複数の輪郭データ群それぞれに含まれる複数の輪郭データのうち、前記被写体の輪郭に対応する前記輪郭データに対して特定の順序関係を有する複数の輪郭データを新たに特定し、
前記撮影装置により新たに撮影された第2の撮影画像を取得すると、新たに特定した前記複数の輪郭データと、前記第2の撮影画像に含まれる前記被写体の輪郭との対応関係に基づき、前記被写体がいずれの物体に対応するかの判定を行う、
処理をコンピュータに実行させることを特徴とする判定プログラム。
【請求項4】
撮影装置により撮影された第1の撮影画像を取得すると、複数の物体それぞれが有する複数の輪郭の形状を示す複数の輪郭データ群を記憶する記憶部を参照して、前記複数の輪郭データ群のうち、取得した前記第1の撮影画像に含まれる被写体の輪郭に対応する輪郭データが含まれる複数の輪郭データ群を特定し、前記複数の輪郭データ群それぞれに含まれる複数の輪郭データを、該複数の輪郭データの順序に対応付けて記憶する記憶部を参照して、特定した前記複数の輪郭データ群それぞれに含まれる複数の輪郭データのうち、前記被写体の輪郭に対応する前記輪郭データに対して特定の順序関係を有する複数の輪郭データを新たに特定する特定部と、
前記撮影装置により新たに撮影された第2の撮影画像を取得すると、新たに特定した前記複数の輪郭データと、前記第2の撮影画像に含まれる前記被写体の輪郭との対応関係に基づき、前記被写体がいずれの物体に対応するかの判定を行う判定部と
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特定方法等に関する。
【背景技術】
【0002】
近年、画像からエッジを抽出し、輪郭(アウトライン)を特定し物体を認識する技術がある。たとえば、撮影された画像データの各画像ブロックからブロック間に跨がる複数エッジを抽出する。そして、複数のエッジから、輪郭を抽出し、撮影された角度に対応する物体モデルを絞り込み、物体認識を行う従来技術がある。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-091202号公報
【文献】特開2012-212322号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来技術では、撮影画像に含まれる被写体の特定に要する計算負荷が大きくなるという問題がある。
【0005】
たとえば、画像ブロックから複数のエッジを抽出し、輪郭を特定するためには、多くの計算量が必要である。さらに、撮影された角度に対応する物体モデルを絞り込み、物体を認識するためには、さらに計算負荷が増加する。
【0006】
1つの側面では、本発明は、撮影画像に含まれる被写体の特定に要する計算負荷を軽減することができる特定方法、判定方法、特定プログラム、判定プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
第1の案では、コンピュータに次の処理を実行させる。コンピュータは、撮影装置により撮影された第1の撮影画像を取得すると、複数の物体それぞれが有する複数の輪郭の形状を示す複数の輪郭データ群を記憶する記憶部を参照して、複数の輪郭データ群のうち、取得した第1の撮影画像に含まれる被写体の輪郭に対応する輪郭データが含まれる複数の輪郭データ群を特定する。コンピュータは、特定した複数の輪郭データ群それぞれに含まれる複数の輪郭データを、該複数の輪郭データの順序に対応付けて記憶する記憶部を参照して、特定した複数の輪郭データ群それぞれに含まれる複数の輪郭データのうち、被写体の輪郭に対応する輪郭データに対して特定の順序関係を有する複数の輪郭データを新たに特定する。コンピュータは、撮影装置により新たに撮影された第2の撮影画像を取得すると、新たに特定した複数の輪郭データと、第2の撮影画像に含まれる被写体の輪郭との対応関係に基づき、被写体がいずれの物体に対応するかの判定を行う。
【発明の効果】
【0008】
撮影画像に含まれる被写体の特定に要する計算負荷を軽減することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本実施例1に係る情報処理装置の処理を説明するための図である。
【
図2】
図2は、本実施例1に係る情報処理装置の構成を示す機能ブロック図である。
【
図3】
図3は、本実施例1に係る画像バッファのデータ構造の一例を示す図である。
【
図4】
図4は、PostScriptデータの一例を示す図である。
【
図5】
図5は、アウトラインとスクリプトデータとの関係を説明するための図である。
【
図6】
図6は、本実施例1に係る情報処理装置の処理手順を示すフローチャートである。
【
図7】
図7は、本実施例2に係る情報処理装置の処理を説明するための図である。
【
図8】
図8は、アウトラインとスクリプトデータとの関係を説明するための図である。
【
図9】
図9は、本実施例2に係る情報処理装置の構成を示す機能ブロック図である。
【
図10】
図10は、本実施例2に係る特定部の処理を説明するための図である。
【
図11】
図11は、本実施例2に係る情報処理装置の処理手順を示すフローチャートである。
【
図12】
図12は、情報処理装置のその他の処理を説明するための図である。
【
図13】
図13は、本実施例1に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図14】
図14は、本実施例2に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本発明にかかる特定方法、判定方法、特定プログラム、判定プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例1】
【0011】
図1は、本実施例1に係る情報処理装置の処理を説明するための図である。情報処理装置は、ステレオカメラにより撮影された撮影画像データ10を取得する。情報処理装置は、ステレオカメラの視差を利用して、撮影画像データから被写体の輪郭の形状を特定する。情報処理装置が特定した被写体の輪郭の形状をアウトライン10aとする。
【0012】
情報処理装置は、アウトライン10aと、アウトライン情報142とを比較して、撮影画像データ10に含まれる被写体が、アウトライン情報に登録された複数の物体のうち、いずれの物体に対応するのかを特定する。
【0013】
アウトライン情報142は、物体のアウトラインの情報と、物体に含まれるパーツのアウトラインの情報とを保持する。たとえば、アウトライン情報142は、車両Aのアウトライン20aと、車両Aのパーツのアウトライン21aとを対応付ける。アウトライン情報142は、車両Bのアウトライン20bと、車両Bのパーツのアウトライン21bとを対応付ける。アウトライン情報142は、車両Cのアウトライン20cと、車両Cのパーツのアウトライン21cとを対応付ける。
【0014】
情報処理装置は、被写体のアウトライン10aと、アウトライン情報142の各アウトライン20a,20b,20cとを比較し、アウトライン10aと類似するアウトラインを、各アウトライン20a,20b,20cから特定する。
図1に示す例では、アウトライン10aと類似するアウトラインを、アウトライン20a,20cとする。
【0015】
情報処理装置は、アウトライン20a,20cを特定すると、アウトラインに対応付けられたパーツのエッジ21a,21cと、画像エッジ10bとの比較を行う。この画像エッジ10bは、撮影画像データ10の全領域の内、被写体の輪郭の内側の領域からエッジを抽出した画像である。情報処理装置は、画像エッジ10bと、アウトライン21a、21cとを比較し、アウトライン21aの方が、アウトライン21bよりも、画像エッジ10bに類似している場合に、被写体に対応する物体が、「車両A」であると判定する。
【0016】
上述したように、本実施例1に係る情報処理装置は、撮影画像データ10からアウトライン10aを特定し、アウトライン10aと、アウトライン情報142の物体のアウトライン20a~20cとの比較により、物体の絞り込みを行う。情報処理装置は、絞り込みを行った後に、撮影画像データ10の画像エッジ10bと、パーツのエッジとの比較を行い、被写体に対応する物体を特定する処理を行う。これにより、撮影画像データに含まれる被写体の特定に要する計算負荷を軽減することができる。
【0017】
次に、本実施例1に係る情報処理装置の構成の一例について説明する。
図2は、本実施例1に係る情報処理装置の構成を示す機能ブロック図である。
図2に示すように、情報処理装置100は、カメラ105、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
【0018】
カメラ105は、被写体を2つの異なる方向から同時に撮影するステレオカメラ(双眼カメラ)または、左右に可動可能な単眼カメラであり、視差により被写体のアウトラインを識別することができる。カメラ105は、第1の方向から撮影した第1撮影画像データと、第1の方向とは異なる第2の方向から撮影した第2撮影画像データとを、情報処理装置100に出力する。以下の説明では、適宜、第1撮影画像データと、第2撮影画像データとをまとめて「撮影画像データ」と表記する。
【0019】
通信部110は、ネットワークを介して外部装置とデータ通信を実行する処理部である。通信部110は、通信装置の一例である。情報処理装置100は、ネットワークを介して、カメラ105に接続し、ネットワークを介して、撮影画像データを受信してもよい。
【0020】
入力部120は、情報処理装置100に各種の情報を入力するための入力装置である。たとえば、入力部120は、キーボードやマウス、タッチパネル等に対応する。
【0021】
表示部130は、制御部150から出力される各種の情報を表示するための表示装置である。たとえば、表示部130は、液晶ディスプレイやタッチパネル等に対応する。
【0022】
記憶部140は、画像バッファ141と、アウトライン情報142とを有する。記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
【0023】
画像バッファ141は、カメラ105に撮影された撮影画像データを格納するバッファである。
図3は、本実施例1に係る画像バッファのデータ構造の一例を示す図である。
図3に示すように、画像バッファ141は、時刻と、撮影画像データとを対応付ける。時刻は、撮影画像データが撮影された時刻である。撮影画像データは、カメラ105に撮影された画像データである。
【0024】
アウトライン情報142は、物体の向き情報と、物体のアウトラインと、物体に含まれる各パーツの情報とを保持する情報である。アウトライン情報142は、物体に含まれる各パーツの情報として、PostScriptデータを有する。
【0025】
PostScriptデータは、アウトラインや複数のパーツのエッジを描画するためのPostScriptデータである。
図4は、PostScriptデータの一例を示す図である。
図4に示すように、このPostScriptデータ40は、複数のPostScriptデータ40a,40b,40c,40dを含む。一例として、PostScriptデータ40a~40dを示すが、PostScriptデータ40は、他のPostScriptデータを含んでいてもよい。
【0026】
最上層のPostScriptデータ40aは、物体(全体)の輪郭のアウトラインを描画するためのPostScriptデータである。たとえば、PostScriptデータ40が、車両Aの角度「0°/0:00」のPostScriptデータである場合には、物体(全体)の輪郭のアウトラインは、
図1で説明したアウトライン20aに対応する。以下の説明では、適宜、最上層のPostScriptデータにより描画されるアウトラインを、「最上層アウトライン」と表記する。
【0027】
PostScriptデータ40aの配下の各PostScriptデータ40b~40dは、物体の輪郭内に含まれる各パーツのエッジを描画するためのPostScriptデータである。たとえば、PostScriptデータ40bは、物体の右ウインカーのエッジを描画するためのPostScriptデータである。PostScriptデータ40cは、物体の左ウインカーのエッジを描画するためのPostScriptデータである。PostScriptデータ40dは、物体の輪郭内の他のパーツのエッジを描画するためのPostScriptデータである。以下の説明では、適宜、配下のPostScriptデータにより描画されるエッジを「パーツエッジ」と表記する。たとえば、PostScriptデータ40aの配下の各PostScriptデータ40b~40dに規定される座標は、最上層のPostScriptデータで規定された座標を基準とする相対的な座標であってもよい。
【0028】
図5は、アウトラインとスクリプトデータとの関係を説明するための図である。
図5では、一例として、アウトライン5に対応するPostScriptデータ6を示す。PostScriptデータ6により、アウトライン5を描画することができる。
【0029】
アウトライン5は、直線5AB、曲線5BC、直線5CD、直線5DAからなる。直線5ABは、制御点Aと制御点Bとを結ぶ直線である。直線5CDは、制御点Cと制御点Dとを結ぶ直線である。直線5DAは、制御点Dと制御点Aとを結ぶ直線である。曲線5BCは、制御点Bと制御点Cとを結ぶ曲線であり、制御点α,βおよび制御点(端点)B,Cにより、曲線の形状が決定される。
【0030】
アウトライン5の制御点A,B,C,D、制御点α,βを基にして、アウトライン5のPostScriptデータ6が生成される。PostScriptデータ6に含まれる「Xa,Ya」は、制御点Aの座標を示すものである。「Xb,Yb」は、制御点Bの座標を示すものである。「Xc,Yc」は、制御点Cの座標を示すものである。「Xd,Yd」は、制御点Dの座標を示すものである。「Xα,Yα」は、制御点αの座標を示すものである。「Xβ,Yβ」は、制御点βの座標を示すものである。PostScriptデータ6には、各種のコマンド「newpath moveto lineto curveto stroke showpage」が含まれる。
【0031】
制御部150は、取得部151と、判定部152と、特定部153と、出力部154とを有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
【0032】
取得部151は、カメラ105から、撮影画像データを取得する処理部である。取得部151は、取得した撮影画像データを時刻と対応付けて、画像バッファ141に格納する。カメラ105は、撮影時に時刻情報を、撮影画像データに付与してもよいし、取得部151が、図示しないタイマから時刻の情報を取得してもよい。
【0033】
判定部152は、画像バッファ141に格納された撮影画像データと、アウトライン情報142とを基にして、撮影画像データに含まれる被写体のアウトラインと類似する最上層アウトラインを判定する処理部である。以下において、判定部152の処理の一例について説明する。
【0034】
判定部152は、撮影画像データ(第1撮影画像データおよび第2撮影画像データ)を基にして、ステレオカメラの原理により、撮影画像上の被写体の輪郭形状を抽出する。判定部152は、輪郭形状を、被写体のアウトラインとして特定する。以下の説明では、撮影画像データから抽出した被写体のアウトラインを「画像アウトライン」と表記する。
【0035】
判定部152は、アウトライン情報142の各PostScriptデータについて、最上層のPostScriptデータを基にして、最上層アウトラインをそれぞれ描画する。判定部152は、描画した各最上層アウトラインと、画像アウトラインとを比較して類似度を算出する。判定部152は、画像アウトラインとの類似度が所定の類似度以上となる最上層アウトラインを判定する。判定部152は、各最上層アウトラインのうち、画像アウトラインとの類似度が所定の類似度以上となる最上層アウトラインの情報を、特定部153に出力する。以下の説明では、画像アウトラインとの類似度が所定の類似度以上となる最上層アウトラインを「候補アウトライン」と表記する。候補アウトラインは、複数であってもよい。
【0036】
判定部152は、最上層アウトラインと、画像アウトラインとの類似度をどのように算出してもよい。たとえば、判定部152は、最上層アウトラインに囲まれる領域と、画像アウトラインに囲まれる領域との一致率を、類似度として算出してもよい。
【0037】
また、判定部152は、撮影画像データの全領域のうち、画像アウトラインに囲まれる領域を抽出し、抽出した領域の画像からエッジを抽出し、画像エッジを生成する。たとえば、判定部152は、ハフ変換などを用いて、画像エッジを生成する。
【0038】
判定部152は、上記の処理を実行し、候補アウトラインの情報と、画像エッジの情報を、特定部153に出力する。判定部152が特定部153に出力する候補アウトラインの情報は、候補アウトラインを特定可能な情報であり、識別情報と、角度(向き情報)とを含む。
【0039】
特定部153は、候補アウトラインの情報を受け付けると、候補アウトラインの内側に位置する部品の形状または模様の形状と、撮影画像データの画像エッジとを基にして、撮影画像データの被写体に対応する物体を特定する処理部である。以下において、特定部153の処理の一例について説明する。
【0040】
特定部153は、1つの候補アウトラインを選択し、選択した候補アウトラインの配下のPostScriptデータから、各パーツのエッジ描画し、画像エッジに含まれるエッジの各形状と、各パーツのエッジとを比較する。特定部153は、比較したパーツのエッジの内、類似度が閾値以上となるエッジの形状が存在するパーツのエッジの数をカウントする。以下の説明では、類似度が閾値以上となるエッジの形状が存在するパーツのエッジの数を「一致数」と表記する。
【0041】
特定部153は、パーツのエッジと、画像エッジの形状との類似度をどのように算出してもよい。たとえば、判定部152は、パーツのエッジに囲まれる領域と、画像エッジにより形成される領域との一致率を、類似度として算出してもよい。
【0042】
特定部153は、他の候補アウトラインに対して同様に一致数をカウントする処理を繰り返し実行する。特定部153は、各候補アウトラインのうち、一致数が最大となる候補アウトラインに対応する識別情報を特定する。特定部153が特定した識別情報が、撮影画像データの被写体に対応する物体の識別情報となる。特定部153は、特定した識別情報を、出力部154に出力する。
【0043】
出力部154は、特定部153に特定された、識別情報を、出力する処理を行う処理部である。たとえば、出力部154は、識別情報を、通信部110を介して、他の外部装置に出力する。出力部154は、画像アウトラインの抽出元となった撮影画像データと、識別情報とを対応付けた情報を出力してもよい。
【0044】
次に、本実施例1に係る情報処理装置100の処理手順の一例について説明する。
図6は、本実施例1に係る情報処理装置の処理手順を示すフローチャートである。
図6に示すように、情報処理装置100の取得部151は、撮影画像データを取得し、画像バッファ141に格納する(ステップS101)。
【0045】
情報処理装置100の判定部152は、被写体の画像アウトラインを抽出する(ステップS102)。判定部152は、画像アウトライン内の画像エッジを生成する(ステップS103)。判定部152は、画像アウトラインとアウトライン情報142の最上層アウトラインとを比較し、画像アウトラインと類似する最上層アウトライン(候補アウトライン)を特定する(ステップS104)。
【0046】
情報処理装置100の特定部153は、候補アウトラインを選択する(ステップS105)。特定部153は、選択した候補アウトラインの配下のPostScriptデータから、パーツのエッジを描画する(ステップS106)。
【0047】
特定部153は、画像エッジとパーツのエッジとを比較して、一致数をカウントする(ステップS107)。特定部153は、全ての候補アウトラインを選択したか否かを判定する(ステップS108)。特定部153は、全ての候補アウトラインを選択していない場合には(ステップS108,No)、未選択の候補アウトラインを選択し(ステップS109)、ステップS106に移行する。
【0048】
一方、特定部153は、全ての候補アウトラインを選択した場合には(ステップS108,Yes)、一致数が最大となる候補アウトラインに対応する識別情報を特定する(ステップS110)。情報処理装置100の出力部154は、特定された識別情報と、撮影画像データとを外部装置(あるいは、表示部130)に出力する(ステップS111)。
【0049】
次に、本実施例1に係る情報処理装置100の効果について説明する。情報処理装置100は、撮影画像データから画像アウトラインを特定し、画像アウトラインと、アウトライン情報142との比較により、最上層アウトラインの絞り込みを行う。情報処理装置は、絞り込みを行った後に、撮影画像データの画像エッジと、パーツのエッジとの比較を行い、被写体に対応する物体を特定する処理を行う。これにより、撮影画像データに含まれる被写体の特定に要する計算負荷を軽減することができる。
【0050】
情報処理装置100によれば、ステレオカメラの原理により、撮影画像上の被写体の輪郭形状(画像アウトライン)を抽出し、最上層アウトラインの絞り込みを行う。このため、画像から抽出されるエッジを用いる場合と比較して、容易に最上層アウトラインの絞り込みを行うことができる。
【実施例2】
【0051】
図7は、本実施例2に係る情報処理装置の処理を説明するための図である。情報処理装置は、ステレオカメラにより撮影された撮影画像データ31,32,33,34を取得する。情報処理装置は、ステレオカメラの視差を利用して、各撮影画像データ31~34から被写体の輪郭の形状を特定する。
【0052】
たとえば、撮影画像データ31に含まれる被写体の輪郭の形状をアウトライン31aとする。撮影画像データ32に含まれる被写体に輪郭の形状をアウトライン32aとする。撮影画像データ33に含まれる被写体に輪郭の形状をアウトライン33aとする。撮影画像データ34に含まれる被写体に輪郭の形状をアウトライン34aとする。
【0053】
アウトライン情報242は、物体の向き情報と、物体のアウトラインの情報とを対応付けて保持する。アウトライン情報242では、物体の向き情報は、物体の角度を示し、昇順に並んでいる。アウトライン43aは、向き「0°」の車両Aの輪郭の形状である。アウトライン41aは、向き「60°」の車両Aの輪郭の形状である。アウトライン42aは、向き「120°」の車両Aの輪郭の形状である。車両Aに関する他の向きのアウトラインの図示は省略する。
【0054】
アウトライン43bは、向き「0°」の車両Bの輪郭の形状である。アウトライン41bは、向き「60°」の車両Bの輪郭の形状である。アウトライン42bは、向き「120°」の車両Bの輪郭の形状である。車両Bに関する他の向きのアウトラインの図示は省略する。
【0055】
アウトライン43cは、向き「0°」の車両Cの輪郭の形状である。アウトライン41cは、向き「60°」の車両Cの輪郭の形状である。アウトライン42cは、向き「120°」の車両Cの輪郭の形状である。車両Cに関する他の向きのアウトラインの図示は省略する。
【0056】
アウトライン情報242のより具体的なデータ構造は、
図8に示すものとなる。
図8は、本実施例2で用いるアウトライン情報のデータ構造の一例を示す図である。
図8に示すように、アウトライン情報242は、識別情報と、角度(時刻表現による物体の向き)毎のPostScriptデータを有する。識別情報は、物体を一意に識別する情報である。情報処理装置は、各アウトライン31a~34aと、アウトライン情報242とを比較して、撮影画像データ31~34に含まれる被写体が、アウトライン情報242に登録された複数の物体のうち、いずれの物体に対応するのかを特定する。
【0057】
情報処理装置は、各アウトライン31a~34aと、アウトライン情報242とを比較し、各アウトライン31a~34aと類似するアウトラインを、特定する処理を繰り返し実行する。
【0058】
たとえば、情報処理装置は、アウトライン31aと、向き情報「0°」の各アウトライン43a~43cとを比較し、アウトライン31aと類似するアウトライン43a,43cを特定する。情報処理装置は、アウトライン32aと、図示しない向き情報「30°」の各アウトラインとを比較し、類似するアウトラインを特定する。
【0059】
情報処理装置は、アウトライン33aと、向き情報「60°」の各アウトライン41a~41cとを比較し、アウトライン33aと類似するアウトライン41aを特定する。情報処理装置は、アウトライン34aと、図示しない向き情報「90°」の各アウトラインとを比較し、類似するアウトラインを特定する。
【0060】
情報処理装置は、上記処理を実行し、アウトライン情報242の車両毎に、類似するアウトラインの数を集計する。情報処理装置は、類似するアウトラインの数が最大となる車両を、撮影画像データの被写体に対応する車両であると判定する。
【0061】
たとえば、車両Aに対応する各向き情報の各アウトラインのうち、「l個」のアウトラインが、撮影画像データ31~34のアウトライン31a~34aと類似するアウトラインとして特定されたものとする。車両Bに対応する各向き情報の各アウトラインのうち、「m個」のアウトラインが、撮影画像データ31~34のアウトライン31a~34aと類似するアウトラインとして特定されたものとする。車両Cに対応する各向き情報の各アウトラインのうち、「n個」のアウトラインが、撮影画像データ31~34のアウトライン31a~34aと類似するアウトラインとして特定されたものとする。また、l個>m個>n個とする。この場合には、情報処理装置は、撮影画像データ31~34に含まれる被写体を「車両A」として特定する。
【0062】
上記のように、本実施例2に係る情報処理装置は、各撮影画像データからアウトラインをそれぞれ抽出し、アウトライン情報242に格納された角度毎のアウトラインと、抽出したアウトラインとの対応関係から、被写体に対応する物体を特定する。これによって、被写体の輪郭の形状が継続的に変化しても、被写体に対応する物体を判定する精度が低下することを抑止することができる。
【0063】
次に、本実施例2に係る情報処理装置の構成の一例について説明する。
図9は、本実施例2に係る情報処理装置の構成を示す機能ブロック図である。
図9に示すように、情報処理装置200は、カメラ205、通信部210、入力部220、表示部230、記憶部240、制御部250を有する。
【0064】
カメラ205は、被写体を2つの異なる方向から同時に撮影するステレオカメラ(双眼カメラ)または、左右に可動可能な単眼カメラである。カメラ205は、撮影画像データを、情報処理装置200に出力する。カメラ205に関するその他の説明は、カメラ105に関する説明と同様である。
【0065】
通信部210は、ネットワークを介して外部装置とデータ通信を実行する処理部である。通信部210は、通信装置の一例である。情報処理装置200は、ネットワークを介して、カメラ205に接続し、ネットワークを介して、撮影画像データを受信してもよい。
【0066】
入力部220は、情報処理装置200に各種の情報を入力するための入力装置である。たとえば、入力部220は、キーボードやマウス、タッチパネル等に対応する。
【0067】
表示部230は、制御部250から出力される各種の情報を表示するための表示装置である。たとえば、表示部230は、液晶ディスプレイやタッチパネル等に対応する。
【0068】
記憶部240は、画像バッファ241と、アウトライン情報242とを有する。記憶部240は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
【0069】
画像バッファ241は、カメラ205に撮影された撮影画像データを格納するバッファである。画像バッファ241のデータ構造は、
図3で説明した画像バッファ141のデータ構造と同様であるため、説明を省略する。
【0070】
アウトライン情報242は、物体の向き情報と、物体のアウトラインと、物体に含まれる各パーツの情報とを保持する情報である。アウトライン情報242のデータ構造は、
図8で説明したものと同様である。
【0071】
制御部250は、取得部251と、特定部252と、判定部253と、出力部254とを有する。制御部250は、CPUやMPUなどによって実現できる。また、制御部250は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
【0072】
取得部251は、カメラ205から、撮影画像データを取得する処理部である。取得部251は、取得した撮影画像データを時刻と対応付けて、画像バッファ241に格納する。カメラ205は、撮影時に時刻情報を、撮影画像データに付与してもよいし、取得部251が、図示しないタイマから時刻の情報を取得してもよい。
【0073】
特定部252は、画像バッファ241に格納された撮影画像データと、アウトライン情報242とを基にして、撮影画像データの画像アウトラインと類似する最上層アウトラインを特定する処理部である。最上層アウトラインは、
図8で説明したように、最上層のPostScriptデータにより描画されるアウトラインである。
【0074】
特定部252は、撮影画像データの時刻、類似する最上層アウトラインに対応する識別情報、向き情報等を含む特定情報を生成し、判定部253に出力する。特定部252は、一つの撮影画像データに含まれる被写体のアウトラインと類似する最上層アウトラインがN個存在する場合には、N個の特定情報を生成する。
【0075】
図10は、本実施例2に係る特定部の処理を説明するための図である。たとえば、
図10に示すように、特定部252は、時刻t
1の撮影画像データ31から、画像アウトライン(アウトライン)31aを抽出する。特定部252が、画像アウトラインを抽出する処理は、判定部152が、画像アウトラインを抽出する処理と同様である。
【0076】
特定部252は、アウトライン情報242の各領域に格納されたPostScriptデータから最上層アウトラインをそれぞれ描画し、描画した最上層アウトラインと、画像アウトライン31aと類似度を算出する。特定部252は、画像アウトラインとの類似度が所定の類似度以上となる最上層アウトラインの情報を特定し、特定情報を生成する。また、特定部252は、実施例1の判定部152と同様の処理を行って、画像エッジとパーツのエッジとを基にして、一致数をカウントしてもよい。
【0077】
たとえば、アウトライン情報242の領域242A,242Bに格納された最上層アウトラインと、画像アウトライン31aとの類似度を所定の類似度以上とする。特定部252は、領域242Aに対応する特定情報242aを生成する。特定情報242aには、時刻「t1」と、識別情報「C001」と、向き情報「0°」と、一致数「M1」が対応付けられる。特定部252は、領域242Bに対応する特定情報242bを生成する。特定情報242bには、時刻「t1」と、識別情報「C003」と、向き情報「0°」と、一致数「M2」とが対応付けられる。
【0078】
特定部252は、撮影画像データ31に続く、他の撮影画像データ(たとえば、
図8の撮影画像データ32~34等)についても、同様の処理を繰り返し実行し、特定情報を生成する。特定部252は、生成した各特定情報を、判定部253に出力する。
【0079】
判定部253は、特定部252から取得する各特定情報を基にして、各撮影画像データの被写体に対応する物体の識別情報を判定する処理部である。判定部253は、判定した識別情報を、出力部254に出力する。
【0080】
たとえば、判定部253は、複数の特定情報を、識別情報毎に分類する。判定部253は、各識別情報に分類された特定情報の数をカウントし、特定情報の数が最大となるグループに対応する識別情報を判定する。識別情報「C001」を有する特定情報の数が「l個」、識別情報「C002」を有する特定情報の数が「m個」、識別情報「C003」を有する特定情報の数が「n個」とし、l個>m個>n個とする。この場合には、撮影画像データに含まれる被写体に対応する物体の識別情報は「C001」となる。
【0081】
ここで、判定部253は、特定情報の数が同一となる識別情報が複数存在する場合には、次の処理を実行することで、一つの識別情報を判定してもよい。一例として、特定情報の数が同一となる識別情報を識別情報「C001」、「C003」として、判定部253の処理について説明する。
【0082】
判定部253は、識別情報「C001」を含む特定情報を、時系列に並べる。判定部253は、時系列に並べた特定情報を走査し、全体的な向き情報の変化の傾向が、昇順であるか降順であるかを判定する。変化の傾向が昇順である場合には、前後の特定情報の向き情報を比較し、向き情報が増加していれば、評価値に1を加え、向き情報が増加していない場合には、評価値に0を加える処理を繰り返し実行することで、識別情報「C001」の評価値を算出する。
【0083】
一方、判定部253は、時系列に並べた特定情報を走査し、全体的な向き情報の変化の傾向が降順である場合には、前後の特定情報の向き情報を比較し、向き情報が減少していれば、評価値に1を加え、向き情報が減少していない場合には、評価値に0を加える処理を繰り返し実行することで、識別情報「C001」の評価値を算出する。
【0084】
判定部253は、識別情報「C003」についても、上記処理を実行することで、識別情報「C003」の評価値を算出する。判定部253は、識別情報「C001」の評価値と、「C003」の評価値とを比較し、評価値の大きい側の識別情報を、撮影画像データに含まれる被写体に対応する物体の識別情報として判定する。
【0085】
なお、判定部253は、判定部253は、特定情報に含まれる一致数を用いて、識別情報を判定する処理を行ってもよい。たとえば、判定部253は、上記処理を実行する場合に、各特定情報のうち、一致数が閾値未満となる特定情報を対象から除外する処理を行う。判定部253は、一致数に基づいて、該当する特定情報を除外した後に、残りの特定情報を分類する処理、評価値を算出する処理を行う。
【0086】
出力部254は、判定部253に特定された、識別情報を、出力する処理を行う処理部である。たとえば、判定部253は、識別情報を、通信部110を介して、他の外部装置に出力する。出力部254は、画像アウトラインの抽出元となった撮影画像データと、識別情報とを対応付けた情報を出力してもよい。
【0087】
次に、本実施例2に係る情報処理装置200の処理手順の一例について説明する。
図11は、本実施例2に係る情報処理装置の処理手順を示すフローチャートである。
図11に示すように、情報処理装置200の取得部251は、カメラ205から撮影画像データを取得し、画像バッファ241に格納する(ステップS201)。
【0088】
情報処理装置200の特定部252は、画像バッファ241から未選択の撮影画像データを選択する(ステップS202)。特定部252は、撮影画像データから画像アウトライン宇を抽出する(ステップS203)。特定部252は、画像アウトラインと、アウトライン情報242の各最上層アウトラインとを比較する(ステップS204)。
【0089】
特定部252は、画像アウトラインに類似する最上層アウトラインを特定し、特定情報を生成する(ステップS205)。特定部252は、画像バッファ241に未選択の撮影画像データが存在するか否かを判定する(ステップS206)。
【0090】
特定部252は、未選択の撮影画像データが存在する場合には(ステップS206,Yes)、未選択の撮影画像データを選択し(ステップS207)、ステップS203に移行する。一方、特定部252は、未選択の撮影画像データが存在しない場合には(ステップS206,No)、ステップS208に移行する。
【0091】
情報処理装置200の判定部253は、特定情報のうち、一致数が閾値未満となる特定情報を除外する(ステップS208)。判定部253は、特定情報を分類して、撮影画像データに対応する識別情報を判定する(ステップS209)。情報処理装置200の出力部254は、特定された識別情報と、撮影画像データとを外部装置(あるいは、表示部230)に出力する(ステップS210)。
【0092】
次に、本実施例2に係る情報処理装置200の効果について説明する。情報処理装置200は、各撮影画像データからアウトラインをそれぞれ抽出し、アウトライン情報242に格納された角度毎のアウトラインと、抽出したアウトラインとの対応関係から、被写体に対応する物体を特定する。これによって、被写体の輪郭の形状が継続的に変化しても、被写体に対応する物体を判定する精度が低下することを抑止することができる。
【0093】
ところで、上述した情報処理装置200の処理は、上記の処理に限定されるものではない。たとえば、特定部252は、撮影画像データから画像アウトラインを抽出して、類似度が閾値以上となる複数の最上層アウトラインを特定した際に、続く撮影画像データの画像アウトラインと比較する最上層アウトラインを、順序関係を基にして絞り込んでもよい。
【0094】
図12は、情報処理装置のその他の処理を説明するための図である。たとえば、特定部252は、時刻t
1の撮影画像データ31から、画像アウトライン(アウトライン)31aを抽出する。特定部252が、画像アウトラインを抽出する処理は、判定部152が、画像アウトラインを抽出する処理と同様である。
【0095】
特定部252は、アウトライン情報242の各領域に格納されたPostScriptデータから最上層アウトラインをそれぞれ描画し、描画した最上層アウトラインと、画像アウトライン31aと類似度を算出する。特定部252は、画像アウトラインとの類似度が所定の類似度以上となる最上層アウトラインの情報を特定する。たとえば、アウトライン情報242の領域242A,242Bに格納された最上層アウトラインと、画像アウトライン31aとの類似度を所定の類似度以上とする。
【0096】
ここで、特定部252は、向き情報「0°」と所定の順序関係にある、向き情報「30°」のうち、アウトライン情報242の領域242A,242Bに対応する領域242C,242Dの最上層アウトラインを特定する。
【0097】
続いて、判定部253は、時刻t2の撮影画像データ32から、画像アウトライン(アウトライン)32aを抽出する。判定部253は、特定部252に特定された、領域242Cの最上層アウトラインと、画像アウトライン32aとの類似度R1を算出する。判定部253は、領域242Dの最上層アウトラインと、画像アウトライン32aとの類似度R2を算出する。判定部253は、類似度R1が、類似度R2よりも大きい場合には、撮影画像データ31,32に含まれる被写体に対する識別情報「C001」と判定する。一方、判定部253は、類似度R1が、類似度R2よりも大きくない場合には、撮影画像データ31,32に含まれる被写体に対する識別情報「C003」と判定する。
【0098】
上記のように、情報処理装置は、順序関係を基にして、撮影画像データの画像アウトラインと比較する最上層アウトラインベクトルを絞り込むことで、計算量を削減することが可能となる。また、被写体の輪郭の形状が継続的に変化しても、被写体に対応する物体を判定する精度が低下することを抑止することができる。
【0099】
なお、
図12に説明した例では、向き情報「0°/0:00」と所定の順序関係(反時計回り)にある、向き情報「30°」のうち、アウトライン情報242の領域242A,242Bに対応する領域242C,242Dの最上層アウトラインを特定した。しかし、向き情報「0°」と所定の順序関係にある、向き情報は、たとえば、図示しない向き情報「-30°(330°)」であってもよいし、両方の向き情報(30°および330°)であってもよい。
【0100】
上記実施例1に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図13は、本実施例1に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0101】
図13に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る読み取り装置304と、有線または無線ネットワークを介して、外部装置、カメラ105等との間でデータの授受を行うインタフェース装置305とを有する。コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。そして、各装置301~307は、バス308に接続される。
【0102】
ハードディスク装置307は、取得プログラム307a、判定プログラム307b、特定プログラム307c、出力プログラム307dを有する。CPU301は、取得プログラム307a、判定プログラム307b、特定プログラム307c、出力プログラム307dを読み出してRAM306に展開する。
【0103】
取得プログラム307aは、取得プロセス306aとして機能する。判定プログラム307bは、判定プロセス306bとして機能する。特定プログラム307cは、特定プロセス306cとして機能する。出力プログラム307dは、出力プロセス306dとして機能する。
【0104】
取得プロセス306aの処理は、取得部151の処理に対応する。判定プロセス306bの処理は、判定部152の処理に対応する。特定プロセス306cの処理は、特定部153の処理に対応する。出力プロセス306dの処理は、出力部154の処理に対応する。
【0105】
なお、各プログラム307a~307eについては、必ずしも最初からハードディスク装置307に記憶させておかなくてもよい。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム307a~307eを読み出して実行するようにしてもよい。
【0106】
上記実施例2に示した情報処理装置200と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図14は、本実施例2に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0107】
図14に示すように、コンピュータ400は、各種演算処理を実行するCPU401と、ユーザからのデータの入力を受け付ける入力装置402と、ディスプレイ403とを有する。また、コンピュータ400は、記憶媒体からプログラム等を読み取る読み取り装置404と、有線または無線ネットワークを介して、外部装置、カメラ205等との間でデータの授受を行うインタフェース装置405とを有する。コンピュータ400は、各種情報を一時記憶するRAM406と、ハードディスク装置407とを有する。そして、各装置401~407は、バス408に接続される。
【0108】
ハードディスク装置407は、取得プログラム407a、特定プログラム407b、判定プログラム407c、出力プログラム407dを有する。CPU401は、取得プログラム407a、特定プログラム407b、判定プログラム407c、出力プログラム407dを読み出してRAM406に展開する。
【0109】
取得プログラム407aは、取得プロセス406aとして機能する。特定プログラム407bは、判定プロセス406bとして機能する。判定プログラム407cは、判定プロセス406cとして機能する。出力プログラム407dは、出力プロセス406dとして機能する。
【0110】
取得プロセス406aの処理は、取得部251の処理に対応する。特定プロセス406bの処理は、特定部252の処理に対応する。判定プロセス406cの処理は、判定部253の処理に対応する。出力プロセス406dの処理は、出力部254の処理に対応する。
【0111】
なお、各プログラム407a~407eについては、必ずしも最初からハードディスク装置307に記憶させておかなくてもよい。例えば、コンピュータ400に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム407a~407eを読み出して実行するようにしてもよい。
【符号の説明】
【0112】
100,200 情報処理装置
105,205 カメラ
110,210 通信部
120,220 入力部
130,230 表示部
140,240 記憶部
141,241 画像バッファ
142,242 アウトライン情報
150,250 制御部
151,251 取得部
152,253 判定部
153,252 特定部
154,254 出力部