IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士ゼロックス株式会社の特許一覧

<>
  • 特開-画像処理装置及びプログラム 図1
  • 特開-画像処理装置及びプログラム 図2
  • 特開-画像処理装置及びプログラム 図3
  • 特開-画像処理装置及びプログラム 図4
  • 特開-画像処理装置及びプログラム 図5
  • 特開-画像処理装置及びプログラム 図6
  • 特開-画像処理装置及びプログラム 図7
  • 特開-画像処理装置及びプログラム 図8
  • 特開-画像処理装置及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024046819
(43)【公開日】2024-04-05
(54)【発明の名称】画像処理装置及びプログラム
(51)【国際特許分類】
   G06T 5/94 20240101AFI20240329BHJP
   H04N 23/60 20230101ALI20240329BHJP
   H04N 23/63 20230101ALI20240329BHJP
【FI】
G06T5/00 735
H04N5/232 290
H04N5/232 945
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022152122
(22)【出願日】2022-09-26
(71)【出願人】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】池田 和敏
(72)【発明者】
【氏名】鳴海 翔太
(72)【発明者】
【氏名】白壁 奏馬
【テーマコード(参考)】
5B057
5C122
【Fターム(参考)】
5B057BA02
5B057BA23
5B057CA01
5B057CA08
5B057CA12
5B057CB01
5B057CB08
5B057CB12
5B057CC02
5B057CE04
5B057CE05
5B057CE08
5B057CE11
5B057CE20
5B057DA16
5B057DB02
5B057DB09
5B057DC22
5C122DA03
5C122DA04
5C122EA20
5C122FE05
5C122FH01
5C122FH10
5C122FH23
5C122FK12
5C122FK28
5C122FK42
5C122FL02
5C122FL03
5C122HA46
5C122HA75
5C122HA88
5C122HB01
(57)【要約】
【課題】1つの画像における明部と暗部の両方のダイナミックレンジを広げた補正画像を得られるようにする。
【解決手段】画像処理装置はプロセッサを備える。プロセッサは、Retinex理論に基づいて元画像10の照明成分Lを推定して、照明画像12を取得する照明成分推定処理と、元画像10と照明画像12に基づいて得られる明部補正と暗部補正のそれぞれの画素値Il’,Id’を、照明画像12の画素値Lで重み付けして合成することで、補正画像14を生成する合成処理を行う。
【選択図】図2
【特許請求の範囲】
【請求項1】
プロセッサを含み、
前記プロセッサは、
Retinex理論に基づいて元画像の照明成分を推定して、照明画像を取得する照明成分推定処理と、
前記元画像と前記照明画像に基づいて得られる明部補正と暗部補正のそれぞれの画素値を、前記照明画像の画素値で重み付けして合成することで、補正画像を生成する合成処理と、を行う、
画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記元画像は、画素値が明度を表わす明度画像である、
画像処理装置。
【請求項3】
請求項2に記載の画像処理装置であって、
前記プロセッサは、
前記元画像の画素値を、前記照明画像の画素値で除算することで、前記暗部補正の画素値を取得し、
前記元画像を明度反転させた反転明度画像の画素値を、前記照明画像を明度反転させた反転照明画像の画素値で除算して得られる画素値を、明度反転することで、前記明部補正の画素値を取得する、
画像処理装置。
【請求項4】
請求項1~3のいずれか1つに記載の画像処理装置であって、
前記プロセッサは、
前記照明画像における画素値が閾値より高い領域である明部領域とその画素値が前記閾値以下である暗部領域を、前記元画像または前記元画像に色成分が付加された元カラー画像に重畳させて、表示部に表示する制御を行う、
画像処理装置。
【請求項5】
請求項4に記載の画像処理装置であって、
前記プロセッサは、
前記表示部に表示された前記明部領域と前記暗部領域を変更する指示を、ユーザから受け付け、
前記ユーザからの前記変更の指示に基づいて、前記照明画像の画素値を更新する、
画像処理装置。
【請求項6】
請求項1~3のいずれか1つに記載の画像処理装置であって、
前記プロセッサは、
前記照明画像の画素値を補正するための補正係数を、ユーザから受け付け、
前記補正係数に基づいて、前記照明画像の画素値を更新する、
画像処理装置。
【請求項7】
請求項1~3のいずれか1つに記載の画像処理装置であって、
前記プロセッサは、
前記照明成分推定処理において、前記元画像を平滑化したぼかし画像を、前記照明画像として取得する、
画像処理装置。
【請求項8】
請求項7に記載の画像処理装置であって、
前記プロセッサは、
カーネルサイズ、カーネルのシグマ値、またはそれらの両方を、ユーザから受け付け、
前記照明成分推定処理において、前記ユーザから受け付けた前記カーネルサイズ、前記カーネルのシグマ値、またはそれらの両方を有するカーネルを用いて、前記照明画像を取得する、
画像処理装置。
【請求項9】
請求項7に記載の画像処理装置であって、
前記プロセッサは、
前記元画像に現れる対象物に関し、カメラによる撮影時の前記カメラと前記対象物の間の距離の情報を取得し、
前記照明成分推定処理において、前記カメラと前記対象物の間の距離が長い場合にはそれが短い場合に比べて、カーネルサイズが小さいカーネルを用いて、前記照明画像を取得する、
画像処理装置。
【請求項10】
請求項7に記載の画像処理装置であって、
前記プロセッサは、
前記元画像に現れる対象物に関し、前記元画像の全体に対する前記対象物の大きさの情報を取得し、
前記照明成分推定処理において、前記対象物の大きさが小さい場合にはそれが大きい場合に比べて、カーネルサイズが小さいカーネルを用いて、前記照明画像を取得する、
画像処理装置。
【請求項11】
請求項7に記載の画像処理装置であって、
前記プロセッサは、
前記元画像のカメラによる撮影時の画角の情報を取得し、
前記照明成分推定処理において、前記画角が大きい場合にはそれが小さい場合に比べて、カーネルサイズが小さいカーネルを用いて、前記照明画像を取得する、
画像処理装置。
【請求項12】
Retinex理論に基づいて元画像の照明成分を推定して、照明画像を取得する照明成分推定処理と、
前記元画像と前記照明画像に基づいて得られる明部補正と暗部補正のそれぞれの画素値を、前記照明画像の画素値で重み付けして合成することで、補正画像を生成する合成処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【0002】
従来から、カメラの撮影画像を鮮明化する画像処理や、撮影画像の白飛びや黒つぶれを補正する画像処理等について検討が行われている。
【0003】
特許文献1は、同一画像内に極端に明るい部分と暗い部分が混在する画像や、水中・霧など極端にコントラストが低い部分が混在する画像を、見やすい画像に変換する鮮明化処理と、画像内の黒つぶれ部分を補正する黒つぶれ処理に関するものである。同文献には、鮮明化処理を行った画像と黒つぶれ処理を行った画像を合成する画像処理が開示されている。
【0004】
特許文献2は、1つの画像における明部と暗部のいずれのコントラストも改善させる画像処理に関するものである。同文献には、1つの画像を複数のブロックに分割して、ブロック毎に輝度値の頻度をカウントし、ブロック毎に輝度値のヒストグラムを生成する処理等を行って出力画像を得る構成が開示されている。
【0005】
非特許文献1には、映像は物体を照らす照明光成分とその物体の反射率成分との積で表わされるという理論に基づいたRetinex(レティネックス)処理と、画像内の霞を除去するDehaze(ディヘイズ)処理に関し、Retinex処理とDehaze処理の間には、実用的な仮定のもとで線形の関係があることが記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第6893068号公報
【特許文献2】特開2011-124800号公報
【非特許文献】
【0007】
【非特許文献1】Galdran, “On the Duality Between Retinex and Image Dehazing”, in CVPR 2018
【発明の概要】
【発明が解決しようとする課題】
【0008】
カメラの撮影画像において、例えば、光源で照らされた領域と、光源で照らされない領域とで極端な明暗差が生じ、明部と暗部でダイナミックレンジが狭くなることがある。このような画像に対して、明部と暗部の両方のダイナミックレンジを広げた補正画像を得られるようにすることが望まれている。
【0009】
本発明の目的は、1つの画像における明部と暗部の両方のダイナミックレンジを広げた補正画像が得られるようにすることにある。
【課題を解決するための手段】
【0010】
請求項1に係る発明は、プロセッサを含み、前記プロセッサは、Retinex理論に基づいて元画像の照明成分を推定して、照明画像を取得する照明成分推定処理と、前記元画像と前記照明画像に基づいて得られる明部補正と暗部補正のそれぞれの画素値を、前記照明画像の画素値で重み付けして合成することで、補正画像を生成する合成処理と、を行う、画像処理装置である。
【0011】
請求項2に係る発明は、請求項1に記載の画像処理装置であって、前記元画像は、画素値が明度を表わす明度画像である、画像処理装置である。
【0012】
請求項3に係る発明は、請求項2に記載の画像処理装置であって、前記プロセッサは、前記元画像の画素値を、前記照明画像の画素値で除算することで、前記暗部補正の画素値を取得し、前記元画像を明度反転させた反転明度画像の画素値を、前記照明画像を明度反転させた反転照明画像の画素値で除算して得られる画素値を、明度反転することで、前記明部補正の画素値を取得する、画像処理装置である。
【0013】
請求項4に係る発明は、請求項1~3のいずれか1つに記載の画像処理装置であって、前記プロセッサは、前記照明画像における画素値が閾値より高い領域である明部領域とその画素値が前記閾値以下である暗部領域を、前記元画像または前記元画像に色成分が付加された元カラー画像に重畳させて、表示部に表示する制御を行う、画像処理装置である。
【0014】
請求項5に係る発明は、請求項4に記載の画像処理装置であって、前記プロセッサは、前記表示部に表示された前記明部領域と前記暗部領域を変更する指示を、ユーザから受け付け、前記ユーザからの前記変更の指示に基づいて、前記照明画像の画素値を更新する、画像処理装置である。
【0015】
請求項6に係る発明は、請求項1~3のいずれか1つに記載の画像処理装置であって、前記プロセッサは、前記照明画像の画素値を補正するための補正係数を、ユーザから受け付け、前記補正係数に基づいて、前記照明画像の画素値を更新する、画像処理装置である。
【0016】
請求項7に係る発明は、請求項1~3のいずれか1つに記載の画像処理装置であって、前記プロセッサは、前記照明成分推定処理において、前記元画像を平滑化したぼかし画像を、前記照明画像として取得する、画像処理装置である。
【0017】
請求項8に係る発明は、請求項7に記載の画像処理装置であって、前記プロセッサは、カーネルサイズ、カーネルのシグマ値、またはそれらの両方を、ユーザから受け付け、前記照明成分推定処理において、前記ユーザから受け付けた前記カーネルサイズ、前記カーネルのシグマ値、またはそれらの両方を有するカーネルを用いて、前記照明画像を取得する、画像処理装置である。
【0018】
請求項9に係る発明は、請求項7に記載の画像処理装置であって、前記プロセッサは、前記元画像に現れる対象物に関し、カメラによる撮影時の前記カメラと前記対象物の間の距離の情報を取得し、前記照明成分推定処理において、前記カメラと前記対象物の間の距離が長い場合にはそれが短い場合に比べて、カーネルサイズが小さいカーネルを用いて、前記照明画像を取得する、画像処理装置である。
【0019】
請求項10に係る発明は、請求項7に記載の画像処理装置であって、前記プロセッサは、前記元画像に現れる対象物に関し、前記元画像の全体に対する前記対象物の大きさの情報を取得し、前記照明成分推定処理において、前記対象物の大きさが小さい場合にはそれが大きい場合に比べて、カーネルサイズが小さいカーネルを用いて、前記照明画像を取得する、画像処理装置である。
【0020】
請求項11に係る発明は、請求項7に記載の画像処理装置であって、前記プロセッサは、前記元画像のカメラによる撮影時の画角の情報を取得し、前記照明成分推定処理において、前記画角が大きい場合にはそれが小さい場合に比べて、カーネルサイズが小さいカーネルを用いて、前記照明画像を取得する、画像処理装置である。
【0021】
請求項12に係る発明は、Retinex理論に基づいて元画像の照明成分を推定して、照明画像を取得する照明成分推定処理と、前記元画像と前記照明画像に基づいて得られる明部補正と暗部補正のそれぞれの画素値を、前記照明画像の画素値で重み付けして合成することで、補正画像を生成する合成処理と、をコンピュータに実行させるプログラムである。
【発明の効果】
【0022】
請求項1に係る発明によれば、1つの元画像における明部と暗部の両方のダイナミックレンジを広げた補正画像が得られる。
【0023】
請求項2に係る発明によれば、明度画像に対する補正画像が得られる。
【0024】
請求項3に係る発明によれば、元画像と照明画像の画素値から、明部補正と暗部補正の画素値が得られる。
【0025】
請求項4に係る発明によれば、ユーザが明部領域と暗部領域を確認可能となる。
【0026】
請求項5に係る発明によれば、ユーザが明部領域と暗部領域を確認しながら、照明成分を更新することが可能となる。
【0027】
請求項6に係る発明によれば、ユーザが照明成分を補正可能となる。
【0028】
請求項7に係る発明によれば、元画像を平滑化したぼかし画像の画素値により、照明成分が近似される。
【0029】
請求項8に係る発明によれば、ユーザがカーネルサイズ、カーネルのシグマ値、またはそれらの両方により、照明成分を調整可能となる。
【0030】
請求項9に係る発明によれば、補正画像において対象物の視認性が向上することを期待できる。
【0031】
請求項10に係る発明によれば、補正画像において対象物の視認性が向上することを期待できる。
【0032】
請求項11に係る発明によれば、補正画像において物体の視認性が向上することを期待できる。
【0033】
請求項12に係る発明によれば、1つの元画像における明部と暗部の両方のダイナミックレンジを広げた補正画像が得られる。
【図面の簡単な説明】
【0034】
図1】カラー補正画像の取得処理の流れを示す図である。
図2】照明成分推定処理と領域別加重合成処理の流れを示すフローチャートである。
図3】元画像と補正画像を例示する図である。
図4】明部領域と暗部領域を表わす調整用画像についての説明図である。
図5】照明成分の補正についての説明図である。
図6】カーネルサイズの設定についての説明図である。
図7】カメラの撮影画像の各種情報についての説明図である。
図8】カラー補正画像の別の取得処理の流れを示す図である。
図9】コンピュータのハードウェア構成を例示する図である。
【発明を実施するための形態】
【0035】
<概要>
以下、本発明に係る実施形態について添付図面を確認しながら詳細に説明する。以下で述べる構成は、説明のための例示であって、画像処理装置の仕様等に合わせて適宜変更が可能である。また、以下において複数の実施形態や変形例等が含まれる場合、それらの特徴部分を適宜に組み合わせて用いることは当初から想定されている。全ての図面において同一の要素には同一の符号を付し、重複する説明を省略する。
【0036】
以下では、Retinex理論に基づいて元画像の照明成分を推定して、照明画像を取得する照明成分推定処理と、元画像と照明画像に基づいて得られる明部補正と暗部補正のそれぞれの画素値を、照明画像の画素値で重み付けして合成することで、補正画像を生成する合成処理と、を行う、画像処理装置についての実施形態を説明する。
【0037】
画像処理装置は、例えばデジタルカメラ(水中カメラ等を含む)、スマートフォンやタブレット端末等の携帯端末装置、PC(パーソナルコンピュータ)、プリンタ、複合機等である。画像処理装置は、カメラ(撮像素子)を含んで構成された装置であってもよいし、カメラとは別体の装置であってもよい。画像処理装置は、カメラによって撮影された画像(撮影画像)に対して、以下説明する処理を行う。
【0038】
画像処理装置の処理対象となる画像は、静止画、または、動画のフレーム画像である。画像処理装置(一例としてカメラ等)は、画像が取得された後、即座に処理を行ってもよい。すなわち、リアルタイム処理を行ってもよい。また、画像処理装置は、画像が取得された後、画像を例えばハードディスクやフラッシュメモリ等の記憶装置に一旦記憶し、それを読み出して処理を行ってもよい。また、画像処理装置は、カメラ等の他の装置から画像を受け取って処理を行ってもよい。以下では、画像処理装置の処理対象となる画像を元カラー画像、元画像と言う。
【0039】
なお、画像の画素値は、一般的には、例えば0~255等の範囲の値をとるものである。しかし、以下では、画像の画素値を、正規化された0~1の範囲の値をとるものとして説明している箇所がある。正規化された画素値は、所定の値を乗算することで一般的な画素値となるものであり、一般的な画素値と実質的な差があるわけではない。
【0040】
また、明るさの度合を示す指標としては、明度と輝度がある。一般的に、例えば、YCbCr,HSL,RGB等の色空間では「輝度」という用語が使われ、Lab,HSV等の色空間では「明度」という用語が使われている。しかし、それらは明るさの度合を示す点では同様の性質を有するものである。特許請求の範囲に「明度」と記載されている場合には、それは広義的に解釈されてよく、「輝度」を含むものとして解釈されてよい。また、特許請求の範囲に「輝度」と記載されている場合には、それは広義的に解釈されてよく、「明度」を含むものとして解釈されてよい。
【0041】
<カラー補正画像の取得処理の流れ>
図1は、カラー補正画像18の取得処理の流れを示す図である。元カラー画像100は、カメラの撮影画像である。なお、各図に示された画像は例示であって、模式的に表わされている。例示の元カラー画像100には、左右両側が複数の木があることで暗くなっており、略中央の開けた部分が陽射し(不図示)が強くあたることで明るくなっている様子が示されている。これは、光源で照らされた領域と、光源で照らされない領域とで極端な明暗差が生じて、明部と暗部でダイナミックレンジが狭くなっている例である。このような画像に対して処理を行って、明部と暗部の両方のダイナミックレンジを広げたカラー補正画像18(図1参照)を得られるようにする。
【0042】
なお、明部と暗部のダイナミックレンジが狭くなる別の一例としては、水中で撮影された画像がある。水中(例えば海中)では、プランクトン、マリンスノー、泥など微小な物体が浮遊する関係で濁り(遠くが見えない)が生じ得て、太陽光が届かないことから、光源で照らす領域と照らさない領域で極端な明暗差が生じ、カメラの映像が鮮明でないことが多い。近年、洋上風力発電の風車の設置が進んでいるところ、水中にある風車の根本付近の点検に、カメラ映像を使うことが考えられ、その映像は鮮明であることが望まれる。ここで説明する実施形態は、そのような水中のカメラ映像を鮮明化する手段としても使用可能なものである。以下、具体的にカラー補正画像18の取得処理について説明する。
【0043】
S100で、画像処理装置は、元カラー画像100を、明度成分(V)の画像10と色成分(色相H/彩度S)の画像16に分離する。ここで、明度成分(V)の画像10が、元画像10である。明度成分(V)の画像10の各画素値は、明度である。
【0044】
次に、S102で、画像処理装置は、照明成分推定処理により、元画像10から照明画像12を生成する。そして、S104で、画像処理装置は、領域別加重合成処理により、元画像10と照明画像12から、色なしの補正画像14を生成する。なお、照明成分推定処理と領域別加重合成処理については、以下で詳しく説明する。
【0045】
そして、S106で、画像処理装置は、色なし補正画像14と色成分画像16を合成して、カラー補正画像18を取得する。
【0046】
<照明成分推定処理と領域別加重合成処理>
以下では、図1のS102の照明成分推定処理、S104の領域別加重合成処理について、詳しく説明する。図2は、これらの処理の流れを示すフローチャートである。ここでは、まず、各処理の技術前提について説明する。
【0047】
画像の視認性劣化の原因としては、主に次のようなものが挙げられる。
(1)逆光(環境光が強いこと)による視認性の劣化
(2)環境光が弱いこと(例えば夜間)による視認性の劣化
(3)霧/霞による視認性の劣化
【0048】
上記(1)については、逆光のため相対的に暗くなってしまった領域のダイナミックレンジを上げる逆光補正を行えば視認性が向上する。また、上記(2)については、全体的に暗くなってしまった画像全体のダイナミックレンジを上げる暗部補正を行えば視認性が向上する。逆光補正と暗部補正は、どちらも画像の暗部のダイナミックレンジを広げる処理(Retinex)である。
【0049】
一方、上記(3)については、霧や霞により、微粒子が太陽光などを拡散反射することで実際よりも画像が明るくなって(白みを帯びて)いることが原因である。これについては、霧/霞を除去する補正を行えば視認性が向上する。霧/霞の除去は、画像の明部のダイナミックレンジを広げる処理(Dehaze)である。
【0050】
ここで、非特許文献1には、RetinexとDehazeの間には、実用的な仮定のもとで、線形の関係(以下、(数1)式の関係)があることが述べられている。
【0051】
(数1)
Dehaze(J)=1-Retinex(1-J)
【0052】
上記(数1)式において、Jはヘイズ画像(もや、霞を有する画像)であり、Dehaze(J)はヘイズ画像Jに対してDehaze処理を行った画像、すなわち、ヘイズ画像Jの明部のダイナミックレンジを広げる処理(Dehaze)を行った画像である。上記(数1)式は、ヘイズ画像Jをネガポジ反転させてからRetinex処理を行い、その後さらにネガポジ反転させると、ヘイズ除去ができる(明部のダイナミックレンジを広げることができる)ことを示したものである。RetinexとDehazeは、「原画像の色味を保ちながら明るさを変える」という意味において同じ問題を解いている。
【0053】
ここで、発明者は、上記(数1)式を参考として、Retinex処理を用いて、画像の明部と暗部の両方のダイナミックレンジを広げる処理が可能であることを見い出した。すなわち、上記したように、画像の暗部のダイナミックレンジを広げる処理はRetinex処理であり、(数1)式に示すように画像の明部のダイナミックレンジを広げる処理もRetinex処理を用いて行うことが可能である。
【0054】
以下、図2を参照しながら、具体的な処理について説明する。なお、図2に示す画素値I,L,Id’,Il’,I’は、正規化された0~1の範囲の値をとるものである。
【0055】
S102で、画像処理装置は、元画像10(明度画像)から照明成分Lを推定して、照明画像12(画素値L)を生成する照明成分推定処理を行う。Retinex理論は、人間の目が照明光に関係なく色や明るさを感じられるという、色恒常性、明るさ恒常性に関する理論である。Retinex理論では、映像Iは、物体を照らす照明光Lとその物体の反射率Rとの積として表わされる。これは、本実施形態では以下の(数2)式で表わされる。
【0056】
(数2)
元画像の画素値I=照明成分L*反射率成分R
【0057】
Retinex理論は、上記の(数2)式における照明成分Lを、例えば平滑化画像などで近似できるとしている。そこで、本実施形態の画像処理装置は、Retinex理論に基づいて元画像の照明成分を推定する。具体的には、画像処理装置は、照明成分推定処理において、元画像10をガウシアンフィルタ等で平滑化したぼかし画像(平滑化画像)を生成し、ぼかし画像の画素値を照明成分Lとして取得する。なお、照明成分Lの取得方法は、Retinex理論に基づいている限り、その他の方法であってもよい。
【0058】
次に、S104で、画像処理装置は、領域別加重合成処理(単に合成処理とも言う)により、元画像10と照明画像12から、補正画像14を生成する。具体的に合成処理について説明する。
【0059】
上記(数2)式から、反射率成分R=I/Lとなる。つまり、暗部を補正すべく照明成分を均一化する(反射率成分だけを残す)場合は、以下の(数3)式を用いる。
【0060】
(数3)
暗部補正の画素値Id’=R=I/L
【0061】
ここで、(数3)式における画素値I,Lは、元画像10と照明画像12の中の同一の画素位置における画素値である。これは、以下説明する(数4)~(数6)式の画素値I,L,Il’,Id’,I’についても同様である。上記(数3)式に示すように、元画像の画素値Iを、照明画像の画素値Lで除算することで、暗部補正の画素値Id’が取得される。画像処理装置は、元画像10の全画素について(数3)式を行うことで、暗部補正の全画素の画素値(暗部補正画像)を取得することができる。なお、(数3)式におけるI/Lが、Retinex処理である。
【0062】
次に、上記した(数1)式のRetinexとDehazeの関係に基づいて明部を補正すべく照明成分を均一化する場合は、以下の(数4)式を用いる。
【0063】
(数4)
明部補正の画素値Il’=(1.0-(1.0-I)/(1.0-L))
【0064】
上記(数4)式に示すように、元画像の画素値Iを明度反転させた反転明度画像の画素値(1.0-I)を、照明画像の画素値Lを明度反転させた反転照明画像の画素値(1.0-L)で除算して得られる画素値((1.0-I)/(1.0-L))を、明度反転することで、明部補正の画素値Il’が取得される。画像処理装置は、元画像10の全画素について(数4)式を行うことで、明部補正の全画素の画素値(明部補正画像)を取得することができる。なお、(数1)式と(数4)式を対応づけて見ればわかるように、(数4)式における(1.0-I)/(1.0-L)が、Retinex処理である。
【0065】
ここで、明部補正と暗部補正の画素値Il’,Id’は、明部と暗部のそれぞれを対象とした補正用の画素値である。よって、これらを重み付けして合成し、1つの画像値とする必要がある。ここで、照明画像12において、画素値(照明成分L)が高いところは明部、画素値(照明成分L)が低いところは暗部とみなすことができるため、照明成分Lを、2つの画素値Il’,Id’を合成する際の係数として使うことができる。すなわち、補正画像14の画素値I’は、以下の(数5)式で表わすことができる。
【0066】
(数5)
補正画像の画素値I’=(1.0-L)*Id’+L*Il’
【0067】
上記の(数5)式から、以下の(数6)式が導かれる。
【0068】
(数6)
補正画像の画素値I’=(1.0-L)*I/L+
L*(1.0-(1.0-I)/(1.0-L))
【0069】
画像処理装置は、元画像10の全画素に関して(数6)式を行うことで、補正画像14を取得することができる。ここで、(数6)式を用いて補正画像14を生成する処理が、領域別加重合成処理である。
【0070】
ここで、領域別加重合成処理は、元画像10と照明画像12に基づいて得られる明部補正と暗部補正のそれぞれの画素値Il’,Id’を、照明画像12の画素値Lで重み付けして合成することで、補正画像(画素値I’)を生成する処理、と説明することができる。しかし、これは、明部補正と暗部補正のそれぞれの画素値Il’,Id’を予め算出しておき(図2のS104-1、S104-2)、その後、補正画像14の画素値I’を算出する(S104-3)形態のみを表わすものではない。すなわち、上記説明において「重み付け」や「合成」といった用語は、領域別加重合成処理を表現するために使っているだけである。上記説明の領域別加重合成処理には、元画像10と照明画像12の画素値I,Lのみを用いて(つまり、明部補正と暗部補正の画素値を算出しないで(明部補正と暗部補正を個別に意識しないで))、(数6)式により、補正画像14の画素値I’を算出する形態(S104-3のみを行う形態、つまり、(数6)式のみを行う形態)を含むものである。
【0071】
以上説明した実施形態によれば、図3に模式的に例示するように、1つの元画像10における明部30と暗部32の両方のダイナミックレンジを広げた補正画像14が得られるようになる。補正画像14において、明部30と暗部32が鮮明化されて、それらの部分の視認性が向上することになる。
【0072】
また、以上説明した実施形態によれば、明部補正、暗部補正、およびそれらの合成、からなる3つの処理と同等の作用効果を、1つの領域別加重合成処理((数6)式)から得ることができる。
【0073】
また、以上説明した照明成分推定処理によれば、ヒストグラム処理などが無いため、メモリ使用量が増大化することがなく、1つの元画像の複数部分を並列処理することも可能である。また、領域別加重合成処理によれば、明/暗の補正処理を1ステップで処理でき(計算コスト低減)、画素ごとに並列に実行することができるため、高速処理が可能である。例えば、GPU/FPGAを用いて、画素ごとに並列処理することも可能である。また、動画においてリアルタイム処理も可能である。
【0074】
本実施形態は、Retinex理論に基づき、照明成分を推定し、推定した照明成分の度合を明暗の度合として捉えて明部/暗部の領域を判断し、かつ推定した照明成分の度合を使って明部/暗部双方に適切な補正値を算出する。それにより、推定した照明成分を、明部/暗部の領域の判断、補正値の算出の2種類の情報として使いまわすことができるため、計算コストを抑えつつ、明部/暗部双方に効果のある補正処理を実現することができる。
【0075】
<明暗領域を表示するGUI>
次に、明暗領域を表示するGUI(Graphical User Interface)について説明する。図4は、このGUIの説明図である。画像処理装置は、図4(A)に示すような調整用画像22を、表示部としてのディスプレイに表示する制御を行う。調整用画像22は、照明成分に基づいて明部領域30aと暗部領域32aを区別して表わした画像であり、それぞれの領域30a、32aをユーザが確認、修正するための画像である。
【0076】
具体的には、画像処理装置は、照明画像における画素値Lが閾値Thより高い領域である明部領域30aと、その画素値Lが閾値Th以下である暗部領域32aとを、元画像10または元カラー画像100に重畳させた調整用画像22を、ディスプレイに表示する制御を行う。図4(A)の調整用画像22に示すように、例えば、明部領域30aは白色等の明るい色を元画像10等に重畳させて表わされ、暗部領域32aは灰色等の暗い色を元画像10等に重畳させて表わされる。また、明部領域30aと暗部領域32aの境界には、黒色等の境界線34が設けられる。
【0077】
そして、画像処理装置は、調整用画像22における明部領域30aと暗部領域32aを変更する指示を、ユーザから受け付ける。そして、画像処理装置は、ユーザからの変更指示に基づいて、照明画像の画素値(照明成分L)を更新して、更新された照明画像に基づいて補正画像14、カラー補正画像18を再び生成する。そして、画像処理装置は、再生成された補正画像14又はカラー補正画像18を、ディスプレイに表示する制御を行う。これにより、再生成(更新)された補正画像14又はカラー補正画像18を、ユーザが確認できるようにする。
【0078】
ユーザの変更指示の方式としては、例えば次のような方式がある。
(A)境界線34をマウスやタッチで移動する。
(B)明部領域30aまたは暗部領域32aにおいて、指でこすった度合で(指でこすった領域の)照明成分を増加または減少させる。
(C)明部領域30aと暗部領域32aのいずれかを選択し、選択した領域の照明成分を、スライダーなどで調節する。
【0079】
上記(A)については、例えば、入力装置としてのマウスで境界線34の一部をドラッグアンドドロップして、その境界線34の一部の位置を移動させる形態や、入出力装置としてのタッチパネル上で境界線34の一部に指をタッチした後に指を移動させ、その後、指をタッチパネルから離すことで、その境界線34の一部を移動させる形態等が考えられる。そして、画像処理装置は、例えば、新たに明部領域30aから暗部領域32aになった領域には、上記の閾値Th以下である、予め定められた照明成分Lを割り当てる。また、画像処理装置は、例えば、新たに暗部領域32aから明部領域30aになった領域には、上記の閾値Thより高い、予め定められた照明成分Lを割り当てる。
【0080】
上記(B)については、例えば、タッチパネル上に照明成分を増加させるか、または、減少させるかを示す選択ボタンを表示させて、ユーザにどちらかを選択させた後、タッチパネル上でユーザが指で1回こする毎に予め定められた量だけ照明成分を増減させる(増加させるか減少させるかは上記選択ボタンの選択に依存する)形態が考えられる。
【0081】
上記(C)については、例えば、マウスやタッチパネル操作により、明部領域30aと暗部領域32aのいずれかをユーザに選択させ、ディスプレイやタッチパネルにスライダーを表示させ、ユーザに、マウスやタッチパネル操作により、スライダーを操作させる形態等が考えられる。
【0082】
なお、例えば画像処理装置がカメラであれば、カメラに設けられたタッチパネルやディスプレイにおいて、ユーザが上記の操作を行ってもよい。また、カメラによる動画の撮影中などに、リアルタイムで、ユーザが上記の操作を行う形態であってもよい。
【0083】
<照明成分の補正のGUI>
次に、照明成分の補正のGUIについて説明する。図5は、このGUIの説明図である。画像処理装置は、図5に示すように、照明画像の画素値(照明成分L)を補正するための補正係数(図5の+0.5、+0.25等)をユーザから受け付け、補正係数に基づいて照明画像の画素値を更新してもよい。例えば、新しい照明成分を「新照明成分」と表わし、現在の照明成分を「現照明成分」と表わすと、「新照明成分=現照明成分+補正係数」とする。そして、画像処理装置は、更新された照明画像(新照明成分)に基づいて補正画像14、カラー補正画像18を再び生成して、再生成された補正画像14、カラー補正画像18をディスプレイに表示する制御を行ってもよい(図5の14-1~14-3、18-1~18-3を参照)。
【0084】
画像処理装置は、例えば、補正係数を入力するためのテキストボックスをディスプレイに表示して、ユーザからマウス・キーボード、タッチパネル等によりテキストボックスに補正係数を受け付けるとよい。そして、画像処理装置は、ユーザから受け付けた補正係数によって更新した照明画像(新照明成分)を用いて、補正画像14、カラー補正画像18を再生成し、それらの画像14,18をディスプレイに表示するとよい。
【0085】
このような実施形態によれば、ユーザが、補正画像14、カラー補正画像18等の結果を参照しながら、照明成分に一定値(補正係数)を加算または乗算するなどして、補正係数を決定することができる。なお、加算の場合には、「新照明成分=現照明成分+補正係数」となり、乗算の場合には、「新照明成分=現照明成分×補正係数」となる。なお、明部領域30aと暗部領域32a(図4(A)参照)に同じ補正係数を加算または乗算してもよいし、別の補正係数を加算または乗算してもよい。また、明部領域30aと暗部領域32aの一方をユーザに選択させて、選択された領域のみに補正係数を加算または乗算するとしてもよい。
【0086】
なお、例えば画像処理装置がカメラであれば、カメラに設けられたボタン、タッチパネル等を用いて、ユーザが補正係数を入力してもよい。また、カメラによる動画の撮影中などに、リアルタイムで、ユーザが補正係数を入力する形態であってもよい。
【0087】
<カーネルの手動調整>
次に、カーネル(フィルタとも言う)の手動調整について説明する。Retinex理論に基づいて照明成分を求める際には、撮影対象の大きさ、撮影対象との距離、画角、解像度などの状況を元に適切なカーネルサイズやシグマ値を設定することが望まれる。ここでは、それをユーザが設定する形態について説明する。図6は、この形態についての説明図である。
【0088】
上記したように、画像処理装置は、照明成分推定処理において、元画像を平滑化したぼかし画像を、照明画像(照明成分L)として取得する。この際、ガウシアンフィルタ等のカーネルを用いる。ここで説明する形態は、そのカーネルを調整するものである。具体的には、画像処理装置は、カーネルサイズ、カーネルのシグマ値、またはそれらの両方を、ユーザから受け付ける。そして、画像処理装置は、照明成分推定処理において、ユーザから受け付けたカーネルサイズ、カーネルのシグマ値、またはそれらの両方を有するカーネルを用いて、照明画像(ぼかし画像)を取得する。そして、画像処理装置は、その照明画像を用いて、補正画像やカラー補正画像を生成する。
【0089】
画像処理装置は、例えば、カーネルサイズ、カーネルのシグマ値を入力するためのテキストボックスをディスプレイに表示して、ユーザからマウス・キーボード、タッチパネル等により、テキストボックスにカーネルサイズ、カーネルのシグマ値を受け付けるとよい。そして、画像処理装置は、ユーザから受け付けたカーネルサイズ、カーネルのシグマ値を有するカーネルを用いて照明画像を取得するとよい。そして、画像処理装置は、その照明画像を用いて生成された補正画像14、カラー補正画像18をディスプレイに表示するとよい。
【0090】
また、画像処理装置は、図6に示すように、調整用画像22-1~22-3をディスプレイに表示してもよい。画像処理装置は、例えば、図6に示すように、ユーザから入力されたカーネルサイズ(以下、入力カーネルサイズと言う)と、入力カーネルサイズよりも所定サイズ小さいカーネルサイズと、入力カーネルサイズよりも所定サイズ大きいカーネルサイズとのそれぞれに対応する調整用画像22-1~22-3を、ディスプレイに表示する、としてもよい。このような実施形態によれば、ユーザが、調整用画像22-1~22-3等の結果を参照しながら、カーネルサイズやシグマ値を決定することができる。
【0091】
例えば、ユーザは、局所的な領域の視認性を上げたい場合には、カーネルサイズを小さくすることで視認性を向上することができる。また、ユーザは、大局的な領域の視認性を上げたい場合には、カーネルサイズを大きくすることで視認性を向上することができる。
【0092】
<カーネルの自動調整>
次に、カーネルの自動調整について説明する。以上説明した実施形態では、ユーザによりカーネルを手動調整するものであったが、ここで説明する形態は、画像に含まれる属性情報やその他の情報に基づいて、カーネルを自動調整するものである。図7は、この形態に関する説明図である。
【0093】
例えば、カメラ200のパラメータとしては解像度、画角等がある。また、カメラ200の撮影画像内での撮影対象物(単に対象物とも記す)の大きさを、画像認識処理等により判別することが可能である。また、距離センサ(例えばカメラ200に設けられた、赤外線、音波などを用いたセンサ)等により、カメラ200と対象物の間の距離を取得することが可能である。画像処理装置(一例としてカメラ200自体であり得る)は、これらの解像度、画角、対象物の大きさ、対象物との距離等から、カーネルサイズを設定することができる。
【0094】
例えば、画像処理装置は、元画像に現れる対象物に関し、撮影時のカメラ200と対象物の間の距離の情報を取得し、照明成分推定処理において、カメラ200と対象物の間の距離が長い場合にはそれが短い場合に比べて、カーネルサイズが小さいカーネルを用いて、照明画像を取得する。カメラ200と対象物が離れている(距離が長い)場合には、視認したい領域が相対的に小さくなるので、カーネルサイズを小さくすることで視認性を向上することができる。一方、カメラ200と対象物が近い(距離が短い)場合には、視認したい領域が相対的に大きくなるので、カーネルサイズを大きくすることで視認性を向上することができる。
【0095】
また、例えば、画像処理装置は、元画像に現れる対象物に関し、元画像の全体に対する対象物の大きさの情報を取得し、照明成分推定処理において、対象物の大きさが小さい場合にはそれが大きい場合に比べて、カーネルサイズが小さいカーネルを用いて、照明画像を取得する。対象物が小さい場合には、視認したい領域が相対的に小さくなるので、カーネルサイズを小さくすることで視認性を向上することができる。一方、対象物が大きい場合には、視認したい領域が相対的に大きくなるので、カーネルサイズを大きくすることで視認性を向上することができる。
【0096】
また、例えば、画像処理装置は、元画像のカメラによる撮影時の画角の情報を取得し、照明成分推定処理において、画角が大きい場合にはそれが小さい場合に比べて、カーネルサイズが小さいカーネルを用いて、照明画像を取得する。画角が大きい場合には、視認したい領域が相対的に小さくなるので、カーネルサイズを小さくすることで視認性を向上することができる。一方、画角が小さい場合には、視認したい領域が相対的に大きくなるので、カーネルサイズを大きくすることで視認性を向上することができる。
【0097】
<元画像の別の例>
次に、別の元画像について説明する。以上説明した実施形態では、元画像10は、明度成分(V)の画像であった(図1参照)。しかし、元画像10は、輝度成分(Y)の画像であってもよい。以下では、元画像10が輝度成分(Y)の画像である場合の実施形態について説明する。
【0098】
図8は、カラー補正画像18の別の取得処理の流れを示す図である。図8の処理について説明する。S200で、画像処理装置は、元カラー画像100を、輝度成分(Y)の画像10Aと色成分(CbCr)の画像16Aに分離する。ここで、輝度成分(Y)の画像10が、元画像10Aである。輝度成分(Y)の画像10の各画素値は、輝度(輝度値)である。
【0099】
次に、S202で、画像処理装置は、照明成分推定処理により元画像10Aから、照明画像12Aを生成する。そして、S204で、画像処理装置は、領域別加重合成処理により元画像10Aと照明画像12Aから、色なしの補正画像14Aを生成する。そして、S206で、画像処理装置は、色なし補正画像14Aと色成分画像16Aを合成して、カラー補正画像18を取得する。以上説明した図8の処理であっても、補正画像を得ることが可能である。
【0100】
<ハードウェア構成>
上記実施形態の画像処理装置は、例えば汎用のコンピュータを用いて構成される。図9に例示するように、画像処理装置1000のベースとなるコンピュータは、プロセッサ1002、ランダムアクセスメモリ(RAM)等のメモリ(主記憶装置)1004、フラッシュメモリやSSD(ソリッドステートドライブ)、HDD(ハードディスクドライブ)等の不揮発性記憶装置である補助記憶装置1006を制御するコントローラ、各種の入出力装置1008とのインタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース1010等が、例えばバス1012等のデータ伝送路を介して接続された回路構成を有する。上記実施形態の処理の内容が記述されたプログラムが、ネットワーク等を経由してそのコンピュータにインストールされ、補助記憶装置1006に記憶される。補助記憶装置1006に記憶されたプログラムが、プロセッサ1002によりメモリ1004を用いて実行されることにより、本実施形態の画像処理装置1000が構成される。
【0101】
なお、上記プログラムは、インターネット等のネットワークを介して提供することはもちろん、光ディスクやUSBメモリ等のコンピュータ読み取り可能な記録媒体に格納して提供することが可能である。
【0102】
上記実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU:Central Processing Unit、等)や、専用のプロセッサ(例えばGPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
【0103】
また上記実施形態におけるプロセッサの動作は、1つのプロセッサによってなすのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働してなすものであってもよい。また、プロセッサの各動作は、以上の実施形態において説明した順序のみに限定されるものではなく、適宜に変更してもよい。
【0104】
(付記)
(((1)))
プロセッサを含み、
前記プロセッサは、
Retinex理論に基づいて元画像の照明成分を推定して、照明画像を取得する照明成分推定処理と、
前記元画像と前記照明画像に基づいて得られる明部補正と暗部補正のそれぞれの画素値を、前記照明画像の画素値で重み付けして合成することで、補正画像を生成する合成処理と、を行う、
画像処理装置。
(((2)))
(((1)))に記載の画像処理装置であって、
前記元画像は、画素値が明度を表わす明度画像である、
画像処理装置。
(((3)))
(((2)))に記載の画像処理装置であって、
前記プロセッサは、
前記元画像の画素値を、前記照明画像の画素値で除算することで、前記暗部補正の画素値を取得し、
前記元画像を明度反転させた反転明度画像の画素値を、前記照明画像を明度反転させた反転照明画像の画素値で除算して得られる画素値を、明度反転することで、前記明部補正の画素値を取得する、
画像処理装置。
(((4)))
(((1)))~(((3)))のいずれか1つに記載の画像処理装置であって、
前記プロセッサは、
前記照明画像における画素値が閾値より高い領域である明部領域とその画素値が前記閾値以下である暗部領域を、前記元画像または前記元画像に色成分が付加された元カラー画像に重畳させて、表示部に表示する制御を行う、
画像処理装置。
(((5)))
(((4)))に記載の画像処理装置であって、
前記プロセッサは、
前記表示部に表示された前記明部領域と前記暗部領域を変更する指示を、ユーザから受け付け、
前記ユーザからの前記変更の指示に基づいて、前記照明画像の画素値を更新する、
画像処理装置。
(((6)))
(((1)))~(((5)))のいずれか1つに記載の画像処理装置であって、
前記プロセッサは、
前記照明画像の画素値を補正するための補正係数を、ユーザから受け付け、
前記補正係数に基づいて、前記照明画像の画素値を更新する、
画像処理装置。
(((7)))
(((1)))~(((6)))のいずれか1つに記載の画像処理装置であって、
前記プロセッサは、
前記照明成分推定処理において、前記元画像を平滑化したぼかし画像を、前記照明画像として取得する、
画像処理装置。
(((8)))
(((7)))に記載の画像処理装置であって、
前記プロセッサは、
カーネルサイズ、カーネルのシグマ値、またはそれらの両方を、ユーザから受け付け、
前記照明成分推定処理において、前記ユーザから受け付けた前記カーネルサイズ、前記カーネルのシグマ値、またはそれらの両方を有するカーネルを用いて、前記照明画像を取得する、
画像処理装置。
(((9)))
(((7)))に記載の画像処理装置であって、
前記プロセッサは、
前記元画像に現れる対象物に関し、カメラによる撮影時の前記カメラと前記対象物の間の距離の情報を取得し、
前記照明成分推定処理において、前記カメラと前記対象物の間の距離が長い場合にはそれが短い場合に比べて、カーネルサイズが小さいカーネルを用いて、前記照明画像を取得する、
画像処理装置。
(((10)))
(((7)))に記載の画像処理装置であって、
前記プロセッサは、
前記元画像に現れる対象物に関し、前記元画像の全体に対する前記対象物の大きさの情報を取得し、
前記照明成分推定処理において、前記対象物の大きさが小さい場合にはそれが大きい場合に比べて、カーネルサイズが小さいカーネルを用いて、前記照明画像を取得する、
画像処理装置。
(((11)))
(((7)))に記載の画像処理装置であって、
前記プロセッサは、
前記元画像のカメラによる撮影時の画角の情報を取得し、
前記照明成分推定処理において、前記画角が大きい場合にはそれが小さい場合に比べて、カーネルサイズが小さいカーネルを用いて、前記照明画像を取得する、
画像処理装置。
(((12)))
Retinex理論に基づいて元画像の照明成分を推定して、照明画像を取得する照明成分推定処理と、
前記元画像と前記照明画像に基づいて得られる明部補正と暗部補正のそれぞれの画素値を、前記照明画像の画素値で重み付けして合成することで、補正画像を生成する合成処理と、
をコンピュータに実行させるプログラム。
【0105】
(((1)))に係る発明によれば、1つの元画像における明部と暗部の両方のダイナミックレンジを広げた補正画像が得られる。
(((2)))に係る発明によれば、明度画像に対する補正画像が得られる。
(((3)))に係る発明によれば、元画像と照明画像の画素値から、明部補正と暗部補正の画素値が得られる。
(((4)))に係る発明によれば、ユーザが明部領域と暗部領域を確認可能となる。
(((5)))に係る発明によれば、ユーザが明部領域と暗部領域を確認しながら、照明成分を更新することが可能となる。
(((6)))に係る発明によれば、ユーザが照明成分を補正可能となる。
(((7)))に係る発明によれば、元画像を平滑化したぼかし画像の画素値により、照明成分が近似される。
(((8)))に係る発明によれば、ユーザがカーネルサイズ、カーネルのシグマ値、またはそれらの両方により、照明成分を調整可能となる。
(((9)))に係る発明によれば、補正画像において対象物の視認性が向上することを期待できる。
(((10)))に係る発明によれば、補正画像において対象物の視認性が向上することを期待できる。
(((11)))に係る発明によれば、補正画像において物体の視認性が向上することを期待できる。
(((12)))に係る発明によれば、1つの元画像における明部と暗部の両方のダイナミックレンジを広げた補正画像が得られる。
【符号の説明】
【0106】
10,10A 元画像(画像)、12,12A 照明画像(照明成分)、14,14A,14-1,14-2,14-3 補正画像(画像)、16,16A 色成分画像(画像)、18,18-1,18-2,18-3 カラー補正画像(画像)、22,22-1,22-2,22-3 調整用画像、30 明部、32 暗部、30a 明部領域(領域)、32a 暗部領域(領域)、34 境界線、100 元カラー画像、200 カメラ、1000 画像処理装置、1002 プロセッサ、1004 メモリ、1006 補助記憶装置、1008 入出力装置、1010 ネットワークインタフェース、1012 バス。
図1
図2
図3
図4
図5
図6
図7
図8
図9