JP4419479B2 - 画像処理装置および画像処理プログラム - Google Patents

画像処理装置および画像処理プログラム Download PDF

Info

Publication number
JP4419479B2
JP4419479B2 JP2003307358A JP2003307358A JP4419479B2 JP 4419479 B2 JP4419479 B2 JP 4419479B2 JP 2003307358 A JP2003307358 A JP 2003307358A JP 2003307358 A JP2003307358 A JP 2003307358A JP 4419479 B2 JP4419479 B2 JP 4419479B2
Authority
JP
Japan
Prior art keywords
pixel
dust
image
edge
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003307358A
Other languages
English (en)
Other versions
JP2005079856A (ja
Inventor
健一 石賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nikon Corp
Original Assignee
Nikon Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nikon Corp filed Critical Nikon Corp
Priority to JP2003307358A priority Critical patent/JP4419479B2/ja
Publication of JP2005079856A publication Critical patent/JP2005079856A/ja
Application granted granted Critical
Publication of JP4419479B2 publication Critical patent/JP4419479B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Picture Signal Circuits (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)

Description

本発明は、電子カメラ等で撮影した画像データにおいて、ゴミ等の影響を除去する画像処理装置に関する。
従来、ビデオカメラの製造時に光学系に混入したゴミの影響を補正するため、事前に各絞り値毎の白パターンを撮影して補正情報を記録しておく技術が、特開平9−51459号公報に開示されている。
特開平9−51459号公報
しかしながら、工場出荷時の事前データによる補正は、射出瞳の変わる光学系やゴミの経時変化に対処できない。
請求項1の発明は、画像処理装置に適用され、光学系を通して撮像素子により撮像された画像を取得する画像取得手段と、取得した画像内において、着目画素の値と該着目画素を含む所定範囲内の複数の画素の値の平均値に基づいて、画像内に生じた光路途中の欠陥の投影像に関する欠陥情報を作成する欠陥情報作成手段とを備え、欠陥情報作成手段は、複数の異なる画素範囲に対するエッジ検出フィルタを用いて複数の異なる画素範囲の中から各々の画素に対して平坦性が保証される最大の画素範囲を求め、平坦性が保証された最大の画素範囲に含まれる画素の値を用いて所定範囲内の複数の画素の値の平均値を算出し、欠陥情報を作成することを特徴とするものである。
本発明は、以上説明したように構成するので、次のような効果を奏する。電子カメラ等で撮影された画像内に含まれるゴミの影響等の欠陥情報を適宜手軽な方法で適切に取得することができる。特に、光学的条件および経時変化に左右されることなく、最も視覚的に目立つ平坦部領域の欠陥情報をエッジ近傍まで高品質に取得することができる。
−第1の実施の形態−
(電子カメラおよびパーソナルコンピュータの構成)
図1は、交換レンズ方式の一眼レフ電子スチルカメラ(以下、電子カメラと言う)の構成を示す図である。電子カメラ1は、カメラ本体2とマウント式交換レンズからなる可変光学系3を有する。可変光学系3は、内部にレンズ4と絞り5を有する。レンズ4は複数の光学レンズ群から構成されるが、図では代表して1枚のレンズで表し、そのレンズ4の位置を主瞳位置と言う(以下、単に瞳位置と言う)。可変光学系3は、ズームレンズであってもよい。瞳位置は、レンズ種やズームレンズのズーム位置によって決まる値である。焦点距離によって変わることもある。
カメラ本体2は、シャッター6、光学フィルターやカバーガラスなどの光学部品7、撮像素子8を有する。可変光学系3は、カメラ本体2のマウント部9に対して着脱可能である。また、可変光学系3は、マウント部9を介して、瞳位置に関する情報、絞り値に関する情報等の光学的パラメータを電子カメラ1の制御部17(図2)に送信する。絞り値は、例えばF2.8〜F22まで変化する。
符号10は、撮像素子8前部の光学部品7の表面に付着したゴミを示す。可変光学系3の絞り値や瞳位置を変化させて、撮影画像に写り込んだゴミ影の変化を評価する実験を行った結果、以下の2つの事実が判った。
(1)絞り値によってゴミ影の大きさと光の透過率が変わる。
(2)レンズの瞳位置によってゴミ位置がずれる。
この2つの実験事実から固定位置に付着したゴミであっても、レンズの撮影条件(絞り値と瞳位置)が変化する度にゴミの写り込み方が変化していることがわかる。このような可変な光学系に対して、ゴミの影響を除去する手法を以下に示す。
図2は、電子カメラ1のブロック図とPC(パーソナルコンピュータ)31および周辺装置を示す図である。PC31は、画像処理装置として機能し、電子カメラ1から画像データを取得し後述するゴミの影響除去処理をする。
電子カメラ1は、可変光学系3、光学部品7、シャッター6(図2では図示省略)、撮像素子8、アナログ信号処理部12、A/D変換部13、タイミング制御部14、画像処理部15、操作部16、制御部17、メモリ18、圧縮/伸長部19、表示画像生成部20、モニタ21、メモリカード用インタフェース部22、外部インタフェース部23を備える。
撮像素子8は、可変光学系3を通して被写体を撮像し、撮像された被写体像に対応する画像信号(撮像信号)を出力する。撮像素子8は、複数の画素から構成される矩形形状の撮像領域を有し、各画素に蓄積された電荷に対応するアナログ信号である画像信号を、画素単位で順次、アナログ信号処理部12に出力する。撮像素子8は、例えば単板式カラーCCDなどで構成される。アナログ信号処理部12は、内部にCDS(相関2重サンプリング)回路や、AGC(オートゲインコントロール)回路などを有し、入力された画像信号に対して所定のアナログ処理を行う。A/D変換部13は、アナログ信号処理部12で処理されたアナログ信号をデジタル信号に変換する。タイミング制御部14は、制御部17により制御され、撮像素子8、アナログ信号処理部12、A/D変換部13、画像処理部15の各動作のタイミングを制御する。
メモリカード用インタフェース部22は、メモリカード(カード状のリムーバブルメモリ)30とのインタフェースをとる。外部インタフェース部23は、所定のケーブルや無線伝送路を介してPC31等の外部装置とのインタフェースをとる。操作部16は、レリーズボタンやモード切り換え用の選択ボタン等に相当する。モニタ21は、各種メニューを表示したり、撮像素子8で撮像した被写体像やメモリカードに格納された画像データに基づく再生画像を表示したりする。操作部16の出力は制御部17に接続され、モニタ21には表示画像生成部20の出力が接続される。画像処理部15は、例えば、画像処理専用の1チップ・マイクロプロセッサで構成される。
A/D変換部13、画像処理部15、制御部17、メモリ18、圧縮/伸長部19、表示画像生成部20、メモリカード用インタフェース部22、外部インタフェース部23は、バス24を介して相互に接続されている。
PC31には、モニタ32やプリンタ33等が接続されており、CD−ROM34に記録されたアプリケーションプログラムが予めインストールされている。また、PC31は、不図示のCPU、メモリ、ハードディスクの他に、メモリカード30とのインタフェースをとるメモリカード用インタフェース部(不図示)や所定のケーブルや無線伝送路を介して電子カメラ1等の外部装置とのインタフェースをとる外部インタフェース部(不図示)を備える。
図2のような構成の電子カメラ1において、操作部16を介し、操作者によって撮影モードが選択されてレリーズボタンが押されると、制御部17は、タイミング制御部14を介して、撮像素子8、アナログ信号処理部12、A/D変換部13に対するタイミング制御を行う。撮像素子8は、可変光学系3により撮像領域に結像された光学像に対応する画像信号を生成する。その画像信号は、アナログ信号処理部12で所定のアナログ信号処理が行われ、アナログ処理後画像信号としてA/D変換部13へ出力される。A/D変換部13では、アナログ処理後の画像信号をディジタル化し、画像データとして、画像処理部15に供給する。
本実施の形態の電子カメラ1では、撮像素子8において、単板式カラー撮像素子の最も代表的なR(赤)、G(緑)、B(青)のカラーフィルタがベイア配列されている場合を例にとり、画像処理部15に供給される画像データはRGB表色系で示されるものとする。画像データを構成する各々の画素には、RGBの何れか1つの色成分の色情報が存在する。ここで、撮像素子8を構成する1つの光電変換素子を画素と言うが、この画素に対応した画像データの1単位も画素と言う。また、画像も複数の画素から構成される概念である。
画像処理部15は、このような画像データに対し、補間、階調変換や輪郭強調などの画像処理を行う。このような画像処理が完了した画像データは、必要に応じて、圧縮/伸長部19で所定の圧縮処理が施され、メモリカード用インタフェース部22を介してメモリカード30に記録される。画像処理が完了した画像データは、圧縮処理を施さずにメモリカード30に記録してもよい。
画像処理が完了した画像データは、メモリカード30を介してPC31に提供される。外部インターフェース23および所定のケーブルや無線伝送路を介してPC31に提供してもよい。画像処理が完了した画像データは、補間処理が完了し、各画素にはRGBのすべての色成分の色情報が存在するものとする。
(ゴミの影響除去処理)
次に、撮影した各画像データにおいて、ゴミの影響を除去する処理について説明する。電子カメラの光路途中に含まれるゴミは一般にぼけており、通常のエッジ検出フィルタに掛からない程度のシミが多数含まれる。ゴミは大きなゴミから小さなゴミまで種々あり、F値依存性が大きい。小さなゴミは絞り込んだ状態でもこのような状況にあり、開放側では消滅している。一方、大きなごみは開放側でこのような状況にある。この性質を利用して第1の実施形態では、一様照明の参照画像なしに、補正対象画像自身の中からゴミを自己抽出し、自己補正する方式を採用する。
ゴミの自己抽出は、後述するカーネルを使って透過率データを得る。正確なゴミの透過率信号を得るには平坦部でカーネルを使用する必要があり、平坦部を検出するためまず初めにエッジフィルタで補正対象画像の画像構造を調べる。ここで平坦部とは、画像内で部分的に一様な領域のことをいう。本実施の形態では、グラデーションやレンズの周辺減光を含む完全に一様ではない青空、一様に近い壁面なども一様な領域として検出される。また、一様な領域として検出された平坦部の画像にグラデーションやシェーディングなどが含まれていても、透過率を計算する際、グラデーションやシェーディングなどによる影響を受けないような演算がなされる。
(電子カメラ側の動作)
図3は、第1の実施の形態における、電子カメラ1側の撮影手順について説明する図である。1)瞳位置P1、絞り値A1で通常撮影101を行い、補正対象画像データ1を出力する。2)瞳位置P2、絞り値A2で通常撮影102を行い、補正対象画像データ2を出力する。3)瞳位置P3、絞り値A3で通常撮影103を行い、補正対象画像データ3を出力する。4)瞳位置P4、絞り値A4で通常撮影104を行い、補正対象画像データ4を出力する。第1の実施の形態では一様面撮影を行わない。
(画像処理装置側動作)
<補正対象画像に対する処理>
図4は、画像処理装置であるPC31で行う処理のフローチャートを示す図である。ステップS11では、輝度面の生成処理を行う。ステップS12では、エッジ検出処理を行う。ステップS13では、エッジ領域の拡大処理をする。ステップS14では、平坦部の分類処理を行う。ステップS15では、自己ゲイン抽出処理を行う。ステップS16では、自己ゲイン補正処理を行う。以下、各ステップの詳細について説明する。
1)輝度面の生成(ステップS11)
図4のステップS11では、輝度面の生成を行う。補正対象画像データの各画素[i,j]について、次の式(1)を使用して、RGB信号から輝度信号Yを生成する。[i,j]は画素の位置を示す。
Y[i,j]=(R[i,j]+2*G[i,j]+B[i,j])/4 ...(1)
RGB各面で個別に解析することも可能であるが、基本的にゴミ影の影響は信号の減衰を生じるのみで、色成分に関係ない。従って、ここでは全ての情報を有効に使いつつ、ランダムノイズの影響を低減させることが可能な輝度成分への変換を行っている。また、そうすることにより、RGB3面から輝度成分単面だけの解析で済み、高速化が図れる。輝度成分生成比率は上記に限らず、R:G:B=0.3:0.6:0.1等であってもよい。
2)エッジ検出(ステップS12)
エッジ抽出フィルタを輝度面に掛けて、補正対象画像内の平坦部とエッジ部の分離を行う。光路途中に含まれるゴミの画像内への写り込みは非常にコントラストの低いゴミ影となって現れるため、従来技術のようなエッジ抽出フィルタで検出されない場合が多い。この事実を逆に利用すると、エッジ抽出フィルタで抽出されるエッジ部は、ゴミではなく基本的に画像内のエッジであると多くの箇所で仮定できる。この画像内のエッジとゴミとの区別を更によくするために初めに輝度面に対する階調補正処理を行う。
2−1)輝度面のガンマ補正
補正対象画像が線形階調のまま入力されて、上述の輝度面が生成されているものとする。このとき、入力信号をY(0≦Y≦Ymax)、出力信号をY'(0≦Y'≦Y'max)とし、例えば次式(2)のような階調変換を施す。なお、γ=0.4,0.5,0.6等である。
Figure 0004419479
この変換は、低輝度側の中間調のコントラストを上げ、高輝度側のコントラストを下げる処理である。すなわち、ゴミ影は暗いところでは目立ちにくく明るいところで目立つため、明るいところのゴミ影のコントラストはこの変換によって下がり、一方の通常の画像エッジは主に中間調に分布するため相対的にコントラストを上げている。したがって、ゴミ影と通常エッジのコントラストの分離度が良くなる。さらにY'の量子ゆらぎに起因するショットノイズを全階調にわたって均一に扱えるように変換するには、誤差伝播則から考えてγ=0.5にとるのが最もよい。なお、上記式(2)はべき乗関数になっている。また、γ=0.5は、べき乗関数が平方根関数となっている。
入力画像に最終出力用のガンマ補正処理が掛かっているとき、上記変換に近いガンマ補正処理がなされている場合はこの処理を飛ばしてもよい。また、逆ガンマ補正を行って線形階調に戻してから、上記処理を行えば、より分離機能が得られる。
2−2)エッジ検出演算
次に、ガンマ補正のなされた輝度面に対して、図5および以下の式(3)〜(6)に示すような複数のフィルタサイズからなる微分フィルタを用いてエッジ検出(抽出)を行う。図5は、式(3)〜(6)の複数の微分フィルタの方位をまとめて表した図である。50x50画素程度にまで広がったゴミも扱えるように後述するカーネルを最大80x80程度にとる。それに合わせて、ここでは約2倍の最大160x160の微分フィルタを容易する。更に大きなゴミのサイズを扱うには、この類推で大きなサイズの微分フィルタを増やせばよい。また、これより小さいサイズのごみしか想定しないのであれば、広域型のフィルタから順次削っていけばよい。広域型のフィルタは全て、青空のようなグラデーション部をエッジ認定しないように2次微分型とした。gradはグラジエント(1次微分)、lapはラプラシアン(2次微分)を意味する。
a)±K1x±K1範囲のエッジ検出フィルタ
gradK1=(|Y'[i-K1,j-K1]-Y'[i,j]|+|Y'[i+K1,j+K1]-Y'[i,j]|
+|Y'[i-K1,j+K1]-Y'[i,j]|+|Y'[i+K1,j-K1]-Y'[i,j]|
+|Y'[i-K1,j]-Y'[i,j]|+|Y'[i+K1,j]-Y'[i,j]|
+|Y'[i,j-K1]-Y'[i,j]|+|Y'[i,j+K1]-Y'[i,j]|)/8 ...(3)
b)±K2x±K2範囲のエッジ検出フィルタ
lapK2=|8*Y'[i,j]
-Y'[i-K2,j]-Y'[i+K2,j]-Y'[i,j-K2]-Y'[i,j+K2]
-Y'[i-K2,j-K2]-Y'[i+K2,j+K2]-Y'[i-K2,j+K2]-Y'[i+K2,j-K2]|/8 ...(4)
c)±K3x±K3範囲のエッジ検出フィルタ
lapK3=|8*Y'[i,j]
-Y'[i-K3,j]-Y'[i+K3,j]-Y'[i,j-K3]-Y'[i,j+K3]
-Y'[i-K3,j-K3]-Y'[i+K3,j+K3]-Y'[i-K3,j+K3]-Y'[i+K3,j-K3]|/8 ...(5)
d)±K4x±K4範囲のエッジ検出フィルタ
lapK4=|8*Y'[i,j]
-Y'[i-K4,j]-Y'[i+K4,j]-Y'[i,j-K4]-Y'[i,j+K4]
-Y'[i-K4,j-K4]-Y'[i+K4,j+K4]-Y'[i-K4,j+K4]-Y'[i+K4,j-K4]|/8 ...(6)
ここで、K1<K2<K3<K4であり、K1=1〜10、K4は80程度の値をとるものとする。すなわち、演算対象の画素範囲のサイズが順次大きくなっている。例えば±K1x±K1とは、着目画素を中心として±K1の範囲を意味し、K1=10とすると21x21画素範囲のフィルタとなる。
上記のエッジ検出フィルタは、高速化のため間引いて定義しているが、より精度を上げるには、中心画素と±Kix±Ki(i=1,2,3,4)内の全画素との差分をとるようにしてもよい。
上記のようなエッジ検出フィルタの特徴として、ワイヤのような面積率の小さいエッジはどのサイズのフィルタもエッジからワイヤの幅と同程度の僅かな距離までしかエッジとして認識しないという特性をもつ。また、構造物のような面積率の大きなエッジに対しては大きなサイズのフィルタほど段階的にエッジから離れたところまでエッジとして認識するという特性をもつ。従って、青空中に電線等があっても、青空の大部分の面積は広域フィルタによる平坦性が保証される。
2−3)エッジマップの生成
平坦性を保証する範囲をK1xK1,K2xK2,K3xK3,K4xK4の4段階に分けて、次の式等(7)〜(18)を使用してエッジ分類を行う。それぞれに対応するエッジマップをEdgePK1,EdgePK2,EdgePK3,EdgePK4とする。
sumK1=gradK1 ...(7)
sumK2=(gradK1+lapK2)/2 ...(8)
sumK3=(gradK1+lapK2+lapK3)/3 ...(9)
sumK4=(gradK1+lapK2+lapK3+lapK4)/4 ...(10)
if sumK1=<Th_edge EdgePK1[i,j]=0 ...(11)
else EdgePK1[i,j]=1 ...(12)
if sumK2=<Th_edge EdgePK2[i,j]=0 ...(13)
else EdgePK2[i,j]=1 ...(14)
if sumK3=<Th_edge EdgePK3[i,j]=0 ...(15)
else EdgePK3[i,j]=1 ...(16)
if sumK4=<Th_edge EdgePK4[i,j]=0 ...(17)
else EdgePK4[i,j]=1 ...(18)
処理(11)により、±K1x±K1画素範囲で変動幅Th_edge内の平坦部を検出しているので、K1xK1の画素範囲で変動幅Th_edge/2の平坦部を検出していると言える。処理(13)により、±K2x±K2画素範囲で変動幅Th_edge内の平坦部を検出しているので、K2xK2の画素範囲で変動幅Th_edge/2の平坦部を検出していると言える。処理(15)により、±K3x±K3画素範囲で変動幅Th_edge内の平坦部を検出しているので、K3xK3の画素範囲で変動幅Th_edge/2の平坦部を検出していると言える。処理(17)により、±K4x±K4画素範囲で変動幅Th_edge内の平坦部を検出しているので、K4xK4の画素範囲で変動幅Th_edge/2の平坦部を検出していると言える。
ここで、閾値Th_edgeの値は、Y'が256階調で表されているとき、例えば撮影感度がISO200程度のときは、3〜6程度の値をとる。
3)エッジ領域の拡大(S13)
本実施の形態では、エッジフィルタで平坦性を保証するサイズは後述するカーネルサイズと同じサイズあるいは広いサイズになっているので、基本的にはエッジ領域の拡大は不要である。しかし、エッジマップに若干の連続性を与えるため、エッジマップの拡大処理を行う。これはエッジマップの画素単位の急激な変化を抑える働きがあり、また、エッジ検出を間引きフィルタによって行っていることにも対応するものである。EdgePK1,EdgePK2,EdgePK3,EdgePK4の全てに10x10程度の拡大を行う。以下にEdgePK1の7x7拡大処理の例について示す。他のエッジマップも同様である。
横方向±3画素拡大処理
slpf = EdgePK1[i,j]+EdgePK1[i,j-1]+EdgePK1[i,j-2]+EdgePK1[i,j-3]
+EdgePK1[i,j+1]+EdgePK1[i,j+2]+EdgePK1[i,j+3]
if slpf=0 tmp[i,j]=0
else tmp[i,j]=1
縦方向±3画素拡大処理
slpf = tmp[i,j]+tmp[i-1,j]+tmp[i-2,j]+tmp[i-3,j]
+tmp[i+1,j]+tmp[i+2,j]+tmp[i+3,j]
if slpf=0 EdgePK1[i,j]=0
else EdgePK1[i,j]=1
4)平坦部分類(S14)
以上のようにして求めた4種類のエッジマップから平坦部マップを作成する。平坦部マップはエッジ部からの距離情報を表しているともいえる。以下の処理の例では、EdgePK4から処理をしているので、広域型のエッジフィルタでも狭域型のエッジフィルタの複数で平坦性が保証されている場合は、後述するゴミ抽出能力が高い広域型のカーネルができるだけ採用されるように広域の平坦性に分類する。すなわち、複数のエッジフィルタで平坦性が保障されている領域においては、対応する後述するカーネルのうち最も大きなサイズのカーネルを使用して後述するゲイン(ゴミの透過率信号)が抽出されるようになっている。
if EdgePK4[i,j]=0 flatP[i,j]=4 (K4xK4画素範囲で平坦)
else{
if EdgePK3[i,j]=0 flatP[i,j]=3 (K3xK3画素範囲で平坦)
else{
if EdgePK2[i,j]=0 flatP[i,j]=2 (K2xK2画素範囲で平坦)
else{
if EdgePK1[i,j]=0 flatP[i,j]=1 (K1xK1画素範囲で平坦)
else flatP[i,j]=0 (エッジ上)
}
}
}
flatP[i,j]=4で分類される平坦部を平坦部4、flatP[i,j]=3で分類される平坦部を平坦部3、flatP[i,j]=2で分類される平坦部を平坦部2、flatP[i,j]=1で分類される平坦部を平坦部1という。
5)自己ゲイン抽出(S15)
5−1)複数カーネルによるゲイン抽出
平坦性が保証された領域に、輝度の局所平均と着目画素との比(ゲイン、相対比)をとる演算を行えば、ゴミの透過率情報が抽出できる。この演算子をカーネルと呼ぶ。局所平均をとる範囲の定義の仕方により異なるカーネルサイズが定義できるが、ゴミの透過率情報を得るには局所平均値がゴミの影響を含まない程度に十分大きい必要があるため、一般に大サイズのカーネルほどゴミ抽出能力は高い。しかし、広域で平坦性が保証されている必要があるため、エッジ近傍では採用することができない。そこで、エッジ近傍では多少能力が落ちても、エッジのぎりぎり近くまで滑らかにゴミが除去されるように、エッジに近づくほど小さいサイズのカーネルを使いながらゴミの透過率情報を収集する。ここではK4xK4カーネル、K3xK3カーネル、K2xK2カーネル、K1xK1カーネルの4種を用意し、それぞれに対応したサイズで平坦性が保証されている場合に利用可能とする。上記カーネルのK1,K2,K3,K4は、エッジ検出フィルタのK1,K2,K3,K4と一致する。ただし、完全に一致していなくてもよく、実質的に一致していればよい。
まず、初期化処理を行う。
gmap_self[i,j]=1 すべての画素[i,j]に対して
次に、平坦部1に対して、K1xK1カーネルを使用してゲインを抽出する。
if flatP[i,j]=1 {
ave=Σ{Y[i+m,j+n]}/(K1*K1)
m=0,±1,±2,...,±(K1)/2
n=0,±1,±2,...,±(K1)/2
gmap_self[i,j]=Y[i,j]/ave
}
次に、平坦部2に対して、K2xK2カーネルを使用してゲインを抽出する。
if flatP[i,j]=2 {
ave=Σ{Y[i+m,j+n]}/(K2*K2)
m=0,±1,±2,...,±K2/2
n=0,±1,±2,...,±K2/2
gmap_self[i,j]=Y[i,j]/ave
}
次に、平坦部3に対して、K3xK3カーネルを使用してゲインを抽出する。
if flatP[i,j]=3 {
ave=Σ{Y[i+m,j+n]}/(K3*K3)
m=0,±1,±2,...,±K3/2
n=0,±1,±2,...,±K3/2
gmap_self[i,j]=Y[i,j]/ave
}
次に、平坦部4に対して、K4xK4カーネルを使用してゲインを抽出する。
if flatP[i,j]=4 {
ave=Σ{Y[i+m,j+n]}/(K4*K4)
m=0,±1,±2,...,±K4/2
n=0,±1,±2,...,±K4/2
gmap_self[i,j]=Y[i,j]/ave
}
ここで、局所平均はカーネルサイズの全領域でとっているが、処理の高速化のため間引いた代表値による平均をとってもよい。また、カーネルの形は正方型に限らず、矩形型で定義しても良い。そのときは、エッジ検出フィルタも矩形型となる。
図6は、上述したエッジ検出から平坦部分類までの処理と複数カーネルによるゲイン抽出処理を、カーネル割り当ての観点から説明するフローチャートである。ステップS41では、対象画素についてK4xK4画素範囲で平坦性が保証されたものか否かを判断する。判断が肯定されると、ステップS42に進みK4xK4カーネルを使用してゲイン抽出を行う。判断が否定されると、ステップS43に進む。ステップS43では、対象画素についてK3xK3画素範囲で平坦性が保証されたものか否かを判断する。判断が肯定されると、ステップS44進みK3xK3カーネルを使用してゲイン抽出を行う。判断が否定されると、ステップS45に進む。ステップS45では、対象画素についてK2xK2画素範囲で平坦性が保証されたものか否かを判断する。判断が肯定されると、ステップS46進みK2xK2カーネルを使用してゲイン抽出を行う。判断が否定されると、ステップS47に進む。ステップS47では、対象画素についてK1xK1画素範囲で平坦性が保証されたものか否かを判断する。判断が肯定されると、ステップS48進みK1xK1カーネルを使用してゲイン抽出を行う。判断が否定されると、ステップS48に進む。ステップS48では、対象画素は平坦部ではなく、エッジであると判断されてゲイン抽出は行われない。
上述のカーネルで相対比を演算する処理を、局所的規格化処理(ゲイン抽出処理)と呼んでもよい。着目画素の輝度と着目画素周辺の局所的領域の画素の平均輝度(局所平均)との比(相対比)をとっているので、規格化される。図7は、平坦部の輝度面に対して局所的規格化処理を施した様子を示す図である。図7(a)は、輝度面内のある横方向に並ぶ画素の輝度信号を示す図である。符号41と符号42は、ゴミにより輝度信号が低下していることを示す。図7(b)は、図7(a)の輝度信号に対して、上述した局所的規格化処理を施して得られた図である。すなわち、局所的な範囲で画素値の規格化処理を行ったものである。符号43、44は、図7(a)の符号41、42に対応し、ゴミが存在する個所の透過率を示す。このように、平坦部の一様面データに含まれるグラデーション、シェーディング等の不均一性は排除され、ゴミ影による透過率の低下のみを抽出することができる。これにより、ゴミの位置と透過率の程度が同時に分かる。
5−2)3σ判定
抽出された平坦部の透過率信号には、輝度信号のランダムノイズ成分が含まれているため、これとゴミによる異常な透過率の低下とを区別するため、得られたゲインマップ(透過率マップ)内で統計解析を行い、3σ判定を行って区別する。図7における符号45部分を拡大した符号46は、この細かいランダムノイズがある様子を示している。得られたゲインマップの全面について、平均値Mを次式(19)により求め、標準偏差σを次式(20)により求める。図8は、ゲインマップ(透過率マップ)のヒストグラムを示す図である。
Figure 0004419479
Figure 0004419479
ここで、和をとる[i,j]はflatP[i,j]>0のゲイン抽出画素とし、Nはその総画素数を表す。正規分布するランダムデータは±3σの範囲を集めれば99.7%になるので、ほぼ正確にランダムノイズの影響を除外することができる。±3σから外れる透過率は、ほとんど統計的な誤差では説明できない異常な信号であり、ゴミ影による透過率の低下による現象を表していると考えられる。この異常部分は、ゴミ影の場合、通常1より小さな値となる。従って、±3σ内のゲインおよび1より大きなゲインを強制的に1にセットし、その他のいわゆるゴミの影響を受けていると思われる画素のゲインを上述の計算された値のままとする。
if |gmap_self[i,j]-M|≦3σ gmap_self[i,j]=1
else if gmap_self[i,j]>1 gmap_self[i,j]=1
else gmap_self[i,j]=gmap_self[i,j]
なお、判定に使う平均値Mは常に1に近い値をとるため、1に置き換えてもよい。
5−3)ゲインマップのLPF処理
次の自己ゲイン補正で、補正領域のランダム性が失われてしまわないように、次の式(21)で表される若干のローパスフィルタを掛けておく。
gmap_self[i,j]={4*gmap_self[i,j]
+2*(gmap_self[i-1,j]+gmap_self[i+1,j]+gmap_self[i,j-1]+gmap_self[i,j+1])
+1*(gmap_self[i-1,j-1]+gmap_self[i-1,j+1]+gmap_self[i+1,j-1]
+gmap_self[i+1,j+1])}/16 ...(21)
6)自己ゲイン補正(S16)
次に、次式(22)〜(24)に示すように、補正対象画像のR,G,B値各々に対してゲイン(透過率)の逆数を掛け算して、ゲイン補正を行う。
R[i,j]=R[i.j]/gmap_self[i,j] ...(22)
G[i,j]=G[i.j]/gmap_self[i,j] ...(23)
B[i,j]=B[i.j]/gmap_self[i,j] ...(24)
このようにして、一様面の基準画像データがなくても、補正対象画像自身のゴミを自己抽出して補正することができる。すなわち、1つの撮影画像内で上記したように平坦性が保証できる所定の条件を満たす領域を抽出する。抽出した平坦領域の欠陥情報を自ら抽出し、自ら補正する。従って、瞳位置や絞り値などが変化する可変光学系の影響を全く加味する必要性がない。特に、膨大な数を占める小さなゴミ影の除去に威力を発揮する。さらに、視覚的に目立ちやすい平坦部領域のゴミをエッジ近傍まで滑らかに除去することができる。
なお、本実施の形態では、複数のサイズのエッジフィルタを使用してエッジを検出し、その結果に基づき平坦度合を分類し、分類した平坦度合に応じて複数のカーネルを使い分けている。このことは、撮影画像のエッジ部からの距離に応じて複数のカーネルを使い分けていると言える。エッジ部に近い領域ほど、小さいサイズのカーネルを使用し、エッジ部から離れるにつれて大きなサイズのカーネルを使用している。小さいサイズのカーネルでは、大きなゴミに対しては補正痕が残るという欠点を有するが、エッジ近辺まで近寄って補正することができるという長所を有し、小さなゴミに対しては補正痕の問題を生じない。大きなサイズのカーネルは、エッジ近辺まで近寄れないが大きなゴミも含めてきれいに補正することができる。従って、エッジ近辺では、大きなゴミに対して少々欠点を有するが、小さなカーネルで少しでもゴミの影響を補正し、エッジから離れたところでは、大きなカーネルで確実にゴミの影響を補正する。
また、本実施の形態の複数のエッジフィルタと複数のカーネルは、サイズの大きさ順に一対一の対応関係にあり、エッジ抽出フィルタのサイズとカーネルのサイズはほぼ(実質的に)比例関係にあると言える。
−第2の実施の形態−
第2の実施形態では、第1の実施形態での自己抽出法に加え、若干ユーザーの負荷はかかるが、ゴミ参照用に一日から一月に一回程度一様な基準画像を撮影した画像を利用して、ゴミ除去性能を更に上げる方式である。第1の実施の形態では、エッジマップ抽出において大きなゴミはエッジとして抽出されてしまい、補正がなされない場合がある。第2の実施の形態では、このような問題を改善するものである。なお、基準画像は、完全に一様な白基準データではなく、青空、一様に近い壁面、グレーチャート、無地の紙面などを撮影して代用するものとする。この場合の基準画像は、レンズの周辺減光や被写体のグラデーション、撮像素子のシェーディングなどが含まれていてもよい。基準画像は、実際に身近な場所で容易に撮影できる状況で取得できる場合を想定しており、厳密な一様性は要求せず、画像処理側のアルゴリズムで一様なものに変換する。基準画像と補正対象画像の光学的条件(瞳位置とF値)の違いは画像処理側で対処する。
なお、電子カメラ1および画像処理装置としてのPC31の構成は、第1の実施の形態と同様であるので、その説明を省略する。
(電子カメラ側の動作)
図9は、第2の実施の形態における、電子カメラ1側の撮影手順について説明する図である。1)瞳位置P0、絞り値A0で一様面撮影201を行い、基準画像データ0を出力する。2)瞳位置P1、絞り値A1で通常撮影202を行い、補正対象画像データ1を出力する。3)瞳位置P2、絞り値A2で通常撮影203を行い、補正対象画像データ2を出力する。4)瞳位置P3、絞り値A3で通常撮影204を行い、補正対象画像データ3を出力する。すなわち、まず、電子カメラ1を空や壁面に向けて一様な面の撮影を行い(一様面撮影)、その後、電子カメラ1を撮影したい被写体に向けて随時撮影する(通常撮影)。
ここで、基準画像の絞り値A0は、可変光学系3に用意された可変な範囲の中で最も絞り込んだ状態で撮影するものとする。最も絞り込んだ絞り値は、標準的なレンズでは例えばF22程度である。一方、補正対象画像の絞り値は、基準画像と同じか、それより開放側であるものとする。
一様面撮影は、ゴミの付着状態が変化しないかぎり省くことができる。一様面撮影の挿入回数が多いに越したことはないが、通常は一日一回程度のデータでもあれば、有効なゴミデータになりうる。一様面撮影を行うか否かの判断は、撮影者に委ねられる。しかし、先に行った一様面撮影があまりにも時間的に離れている場合は、その一様面撮影による基準データは信頼性に欠ける場合も生じる。従って、通常撮影から所定時間内の一様面撮影の基準画像データのみを使用するようにしてもよい。また、必ずしも一様面撮影を先に行う必要はない。後に行った一様面撮影の基準画像データを使用してもよい。一様面撮影が、通常撮影の前後に複数ある場合は、時間的に最も近い一様面撮影の基準画像データを使用するようにしてもよい。あるいは、新規付着ゴミの可能性を気にするのであれば、撮影前後の2番目に近いものまでの中からどちらかを選択するようにしてもよい。
(画像処理装置側動作)
第2の実施の形態において、画像処理装置であるPC31に入力される基準画像データと補正対象画像データには、瞳位置と絞り値が識別できるデータが埋め込まれているものとする。瞳位置データは、撮影データに埋め込まれたレンズの種類、ズーム位置、焦点位置の記録データから換算テーブルを使って算出してもよい。図10は、PC31で行う処理の流れを示すフローチャートである。
<基準画像に対する処理>
1)輝度面生成(S21)
ステップS21の輝度面生成は、第1の実施の形態と同様に行う。
2)透過率マップの生成(ゲインマップ抽出)(S22)
ステップS22では、以下の処理からなる透過率マップの生成(ゲインマップ抽出)を行う。
2−1)局所的規格化処理(ゲイン抽出処理)
基準画像データは、上述したように必ずしも完全に一様なものでない。従って、生成した輝度面も完全に一様ではない。このような輝度面に対して、局所的な画素値の規格化(正規化)処理を行って、各画素の透過率信号T[i,j]を、次式(25)を使用して算出する。すなわち、着目画素[i,j]の値とこの画素を含む局所範囲の画素平均値との相対比を各々の画素についてとる。これにより一様面データに含まれるグラデーション、シェーディング等の不均一性はアルゴリズム的に問題なく排除され、肝心のゴミ影による透過率の低下のみを抽出することができる。このようにして求めた画像全面の透過率を透過率マップ(ゲインマップ)と言う。透過率マップは、基準画像の欠陥情報を示すものである。なお、画素値とは、各画素における色成分の色信号(色情報)や輝度信号(輝度情報)の値である。例えば、1バイトで表される場合、0〜255の値を取る。
Figure 0004419479
ここで、局所平均を取る範囲(2a+1)x(2b+1)画素は、ゴミ径より大きめにとる。理想的には面積的にゴミ影よりも3倍程度以上の広さを取れば、正確な透過率データが得れらる。aは着目画素[i,j]を中心に左右に広がる画素数、bは着目画素[i,j]を中心に上下に広がる画素数を示す。例えば、撮像素子8の画素ピッチを12umとし、撮像面とゴミ付着面との距離を1.5mmとすると、絞り値F22のとき、巨大なゴミの直径は15画素程度、絞り値F4のとき、巨大なゴミの直径は40画素程度となる。従って、a=40、b=40とし、局所平均を取る範囲は81×81画素範囲のように設定するとよい。これは、一例であり、他の画素数による画素範囲であってもよい。基準画像においてゲインを求める場合は、カーネルサイズは1種類とする。
ゴミ影は絞り値に大きく依存し、小さなゴミは絞りを開けるとすぐに消滅するが、大きなゴミは絞りを開放側にしても影は薄くなりながらも大きな面積を占めることがある。撮像素子の画素ピッチ幅にもよるが、開放側で数十画素に渡って丸いゴミ影ができる場合があり、そのときは非常に広い範囲で局所平均をとる必要性が出る。そのため、処理を高速化する場合は、間引いた画素で代表して処理しても問題ない。
この(2a+1)x(2b+1)画素の範囲で相対比を演算する処理を、第1の実施の形態の平坦部における相対比の演算と同様に、局所的規格化処理(ゲイン抽出処理)と呼ぶ。(2a+1)x(2b+1)画素の範囲で相対化演算するフィルタのことを、ゲイン抽出カーネルと呼ぶ。局所的規格化処理については、第1の実施の形態の図7の説明と同様である。このように、一様面データに含まれるグラデーション、シェーディング等の不均一性は排除され、ゴミ影による透過率の低下のみを抽出することができる。これにより、ゴミの位置と透過率の程度が同時に分かる。
2−2)透過率マップの統計解析
前述の局所的規格化処理により得られた透過率マップの画像全面について、第1の実施の形態の平坦部と同様に、平均値Mを次式(26)により求め、標準偏差σを次式(27)により求める統計解析を行う。なお、Nx,Nyは、x方向、y方向の総画素数を表す。
Figure 0004419479
Figure 0004419479
2−3)閾値判定
基本的に透過率マップに占めるゴミ信号の面積的な割合は非常に小さく、2−3)で統計解析した結果は、透過率信号の量子論的揺らぎに伴うランダムノイズ(ショットノイズ)を評価していることになる。透過率マップのヒストグラムをとると、平均値M(Mはほぼ1に近い値)を中心に標準偏差σの正規分布した形となる。第1の実施の形態の図8を参照。この揺らぎの範囲はゴミ影による透過率の変化を受けていないと考えられるため、強制的に透過率を1に設定してよい。すなわち、次の処理(28)(29)により閾値判定を行う。
if |T[i,j]-M|≦3σ then T[i,j]=1 ...(28)
else T[i,j]=T[i,j] ...(29)
正規分布するランダムデータは、±3σの範囲を集めれば99.7%になるので、ほぼ正確にランダムノイズの影響を除外することができる。±3σから外れる透過率は、ほとんど統計的な誤差では説明できない異常な信号であり、ゴミ影による透過率の低下による現象を表していると考えられる。この異常部分は、ゴミ影の場合、通常1より小さな値となる。このことは、第1の実施の形態で説明したのと同様である。
しかし、割合は少ないが1より大きな値を示すものもある。これはゴミ影の影響ではなく、オプティカルローパスフィルタ等の脈理(屈折率の不均一)で生じた欠陥が入射光を強めあったり弱めあったりする干渉縞を起こした場合などに見られる現象である。これにより、光路途中に含まれるゴミ以外の光学部材の欠陥検出にもこの方法は利用することができる。また、撮像素子内の画素欠陥の影響もこの手法で判別可能である。ゴミは、撮像素子8に近い方がボケずに残りやすいが、撮影レンズ上のゴミが相当ボケて写り込んだ場合でも精度よく判別可能である。
なお、ゴミ影の影響のみを取り除く場合は、以下の処理(30)(31)(32)により閾値判定するとよい。
if |T[i,j]-M|≦3σ then T[i,j]=1 ...(30)
else if T[i,j]>1 T[i,j]=1 ...(31)
else T[i,j]=T[i,j] ...(32)
判定に使う平均値Mは常に1に近い値をとるため、1に置き換えてもよい。
このようにして、欠陥の画素位置を表すマップ情報(T=1か否かで判断)と、欠陥の度合いを表す透過率情報の2種類の欠陥情報が同時に得られることになる。なお、上述の透過率マップは局所的な相対ゲインを表していることからゲインマップと呼んでもよい。
通常、ゴミ等の欠陥検出は、エッジ検出用の微分フィルタで行う。しかし、光路途中のゴミを対象とする場合、光学的にぼけるため非常に周辺とのコントラストが低いゴミ影となって現れる。このような場合、微分フィルタでは非常に感度が悪くほとんど検知できないことが多い。しかし、上記説明したように、透過率の統計的性質を用いた判定法を用いると、非常に高感度のゴミ検出が可能となり、目的の光路途中の異物による影響補正が可能となる。
3)透過率マップの瞳位置変換(S23)
ステップS23では、透過率マップの瞳位置変換を行う。基準画像と補正対処画像の瞳位置が相互に異なっているとき、基準画像のゴミ位置を、補正対象画像の瞳位置から見たときに出現すると予測されるゴミ位置に瞳位置変換する。図11は、瞳位置が変化するとゴミ影の位置が変化する様子を示す図である。図11(a)は、瞳位置とゴミと撮像素子8の撮像面との関係を示す図である。図11(b)は、瞳位置の変化に伴い撮像面上でゴミ影が移動している様子を示す図である。
図11から明らかなように、瞳位置が異なると画像内に写り込むゴミの位置は、光軸51すなわち画像の中心から動径方向にずれる。ここで、画像内の光軸51から距離rの位置にあるゴミが、動径方向にずれる量Δrを見積もる。基準画像の瞳位置をP0、補正対象画像の瞳位置をP0'、撮像面から距離lの位置にゴミが付着しているとすると、Δrは、次式(33)により計算することができる。
Figure 0004419479
ただし、距離lは光学部品の厚みを空気中の光路長に換算した値である。
基準画像の透過率マップT[i,j]を、極座標[r,θ]上で次式(34)により[r',θ]に変位させ、座標[i,j]上の透過率マップT'[i,j]に変換する。
Figure 0004419479
ずれ量Δrは、光軸51から距離が遠くになるに従い大きくなる。実際の画像の周辺部では、瞳位置の値によっては数十画素に及ぶこともある。
4)透過率マップのF値変換(S24)
ステップS24では、透過率マップのF値変換を行う。基準画像と補正対処画像の絞り値が相互に異なっているとき、基準画像のゴミ径と透過率を、補正対象画像のより開放側絞り値でのゴミ径と透過率にF値変換する。図12は、絞り値であるF値が変化するとゴミ影の大きさが変化する様子を示す図である。図12(a)は、F値が大きい場合、図12(b)は、F値が小さい場合を示す。図12から明らかなように、F値の定義式(F=焦点距離/レンズの有効口径)を、相似関係にある撮像面からゴミ付着位置までの距離lとゴミ広がりΓに当てはめると次式(35)が成立する。
Figure 0004419479
lを撮像素子の画素ピッチa[mm/pixel]で割り算すると、ゴミ径は画素数で表記できる。このようにして、絞りがF値のとき、点像のゴミは幅Γの大きさに広がることが予測できる。
一方、その点像の分布関数は、絞り値内で開口したレンズの各入射角度から均等に点像ゴミに光を当ててゴミ影を広げていると考えられるので、完全に一様な広がりを持つ関数と想定してよい。したがって、F値変換には、フィルタ幅Γ画素で表される一様なローパスフィルタ処理を掛けることによって、ゴミ径と透過率を正確に予測するF値変換が可能となる。ローパスフィルタは直径がΓの円形状の非分離型フィルタが普通と考えられるが、処理の高速化を念頭に、縦Γ、横Γの正方状の分離型フィルタでも問題ない。
例えば、l=0.5mm、a=5μm/pixelの場合にF22の透過率マップを、F16、F11、F8、F5.6、F4に変換する場合に当てはめると、正方状の分離型フィルタの一次元フィルタ係数は図10ような形式に表される。図13の一次元フィルタ係数を使用して、縦横それぞれフィルタリングをする。なお、絞り値F16の一次元フィルタ係数は、両端に0.5の係数を持ち、7つの係数を有する。これは、偶数幅の広がりを着目画素を中心に左右上下に均等に広がる奇数幅の範囲でフィルタリングをするためである。図14は、絞り値F16フィルタを2次元フィルタで表した図である。
上記の変換処理を行うことにより、基準画像の透過率マップは、補正対象画像の瞳位置、F値の状態の透過率マップに変換される。すなわち、基準画像の透過率マップは、補正対象画像が撮影される光学的条件下で生成される透過率マップと等価な透過率マップが生成される。
5)ゴミの種別分類(S25)
ステップS25では、次に示す処理により、透過率信号の大きさからゴミを分別して、大きいゴミは後述のエッジマップの修正に反映させる。分類結果をゴミマップdmapに代入する。
if T[i,j]=1 dmap[i,j]=0(ゴミなし)
else if T[i,j]>0.94 dmap[i,j]=1(小さいゴミ)
else dmap[i,j]=2(大きなゴミ)
dmap=2についてはエッジマップの修正時に漏れがないように7x7程度の若干の領域拡大処理を加えておく。
6)ゴミ領域拡大処理(S26)
ステップS26では、瞳位置変換で想定される誤差分だけゴミマップを拡大しておくことで、許容誤差内の領域にはゴミが含まれるようなゴミマップにする。ここでは、例えば±3画素の誤差を見込む。
if dmap[i,j]=1 dmap[i±m,j±n]=1
if dmap[i,j]=2 dmap[i±m,j±n]=2
m=1,2,3、n=1,2,3
<補正対象画像に対する処理>
1)輝度面の生成(S31)
ステップS31の輝度面の生成は、第1の実施の形態と同様である。
2)エッジ検出(S32)
ステップS32のエッジ検出は、第1の実施の形態と同様である。
3)エッジマップからゴミ領域除外(S33)
ゴミ影の多くはコントラストが低いためエッジ抽出されないが、中には大きなゴミでコントラストの高いものがあり、エッジ抽出されてしまうことがある。特に絞り込んで撮影された補正対象画像内で幾つかのゴミ影に発生する。これらのゴミ影がエッジ領域としてゲイン抽出領域の指定から外れることを防ぐため、次に示す処理により、基準画像を使用して生成したゴミマップ情報を利用してゴミ位置は強制的にエッジ部から除外する処理を行う。ここで、あまり大きくエッジ領域を削ることを防ぐため、前述の瞳位置変換誤差分のゴミマップの拡大処理を行う前のゴミマップを利用することにする。
if dmap[i,j]=2 {EdgePK1[i,j]=0, EdgePK2[i,j]=0,
EdgePK3[i,j]=0, EdgePK4[i,j]=0}
模式的にこの操作を「EdgePxx'=EdgePxx-Dust(dmap=2)」と記述すると分かりやすい。
4)エッジマップの周辺同化処理(ゴミくりぬき部の補正)(S34)
エッジマップがいびつにゴミ部のみくりぬかれた(除外された)状態は不自然なので、エッジマップ内での周辺同化処理を行う。例えば、背景が青空のような一様な画像であれば、ステップS25のゴミマップ情報を使用して、エッジマップから大きなゴミによるエッジ部をくりぬいてもなんら問題が生じない。むしろ、くりぬく必要がある。しかし、背景が模様や構造のある画像である場合に、ステップS25のゴミマップ情報によりゴミがあるとしてその部分をエッジマップからくりぬくと、周辺の実際の模様や構造との関係から不自然な補正処理を行うことになる。従って、エッジ部でないと判断された画素が、その周辺の画素にエッジ画素が多数あると判断される場合は、その画素を再度エッジ部とするようにする。
エッジマップの周辺同化処理は、次に示す処理により行う。具体的には、例えば図15に示すような着目画素に対する周辺8画素(図15の黒丸の画素、図15は着目画素[i,j]=[0,0]に対して第4象限のみを示す)のうち4個を超える画素がエッジの場合、着目画素もエッジとする。4個を超えるとは周辺8画素のうちエッジである画素数が過半数あることを意味する。すなわち、周辺画素にエッジの画素が過半数存在する場合は、着目画素もエッジとする。水平方向垂直方向の8画素目の画素を見ているのは、ステップS25でdmap=2について7x7程度の若干の領域拡大処理を加えているので、2倍程度大きい8画素先を見るようにしている。以下の処理は全画素について行ってもよいし、dmap=2でエッジくり抜きをした画素のみに限定してもよい。
データコピー
tmp[i,j]=EdgePK1[i,j] すべての画素[i,j]に対して
周辺同化処理
if tmp[i,j]=0{
sum = tmp[i-8,j]+tmp[i+8,j]+tmp[i,j-8]+tmp[i,j+8]
+tmp[i-8,j-8]+tmp[i+8,j+8]+tmp[i-8,j+8]+tmp[i+8,j-8]
if sum>4 EdgePK1[i,j]=1
}
5)エッジ領域の拡大(S35)
ステップS35のエッジ領域の拡大は、第1の実施の形態のステップS13と同様に行う。
6)平坦部分類(S36)
ステップS36の平坦部分類は、第1の実施の形態のステップS14と同様に行う。
7)ゴミ抽出領域の特定(S37)
平坦部でかつゴミ領域と特定されている領域に限定して、ゴミ除去を行うのが補正対象画像の誤った補正を防ぐ観点から最も合理的である。したがって、この両条件を満たす領域情報を、次の処理により平坦マップに代入する。すなわち、ゴミ領域でないと判断された領域は平坦部でないというようにして、次の処理に進む。dmap[i,j]は、ステップS26のゴミ領域拡大処理を経た後の結果を使用する。ステップS26の処理によって瞳位置変換精度の誤差分だけゴミ周辺にゲイン抽出領域を広げることにより、平坦部において漏れなくゴミ抽出することが可能となる。
if dmap[i,j]=0 flatP[i,j]=0
8)自己ゲイン抽出(S38)
ステップS38の自己ゲイン抽出は、第1の実施の形態のステップS15のうち、複数カーネルによるゲイン抽出処理(局所的規格化処理)(5−1)とゲインマップのローパス(LPF)処理(5−3)のみを第1の実施の形態と同様に行う。3σ判定処理(5−2)は、ステップS37の処理により既にゴミ近傍に限定されているので不要である。
ローパス処理は、gmap_self[i,j]に含まれる画素[i,j]のゆらぎ成分を除去する。本実施の形態では、ゴミ位置の局所領域のみに限定して、統計解析による閾値処理を介さないで、自己ゲイン抽出による自己ゲイン補正を行うので、このローパス処理は重要な処理となる。すなわち、ローパス処理前は画素値と透過率値gmap_self[i,j]が同じ方向にゆらいでいるため、ローパス処理をしないで後述の自己ゲイン補正すると、画像はその局所領域のみ全体的にのっぺりとなりやすい。そこで、gmap_self[i,j]のゆらぎ成分を取り除いてやれば、画素値が持つゆらぎ成分を失わずに済み、周辺部との粒状性の連続性が保てるようになる。これは、特に高感度画像のような乱雑性が多い場合に威力を発揮する。ここで、ローパスフィルタは、第1の実施の形態よりももう少し強めに設計してもかまわないし、ローパスフィルタの影響を受けやすい大きなゴミ部分(gmap_self[i,j]の値が1に比べかなり小さい所)だけはローパスフィルタ処理を外すようにしても構わない。
9)自己ゲイン補正(S39)
ステップS39の自己ゲイン補正は、第1の実施の形態のステップS16と同様に行う。
こうして第2の実施形態では、視覚的に目立ちやすい平坦部領域のあらゆるゴミを漏れなく、エッジ近傍まで滑らかに除去することができる。
また、基準画像の透過率マップの瞳位置変換精度が悪くても、補正対象画像自身からゴミの透過率情報を抽出するので、全くずれのないきれいな補正が可能となる。なお、自己ゲインの抽出は、ステップS37で特定された自己ゲイン抽出領域に限って行われる。従って、補正処理もこの範囲に限ってのみ行われ、処理の負荷が軽減される。
また、基準画像のゴミマップ情報を有効に利用することによって、補正対象画像内の大きなゴミから小さなゴミまであらゆるゴミを漏れなく自己抽出することが可能となる。
上記説明した第1、第2の実施の形態の画像処理装置では、電子カメラで任意の使用時刻、任意の使用条件で撮影した画像おいて生じたゴミ等の影響による黒染み等の欠陥を、適切に補正し、高品質な画像を再現することができる。
なお、上記第2の実施の形態では、撮影者が一様に近いと考える基準画像を撮影して、その撮影した基準画像に局所的規格処理等を施して透過率マップを作成していた。しかし、撮影者が一様に近いと考える基準画像に小さな模様等がある場合もある。これは、基本的に被写体をボカして撮影することで対処できる。例えば、紙をレンズの最短撮影距離よりも至近位置において撮影したりすればよい。たとえ、小さな模様があっても(2a+1)x(2b+1)サイズのゲイン抽出カーネルより広い範囲でゆるやかに変化する像にボケれば十分に目的を達成することのできる一様に近い基準画像になり得る。
また、上記第2の実施の形態では、ステップS37で自己ゲイン抽出領域の特定をし、ステップS38では限定された範囲で補正を行うようにした。このように補正範囲をゴミ領域を含む周辺範囲(近傍領域)に限定する手法は、上記第1の実施の形態においても適用することも可能である。第1の実施の形態では、求められた透過率マップからゴミを特定し、その周辺領域を求めればよい。
また、上記実施の形態では、ベイア配列のRGB表色系の例を説明したが、最終的に補間処理がなされるものであれば、カラーフィルタの配置方法には全く依存しないことは言うまでもない。また、他の表色系(例えば補色表色系)であっても同様である。
また、上記実施の形態では、交換レンズ方式の一眼レフ電子スチルカメラの例を説明したが、必ずしもこの内容に限定する必要はない。非交換レンズ方式のカメラにも本発明は適用できる。瞳位置や絞り値は、適宜公知な手法で取得すればよい。
また、上記実施の形態では、電子スチルカメラ1で撮影した画像データを処理する例を説明したが、必ずしもこの内容に限定する必要はない。本発明は、動画を扱うビデオカメラで撮影した画像データにも適用できる。また、カメラつき携帯電話などで撮影した画像データにも適用できる。さらに、コピー機やスキャナー等にも適用できる。すなわち、撮像素子を使用して撮像したあらゆる画像データに対して、本発明を適用することができる。
また、上記実施の形態では、電子カメラ1で撮影した画像データをPC(パソコン)31で処理してゴミの影響を除去する例を説明したが、必ずしもこの内容に限定する必要はない。電子カメラ1上で、そのようなプログラムを備えてもよい。また、プリンターや投影装置などにそのようなプログラムを備えてもよい。すなわち、画像データを扱うあらゆる装置に、本発明は適用することができる。
PC31で実行するプログラムは、CD−ROMなどの記録媒体やインターネットなどのデータ信号を通じて提供することができる。図16はその様子を示す図である。PC31は、CD−ROM34を介してプログラムの提供を受ける。また、PC31は通信回線401との接続機能を有する。コンピュータ402は上記プログラムを提供するサーバーコンピュータであり、ハードディスク403などの記録媒体にプログラムを格納する。通信回線401は、インターネット、パソコン通信などの通信回線、あるいは専用通信回線などである。コンピュータ402はハードディスク403を使用してプログラムを読み出し、通信回線401を介してプログラムをPC31に送信する。すなわち、プログラムをデータ信号として搬送波にのせて、通信回線401を介して送信する。このように、プログラムは、記録媒体や搬送波などの種々の形態のコンピュータ読み込み可能なコンピュータプログラム製品として供給できる。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
交換レンズ方式の電子カメラの構成を示す図である。 電子カメラのブロック図とパーソナルコンピュータ(PC)および周辺装置を示す図である。 第1の実施の形態における、電子カメラ側の撮影手順について説明する図である。 第1の実施の形態における、PCで行う処理の流れを示すフローチャートである。 複数の微分フィルタの方位をまとめて表した図である。 エッジ検出から平坦部分類までの処理と複数カーネルによるゲイン抽出処理を、カーネル割り当ての観点から説明するフローチャートである。 輝度面に対して局所的規格化処理を施した様子を示す図である。 透過率マップのヒストグラムを示す図である。 第2の実施の形態における、電子カメラ側の撮影手順について説明する図である。 第2の実施の形態における、PCで行う処理の流れを示すフローチャートである。 瞳位置が変化するとゴミ影の位置が変化する様子を示す図である。 絞り値であるF値が変化するとゴミ影の大きさが変化する様子を示す図である。 各絞り値に対する一次元フィルタ係数を示す図である。 絞り値F16における透過率マップに変換するフィルタを2次元フィルタで表した図である。 エッジマップの周辺同化処理の様子を示す図である。 プログラムを、CD−ROMなどの記録媒体やインターネットなどのデータ信号を通じて提供する様子を示す図である。
符号の説明
1 電子カメラ
2 カメラ本体
3 可変光学系
4 レンズ
5 絞り
6 シャッター
7 光学部品
8 撮像素子
9 マウント部
12 アナログ信号処理部
13 A/D変換部
14 タイミング制御部
15 画像処理部
16 操作部
17 制御部
18 メモリ
19 圧縮/伸長部
20 表示画像生成部
21、32 モニタ
22 メモリカード用インタフェース部
23 外部インタフェース部
24 バス
30 メモリカード
31 PC(パーソナルコンピュータ)
33 プリンタ
34 CD−ROM

