以下、図面に基づいて、本発明の実施形態について説明する。なお、以下においては、車両に搭載され、路面を撮像した撮像画像に基づいて白線などの対象被写体のエッジを検出することで、白線などの対象被写体を検出する画像処理装置1を例示して説明する。
《第1実施形態》
図1は、第1実施形態に係る画像処理装置1のブロック構成図である。図1に示すように、第1実施形態に係る画像処理装置1は、制御装置10、投光装置20、カメラ30およびメモリ40を備えている。これらの各装置はCAN(Controller Area Network)その他の車載LANによって接続され、相互に情報の授受を行うことができるようになっている。
投光装置20は、たとえば、LEDとLED制御回路とで構成され、制御装置10からの指令に基づいて、周期的に光の照射を行う。また、カメラ30は、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal-Oxide Semiconductor)などの撮像素子を備えており、撮像素子により撮像された輝度画像を、制御装置10に出力する。
ここで、図2は、カメラ30の撮像範囲と投光装置20の照射範囲との関係を示す図である。図2に示すように、投光装置20とカメラ30とは、投光装置20による光の照射範囲が、カメラ30の撮像範囲内となるように配置されており、これにより、カメラ30は、投光装置20により照射された被写体の像を撮像することができる。
制御装置10は、図1に示すように、各種プログラムが格納されたROM(Read Only Memory)12と、このROM12に格納されたプログラムを実行する動作回路としてのCPU(Central Processing Unit)11と、アクセス可能な記憶装置として機能するRAM(Random Access Memory)13と、を備えている。
そして、制御装置10は、カメラ30により撮像された被写体のエッジを抽出するために、露光・投光制御機能と、輝度画像記憶機能と、同期検波処理機能と、エッジ候補検出機能と、処理範囲設定機能と、対象領域設定機能と、補正領域設定機能と、補正機能と、エッジ抽出機能とを備えている。制御装置10は、上記各機能を実現するためのソフトウェアと、上述したハードウェアの協働により各機能を実行する。以下に、画像処理装置1の制御装置10が実現する各機能について説明する。
まず、制御装置10の露光・投光制御機能について説明する。露光・投光制御機能は、投光装置20による光の照射動作およびカメラ30による露光動作を制御する。具体的には、制御装置10は、まず、図3(A)に示すように、所定の投光周期の正弦波信号sinωF(ただし、ωは一周期当たりの投光数(フレーム数)、Fは1秒当たりのフレーム数である。)を生成する。なお、図3(A)は、投光装置20による投光量および投光タイミングの一例を示す図である。
そして、露光・投光制御機能は、生成した正弦波信号sinωFに基づいて、投光装置20の投光動作を制御する。具体的には、露光・投光制御機能は、正弦波信号sinωFの周期に応じた投光タイミングで、投光装置20に光を照射させる。たとえば、図3(A)に示す例では、露光・投光制御機能により、1周期に8回の照射を行う正弦波信号sinωFが生成され、この正弦波信号sinωFに基づいて、1周期において8回の照射光の照射が、一定間隔で行われる。たとえば、図3(A)に示す例では、時刻t0から時刻t8までの1周期のうち、時刻t0〜時刻t8の各タイミングで照射光が照射される。
また、露光・投光制御機能は、正弦波信号sinωFの周期に応じた量の光を、投光装置20に照射させる。たとえば、図3(A)に示す例において、露光・投光制御機能は、投光装置20の投光量の最大値を100%とした場合に、時刻t0においては0%の投光量で照射光を照射させ(すなわち、投光装置20による投光を禁止し)、時刻t1においては30%程度の投光量で照射光を照射させ、時刻t2においては50%程度の投光量で照射光を照射させ、時刻t3においては70%の投光量で照射光を照射させ、時刻t4においては、100%の投光量で照射光を照射させる。同様に、露光・投光制御機能は、時刻t5〜時刻t10においても、正弦波信号sinωFの周期に応じた投光量の光を、投光装置20に照射させる。
また、制御装置10の露光・投光制御機能は、投光装置20の投光タイミングに合わせて、カメラ30に備えられた撮像素子の電子シャッタまたは機械シャッタを動作させることで、カメラ30の露光動作を制御する。ここで、図3(B)は、カメラ30による撮像光量および露光タイミングの一例を示す図である。なお、図3(A)の時刻t0〜時刻t10と、図3(B)の時刻t0〜時刻t10とはそれぞれ同一の時刻を示す。
具体的には、露光・投光制御機能は、図3(B)に示すように、投光装置20により光の照射が行われる時刻t0〜時刻t10と同一のタイミングで、カメラ30に露光動作を行わせる。ここで、図3(A)に示すように、投光装置20の投光量は、正弦波信号sinωFの周期に応じて変化するため、カメラ30の撮像素子で受光される撮像光量も、正弦波信号sinωFの周期に応じて変化する。
たとえば、図3(B)に示す例では、時刻t0において、投光装置20による投光量が0%であるため、カメラ30の撮像素子で受光される光量は太陽光(自然光)に基づく光量となる。そのため、図3(B)に示す例において、太陽光(自然光)による輝度画像の輝度が7000cd/m2である場合には、投光装置20による照射が行われていない時刻t0においては、撮像される輝度画像の輝度は7000cd/m2となる。一方、時刻t1〜時刻t7では、投光装置20による光の照射が行われているため、投光装置20による投光量に応じた、太陽光(自然光)よりも大きい輝度値の輝度画像が撮像される。たとえば、図3(B)に示す例において、投光装置20の投光量が50%の時刻t2において撮像される輝度画像の輝度値は7500cd/m2となり、投光装置20の投光量が100%の時刻t4で撮像される輝度画像の輝度値は8000cd/m2となる。
なお、投光装置20の投光時間は、カメラ30の露光時間よりも長い時間に設定される。すなわち、本実施形態において、露光・投光制御機能は、カメラ30の露光時間よりも投光装置20の投光時間の方が長くなるように、投光装置20の投光動作およびカメラ30の露光動作の制御を行う。
次に、制御装置10の輝度画像記憶機能について説明する。輝度画像記憶機能は、カメラ30による露光動作の結果、得られた輝度画像を取得し、取得した輝度画像の画像信号を、投光装置20の光の照射パターンの情報とともに、メモリ40に記憶する。また、制御装置10は、カメラ30から画像信号を取得した際に、取得した画像信号に対応する輝度画像が、投光装置20によって光が照射された状態で撮像された輝度画像である場合には、光照射フラグfとともに画像信号をメモリ40に記憶する。たとえば、図3(B)に示す例においては、時刻t0(第1フレーム)で得られる輝度画像の画像信号は、照射パターンが8フレームで1周期であるとの情報、および該周期における1フレーム目の画像であるとの情報(照射パターンの情報)とともにメモリ40に記憶される。また、時刻t1(第2フレーム)で得られた輝度画像の画像信号は、照射パターンが8フレームで1周期であるとの情報、および該周期における2フレーム目の画像であるとの情報(照射パターンの情報)および光照射フラグfとともにメモリ40に記憶される。
なお、輝度画像記憶機能は、取得した画像信号に対応する輝度画像が、投光装置20によって光が照射された状態で撮像された輝度画像であるか否かを、たとえば、露光・投光動作を制御するための正弦波信号sinωFに基づいて判定することができる。あるいは、投光装置20から、光の照射を実行した旨の信号を受信することにより判定する構成としてもよいし、取得した画像信号に対応する画像の輝度平均値などの画像情報に基づいて、投光装置20によって光が照射された状態で撮像された輝度画像であるか否かの判断を行う構成としてもよい。また、メモリ40としては、たとえば、RAM(Randam Access Memory)や、FlashROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)など各種記憶装置、記憶媒体を用いることができる。
次に、制御装置10の同期検波処理機能について説明する。本実施形態の制御装置10は、メモリ40から読み出された1周期分の輝度画像の画像信号(たとえば、図3(B)に示す例では、連続する8フレーム分の輝度画像の画像信号)に基づいて、投光装置20の照射タイミングに同期した同期検波処理を行い、投光装置20からの照射光に対する撮像対象からの反射光を抽出する処理を行う。
たとえば、同期検波処理機能は、投光量の異なる2つの輝度画像の各画素の信号出力の差分を、対応する画素ごとに算出することで、投光装置20により照射された光成分を、2つの輝度画像の投光量の差に応じた量だけ抽出することができる。そして、同期検波処理機能は、正弦波信号sinωFの1周期分の輝度画像から、投光装置20により照射された光成分を抽出することで、投光装置20により照射された光成分に基づく検波処理画像を生成する。
たとえば、同期検波処理機能は、図4(A)に示すように、投光装置20により光が照射されていない場合の輝度画像と、図4(B)に示すように、投光装置20により光が照射されている場合の輝度画像とから、図4(C)に示すように、投光装置20により照射された光成分に基づく画像を、検波処理画像として生成することができる。特に、同期検波処理機能により生成される検波処理画像は、投光装置20から照射された光成分に基づくものであるため、図4(C)に示すように、他車両の影や路面の傷など、太陽光により生じた非検出対象を除去することができる。
このように、検波処理画像は、他車両の影や路面の傷など、太陽光により生じる被写体を除去することができるため、検波処理画像から被写体のエッジを検出することで、白線などの検出対象被写体を適切に検出することができる。
一方で、検波処理画像からエッジを検出する場合には、以下のような問題があった。すなわち、カメラ20の撮像素子には一定の頻度でショットノイズが発生することが知られており、一定の輝度の被写体を撮像した場合でも、被写体の輝度がバラついてしまう場合があった。特に、ショットノイズの標準偏差は輝度値の平方根に比例するため、輝度画像の輝度が高いほど、ショットノイズによる輝度のバラつきは大きくなる。一方で、輝度画像の輝度が高いほど、S/N比は大きくなるため、輝度画像では、輝度画像の輝度が高いほど、ショットノイズの影響は相対的に小さくなる。そのため、輝度画像では、被写体の輝度が高い場合ほど、被写体のエッジを高い精度で検出することができる。
これに対して、検波処理画像は、投光量の異なる2つの輝度画像の差に基づいて生成されるため、たとえ輝度画像自体の輝度が高い場合でも、検波処理画像の輝度が低くなってしまう場合がある。一方で、元の輝度画像の輝度が高い場合には、輝度画像において、ショットノイズによる輝度のバラつきが大きくなり、投光量の異なる2つの輝度画像の差から生成した検波処理画像においても、ショットノイズによる輝度のバラつきが生じやすい。そのため、元の輝度画像の輝度が高いが、検波処理画像の輝度が低い場合には、検波処理画像において、ショットノイズの影響が大きくなり、その結果、検波処理画像において、被写体の輪郭がぼやけたり、切れてしまい、検波処理画像から被写体のエッジを適切に抽出することができないという問題があった。
本実施形態に係る制御装置10では、検波処理画像におけるショットノイズの影響を低減し、検波処理画像から被写体のエッジを適切に抽出するために、以下に説明する機能を備えている。
まず、制御装置10のエッジ候補検出機能について説明する。エッジ候補検出機能は、メモリ40に記憶された画像信号に対応する輝度画像から、隣接する画素間の輝度差の大きさが基準値以上となる画像特徴部を、被写体のエッジ候補として検出する。たとえば、図5(A)に示す例では、他車両の影、路面の傷、および白線が輝度画像上に撮像されており、他車両の影、路面の傷、および白線と、路面との輝度差の大きさが基準値以上となっている。この場合、エッジ候補検出機能は、図5(B)に示すように、他車両の影、路面の傷、白線の輪郭を、それぞれエッジ候補として検出する。
なお、エッジ候補検出機能は、エッジ候補を検出する際に、エッジ候補を検出するための基準値を、輝度画像を構成する各画素の輝度のヒストグラムに基づいて設定することができる。たとえば、エッジ候補検出機能は、輝度画像全体の輝度値の平均値が大きいほど基準値を大きな値に設定し、一方、輝度画像全体の輝度値の平均値が小さいほど基準値を小さな値に設定することができる。これにより、周囲の光環境にかかわらず、輝度画像からエッジ候補を適切に検出することができる。なお、エッジ候補を検出する方法は、特に限定されず、公知のエッジ検出方法を用いることができる。
次に、制御装置10の処理範囲設定機能について説明する。処理範囲設定機能は、エッジ候補検出機能により検出されたエッジ候補に基づいて、後述するエッジ検出処理を行うための範囲を、処理範囲として設定する。具体的には、処理範囲設定機能は、輝度画像上のエッジ候補を含む範囲であり、かつ、該エッジ候補から所定の画素数分だけ広がった範囲を、処理範囲として設定する。
たとえば、図5(B)に示すように、エッジ候補が検出されている場合、処理範囲設定機能は、図5(C)に示すように、他車両の影、路面の傷、および白線のそれぞれの輪郭に対応するエッジ候補を含み、かつ、これらのエッジ候補から所定の画素数分だけ広がった領域を、処理範囲として設定する。なお、図5(C)においては、エッジ候補を破線で表示している。
次に、制御装置10の対象領域設定機能について説明する。対象領域設定機能は、処理範囲設定機能により設定された処理範囲内において、隣接する画素間の輝度差の大きさが、所定の判定値以下となる領域を同一の対象領域として設定することで、1または複数の対象領域を設定する。
ここで、図6は、対象領域設定機能による対象領域の設定方法を説明するための図である。対象領域設定機能は、まず、エッジ候補に隣接する一の画素を判定対象画素とし(図6中において「1」で示す画素)、この判定対象画素と、該判定対象画素に隣接する画素(図6中において「2」で示す画素)との輝度差の大きさ(絶対値)を算出する。そして、対象領域設定機能は、算出した輝度差の大きさが、この判定対象画素の輝度値の平方根に基づいて決定される判定値よりも大きいか否かを判定する。
具体的には、対象領域設定機能は、エッジ候補に隣接する判定対象画素(図6中において「1」で示す画素)の輝度値IをI(X
a,Y
a)とし、この判定対象画素に隣接する隣接画素(図6中において「2」で示す画素)の輝度値IをI(X
b,Y
b)とした場合に、下記式(1)に示すように、判定対象画素の輝度値I(X
a,Y
a)と隣接画素の輝度値I(X
b,Y
b)との輝度差の大きさが、判定対象画素の輝度値I(X
a,Y
a)の平方根に基づいて決定される判定値よりも大きい場合には、判定対象画素と隣接画素とを異なる対象領域として設定する。一方、対象領域設定機能は、下記式(2)に示すように、判定対象画素の輝度値I(X
a,Y
a)と隣接画素の輝度値I(X
b,Y
b)との輝度差の大きさが、判定対象画素の輝度値I(X
a,Y
a)の平方根に基づく判定値以下である場合には、判定対象画素と隣接画素とを同一の対象領域として設定する。
なお、上記式(1),(2)中、kは、カメラ30の撮像素子の受光感度に応じて異なる定数であり、実験により予め設定された値である。なお、kの値の設定方法については後述する。
ここで、各画素で発生するショットノイズの標準偏差は、その画素の輝度値の平方根に比例することが知られている。そのため、上記式(1),(2)に示すように、判定対象画素の輝度値I(Xa,Ya)と隣接画素の輝度値I(Xb,Yb)との輝度差の大きさが、判定対象画素の輝度値I(Xa,Ya)の平方根に基づいて設定される判定値よりも大きいか否かを判定することで、隣接する画素間の輝度差がショットノイズに起因するものであるか、それとも被写体が異なることに起因するものであるかを有効に判定することができる。そこで、本実施形態では、隣接する画素の輝度が上記式(2)の関係を満たす場合には、これらの画素の輝度の差はショットノイズの影響によるものであり、これらの画素は同一の被写体に対応するものと判断して、このような画素を同一の対象領域として設定する。一方、隣接する画素の輝度が上記式(1)の関係を満たす場合には、これらの画素の輝度の差は、単にショットノイズの影響によるものではなく、被写体が異なることに起因するものと判断して、このような画素を異なる対象領域として設定する。
なお、上記式(1),(2)においては、ショットノイズの判定精度を向上させるために、判定対象画素の輝度値の平方根にkを乗じている。たとえば、上記式(1),(2)において、kを1よりも大きい値とすることで、異なる被写体に対応する画素をより高い精度で判定することができるが、kを過剰に大きい値に設定してしまうと、隣接する画素間の輝度差が異なる被写体に対応する場合も、これらの画素を同一の対象領域として設定してしまう場合がある。そこで、本実施形態では、隣接する画素の輝度差がショットノイズに起因するものであるか否かを適切に判定することができるように、実験により、kの値が予め設定されている。
また、対象領域設定機能は、図6に示すように、判定対象画素(図6中において「1」で示す画素)に隣接する9個の隣接画素のそれぞれについて、上記式(1)または上記式(2)の関係を満たすか否かを判定することで、これらの画素を、1または複数の対象領域に設定する。
さらに、対象領域設定機能は、隣接画素(図6中において「2」で示す画素)を新たな判定対象画素とし、この判定対象画素に隣接する画素(図6中において「3」で示す画素)を新たな隣接画素として、上記式(1)または上記式(2)の関係を満たすか否かを判定することで、これらの画素を、1または複数の対象領域に設定する。そして、対象領域設定機能は、処理範囲内の全ての画素について、隣接する画素との間で上記式(1)または上記式(2)の関係を満たすか否かを判定することで、最終的に、処理範囲内において1または2以上の対象領域を設定する。
たとえば、図5(C)に示す例では、他車両の影、路面の傷、および白線に対応する処理範囲が設定されており、対象領域設定機能は、図5(D)に示すように、これらの処理範囲内において、1または2以上の対象領域を設定する。たとえば、図5(D)に示す例では、他車両の影に対応する処理範囲内において、他車両の影に対応する画素と路面に対応する画素との間で判定値以上の輝度差が生じており、この場合、対象領域設定機能は、他車両の影に対応する処理範囲内において、他車両の影に対応する対象領域と、路面に対応する対象領域とを設定する。同様に、図5(D)に示す例では、白線に対応する処理範囲内において、白線に対応する画素と路面に対応する画素との間で判定値以上の輝度差が生じており、この場合、対象領域設定機能は、白線に対応する処理範囲内において、白線に対応する対象領域と、路面に対応する対象領域とを設定する。一方、図5(D)に示す例では、路面の傷に対応する処理範囲内において、隣接する画素間で判定値以上の輝度差が生じておらず、対象領域設定機能は、路面の傷に対応する処理範囲内において、対象領域を1つのみ設定する。
次に、制御装置10の補正領域設定機能について説明する。補正領域設定機能は、輝度画像上において設定された対象領域に基づいて、同期検波処理機能により生成された検波処理画像上に、対象領域に対応する補正領域を設定する。具体的には、補正領域設定機能は、対象領域を設定した輝度画像と検波処理画像とを位置合わせした場合に、対象領域に対応する検波処理画像上の領域を、補正領域として設定する。
たとえば、補正領域設定機能は、図7(A)に示す検波処理画像と、図7(B)に示す対象領域が設定された輝度画像とを位置合わせし、図7(C)に示すように、対象領域に対応する検波処理画像上の領域を、補正領域としてそれぞれ設定する。たとえば、図7(C)に示す例において、補正領域設定機能は、他車両の影、路面の傷、および白線に応じた対象領域に対応する検波処理画像上の領域を、他車両の影、路面の傷、および白線に対応する補正領域としてそれぞれ設定する。
また、本実施形態において、補正領域設定機能は、補正領域の設定に加えて、輝度画像上に設定された処理範囲に対応する検波処理画像上の範囲を、特定範囲として設定する。なお、特定範囲は、検波処理画像において検出対象被写体のエッジを抽出する際に用いられることとなる。
次に、制御装置10の補正機能について説明する。補正機能は、検波処理画像上に設定された補正領域内における輝度の補正を行う。具体的には、補正機能は、補正領域内の輝度のバラつきが低減するように、補正領域内の各画素の輝度値をこれら画素の平均値で均一化し、あるいは、補正領域内の各画素の輝度値を該補正領域内の輝度値のうちの最も小さい輝度値で均一化する。これにより、検波処理画像において、ショットノイズの影響による輝度のバラツキを低減することができる。
次に、制御装置10のエッジ抽出機能について説明する。エッジ抽出機能は、補正機能により補正された検波処理画像から、隣接する画素間の輝度差の大きさが所定値以上となる画像特徴部を、白線などの対象被写体のエッジとして抽出する。上述したように、エッジ抽出の対象となる検波処理画像はショットノイズの影響が低減するように補正されているため、このような検波処理画像から対象被写体のエッジを抽出することで、対象被写体のエッジを適切に抽出することができる。また、本実施形態において、エッジ抽出機能は、検波処理画像から対象被写体のエッジを抽出する際に、補正領域設定機能により設定された特定範囲内においてエッジの抽出を行うことで、被写体のエッジ近傍においてエッジの抽出を行うことができるため、エッジ抽出における処理時間および処理負荷を軽減することができる。
たとえば、エッジ抽出機能は、図7(C)に示す補正後の検波処理画像から対象被写体のエッジを抽出することで、図7(D)に示すように、他車両の影や道路の傷などの太陽光により生じた非検出対象を除外して、対象被写体である白線のエッジを適切に抽出することができる。すなわち、検波処理画像では、図7(A)に示すように、他車両の影や道路の傷などの太陽光により生じる被写体が撮像されないため、図7(C)に示すように、他車両の影や道路の傷に対応する補正領域において補正を行ったとしても、検波処理画像から他車両の影や道路の傷に対応するエッジは抽出されず、図7(D)に示すように、白線に対応するエッジのみが抽出される。
続いて、図8を参照して、第1実施形態に係るエッジ検出処理について説明する。図8は、第1実施形態に係る画像処理方法を示すフローチャートである。
ステップS101では、制御装置10の露光・投光制御機能により、図3(A)に示すように、所定周期の正弦波信号sinωFの生成が行われる。そして、ステップS102では、露光・投光制御機能により、ステップS101で生成された正弦波信号sinωFに基づいて、投光装置20の投光動作、および、カメラ30の露光動作の制御が行われる。具体的には、投光装置20により、正弦波信号sinωFに応じた投光タイミングおよび投光量で光が照射されるとともに、カメラ30により、投光装置20の投光タイミングに合わせて露光が行われる。
ステップS103では、制御装置10の輝度画像記憶機能により、ステップS102において撮像された輝度画像がメモリ40に記憶される。そして、ステップS104では、輝度画像記憶機能により、正弦波信号sinωFの一周期分の輝度画像が記憶されたか否かの判断が行われる。たとえば、図3(B)に示す例では、正弦波信号sinωFに基づいて、一周期に8フレームの輝度画像が撮像されるため、連続する8フレーム分の輝度画像が撮像され、これら8フレーム分の輝度画像がメモリ40に記憶された場合に、正弦波信号sinωFの一周期分の輝度画像が記憶されたと判断される。一周期分の輝度画像が記憶された場合には、ステップS105に進み、一方、一周期分の輝度画像が記憶されていない場合には、ステップS102に戻る。
ステップS105では、制御装置10のエッジ候補検出機能により、図5(B)に示すように、ステップS104で記憶した1つの輝度画像から、被写体のエッジがエッジ候補として抽出される。そして、ステップS106では、制御装置10の処理範囲設定機能により、図5(C)に示すように、ステップS105で抽出されたエッジ候補を含み、かつ、該エッジ候補から所定の画素数分だけ広がった領域が、処理範囲として設定される。
さらに、ステップS107では、制御装置10の対象領域設定機能により、図5(D)に示すように、ステップS106で設定された処理範囲内において、対象領域の設定が行われる。すなわち、対象領域設定機能は、処理範囲内の画素のうち、隣接する画素の輝度値が上記式(2)の関係を満たし、これらの画素の輝度の差が、ショットノイズの影響によるものと判断できる場合には、これらの画素を同一の対象領域に設定し、一方、隣接する画素の輝度値が上記式(1)の関係を満たし、これらの画素の輝度の差が、ショットノイズの影響によるものと判断できない場合には、これらの画素を異なる対象領域に設定することで、処理範囲内において1または複数の対象領域を設定する。このように、本実施形態では、一周期分の輝度画像のうち、1つの輝度画像について対象領域の設定が行われる。
そして、ステップS108では、制御装置10の同期検波処理機能により、ステップS103で記憶された一周期分の輝度画像に対して同期検波処理が施されることで、図4(C)に示すように、検波処理画像の生成が行われる。そして、ステップS109では、制御装置10の補正領域設定機能により、ステップS108で生成された検波処理画像上に補正領域が設定される。すなわち、補正領域設定機能は、図7(A)〜(C)に示すように、対象領域を設定した輝度画像と検波処理画像とを位置合わせし、対象領域に対応する検波処理画像上の領域を、補正領域として設定する。さらに、補正領域設定機能は、処理範囲に対応する検波処理画像上の領域を、特定範囲として設定する。
ステップS110では、制御装置10の補正機能により、ステップS109で設定された補正領域の輝度のバラつきが低減するように、検波処理画像に設定された補正領域内の輝度の補正が行われる。これにより、検波処理画像におけるショットノイズの影響を低減することができる。そして、ステップS111では、ステップS110で補正された検波処理画像から、被写体のエッジの抽出が行われる。これにより、ショットノイズの影響が低減された検波処理画像から、被写体のエッジを適切に抽出することができる。
以上のように、第1実施形態では、隣接する画素の輝度差が、一方の画素の輝度値の平方根に基づいて決定される判定値以下であるか否かを判断し、隣接する画素の輝度差が一方の画素の輝度値の平方根に基づいて決定される判定値以下である場合には、隣接する画素の輝度差はショットノイズの影響によるものと判断し、検波処理画像において、これらの画素に対応する輝度のバラつきを補正することで、検波処理画像におけるショットノイズの影響を低減させることができる。
一方、隣接する画素の輝度差が、一方の画素の輝度値の平方根に基づいて決定される判定値よりも大きい場合には、隣接する画素の輝度差は実際の被写体の輝度に起因するものと判断して、検波処理画像において、これらの画素に対応する輝度のバラつきを補正しないことで、被写体間のコントラストが低下してしまうことを有効に防止することができ、これにより、被写体のエッジをより適切に抽出することができる。
さらに、第1実施形態では、輝度画像からエッジ候補を抽出し、抽出したエッジ候補を含み、かつ、該エッジ候補から所定の画素数分の距離内となる範囲を処理範囲として設定し、輝度画像上の処理範囲内において対象領域を設定する。これにより、第1実施形態では、輝度画像全体に対象領域を設定する場合と比べて、エッジ検出処理に要する処理時間および処理負荷を軽減することができる。また、第1実施形態では、処理範囲に対応する検波処理画像上の領域を特定範囲として設定し、検波処理画像の特定範囲内において被写体のエッジを抽出することで、同様に、エッジ検出処理に要する処理時間および処理負荷を軽減することができる。
《第2実施形態》
続いて、第2実施形態に係る画像処理装置を説明する。第2実施形態における画像処理装置1は、図1に示す第1実施形態に係る画像処理装置1と同様の構成を備え、以下に説明するように動作すること以外は、第1実施形態に係る画像処理装置1と同様である。
具体的には、第1実施形態では、制御装置10の対象領域設定機能が、輝度画像上に対象領域を設定し、制御装置10の補正領域設定機能が、対象領域に対応する検波処理画像上の領域を補正領域として設定しているが、第2実施形態では、制御装置10の補正領域設定機能が、輝度画像上に補正領域を設定する。
すなわち、第2実施形態において、補正領域設定機能は、輝度画像上に設定された処理範囲内において、上記式(1)に示すように、隣接する画素間の輝度差の大きさが該画素の輝度値の平方根に基づいて決定される判定値よりも大きい場合には、これらの画素を異なる補正領域に設定し、一方、上記式(2)に示すように、隣接する画素間の輝度差の大きさが該画素の輝度値の平方根に基づいて決定される判定値以下となる場合には、これらの画素を同一の補正領域に設定することで、輝度画像上の処理範囲内に1または複数の補正領域を設定する。
そして、第2実施形態において、制御装置10の補正機能は、輝度画像上に設定された補正領域内の輝度のバラつきが低減するように、補正領域内の輝度を補正する。なお、第2実施形態においては、撮像された全ての輝度画像について補正領域が設定され、それぞれの輝度画像の補正領域内において輝度の補正が行われる。そして、制御装置10の同期検波処理機能は、輝度が補正された一周期分の輝度画像に対して同期検波処理を施すことで検波処理画像を生成する。このように、第2実施形態では、ショットノイズの影響が低減するように輝度画像の輝度を補正し、補正した輝度画像に基づいて検波処理画像を生成することで、ショットノイズの影響が低減された検波処理画像を生成することができ、その結果、検波処理画像から被写体のエッジを適切に抽出することができる。
次に、図9を参照して、第2実施形態に係る画像処理方法について説明する。なお、図9は、第2実施形態に係る画像処理方法を示すフローチャートである。
ステップS201〜S204では、第1実施形態のステップS101〜S104と同様に、正弦波信号sinωFの生成が行われ(ステップS201)、生成された正弦波信号sinωFに基づいて、投光装置20の投光動作およびカメラ30の露光動作の制御が行われ(ステップS202)、露光動作により撮像された輝度画像がメモリ40に記憶される(ステップS203)。そして、正弦波信号sinωFの一周期分の輝度画像が記憶された場合には(ステップS204=Yes)、ステップS205に進み、一周期分の輝度画像が記憶されていない場合には(ステップS204=No)、ステップS202に戻る。
ステップS205〜S210では、ステップS203で記憶された輝度画像について輝度の補正が行われる。なお、ステップS205〜S210の処理は、ステップS203で記憶された一周期分の輝度画像のそれぞれについて行われる。
まず、ステップS205では、第1実施形態のステップS105と同様に、輝度画像からエッジ候補の抽出が行われ、ステップS206では、第1実施形態のステップS106と同様に、輝度画像上に処理範囲が設定される。
そして、ステップS207では、制御装置10の補正領域設定機能により、輝度画像上に設定された処理範囲内において、補正領域の設定が行われる。具体的には、補正領域設定機能は、隣接する画素の輝度が、上記式(1)に示すように、隣接する画素の輝度差の大きさが、一方の画素の輝度値の平方根に基づいて決定される判定値を超える場合には、これらの画素を異なる補正領域に設定し、一方、上記式(2)に示すように、隣接する画素の輝度差の大きさが、一方の画素の輝度値の平方根に基づいて決定される判定値以下となる場合には、これら画素を同一の補正領域に設定することで、処理範囲内において1または複数の補正領域を設定する。
そして、ステップS208では、制御装置10の補正機能により、輝度画像上に設定された補正領域内の輝度のバラつきが低減するように、補正領域内の輝度の補正が行われる。これにより、輝度画像におけるショットノイズの影響を低減することができる。そして、ステップS209では、ステップS208で補正された輝度画像がメモリ40に記憶される。
ステップS210では、一周期分の輝度画像の全てについて、ステップS205〜S209の処理が行われたか否かの判断が行われる。たとえば、図3(B)に示す例では、一周期で8フレーム分の輝度画像が撮像されるため、この8フレーム分の輝度画像の全てについて、補正領域の設定および補正領域内の輝度の補正が行われたか否かの判断が行われる。一周期分の輝度画像の全てについて、ステップS205〜S209の処理が行われたと判断された場合には、ステップS211に進み、一方、一周期分の輝度画像の全てについて、ステップS205〜S209の処理が行われていないと判断された場合には、ステップS205に戻り、処理が行われていない輝度画像について、ステップS205〜S209の処理が行われる。
ステップS211では、ステップS208で補正された一周期分の輝度画像がメモリ40から読み出され、読み出された一周期分の輝度画像に対して同期検波処理が施される。これにより、ショットノイズの影響が低減された輝度画像に基づいて、ショットノイズの影響が低減された検波処理画像が生成される。そして、ステップS212では、ステップS211で生成された検波処理画像から、被写体のエッジの抽出が行われる。
以上のように、第2実施形態では、隣接する画素間の輝度差が一方の画素の輝度値の平方根に基づいて決定される判定値以下であり、隣接する画素間の輝度差がショットノイズの影響によるものと判断できる場合には、輝度画像上において、これらの画素を同一の補正領域として設定し、補正領域内の輝度のバラつきを補正することで、輝度画像におけるショットノイズの影響を低減させることができる。そして、ショットノイズによる輝度のバラつきが補正された輝度画像に基づいて、検波処理画像を生成することで、検波処理画像におけるショットノイズの影響を低減させることができ、その結果、検波処理画像から被写体のエッジを適切に抽出することができる。
以上説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
なお、上述した実施形態の投光装置20は本発明の投光手段に、カメラ30は本発明の撮像手段に、メモリ40は本発明の記憶手段に、制御装置10の同期検波処理機能は本発明の同期検波処理手段に、制御装置10の対象領域設定機能は本発明の対象領域設定手段に、制御装置10の補正領域設定機能は本発明の補正領域設定手段および特定範囲設定手段に、制御装置10の補正機能は本発明の補正手段に、制御装置10のエッジ抽出機能は本発明のエッジ抽出手段に、制御装置10のエッジ候補抽出機能は本発明のエッジ候補抽出手段に、制御装置10の処理範囲設定機能は本発明の処理範囲設定手段に、それぞれ対応する。