研究

複素指数カーネルに基づく高速・構造保持型 Retinex手法 XCRの提案

複素指数関数から導いた中心にピークを持たないカーネルで照明を推定し、CPUのみで1080p動画を15FPSで処理しつつ高いSSIMを保つRetinex手法

XCR(eXponential-Cos Retinex)は、学習を必要としない低照度画像強調の2本目の手法で、単著のプレプリントとして2025年11月20日にJxivで公開しました。経済産業省AKATSUKIプロジェクトのLEADING EDGE 四国の期間中に、夜間環境向け視覚支援システムNOVAの強調処理として開発しました。

Retinex理論では、画像を反射成分と照明成分の積として捉えます。SSRやMSRはガウシアン平滑化で照明を推定するため、エッジ周辺にハローが生じ、暗部のノイズも増幅されます。LIME系の照明マップ推定も過剰強調や白飛びを起こしやすく、論文では照明推定の不安定さが共通の起点だと位置づけ、ガウシアンを複素指数関数から導いたカーネルに置き換えました。

手法

カーネルはX(u)=exp(−iau)から出発します。X(u)/{1+X(u)}²の絶対値をとり、|X(u)|=1を使って整理すると、閉形式K(u)=1/(2{1+cos(au)})が得られます。ガウシアンと違って中心付近ではほぼ0で、a=0.5、半径N=15のときu=±6付近に鋭いピークを持ちます。照明を周囲から推定するため、局所的なノイズやエッジに過敏に反応せず、ハローが抑えられます。

「Basic formula」と題した数式ブロック。分離型カーネルK(i, j)=K(i)·K(j)をシグモイド項の積として書き、指数関数を余弦と正弦に書き換えて、各因子をX/(1+2X+X²)の形に整理している

カーネルをx方向とy方向に分離して適用するので、計算量はO(N)に収まります。照明値に対するシグモイド重みw_Lを使った動的ゲインS=1+w_L(s0−1)で、暗部は強く、明部は弱く強調します。ゲインはRGB全チャンネルに共通に掛け、最後に軽いガンマ補正を施します。パラメータは全画像で固定です。

結果

実装はPythonとOpenCV、NumPyで、実験はGPUを使わずSnapdragon XのCPUのみで行いました。実環境で撮影した低照度静止画5枚の平均では、SSIMがXCR 0.6470に対してMSR 0.6024、LIME系0.3287、PSNRが14.77dBに対して5.69dB、5.06dBと、全指標でXCRが最良でした。暗所で撮影した1920×1080の動画1000フレームでは平均15.32FPS、フレーム間の平均SSIMは0.8742でした。視覚的にもハローはほとんどなく、色ずれも小さい結果でした。評価枚数は少なく、カーネルパラメータaとゲイン制御の最適化は今後の課題です。

その後

XCRはNOVAのAndroidタブレットアプリに「XCR Low-light Enhancement」のトグルとして組み込み、2026年1月31日のLEADING EDGE 四国最終報告会で発表しました。2025年11月には海外研修としてシンガポールのNUS、BLOCK71、IPI Singaporeで発表し、アプリより数式に関心を示したセキュリティ研究者から、公開の先に何をするのかと尋ねられました。

一方でXCRは、カーネルの半径や傾きを少し変えるだけで出力が崩れることがありました。原因は、このカーネルがシグモイド関数の導関数を、ロジスティック関数の極がある虚軸に沿ってサンプリングしたものだったことです。導関数を実軸に移したものが、次の論文SD-Retinexです。

関連する業績