Claims (4)

  1. 光学系を通して撮像素子により撮像された画像を取得する画像取得手段と、
    前記取得した画像内において、着目画素の値と該着目画素を含む所定範囲内の複数の画素の値の平均値に基づいて、前記画像内に生じた光路途中の欠陥の投影像に関する欠陥情報を作成する欠陥情報作成手段とを備え、
    前記欠陥情報作成手段は、複数の異なる画素範囲に対するエッジ検出フィルタを用いて複数の異なる画素範囲の中から各々の画素に対して平坦性が保証される最大の画素範囲を求め、前記平坦性が保証された最大の画素範囲に含まれる画素の値を用いて前記所定範囲内の複数の画素の値の平均値を算出し、前記欠陥情報を作成することを特徴とする画像処理装置。
  2. 請求項に記載の画像処理装置において、
    前記欠陥情報作成手段は、前記着目画素の値と該着目画素を含む所定範囲内の複数の画素の値の平均値との相対比を算出し、
    前記欠陥情報作成手段で作成した相対比の逆数値を、対応する画素の値に掛け算して欠陥を補正する欠陥補正部をさらに備えることを特徴とする画像処理装置。
  3. 請求項1に記載の画像処理装置において、
    前記欠陥情報作成手段は、前記着目画素において前記複数の異なる画素範囲に対するエッジ検出フィルタによりエッジ検出を行い、前記着目画素をエッジとして検出しなかったエッジ検出フィルタのうち最も大きな画素範囲に対するエッジ検出フィルタの該画素範囲に対応する画素範囲を前記平坦性が保証される最大の画素範囲とすることを特徴とする画像処理装置。
  4. 請求項1〜のいずれかに記載の画像処理装置の機能をコンピュータに実行させるための画像処理プログラム。
