以下に、本願の開示する画像判定装置、画像判定方法及び画像判定プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、処理内容を矛盾させない範囲で適宜組合せることが可能である。
まず、車両と車両に設置された車載カメラとの関係の一例について説明する。図2は、車両と車両に設置された車載カメラとの関係を示す図である。図2に示す例では、上方から鉛直下向きに車両50を見た場合の図であり、車両50のドアミラー50a,50bは、開状態である。図2に示すように、車両50の前後左右に4台の車載カメラ60a〜60dが設置される。具体的に、車両50の前方に車載カメラ60aが設置され、車両50の後方に車載カメラ60bが設置される。また、車載カメラ60c,60dは、開閉可能なドアミラー50a,50bの下部にそれぞれ設置される。このため、ドアミラー50a,50bの開閉に伴って、車載カメラ60c,60dの位置や撮影方向が変化する。なお、車載カメラ60a,60bは、例えば、車載カメラの光軸が車両50のボディラインに対して垂直で、路面と光軸とのなす角が例えば45度となるように、車両50に設置されているものとする。また、車載カメラ60c,60dは、ドアミラー50a,50bが開いている場合に、車載カメラ60c,60dの光軸が車両50のボディラインに対して垂直で、路面と光軸とのなす角が例えば45度となるように、車両50に設置されているものとする。また、ドアミラー50a,50bは、互いに同期して開閉するものとする。
なお、車載カメラ60a〜60dの光軸と路面とのなす角は、45度に限られるものではない。例えば、車載カメラ60a〜60dの光軸と路面とのなす角は、40度〜50度の範囲に含まれていることが考えられる。車載カメラ60c、60dは、撮影範囲の中に、車載カメラ60c、60dを搭載した車両のボディの一部が含まれるような確度に光軸が設定されていることとする。
次に、本実施例2にかかる画像処理装置の構成の一例について説明する。図3は、本実施例2にかかる画像処理装置の構成を示す図である。図3に示すように、この画像処理装置100は、入力部110、画像表示部120、テンプレート生成部130、記憶部140、画像合成部150、ミラー開閉判定部160、警告部170を有する。また、画像処理装置100は、車載カメラ60a〜60dに接続する。車載カメラ60a〜60dは、図2に示した車載カメラ60a〜60dに対応する。画像処理装置100は、例えば、車両50などの移動体に搭載されているものとする。なお、ここでは車載カメラが4台設けられている例を示しているが、これに限る必要は無く、車載カメラ60cまたは車載カメラ60dの1台のみでも構わない。
入力部110は、例えば、画像処理装置100を整備する作業者が画像処理装置100に各種のデータを入力するための入力装置である。例えば、入力部110は、タッチパネルに対応する。画像表示部120は、いずれかまたは複数の車載カメラから入力された画像をそのまま、もしくは俯瞰画像等のように合成した画像を表示する表示装置である。ここで、俯瞰画像は、あたかも車両50の上方の位置から車両50の全体を撮影したような画像である。画像表示部120が俯瞰画像を表示すれば、該表示を見た車両50の運転者は、車両周囲の状況を容易に確認することが可能になる。また、画像表示部120が車載カメラ60cや60dにより撮影された画像を表示すれば、該表示を見た車両50の運転者は、視認しにくい車両側方の状況を容易に確認することが可能になる。なお、画像表示部120は、ディスプレイやタッチパネル等に対応する。
テンプレート生成部130は、ドアミラー50a,50bが開状態又は閉状態の場合に、車載カメラ60c,60dがそれぞれ撮影した画像データから特徴を抽出することで、第1のテンプレートデータと第2のテンプレートデータを生成する処理部である。テンプレート生成部130は、作成した第1,2のテンプレートデータを記憶部140に格納する。なお、第1のテンプレートデータおよび第2のテンプレートデータには、それぞれ、車載カメラ60c用と車載カメラ60d用の2種類が含まれる。
ここで、第1のテンプレートデータは、ドアミラー50aまたは50bが開状態の場合に、車載カメラ60cまたは60dが撮影した全画像データのうち、開状態で撮影した画像の特徴が現れる部分画像データを含む。例えば、ドアミラー50aまたは50bが開状態の場合に、車載カメラ60cまたは60dが画像を撮影すると、かかる画像には、車両50の横方向のボディラインが映りこむ。このような場合には、例えば、テンプレート生成部130は、横方向のボディラインの位置情報を含むデータを第1のテンプレートデータとして生成する。なお、車載カメラ60cが撮影した画像データから生成したデータは、車載カメラ60c用の第1のテンプレートデータとなり、車載カメラ60dが撮影した画像データから生成したデータは、車載カメラ60d用の第1のテンプレートデータとなる。
第2のテンプレートデータは、ドアミラー50aまたは50bが閉状態の場合に、車載カメラ60cまたは60dが撮影した全画像データのうち、閉状態で撮影した画像の特徴が現れる部分画像データを含む。例えば、ドアミラー50aまたは50bが閉状態の場合に、車載カメラ60cまたは60dが画像を撮影すると、かかる画像には、車両50の斜め横方向のボディラインが映りこむ。このような場合には、例えば、テンプレート生成部130は、斜め横方向のボディラインの位置情報を含むデータを第2のテンプレートデータとして生成する。なお、車載カメラ60cが撮影した画像データから生成したデータは、車載カメラ60c用の第2のテンプレートデータとなり、車載カメラ60dが撮影した画像データから生成したデータは、車載カメラ60d用の第2のテンプレートデータとなる。テンプレート生成部130が第1のテンプレートデータおよび第2のテンプレートデータを生成する具体的な処理の説明は後述する。
記憶部140は、第1,2のテンプレートデータ、各車載カメラ60a〜60dの位置や方向を含むパラメータのデータを記憶する記憶部である。図3に示すように、記憶部140は、第1のテンプレートデータ140a、第2のテンプレートデータ140b、パラメータデータ140cを記憶する。ここで、パラメータデータ140cは、各車載カメラ60a〜60dの位置や方向のデータを含む。
画像合成部150は、パラメータデータ140cに基づいて、車載カメラ60a〜60dが撮影した各画像データを合成することで、俯瞰画像データを生成する処理部である。画像合成部150は、俯瞰画像データを画像表示部120に出力する。例えば、画像合成部150は、パラメータデータ140cに基づいて、車載カメラが撮影した画像データ上の座標と、俯瞰画像データ上の座標との対応関係を算出する。そして、画像合成部150は、車載カメラが撮影した画像データを対応関係に基づいて俯瞰画像データ上に貼り付けることで、俯瞰画像データを生成する。なお、画像合成部150は、予め、車載カメラが撮影した画像データ上の座標と俯瞰画像データ上の座標との対応関係を含んだテーブルを保持し、かかるテーブルに基づいて俯瞰画像データを生成してもよい。なお、車載カメラ60cまたは車載カメラ60dの1台のみもしくは2台のみが搭載されている場合には、画像合成部150は俯瞰画像データを生成せずに、車載カメラから得られた画像をそのまま画像表示部120に出力しても良い。
ミラー開閉判定部160は、車載カメラ60cまたは60dの撮影した判定対象となる画像データが、ドアミラー50a,50bの開閉いずれの状態で撮影された画像データであるかを判定する処理部である。以下の説明において、車載カメラ60c,60dの撮影した判定対象となる画像データを判定対象画像データと表記する。ミラー開閉判定部160は、判定結果を警告部170に出力する。
警告部170は、ミラー開閉判定部160の判定結果に基づいて、画像表示部120に警告等の文字を表示させる処理部である。警告部170は、判定対象画像データが、ドアミラー50a,50bが閉状態で車載カメラ60c,60dが撮影した画像データである旨の情報が判定結果に含まれている場合に、警告等の文字を画像表示部120に表示させる。一方、警告部170は、判定対象画像データが、ドアミラー50a,50bが開状態で車載カメラ60c,60dが撮影した画像データである旨の情報が判定結果に含まれている場合には、警告等の文字を画像表示部120に表示させる処理を行わない。
判定対象画像データが、ドアミラー50a,50bが閉状態で車載カメラ60c,60dが撮影した画像データである場合には、例えば、本来は俯瞰画像内に含まれるべきであるが含まれない被写領域の欠落箇所を含む俯瞰画像が、画像表示部120に表示されてしまう。このような場合には、警告部170が警告等の文字を画像表示部120に表示させることで、運転手に注意発起を行うことができる。なお、警告部170は、車内のスピーカ等の出力装置を利用して警告音を鳴らすことで、運転手に注意発起を行ってもよい。
次に、テンプレート生成部130が、第1のテンプレートデータ140aおよび第2のテンプレートデータ140bを生成する処理の一例について具体的に説明する。まず、テンプレート生成部130が、第1のテンプレートデータ140aを生成する処理について説明する。また、ここでは一例として、車載カメラ60cが撮影した画像データを用いて第1のテンプレートデータ140aを生成するものとする。車載カメラ60dが撮影した画像データを用いて第1のテンプレートデータ140aを生成する処理は、車載カメラ60cが撮影した画像データから第1のテンプレートデータ140aを生成する処理と同様である。
図4は、第1のテンプレートデータを生成する処理を説明するための図である。テンプレート生成部130は、ドアミラー50aが開状態の場合に、車載カメラ60cから画像データを取得する。図4に示す画像データAは、ドアミラー50aが開状態の場合に、車載カメラ60cが撮影した画像データの一例である。ドアミラー50aが開いているか否かは、例えば、作業者が入力部110を操作してテンプレート生成部130に通知することが考えられる。
テンプレート生成部130は、画像データAに対してエッジ抽出等の画像処理を実行し、画像データA上のエッジ部分の画素を「1」、エッジ部分以外の画素を「0」とすることで、第1のテンプレートデータ140aを生成する。ここで、テンプレート生成部130がエッジを抽出する場合には、例えば、微分エッジ検出等の周知技術を用いればよい。図4に示すように、画像データAの中央付近から下の部分に車両50が存在しており、車両50と車両50以外の背景画像には輝度差が存在している。このため、車両50の横方向のボディラインが、エッジ部分として抽出され、第1のテンプレートデータ140aが生成される。
テンプレート生成部130は、第1のテンプレートデータ140aを生成した場合に、第1のテンプレートデータ140aを画像表示部120に出力し、第1のテンプレートデータ140aの画像を表示させる。かかる画像を参照した作業者は、入力部110を操作して、第1のテンプレートデータ140aのエッジ部分のうち、不要なエッジ部分を取り除くことで、第1のテンプレートデータ140aを修正しても良い。以下の説明において、第1のテンプレートデータ140aに含まれる車両50のボディラインに相当するエッジ部分を第1の特徴部分と表記する。
図5は、第2のテンプレートデータを生成する処理を説明するための図である。テンプレート生成部130は、ドアミラー50aが閉状態の場合に、車載カメラ60cから画像データを取得する。図5に示す画像データBは、ドアミラー50aが閉状態の場合に、車載カメラ60cが撮影した画像データの一例である。ドアミラー50aが閉じているか否かは、例えば、作業者が入力部110を操作してテンプレート生成部130に通知するものとする。
テンプレート生成部130は、画像データBに対してエッジ抽出等の画像処理を実行し、画像データB上のエッジ部分の画素を「1」、エッジ部分以外の画素を「0」とすることで、第2のテンプレートデータ140bを生成する。ここで、テンプレート生成部130がエッジを抽出する場合には、例えば、微分エッジ検出等の周知技術を用いればよい。図5に示すように、画像データBの左側に斜めの状態で車両50が存在しており、車両50と車両50以外の背景画像には輝度差が存在している。このため、車両50の斜めのボディラインが、エッジ部分として抽出され、第2のテンプレートデータ140bが生成される。
テンプレート生成部130は、第2のテンプレートデータ140bを生成した場合に、第2のテンプレートデータ140bを画像表示部120に出力し、第2のテンプレートデータ140bの画像を表示させる。かかる画像を参照した作業者は、入力部110を操作して、第2のテンプレートデータ140bのエッジ部分のうち、不要なエッジ部分を取り除くことで、第2のテンプレートデータ140bを修正しても良い。以下の説明において、第2のテンプレートデータ140bに含まれる車両50のボディラインに相当するエッジ部分を第2の特徴部分と表記する。
次に、ミラー開閉判定部160の処理を具体的に説明する。図6は、本実施例2にかかるミラー開閉判定部の処理を説明するための図である。なお、ミラー開閉判定部160は、一例として、車載カメラ60cが撮影した画像データと、車載カメラ60c用の第1のテンプレートデータおよび第2のテンプレートデータを用いて、ドアミラー50a,50bの開閉状態を判定するものとする。ミラー開閉判定部160は、車載カメラ60dが撮影した画像データを用いる場合でも、車載カメラ60cが撮影した画像データの場合と同様にして、車載カメラ60d用の第1のテンプレートデータおよび第2のテンプレートデータを用いてドアミラー50a,50bの開閉状態を判定する。
まず、ミラー開閉判定部160は、車載カメラ60cの撮影した判定対象画像データを取得する。ミラー開閉判定部160は、判定対象画像データに対してエッジ抽出等の画像処理を実行し、判定対象画像データ上のエッジ部分の画素を「1」、エッジ部分以外の画素を「0」とすることで、エッジ画像データを生成する。ミラー開閉判定部160が判定対象画像データからエッジ部分を抽出する場合には、例えば、微分エッジ検出等の周知技術を用いればよい。判定対象画像データには、車両50以外にも背景画像が存在しているため、エッジ画像データには、車両50のボディラインのほかに背景画像の形状がエッジ部分として抽出される。
続いて、ミラー開閉判定部160は、エッジ画像データと車載カメラ60c用の第1のテンプレートデータ140aとを比較し、第1のテンプレートデータ140aの第1の特徴部分に対応するエッジ画像データ上の位置を特定する。そして、ミラー開閉判定部160は、エッジ画像データ上で、第1の特徴部分に対応する位置から、特徴画像データとして第1の判定部分画像を特定する。そして、ミラー開閉判定部160は、第1の判定部分画像に含まれるエッジ部分の画素数を計数し合計数を求める。以下の説明において、第1の判定部分画像に含まれるエッジ部分の合計数を第1の尤度と表記する。
ミラー開閉判定部160が、エッジ部分の合計数を計数する処理はどのような周知技術を用いても構わない。例えば、ミラー開閉判定部160は、第1の判定部分画像に含まれる列毎の「1」の数の分布を示すヒストグラムを生成する。そして、ミラー開閉判定部160は、ヒストグラムに含まれる第1の判定部分画像の列毎の「1」の数を合計することで、合計数を計数する。なお、第1の判定部分画像は、第1の特徴部分に対応する位置から所定の画素数までの画像を含む部分画像領域であっても良い。また、フレーム上の該部分画像領域を特定可能な座標情報であってもよい。この場合、所定の画素数については、画像処理装置100を調整する作業者が任意の値に設定しても良い。
続いて、ミラー開閉判定部160は、エッジ画像データと車載カメラ60c用の第2のテンプレートデータ140bとを比較し、第2のテンプレートデータ140bの第2の特徴部分に対応するエッジ画像データ上の位置を特定する。そして、ミラー開閉判定部160は、エッジ画像データ上で、第2の特徴部分に対応する位置から、特徴画像データとして第2の判定部分画像を特定する。そして、ミラー開閉判定部160は、第2の判定部分画像に含まれるエッジ部分の画素数を計数し合計数を求める。第2の判定部分画像は、第2の特徴部分に対応する位置から所定の画素数までの画像を含む部分画像領域であっても良い。また、フレーム上の該部分画像領域を特定可能な座標情報であってもよい。この場合、所定の画素数については、画像処理装置100を調整する作業者が任意の値に設定しても良い。以下の説明において、第2の判定部分画像に含まれるエッジ部分の合計数を第2の尤度と表記する。第2の判定部分画像に含まれるエッジ部分の合計数を計数する処理は、上記ヒストグラムを利用する周知技術を用いればよい。
なお、判定対象画像データから第1の判定部分画像および第2の判定部分画像を特定するまでの処理を、ミラー開閉判定部160の中に特徴画像生成部として設ける処理部、もしくは、画像処理装置100内にミラー開閉判定部160とは別に特徴画像生成部として設ける処理部に行わせても良い。
続いて、ミラー開閉判定部160は、第1の尤度と第2の尤度とを比較することで、判定対象画像データが、ドアミラー50a,50bの開閉いずれの状態で撮影された画像データであるかを判定する。具体的に、ミラー開閉判定部160は、第1の尤度が第2の尤度よりも大きい場合には、判定対象画像データが開状態で撮影された画像データであると判定する。一方、ミラー開閉判定部160は、第1の尤度が第2の尤度よりも小さい場合には、判定対象画像データが閉状態で撮影された画像データであると判定する。なお、第1の尤度と第2の尤度が等しい場合には、例えば、第1の尤度と第2の尤度を再度計数してもよい。
図7は、図6に示した判定対象画像データに対する第1の尤度と第2の尤度とを示す図である。図7の縦軸は尤度の大きさを示す。図7に示すように、この例では、第2の尤度が第1の尤度よりも大きい。このため、ミラー開閉判定部160は、判定対象画像データが、ドアミラー50a,50bが閉状態の場合に撮影された画像であると判定する。
次に、図3に示したテンプレート生成部130が第1のテンプレートデータ140a、第2のテンプレートデータ140bを生成する処理手順の一例について説明する。図8は、テンプレート生成部の処理手順を示すフローチャートである。テンプレート生成部130による図8の処理は、例えば、車載カメラを車両に取り付けた時に行うことが考えられる。また例えば、車検時など、車載カメラが正しい位置及び方向に取り付けられていることが確認できた時点で行うことが考えられる。図8に示すように、テンプレート生成部130は、入力部110からドアミラー50a,50bの開閉状態に関するデータを取得する(ステップS101)。例えば、ドアミラー50a,50bの開閉状態に関するデータは、ドアミラー50a,50bが開状態である旨のデータ、または、ドアミラー50a,50bが閉状態である旨のデータを含む。
テンプレート生成部130は、ドアミラー50a,50bが閉じている場合に(ステップS102,Yes)、車載カメラ60c,60dから画像データを取得する(ステップS103)。テンプレート生成部130は、画像データから上述のようにエッジ部分を抽出することで、車載カメラ60c用および車載カメラ60d用の第2のテンプレートデータ140bを生成する(ステップS104)。そして、テンプレート生成部130は、第2のテンプレートデータ140bを記憶部140に格納する(ステップS105)。
一方、テンプレート生成部130は、ドアミラー50a,50bが開いている場合に(ステップS102,No)、車載カメラ60c,60dから画像データを取得する(ステップS106)。テンプレート生成部130は、画像データから上述のようにエッジ部分を抽出することで、車載カメラ60c用および車載カメラ60d用の第1のテンプレートデータ140aを生成する(ステップS107)。そして、テンプレート生成部130は、第1のテンプレートデータ140aを記憶部140に格納する(ステップS108)。
次に、図3に示した画像処理装置100がドアミラー50a,50bの開閉状態を判定し警告を行う処理の一例について説明する。図9は、本実施例2にかかる画像処理装置の処理手順を示すフローチャートである。ミラー開閉判定部160による図9の処理は、例えば、車載カメラを取り付けた車両のエンジンが起動された時点で行うことが考えられる。また例えば、車両走行中の任意のタイミングで行うことが考えられる。また例えば、画像合成部150が出力用の画像を生成するのと並行して随時行うことが考えられる。図9に示すように、画像処理装置100のミラー開閉判定部160は、車載カメラ60c,60dから判定対象画像データを取得する(ステップS201)。そして、ミラー開閉判定部160は、判定対象画像データに対してエッジ抽出を行い、エッジ画像データを生成する(ステップS202)。
続いて、ミラー開閉判定部160は、第1のテンプレートデータ140a及び第2のテンプレートデータ140bを記憶部140から取得する(ステップS203)。ミラー開閉判定部160は、エッジ画像データ上の第1、第2の判定部分画像に含まれるエッジ部分の画素数をそれぞれ計数し、第1の尤度及び第2の尤度を算出する(ステップS204)。
ミラー開閉判定部160は、第1の尤度及び第2の尤度を比較して、判定対象画像データが閉状態で撮影された画像データであるか否かを判定し(ステップS205)、判定結果を警告部170に出力する(ステップS206)。警告部170は、判定対象画像データが開状態で撮影された画像データの場合に(ステップS207,Yes)、そのまま処理を終了する。一方、警告部170は、判定対象画像データが閉状態で撮影された画像データの場合に(ステップS207,No)、警告を表示させるデータを画像表示部120に出力する(ステップS208)。
なお、ドアミラー50a,50bの開閉状態を判定し警告を行う処理の順序は、図9の順序に限られるものではない。例えば、画像処理装置100は、第1のテンプレートデータ140a及び第2のテンプレートデータ140bを記憶部140から取得した後に、車載カメラから判定対象画像データを取得してもよい。また、画像処理装置100は、第1のテンプレートデータ140a及び第2のテンプレートデータ140bを記憶部140から取得する処理と、車載カメラから判定対象画像データを取得する処理を並列に実行してもよい。
上述してきたように、画像処理装置100は、判定対象画像データのうち、第1の判定部分画像に含まれるエッジ部分の量と、第2の判定部分画像に含まれるエッジ部分の量とを利用して、判定対象画像データが閉状態で撮影された画像データか否かを判定する。一般的に、判定対象画像データに複雑な背景画像が映り込んでいる場合であっても、ドアミラー50a,50bが開状態では、第1の判定部分画像に該当する部分画像に車両のボディラインのエッジが顕著に現れる。これに対して、ドアミラー50a,50bが閉状態では、第2の判定部分画像に該当する部分画像に車両のボディラインのエッジが顕著に現れる。このため、画像処理装置100は、第1、第2の判定部分画像に含まれるエッジ部分の合計数のみを利用し、その他の部分画像は利用しないことで、背景画像の影響を取り除きつつ、効率的に閉状態で撮影された画像であるか否かを判定できる。
また、本実施例2にかかる画像処理装置100は、第1の尤度と第2の尤度との大小関係により、判定対象画像データが閉状態で撮影された画像データか否かを判定する。このため、従来技術のように閾値を比較対象とする必要がないので、作業者は実験等を繰り返して、閾値の値を微調整することがなくなる。したがって、画像処理装置100は、作業者にかかる負担を軽減させることができる。
次に、本実施例3にかかる画像処理装置について説明する。図10は、本実施例3にかかる画像処理装置200の構成を示す図である。図10に示すように、この画像処理装置200は、入力部110、画像表示部120、テンプレート生成部130、記憶部140、画像合成部150、警告部170、ミラー開閉判定部210を有する。また、画像処理装置200は、車載カメラ60a〜60dに接続する。車載カメラ60a〜60dは、図2に示した車載カメラ60a〜60dに対応する。なお、ここでは車載カメラが4台設けられている例を示しているが、これに限る必要は無く、車載カメラ60cおよび車載カメラ60dの2台のみでも構わない。
このうち、図10に示す入力部110、画像表示部120、テンプレート生成部130の説明は、図3に示した入力部110、画像表示部120、テンプレート生成部130の説明と同様である。また、図10に示す記憶部140、画像合成部150、警告部170
の説明は、図3に示した記憶部140、画像合成部150、警告部170の説明と同様である。
ミラー開閉判定部210は、判定対象画像データが、ドアミラー50a,50bの開閉いずれの状態で撮影された画像データであるかを判定する処理部である。ミラー開閉判定部210は、判定結果を警告部170に出力する。以下において、ミラー開閉判定部210の処理を具体的に説明する。
まず、ミラー開閉判定部210は、車載カメラ60c,60dから判定対象画像データを取得し、各判定対象画像データの第1の尤度及び第2の尤度を求める。ミラー開閉判定部210が、判定対象画像データから第1の尤度及び第2の尤度を求める処理は、実施例2のミラー開閉判定部160と同様である。
そして、ミラー開閉判定部210は、第1の尤度と第2の尤度との差が閾値以上の場合には、実施例2のミラー開閉判定部160と同じ処理を実行する。すなわち、ミラー開閉判定部210は、第1の尤度が第2の尤度よりも大きい場合には、判定対象画像データが開状態で撮影された画像データであると判定する。一方、ミラー開閉判定部210は、第1の尤度が第2の尤度よりも小さい場合には、判定対象画像データが閉状態で撮影された画像データであると判定する。なお、第1の尤度及び第2の尤度は、車載カメラ60cが撮影した判定対象画像データの第1の尤度及び第2の尤度でもよいし、車載カメラ60dが撮影した判定対象画像データの第1の尤度及び第2の尤度でもよい。
一方、ミラー開閉判定部210は、第1の尤度と第2の尤度との差が閾値未満の場合には、下記の処理を実行する。すなわち、ミラー開閉判定部210は、車載カメラ60c,60dの判定対象画像データから求めた各第1の尤度を合計することで、第1の合計尤度を算出する。また、ミラー開閉判定部210は、車載カメラ60c,60dの判定対象画像データから求めた各第2の尤度を合計することで、第2の合計尤度を算出する。
そして、ミラー開閉判定部210は、第1の合計尤度と第2の合計尤度とを比較することで、判定対象画像データが、ドアミラー50a,50bの開閉いずれの状態で撮影された画像データであるかを判定する。具体的に、ミラー開閉判定部210は、第1の合計尤度が第2の合計尤度よりも大きい場合には、判定対象画像データが開状態で撮影された画像データであると判定する。一方、ミラー開閉判定部210は、第1の合計尤度が第2の合計尤度よりも小さい場合には、判定対象画像データが閉状態で撮影された画像データであると判定する。なお、第1の合計尤度と第2の合計尤度とが等しい場合には、ミラー開閉判定部210は、例えば、所定時間が経過した後に、第1の尤度と第2の尤度を再度求め、第1の合計尤度と第2の合計尤度とを再計算してもよい。
ここで、ミラー開閉判定部210の処理の一例を具体的に説明する。図11は、本実施例3にかかるミラー開閉判定部210の処理を説明するための図である。図11(a)は、車載カメラ60cが撮影した判定対象画像データから求めた第1の尤度および第2の尤度を示す。図11(a)の縦軸は尤度の大きさを示す。図11(a)に示す例では、第1の尤度と第2の尤度との差が閾値未満であるため、ミラー開閉判定部210は、第1の合計尤度と第2の合計尤度とを求める。
図11(b)は、車載カメラ60dが撮影した判定対象画像データから求めた第1の尤度および第2の尤度を示す。図11(b)の縦軸は尤度の大きさを示す。ミラー開閉判定部210は、図11(a)の第1の尤度を図11(b)の第1の尤度と、図11(a)の第2の尤度を第2の尤度と、それぞれ合計することで、図11(c)に示す第1の合計尤度と第2の合計尤度とを求める。図11(c)の縦軸は尤度の大きさを示す。図11(c)に示すように、第1の合計尤度が第2の合計尤度よりも大きい。このため、ミラー開閉判定部210は、判定対象画像データが、ドアミラー50a,50bが閉状態の場合に車載カメラ60c,60dに撮影された画像データであると判定する。
次に、図10に示した画像処理装置200がドアミラー50a,50bの開閉状態を判定し警告を行う処理の一例について説明する。図12は、本実施例3にかかる画像処理装置の処理手順を示すフローチャートである。図12に示すように、画像処理装置200のミラー開閉判定部210は、車載カメラ60c,60dから判定対象画像データを取得する(ステップS301)。そして、ミラー開閉判定部210は、判定対象画像データに対してエッジ抽出を行い、エッジ画像データを生成する(ステップS302)。
続いて、ミラー開閉判定部210は、第1のテンプレートデータ140a及び第2のテンプレートデータ140bを記憶部140から取得する(ステップS303)。ミラー開閉判定部210は、第1のテンプレートデータ140aの第1の特徴部分に対応するエッジ画像データ上の位置から、特徴画像データとして第1の判定部分画像を特定する。また、第2のテンプレートデータ140bの第2の特徴部分に対応するエッジ画像データ上の位置から、特徴画像データとして第2の判定部分画像を特定する。エッジ画像データ上の第1、第2の判定部分画像に含まれるエッジ部分の画素数をそれぞれ計数し、第1の尤度及び第2の尤度を算出する(ステップS304)。ステップS304では、ミラー開閉判定部210は、車載カメラ60cが撮影した判定対象画像データから第1、第2の尤度を算出すると共に、車載カメラ60dが撮影した判定対象画像データから第1、第2の尤度を算出する。
続いて、ミラー開閉判定部210は、第1の尤度と第2の尤度との差が閾値以上であるか否かを判定する(ステップS305)。ステップS305において、ミラー開閉判定部210は、車載カメラ60cが撮影した判定対象画像データから算出した第1、第2の尤度を比較してもよいし、車載カメラ60dが撮影した判定対象画像データから算出した第1、第2の尤度を比較してもよい。ミラー開閉判定部210は、第1の尤度と第2の尤度との差が閾値未満の場合に(ステップS306,No)、第1の合計尤度と第2の合計尤度とを算出する(ステップS307)。
ミラー開閉判定部210は、第1の合計尤度と第2の合計尤度とを比較して、判定対象画像データが開状態で撮影された画像データであるか否かを判定し(ステップS308)、判定結果を警告部170に出力する(ステップS309)。警告部170は、判定対象画像データが開状態で撮影された画像データの場合に(ステップS310,Yes)、そのまま処理を終了する。一方、警告部170は、判定対象画像データが閉状態で撮影された画像データの場合に(ステップS310,No)、警告を表示させるデータを画像表示部120に出力する(ステップS311)。
一方、ミラー開閉判定部210は、第1の尤度と第2の尤度との差が閾値以上の場合に(ステップS306,Yes)、第1の尤度と第2の尤度とを比較して、判定対象画像データが開状態で撮影された画像データであるか否かを判定する(ステップS312)。そして、ミラー開閉判定部210は、ステップS309に移行する。
なお、ドアミラー50a,50bの開閉状態を判定し警告を行う処理の順序は、図12の順序に限られるものではない。例えば、画像処理装置200は、第1のテンプレートデータ140a及び第2のテンプレートデータ140bを記憶部140から取得した後に、車載カメラから判定対象画像データを取得してもよい。また、画像処理装置200は、第1のテンプレートデータ140a及び第2のテンプレートデータ140bを記憶部140から取得する処理と、車載カメラから判定対象画像データを取得する処理を並列に実行してもよい。
上述した画像処理装置200は、第1の尤度と第2の尤度との差が閾値未満の場合に、各第1の尤度を合計した第1の合計尤度と各第2の尤度を合計した第2の合計尤度とを基にして、判定対象画像データが閉状態で撮影された画像データか否かを判定する。ドアミラー50aとドアミラー50bとは、上述の通り、互いに同期して開閉する。例えば、車室内に設けられた1の操作ボタンを運転者により押下されたことを契機として、両方のドアミラーに対して開くまたは閉じる制御が行われるように、電動により同時に開閉する。そのようなドアミラー50aおよび50bであれば、片方が開状態であればもう一方も開状態であり、片方が閉状態であればもう一方も閉状態である。背景画像の影響で、一方の車載カメラが撮影した判定対象画像データの第1の尤度と第2の尤度との差が僅かであっても、他方の車載カメラが撮影した判定対象画像データの第1の尤度と第2の尤度との差が顕著に現れる場合がある。というのは、一方のカメラの画像上に含まれる背景上のノイズであるエッジと同様の位置に、もう一方にもノイズであるエッジが表れる可能性が低いからである。このため、各第1の尤度と各第2の尤度とを合計することで、第1の合計尤度と第2の合計尤度との差が明確となる。したがって、画像処理装置200は、一方の車載カメラが撮影した判定対象画像データの第1の尤度及び第2の尤度に差が現れない場合であっても、判定対象画像データが開状態で撮影された画像データであるか否かを効率的に判定することができる。
なお、画像処理装置200は、第1の合計尤度と第2の合計尤度が等しい場合には、車両50の両側に何らかの障害物が存在し、かかる障害物の影響により、第1の合計尤度と第2の合計尤度が等しくなったと考えられる。このため、画像処理装置200は、第1の合計尤度と第2の合計尤度が等しい場合には、所定の時間が経過した後に、再度第1の合計尤度と第2の合計尤度とを求めて、判定処理を再度実行しても良い。
車両50の両側に障害物が存在していても車両50が移動している場合には、所定時間後には、車載カメラ60c,60dの撮影方向に存在していた障害物は移動するものと考えられる。このため、所定時間経過後には、判定対象画像データから障害物の影響を除外することができ、画像装置300は、判定対象画像データが開状態で撮影された画像データであるか否かを正確に判定することができる。
ところで、本実施例2,3では、第1のテンプレートデータ140aの第1の特徴部分及び第2のテンプレートデータ140bの第2の特徴部分が、車両50のボディラインとなる場合を例に説明したがこれに限定されるものではない。以下において、その他の特徴部分の例1〜3について説明する。
まず、その他の特徴部分の例1について説明する。図13は、その他の特徴部分の例1を説明するための図である。図13に示すように、例えば、車両50にシールを貼り付け、車載カメラ60c,60dに撮影された画像データのうち、かかるシールの部分画像を第1、第2の特徴部分としてもよい。図13(a)は、ドアミラー50aが開状態の場合に、車載カメラ60cが撮影した画像データである。このため、図13(a)のシールの形状が、第1の特徴部分となる。図13(b)は、ドアミラー50aが閉状態の場合に車載カメラ60cが撮影した画像データである。このため、図13(b)のシールの形状が、第2の特徴部分となる。シールの色を車両の色と異なる色にすることで、より正確に第1、第2の特徴部分を検出することができる。
その他の特徴部分の例2について説明する。図14は、その他の特徴部分の例2を説明するための図である。例えば、車載カメラ60c,60dに撮影された画像データのうち、車両50のドアノブの部分画像を第1、第2の特徴部分としてもよい。図14(a)は、ドアミラー50aが開状態の場合に、車載カメラ60cが撮影した画像データである。このため、図14(a)のドアノブの形状が、第1の特徴部分となる。図14(b)は、ドアミラー50aが閉状態の場合に、車載カメラ60cが撮影した画像データである。このため、図14(b)のドアノブの形状が、第2の特徴部分となる。
その他の特徴部分の例3について説明する。図15は、その他の特徴部分の例3を説明するための図である。車両50が、夜間照明用に近赤外照射装置を有する場合には、画像処理装置100,200は、かかる近赤外線照射装置を利用して第1、第2の特徴部分を抽出してもよい。画像データ上において、赤外線に反射される車両部分は、他の部分に比べて輝度値が著しく大きな値となるので、背景画像の影響を受けることなく、赤外線を反射する部分の形状を特徴部分としてより正確に検出することができる。また、ミラー開閉判定部160,210は、エッジ画像データを生成する場合に、赤外線を車両に照射している場合の画像データと赤外線を車両に照射していない場合の画像データとの差分を取ることで差分画像データを生成してもよい。ミラー開閉判定部160,210は、差分画像データを用いてエッジ画像データを生成することで、背景画像の影響を取り除くことができ、より正確に、判定対象画像データが閉状態で撮影された画像データであるか否かを効率的に判定することができる。
例えば従来技術ではウインカの点灯・非点灯時に合わせて撮影した画像からウインカ位置を特定し、該特定したウインカ位置を利用してカメラ画像の光軸ずれを検出している。これに対して、上記例1〜3のような特徴部分を利用すれば、撮影タイミングを何かに合わせる必要を生じさせないため、開状態で撮影された画像データであるか否かを容易に行える。
本実施例2,3では、第1、第2の尤度を求める場合に、第1,2の判定部分画像に含まれるエッジ部分の画素数を計数することで求め、尤度を直接比較していたが、これに限定されるものではない。以下において、第1、第2について、尤度ではなく、事後確率を求め、事後確率を比較するその他の例1及び例2を示す。
まず、第1、第2の尤度を求めるその他の例1について説明する。例えば、ミラー開閉判定部160は、第1の判定部分画像に含まれるエッジ部分の画素数を、第1のテンプレートデータ140aに含まれる全画素数で除算することで、第1の尤度を求める。また、ミラー開閉判定部160は、第2の判定部分画像に含まれるエッジ部分の画素数を、第2のテンプレートデータ140bに含まれる全画素数で除算することで、第2の尤度を求める。ミラー開閉判定部210もミラー開閉判定部160と同様に、第1、第2の尤度を求めることができる。
次に、第1、第2の尤度を求めるその他の例2について説明する。例えば、ミラー開閉判定部160、210は、ベイズの定理を利用して、第1、第2の尤度を求めてもよい。ここで、第1の事後確率は、ベイズの定理を利用すると、
によって表すことができる。
式1に含まれる尤度P(D|x=開)は、判定対象画像データが、開状態で撮影された「らしさ」を示すものである。具体的に、ミラー開閉判定部160は、第1の判定部分画像に含まれるエッジ部分の画素数を、第1のテンプレートデータ140aに含まれる全画素数で除算することで求めることができる。
式1に含まれるP(D|x=閉)は、判定対象画像データが、閉状態で撮影された「らしさ」を示すものである。具体的に、ミラー開閉判定部160は、第2の判定部分画像に含まれるエッジ部分の画素数を、第2のテンプレートデータ140bに含まれる全画素数で除算することで求めることができる。
式1に含まれるP(x=開)、P(x=閉)はそれぞれ、開状態、閉状態となる場合の事前確率である。事前に開状態、閉状態の傾向が不明の場合には、ミラー開閉判定部160は、P(x=開)=0.5、P(x=閉)=0.5として、第1の尤度を算出する。なお、事前に開状態、閉状態の傾向が分かっている場合には、かかる傾向に合わせて、P(x=開)、P(x=閉)の値を調整する。例えば、ミラー開閉判定部160は、閉状態よりも開状態となる傾向が高い場合には、P(x=開)=0.6、P(x=閉)=0.4として、第1の尤度を算出する。なお、P(x=開)、P(x=閉)の値は、作業者が入力部110を操作して、ミラー開閉判定部160に入力するものとする。
第2の尤度は、ベイズの定理を利用すると、
によって表すことができる。式2に含まれるP(D|x=開)、P(D|x=閉)、P(x=開)、P(x=閉)は、式1で説明したP(D|x=開)、P(D|x=閉)、P(x=開)、P(x=閉)と同様である。
ミラー開閉判定部160、210が、ベイズの定理を用いて第1、第2の事後確率を算出すると、尤度に対して事前確率による重み付けが行える。このため、ミラー開閉判定部160は、運転手のドアミラー50a,50bの開閉する傾向をさらに考慮して判定対象画像データが閉状態で撮影された画像データであるか否かを判定することができる。なお、ミラー開閉判定部210もミラー開閉判定部160と同様に、ベイズの定理を用いて第1、第2の尤度を求めることができる。
なお、本実施例2,3にかかるミラー開閉判定部160,210は、判定対象画像データのエッジ方向をさらに利用して、第1、第2の尤度を求めてもよい。ここでは、図2で説明した状態で車載カメラ60c,60dが車両50に設置されている場合を例にして説明する。この場合、ドアミラー50a,50bが開状態で車載カメラ60c,60dが撮影した画像データには、横方向および縦方向のエッジが多く含まれる傾向がある。これに対して、ドアミラー50a,50bが閉状態で車載カメラ60c,60dが撮影した画像データには、横方向および縦方向のエッジが少なくなり斜め方向のエッジが多くなる傾向がある。
このため、ミラー開閉判定部160,210は、判定対象画像データの第1の判定部分画像に含まれる横方向及び縦方向のエッジ部分の画素数を計数することで、第1の尤度を算出する。また、ミラー開閉判定部160,210は、判定対象画像データの第2の判定部分画像に含まれる横方向及び縦方向以外のエッジ部分の画素数を計数することで、第2の尤度を算出する。ミラー開閉判定部160,210が、判定対象画像データから横方向及び縦方向のエッジを抽出する場合には、例えば、Sobelフィルタ等の周知技術を用いればよい。また、ミラー開閉判定部160,210は、例えば、微分エッジ検出などで抽出したエッジから横方向・縦方向のエッジを取り除くことで、横方向及び縦方向以外のエッジを抽出することができる。
上記のように、ミラー開閉判定部160,210が、判定対象画像データのエッジ方向をさらに利用して、第1、第2の尤度を算出することで、より正確に、判定対象画像データが閉状態で撮影された画像データであるか否かを判定することができる。
なお、本実施例2,3では、移動体の一例として、車両を用いて実施例の説明を行ったがこれに限定されるものではない。例えば、路面電車、自動二輪車等の車両を含む移動体にも同様にして本願発明を適用することができる。
ここで、図3および図10に示したテンプレート生成部130、画像合成部150、ミラー開閉判定部160、210、警告部170は、例えば、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。または、上記処理部130、150、160、210、170は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。図3に示した記憶部140は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。図10に示したミラー開閉判定部210は、ASICやFPGAなどの集積装置、CPU、MPUなどの電子回路に対応する。
ところで、図3,10に示した画像処理装置100,200の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、画像処理装置100,200の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、テンプレート生成部130、記憶部140、画像合成部150をカーナビゲーションシステムなどの車内の別の装置に組み込んでもよい。また、ミラー開閉判定部160,210、記憶部140を、着脱可能な外部装置または携帯端末等に搭載し、かかる外部装置または携帯端末等を画像処理装置100に有線または無線で接続するようにしてもよい。
なお、画像処理装置100,200は、既知のパーソナルコンピュータ、ワークステーション、携帯電話、PHS端末、移動体通信端末またはPDAなどの情報処理装置に、画像処理装置100,200の各機能を搭載することによって実現することもできる。
図16は、実施例にかかる画像処理装置を構成するコンピュータのハードウェア構成を示す図である。図16に示すように、このコンピュータ300は、各種演算処理を実行するCPU(Central Processing Unit)301と、ユーザからのデータの入力を受け付ける入力装置302と、モニタ303を有する。また、コンピュータ300は、記憶媒体からプログラム等を読取る媒体読み取り装置304と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置305を有する。また、コンピュータ300は、画像を撮影する複数のカメラ306と、各種情報を一時記憶するRAM(Random Access Memory)307と、ハードディスク装置308を有する。各装置301〜308は、バス309に接続される。
そして、ハードディスク装置308には、図3,10に示したミラー開閉判定部160,210と同様の機能を有する開閉判定プログラム308aを記憶する。また、ハードディスク装置308は、図3,10に示した第1のテンプレートデータ140a、第2のテンプレートデータ140bにそれぞれ対応する第1のテンプレートデータ308b、第2のテンプレートデータ308cを記憶する。
CPU301が開閉判定プログラム308aをハードディスク装置308から読み出してRAM307に展開することにより、開閉判定プログラム308aは、開閉判定プロセス307aとして機能するようになる。そして、開閉判定プロセス307aは、第1のテンプレートデータ308b、第2のテンプレートデータ308cを利用して、判定対象画像データが開状態で撮影された画像データであるか否かを判定する。
なお、上記の開閉判定プログラム308aは、必ずしもハードディスク装置308に格納されている必要はなく、CD−ROM等の記憶媒体に記憶されたプログラムを、コンピュータ300が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等にこのプログラムを記憶させておき、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)可動部に設けられた撮像部により前記可動部の第1の状態で撮影された画像データのうち前記第1の状態の特徴を含む第1のデータ、並びに、前記撮像部により前記可動部の第2の状態で撮影された画像データのうち前記第2の状態の特徴を含む第2のデータを記憶する記憶部と、
前記撮像部により撮影された判定対象となる判定対象画像データにつき、前記記憶部に記憶した第1のデータに対応する前記判定対象画像データの特徴及び第2のデータに対応する前記判定対象画像データの特徴を比較した結果に基づいて前記判定対象画像データが前記可動部の第1の状態で撮影された画像データであるか否かを判定する判定部と
を備えたことを特徴とする画像判定装置。
(付記2)前記判定対象画像データから特徴を抽出した特徴画像データを生成する特徴画像生成部を更に備え、前記判定部は、前記特徴画像データのうち前記第1のデータに該当する部分画像の特徴量を第1の尤度として抽出し、前記特徴画像データのうち前記第2のデータに該当する部分画像の特徴量を第2の尤度として抽出し、前記第1の尤度及び第2の尤度を比較することで、前記判定対象画像データが前記可動部の第1の状態で撮影された画像データであるか否かを判定することを特徴とする付記1に記載の画像判定装置。
(付記3)前記特徴画像生成部は、複数の前記撮像部によりそれぞれ撮影された判定対象画像データを取得し、前記判定対象画像データ毎に前記特徴画像データを生成し、前記判定部は、前記特徴画像データ毎に第1の尤度及び第2の尤度を抽出し、各第1の尤度の合計と各第2の尤度の合計とを比較することで、前記判定対象画像データが前記可動部の第1の状態で撮影された画像データであるか否かを判定することを特徴とする付記2に記載の画像判定装置。
(付記4)画像判定装置により実行される方法であって、
可動部に設けられた撮像部により判定対象となる判定対象画像データが撮影された場合に、前記可動部が第1の状態の時に前記撮像部により撮影された画像データのうち前記第1の状態の特徴を含む第1のデータに対応する前記判定対象画像データの特徴、及び、前記可動部が第2の状態の時に前記撮像部により撮影された画像データのうち前記第2の状態の特徴を含む第2のデータに対応する前記判定対象画像データの特徴を比較した結果に基づいて、前記判定対象画像データが前記可動部の第1の状態で撮影された画像データであるか否かを判定する判定ステップ
を含んだことを特徴とする画像判定方法。
(付記5)コンピュータに、
可動部に設けられた撮像部により判定対象となる判定対象画像データが撮影された場合に、前記可動部が第1の状態の時に前記撮像部により撮影された画像データのうち前記第1の状態の特徴を含む第1のデータに対応する前記判定対象画像データの特徴、及び、前記可動部が第2の状態の時に前記撮像部により撮影された画像データのうち前記第2の状態の特徴を含む第2のデータに対応する前記判定対象画像データの特徴を比較した結果に基づいて、前記判定対象画像データが前記可動部の第1の状態で撮影された画像データであるか否かを判定する判定手順
を実行させることを特徴とする画像判定プログラム。
(付記6)可動部に設けられた撮像装置と、前記撮像装置により撮像された画像データが如何なる状態で撮影された画像データなのかを判定する画像判定装置と、前記画像判定装置の判定結果に応じた出力を行う出力装置とを有する画像判定システムであって、
前記画像判定装置は、
前記撮像装置により前記可動部の第1の状態で撮影された画像データのうち前記第1の状態の特徴を含む第1のデータ、並びに、前記撮像装置により前記可動部の第2の状態で撮影された画像データのうち前記第2の状態の特徴を含む第2のデータを記憶する記憶部と、
前記撮像装置により撮影された判定対象となる判定対象画像データにつき、前記記憶部に記憶した第1のデータに対応する前記判定対象画像データの特徴及び第2のデータに対応する前記判定対象画像データの特徴を比較した結果に基づいて前記判定対象画像データが前記可動部の第1の状態で撮影された画像データであるか否かを判定し、判定結果を前記出力装置に通知する判定部と
を備えたことを特徴とする画像判定システム。