【解決手段】実施形態に係る画像処理装置は、取得部と、生成部とを備える。取得部は、画像データを取得する。生成部は、取得部によって取得された画像データに含まれる歪みを補正した補正画像の生成時において、画像データに存在しない非実在画素に割り当てる補間画素を周囲画素に基づいて生成する。また、生成部は、補間画素に含まれる周囲画素それぞれの重みを補間画素を補間する理想座標における重みからずらす。
【発明を実施するための形態】
【0010】
以下に、本発明にかかる画像処理装置および画像処理方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【0011】
まず、
図1Aおよび
図1Bを用いて、実施形態に係る画像処理装置および画像処理方法の概要について説明する。
図1Aは、画像処理装置の搭載例を示す図である。
図1Bは、画像処理方法の概要を示す図である。なお、実施形態に係る画像処理方法は、
図1Aに示す画像処理装置1によって実行される。
【0012】
図1Aに示すように、実施形態に係る画像処理装置1は、車両Cに搭載され、カメラ50によって撮像された画像データから画像データに写る障害物等のエッジを抽出する。
図1Aに示す例において、カメラ50は、車両Cの前方を撮像し、車両Cのルームミラーに設置されたドライブレコーダである場合を示す。
【0013】
カメラ50は、例えば、魚眼レンズなどの広角レンズと、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子とを備える。
【0014】
そのため、カメラ50によって撮影された画像データLfには、魚眼レンズに起因する歪みが含まれる。したがって、画像処理装置1は、画像データLfに含まれる歪みを補正した補正画像Lcを生成する。
【0015】
なお、
図1Aの例では、画像データLfに含まれる歪みが、画像データLfの周辺部が緩やかに膨らんだ樽型収差である場合について示す。画像データLfに含まれる歪みは、例えば、望遠レンズで撮影された画像データLfのように、中心部が緩やかに膨らんだ糸巻き収差であってもよい。
【0016】
一般的に、補正画像の生成時においては、元の画像データに存在しない非実在画素を補間画素で補間する補間処理が行われる。かかる補間処理では、補間画素に隣接する周囲画素に基づいて補間画素が生成される。
【0017】
このような補間方法としては、例えば、ニアレストネイバー法、バイリニア法、バイキュービック法がしばし用いられる。なお、以下では、バイリニア法を用いて補間画素を生成する場合について説明するが、ニアレストネイバー法やバイキュービック法に適用することも可能である。
【0018】
ここで、バイリニア法について簡単に説明しておく。バイリニア法は、補間画素が補間される補正画像Lc上の座標から補間画素に隣接する4つの周囲画素までの距離に応じて補間画素に含まれる周囲画素それぞれの重みを決定する。具体的には、補間画素に含まれる周囲画素それぞれの重みは、補間画素に近い画素ほど大きくなり、補間画素から遠い画素ほど小さくなる。
【0019】
また、補正画像の生成時においては、補間画素を補間する理想的な座標(以下、理想座標)が補間画素ごとに予め設定されており、補間画素を理想座標に補間する。一般的に、補間画素を理想座標へ補間すると、補間画素の輝度値が周囲画素の輝度値から滑らかに変化する。以下、このようにして決定した補間画素の輝度値を「理想値」とも記載する場合がある。
【0020】
ところで、
図1Aに示すように、画像データLfに主として赤色と青色で構成された駐車禁止の標識が写っている場合、標識内の赤色と青色との輝度値が比較的近いため、赤色および青色それぞれの輝度差に基づいて、標識内のエッジを抽出するのは困難となる。
【0021】
そのため、例えば、RGBデータに基づいてエッジを抽出することで、輝度差の小さいエッジを抽出する技術がある。しかしながら、かかる技術では、各画素の輝度値に関するデータがそれぞれ8bitであるのに対して、各画素のRGBデータが24bitとなるので、輝度値からエッジを抽出する場合に比べて処理負荷が高くなる。
【0022】
そこで、実施形態に係る画像処理方法では、補正画像Lcの生成時に、補間画素に含まれる周囲輝度それぞれの重みを理想座標における重みからずらすこととした。つまり、実施形態に係る画像処理方法では、補間画素の輝度値を上記の理想値からずらすことで、補間画素の輝度値と周囲画素との輝度値とを敢えて不連続に変化させることとした。
【0023】
さらに、実施形態に係る画像処理方法では、画像データLfにおける赤色と青色との境界領域Rbが単に青色や赤色の画素で構成されず、黒色や白色などの画素が含まれ、境界領域Rbに輝度値が低い画素と、輝度値が高い画素とが交互に発生する点に着目した。
【0024】
つまり、実施形態に係る画像処理方法では、境界領域Rbにおいて補間画素に含まれる周囲画素それぞれの重みを理想値からずらすことで、補間画素に含まれる輝度が高い画素または低い画素のいずれかの重みを大きくする。
【0025】
これにより、輝度値が高い画素と、輝度値が低い画素との間に補間画素を補間したとしても、補間画素と周囲画素との間で十分な輝度差を生じさせることができるので、疑似的にエッジを発生させることが可能となる。
【0026】
具体的には、
図1Bに示すように、周囲画素P1〜P4の間の非実在画素に割り当てる補間画素を生成する場合を想定する。上述のように、理想座標Crに補間画素を補間した場合、補間画素に含まれる各周囲画素P1〜P4の重みは、理想座標Crから各周囲画素P1〜P4までの距離に比例した値となる。
【0027】
図1Bに示す例では、理想座標Crから周囲画素P2が最も距離的に近く、理想座標Crから周囲画素P3が最も距離的に遠い場合を示す。したがって、この場合には、補間画素に含まれる各周囲画素P1〜P4の重みは、周囲画素P2の重みが最も大きく、周囲画素P3の重みが最も小さくなる。
【0028】
そして、理想座標Crに補間画素を補間した場合には、補間画素と周囲画素P1〜P4との輝度値が滑らかに変化することになる。このため、理想座標Crに補間画素を補間した場合には、補正画像Lcの見栄えは良いものの、補間画素と周囲画素P1〜P4との間で輝度値が滑らかに変化するため、補間画素と周囲画素との間の輝度差が十分でなく、エッジの検出は困難となる。
【0029】
これに対して、実施形態に係る画像処理方法では、理想座標Crからずらした補間座標Ciに補間画素を補間する。これにより、実施形態に係る画像処理方法では、補間画素に含まれる周囲画素P1〜P4それぞれの重みを理想座標Crにおける重みからずらすことができる。
【0030】
つまり、この場合において、補間座標Ciに補間画素に含まれる各周囲画素P1〜P4それぞれの重みは、補間座標Ciから各周囲画素P1〜P4それぞれまでの距離に応じた値となる。
【0031】
このため、補間画素を理想座標Crへ補間する場合の理想値からずらすことができるので、補間画素を理想座標Crへ補間する場合に比べて、補間画素と周囲画素P1〜P4との間で輝度値を非連続的に変化させることができる。
【0032】
このように、実施形態に係る画像処理方法では、補間画素の輝度値を理想値から敢えてずらすことで、補間画素と周囲画素との間に疑似的にエッジを発生させることができる。また、実施形態に係る画像処理方法では、補正画像Lcの生成時に補間画素に関するパラメータを変更するだけでよく、追加の処理は不要となる。
【0033】
したがって、実施形態に係る画像処理方法では、処理負荷を抑えつつ、エッジの抽出精度を向上させることができる。特に、実施形態に係る画像処理方法によれば、
図1Aに示した境界領域Rbのように、輝度値の差分が比較的小さいエッジを抽出する際に有効となる。
【0034】
次に、
図2を用いて、実施形態に係る画像処理装置1の構成例について説明する。
図2は、画像処理装置1のブロック図である。
図2に示す例において、画像処理装置1は、記憶部11と、制御部12とを備える。
【0035】
記憶部11は、例えば、RAMやデータフラッシュに対応する。RAMやデータフラッシュは、補正係数情報11aや、各種プログラムの情報等を記憶することができる。
【0036】
補正係数情報11aは、補間画素を補間する補間座標Ciを示す補正係数に関する情報である。ここで、
図3を用いて、補正係数の具体例について説明する。
図3は、補正係数の一例を示す模式図である。
【0037】
なお、
図3の上図には、理想座標Crを示す補間係数を比較のために示し、
図3の下図には、補間座標Ciを示す補間係数の一例を示す。また、
図3の上図に示す「k1x」、「k2x」および「k3y」がそれぞれ補正係数に対応する。
【0038】
また、非実在画素ごとに補間画素が補間される理想座標Crが異なるので、上記の補正係数は、補間画素ごとに設定される。また、「k1x」、「k2x」および「k3y」は、補間画素における周囲画素P1〜P4それぞれの重みを示す係数であり、「0」〜「1」の値をとる。
【0039】
図3の上図に示す例において、理想座標Crに補間画素を補間する場合、周囲画素P1および周囲画素P2の間に位置する中間画素Px1の輝度値B1と、周囲画素P3および周囲画素P4の間に位置する中間画素Px2の輝度値B2とを求めたうえで、理想座標Crへ補間する補間画素の輝度値を求める。
【0040】
周囲画素P1〜P4それぞれの輝度値を「a」、「b」、「c」、「d」とすると、中間画素Px1の輝度値B1は、「B1=a(1−k1x)+b×k1x」となり、中間画素Px2の輝度値B2は、「B2=c(1−k2x)+d×k1x」となる。
【0041】
また、理想座標Crにおける補間画素の輝度値Brは、「Br=B1×(1−k3y)+B2×k3y」となる。なお、輝度値Brは、上記の理想値に対応する。
【0042】
これに対して、本実施形態で用いる補正係数「k2´x」および「k3´y」は、「k2x」および「k3y」に対してそれぞれ「0.5」を乗算した係数である。
【0043】
したがって、
図3の下図に示すように、補間座標Ciは、理想座標Crから左斜め上にずれた座標となる。また、補間座標Ciの理想座標Crからのずれに伴い、補間座標Ciへ補間する補間画素の輝度値は、理想座標Crの場合に比べて、周囲画素P1の重みが大きくなり、周囲画素P4の重みが小さくなる。
【0044】
したがって、この場合においては、補間画素それぞれの輝度値は、それぞれ対応する周囲画素P1の輝度値「a」に引っ張られることになる。特に、この場合においては、補間座標Ciが理想座標Crから斜め方向にずれるので、補正画像Lcにおいて、斜め方向に延びるエッジの抽出を容易にすることができる。
【0045】
つまり、この場合には、
図1Aに示した駐車禁止の標識に含まれる青色と赤色との斜め方向に延びる境界領域Rbに疑似的にエッジを発生させるための有効な手法となり、駐車禁止の標識の認識精度を向上させることができる。
【0046】
図2の説明に戻り、制御部12について説明する。制御部12は、コントローラであり、例えば、CPUやMPU等によって、記憶部11に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部12は、例えば、ASICやFPGA等の集積回路により実現することができる。
【0047】
図2に示す例では、制御部12が、取得部12aと、生成部12bと、抽出部12cとを備える。取得部12aは、カメラ50によって撮像された画像データを取得し、生成部12bへ渡す。本実施形態において、取得部12aは、カメラ50によって魚眼レンズで撮影した画像データを取得することになる。
【0048】
生成部12bは、取得部12aによって取得された画像データに含まれる歪みを補正した補正画像Lcを生成する。また、生成部12bは、補正画像Lcの生成時において、画像データ上に存在しない非実在画素へ割り当てる補間画素を生成する。
【0049】
具体的には、生成部12bは、補正画像Lcの生成時において、補間係数の値を変えた補正係数を用いて、補間画素それぞれの補間座標Ciを算出し、算出した補間座標Ciへ補間画素を補間する。
【0050】
ここで、
図4にて既に説明したように、補正係数「k2´x」および「k3´y」は、補間係数「k2x」および「k3y」に対してそれぞれ「0.5」を乗算した係数である。また、この際、「k1x」はそのままの値が用いられる。
【0051】
したがって、生成部12bは、補間座標Ciを理想座標Crから斜め左上にずらすことができ、これに伴い、補間画素の輝度値を理想値からずらすことができる。特に、上述の補間係数「k2x」および「k3y」を用いた場合には、斜め方向に疑似的にエッジを発生させることができ、境界領域が斜め方向に延伸する駐車禁止の標識の抽出が容易となる。
【0052】
また、生成部12bは、補正係数「k2´x」および「k3´y」に加え、「k1x」についても0.5を乗算した「k1x」を用いて補間座標Ciを生成することにしてもよい。つまり、生成部12bは、補間係数に対して、一律に同じ値(例えば、0.5)を乗算した補正係数を用いて、補間画素を生成することにしてもよい。この場合であっても、補間座標Ciを理想座標Crからずらすことができるので、エッジの発生を容易にすることができる。
【0053】
また、生成部12bは、上記の補間係数に代えて、補間係数にランダムな値をそれぞれ乗算した補正係数それぞれ用いて、補間座標Ciを算出することにしてもよい。この場合においては、補間座標Ciが理想座標Crからランダムにずれることになり、補間画素に含まれる周囲画素それぞれの重みを理想値からランダムにずらすことができる。この場合であっても、補間画素と周囲画素との間の輝度差を大きくすることができるので、エッジを疑似的に発生させることが可能となる。
【0054】
また、生成部12bは、周囲画素が所定の条件を満たすか否かを判定したうえで、補間係数または補正係数から補間画素の生成に用いる係数を選択することにしてもよい。ここでの所定の条件の一例として、例えば、周囲画素の輝度値の和が第1閾値未満であり、かつ、周囲画素それぞれの輝度差が第2閾値未満であることが挙げられる。
【0055】
すなわち、生成部12bは、周囲画素の輝度値に基づいて、所定の条件を満たすか否かを判定し、周囲画素が所定の条件を満たす補間画素に対して、補正係数を用い、所定の条件を満たさない周囲画素に対して補正係数を用いる。
【0056】
また、生成部12bは、補間画素ごとに補正係数を設定したうえで、設定した補正係数を用いて補間画素を生成することにしてもよい。例えば、周囲画素それぞれの輝度差に応じて、補正係数を大きく(または小さく)することにしてもよい。
【0057】
抽出部12cは、生成部12bによって生成された補正画像Lcからエッジを抽出する。例えば、抽出部12cは、Sobelフィルタや、Prewittフィルタ等の任意のエッジ抽出フィルタを用いることで、エッジを抽出する。
【0058】
抽出部12cは、抽出したエッジに関する情報を例えば、図示しない上位ECU(Electronic Control Unit)へ通知する。例えば、上位ECUは、抽出部12cから通知されたエッジに関する情報に基づいて、例えば、車両Cの前方に存在する障害物を検出する。
【0059】
次に、
図4および
図5を用いて、実施形態に係る画像処理装置1による処理手順について説明する。
図4および
図5は、画像処理装置1が実行する処理手順を示すフローチャートである。なお、以下に示す処理手順は、画像データの取得毎に制御部12によって繰り返し実行される。
【0060】
図4に示すように、画像処理装置1は、画像データLfを取得すると(ステップS101)、取得した画像データの歪みを補正した補正画像Lcを生成する(ステップS102)。なお、画像処理装置1は、ステップS102の処理において、補正係数に基づいて、補間画素を生成するとともに、生成した補間画素を非実在画素へ補間する処理を一挙に行う。
【0061】
その後、画像処理装置1は、ステップS102にて生成した補正画像Lcからエッジを抽出し(ステップS103)、処理を終了する。
【0062】
次に、
図5を用いて、生成部12bが補正係数を画像データLf毎に設定する場合における画像処理装置1の処理手順について説明する。
図5に示すように、画像処理装置1は、画像データLfを取得すると(ステップS201)、例えば、周囲画素それぞれの輝度値に基づいて、補正画素ごとに補正係数を設定する(ステップS202)。なお、ステップS202の処理では、例えば、周囲画素が所定条件を満たすか否かの判定結果に応じて、補正係数または補間係数のいずれかが補正画素ごとに設定される。
【0063】
続いて、画像処理装置1は、ステップS202にて設定した補正係数に基づいて、補正画像Lcを生成し(ステップS203)、生成した補正画像に基づいて、エッジを抽出し(ステップS204)、処理を終了する。
【0064】
上述したように、実施形態に係る画像処理装置1は、取得部12aと、生成部12bとを備える。取得部12aは、画像データLfを取得する。生成部12bは、取得部12aによって取得された画像データLfに含まれる歪みを補正した補正画像Lcの生成時において、画像データLfに存在しない非実在画素に割り当てる補間画素を周囲画素に基づいて生成する。
【0065】
また、生成部12bは、補間画素に含まれる周囲画素それぞれの重みを補間画素を補間する際の理想座標における重みからずらす。したがって、実施形態に係る画像処理装置1によれば、処理負荷を抑えつつ、エッジの抽出精度を向上させることができる。
【0066】
ところで、上述した実施形態では、画像データLfから補正画像Lcを生成する際に、補間画像のパラメータを理想値からずらす場合について説明したが、これに限定されるものではない。すなわち、画像の拡大/縮小あるいは回転に伴い、補間画素を生成する場合においても、本願発明を適用することにしてもよい。
【0067】
また、上述した実施形態では、バイリニア法を用いて補正画素を生成する場合について説明したが、これに限定されるものではない。すなわち、ニアレストネイバー法あるいはバイキュービック法を用いて補正画素を生成する場合においても、本願発明を適用することにしてもよい。
【0068】
また、上述した実施形態では、理想座標Crとは異なる補間座標Ciへ補間画素を補間する場合について説明したが、これに限定されるものではない。すなわち、補間座標Ciに基づいて生成した補間画素を理想座標Crへ補間することにしてもよい。
【0069】
また、上述した実施形態では、補間座標Ciに基づいて補間画素を生成する場合について説明したが、これに限定されるものではない。すなわち、例えば、周囲画素を考慮せずに補間画素を生成することにしてもよい。この場合、例えば、補間画素の輝度値をランダムに決定することにしてもよい。
【0070】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。