JP2003307358A 2003-08-29 2003-08-29 画像処理装置および画像処理プログラム Expired - Lifetime JP4419479B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003307358A JP4419479B2 (ja) 2003-08-29 2003-08-29 画像処理装置および画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003307358A JP4419479B2 (ja) 2003-08-29 2003-08-29 画像処理装置および画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2005079856A JP2005079856A (ja) 2005-03-24
JP4419479B2 true JP4419479B2 (ja) 2010-02-24

Family

ID=34410163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003307358A Expired - Lifetime JP4419479B2 (ja) 2003-08-29 2003-08-29 画像処理装置および画像処理プログラム

Country Status (1)

Country Link
JP (1) JP4419479B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9706110B2 (en) 2013-02-18 2017-07-11 Panasonic Intellectual Property Management Co., Ltd. Foreign body information detection device and foreign body information detection method of imaging apparatus

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4736121B2 (ja) * 2005-11-21 2011-07-27 富士ゼロックス株式会社 画像解析装置、画像処理装置、画像解析方法、画像解析プログラム及びこれを記録した記録媒体
JP4867564B2 (ja) * 2006-10-13 2012-02-01 富士ゼロックス株式会社 画像読取装置
WO2009139790A1 (en) 2008-05-14 2009-11-19 Nikon Corporation Device and method for detecting dust on an image sensor
US8666189B2 (en) 2008-08-05 2014-03-04 Aptina Imaging Corporation Methods and apparatus for flat region image filtering
JP5402131B2 (ja) * 2009-03-19 2014-01-29 株式会社ニコン 画像処理装置および撮像装置
JP4947105B2 (ja) * 2009-07-21 2012-06-06 株式会社ニコン 画像処理装置、画像処理プログラムおよび撮像装置
JP5083574B2 (ja) * 2010-02-26 2012-11-28 株式会社ニコン 画像処理装置およびプログラム
CN101964873B (zh) 2009-07-21 2014-08-20 株式会社尼康 图像处理装置、图像处理程序及摄像装置
JP5256236B2 (ja) * 2010-03-25 2013-08-07 富士フイルム株式会社 画像処理装置および方法,ならびに画像処理プログラム
GB201020530D0 (en) * 2010-12-03 2011-01-19 Optos Plc Method of identifying anomalies in images
JP5821790B2 (ja) * 2012-06-27 2015-11-24 株式会社島津製作所 X線診断装置
WO2023175870A1 (ja) 2022-03-17 2023-09-21 ファナック株式会社 機械学習装置、特徴抽出装置、及び制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9706110B2 (en) 2013-02-18 2017-07-11 Panasonic Intellectual Property Management Co., Ltd. Foreign body information detection device and foreign body information detection method of imaging apparatus

Also Published As

Publication number Publication date
JP2005079856A (ja) 2005-03-24

Similar Documents

Publication Publication Date Title
JP4186699B2 (ja) 撮像装置および画像処理装置
JP4466015B2 (ja) 画像処理装置および画像処理プログラム
EP1583356B1 (en) Image processing device and image processing program
EP1528797A2 (en) Image processing apparatus, image-taking system and image processing method
JP2013106149A (ja) 撮像装置、その制御方法、及びプログラム
EP2608527A2 (en) Image pickup apparatus, control method for image pickup apparatus, and storage medium
JP4419479B2 (ja) 画像処理装置および画像処理プログラム
JP2009260620A (ja) 画像処理装置及び画像処理方法
JP4196124B2 (ja) 撮像系診断装置、撮像系診断プログラム、撮像系診断プログラム製品、および撮像装置
JP5464982B2 (ja) 撮像装置および画像処理方法
JP4523629B2 (ja) 撮像装置
JP6185249B2 (ja) イメージ処理装置及びイメージ処理方法
JP4438363B2 (ja) 画像処理装置および画像処理プログラム
JP2004282686A (ja) 撮像装置
JP4466017B2 (ja) 画像処理装置および画像処理プログラム
JP4466016B2 (ja) 画像処理装置および画像処理プログラム
JP6556033B2 (ja) 画像処理装置、画像処理方法、及びプログラム
KR101946946B1 (ko) 이미지 처리 장치 및 이의 이미지 처리 방법
JP5526984B2 (ja) 画像処理装置、画像処理方法及び画像処理用コンピュータプログラムならびに撮像装置
JP2011135379A (ja) 撮像装置、撮像方法及びプログラム
JP2007288245A (ja) 撮像装置、画像処理方法及び画像処理プログラム
JP2010239493A (ja) 撮像装置および映像信号の補正処理方法
JP6590585B2 (ja) 撮像装置及び露出制御方法
JP2005260573A (ja) 電子カメラ、カメラシステムおよび電子カメラの黒点補正方法
JP4687475B2 (ja) 撮像装置、撮像システムおよび撮像方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060712

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090403

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091123

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4419479

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151211

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151211

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term