(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-06
(54)【発明の名称】水中画像、水中ビデオのカラー復元方法、及び装置
(51)【国際特許分類】
H04N 9/73 20230101AFI20231027BHJP
G06T 1/00 20060101ALI20231027BHJP
【FI】
H04N9/73
G06T1/00 510
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023524834
(86)(22)【出願日】2021-10-22
(85)【翻訳文提出日】2023-05-15
(86)【国際出願番号】 CN2021125889
(87)【国際公開番号】W WO2022083765
(87)【国際公開日】2022-04-28
(31)【優先権主張番号】202011148596.1
(32)【優先日】2020-10-23
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】520159673
【氏名又は名称】影石創新科技股▲ふん▼有限公司
【氏名又は名称原語表記】ARASHI VISION INC.
【住所又は居所原語表記】Room 1101, 1102, 1103, 11th Floor, Building 2, Jinlitong Financial Center, 1100 Xingye Road, Haiwang Community, Xin’an Street, Bao’an District, Shenzhen, Guangdong 518000, China
(74)【代理人】
【識別番号】110002262
【氏名又は名称】TRY国際弁理士法人
(72)【発明者】
【氏名】蘇 坦
(72)【発明者】
【氏名】高 飛
【テーマコード(参考)】
5B057
5C066
【Fターム(参考)】
5B057CA01
5B057CA08
5B057CA12
5B057CA16
5B057CB01
5B057CB08
5B057CB12
5B057CB16
5B057CE17
5B057DA16
5B057DB02
5B057DB06
5B057DB09
5B057DC25
5C066AA03
5C066AA13
5C066CA08
5C066EA13
(57)【要約】
本発明は、水中画像の各画素を8ビットのRGB画素値から線形sRGB空間に変換して調整処理を行い、調整後の画素値を8ビットのRGB画素値に変換し、取得した8ビットのRGB画素値と調整後の画素値とを融合し、復元後の水中画像を得る水中画像のカラー復元方法を提供する。従来技術に比べて、本発明は、水中画像における各画素に対して特定のステップでカラー復元を行うため、本発明の態様で処理された水中画像又は水中ビデオの前景物のカラーが自然で豊かであるとともに、背景海水の自然な青緑色を保持し、画面全体の視聴体験が明らかに高まり、大量の手動による色調整でしか実現できない効果以上の効果も得られる。
【特許請求の範囲】
【請求項1】
水中画像のカラー復元方法であって、
水中画像の各画素の8ビットのRGB画素値を取得して線形sRGB空間に変換し、即ち各画素の8ビットのRGBにおける赤チャンネルにおける画素値r
i-0、緑チャンネルにおける画素値g
i-0、青チャンネルにおける画素値b
i-0を変換し、各画素の線形sRGB空間上での赤チャンネルにおける画素値r
i-1、緑チャンネルにおける画素値g
i-1、青チャンネルにおける画素値b
i-1を得るステップS1と、
ステップS1において取得した各画素の各チャンネルにおける画素平均値の相対的な大きさに基づいて、各画素の各チャンネルにおける画素値を調整し、調整後の各画素の赤チャンネルにおける画素値r
i-2、緑チャンネルにおける画素値g
i-2、青チャンネルにおける画素値b
i-2を得るステップS2と、
ステップS2での調整後の各画素の各チャンネルにおける画素値に基づいて、各画素の重み値ω
iを計算するステップS3と、
ステップS3において取得した重み値ω
iに基づいて、画像の赤チャンネルのゲインRg、青チャンネルのゲインBgを計算し、赤チャンネルのゲインRg、青チャンネルのゲインBgに基づいて、ステップS2での調整後の各画素の各チャンネルにおける画素値を調整し、調整後の各画素の赤チャンネルにおける画素値r
i-3、緑チャンネルにおける画素値g
i-3、青チャンネルにおける画素値b
i-3を得るステップS4と、
ステップS4での調整後の各画素の線形sRGB空間における画素値を8ビットのRGB画素値に変換し、変換後の各画素の赤チャンネルにおける画素値r
i-4、緑チャンネルにおける画素値g
i-4、青チャンネルにおける画素値b
i-4を得るステップS5と、
それぞれステップS5での各チャンネルにおける各画素の画素値を大きさに従ってソートし、ソート結果に基づいて、各チャンネルの大きい調整値及び小さい調整値、即ち赤チャンネルの大きい調整値Rmaxと小さい調整値Rmin、緑チャンネルの大きい調整値Gmaxと小さい調整値Gmin、青チャンネルの大きい調整値Bmaxと小さい調整値Bminを取得するステップS6と、
ステップS6での各チャンネルの小さい調整値及び各チャンネルの小さい調整値に基づいて、ステップS5での各画素の各チャンネルにおける画素値を調整し、調整後の各画素の赤チャンネルにおける画素値r
i-5、緑チャンネルにおける画素値g
i-5、青チャンネルにおける画素値b
i-5を得るステップS7と、
ステップS3での重み値ω
iに基づいて、ステップS1において取得した各画素の8ビットのRGB画素値と、ステップS7での調整後の各画素の各チャンネルにおける画素値とを融合し、融合後の各画素の赤チャンネルにおける画素値r
i-6、緑チャンネルにおける画素値g
i-6、青チャンネルにおける画素値b
i-6を得、融合後の各画素の各チャンネルにおける画素値に基づいて、復元後の水中画像を出力するステップS8とを含むことを特徴とする水中画像のカラー復元方法。
【請求項2】
前記ステップS1の前に、水中画像を他の色空間から8ビットのRGB空間に変換するステップS0をさらに含むことを特徴とする請求項1に記載の水中画像のカラー復元方法。
【請求項3】
前記ステップS2は、具体的には、各画素の赤チャンネルにおける画素平均値Ra、緑チャンネルにおける画素平均値Ga、青チャンネルにおける画素平均値Baを取得し、緑チャンネルにおける画素平均値Gaが最も大きい場合、調整後の赤チャンネルにおける画素値r
i-2=r
i-1+(Ga-Ra)×(1.5-r
i-1)×g
i-1で、調整後の青チャンネルにおける画素値b
i-2=b
i-1+(Ga-Ba)×(1-b
i-1)×g
i-1で、調整後の緑チャンネルにおける画素値g
i-2=g
i-1であり、青チャンネルにおける画素平均値Baが最も大きい場合、調整後の赤チャンネルにおける画素値r
i-2=r
i-1+(Ba-Ra)×(1.5-r
i-1)×g
i-1で、調整後の青チャンネルにおける画素値b
i-2=b
i-1で、調整後の緑チャンネルにおける画素値g
i-2=g
i-1-(Ba-Ga)×(1-g
i-1)×g
i-1であり、赤チャンネルにおける画素平均値Raが最も大きい場合、各画素値を調整せず、即ち赤チャンネルにおける画素値r
i-2=r
i-1、緑チャンネルにおける画素値g
i-2=g
i-1、青チャンネルにおける画素値b
i-2=b
i-1であることを特徴とする請求項1に記載の水中画像のカラー復元方法。
【請求項4】
前記ステップS3において、具体的には、前記各画素の重み値の計算式は、ω
i=(r
i-2+α)*β/(b
i-2+α)であり、ただし、α、βは、経験値であることを特徴とする請求項1に記載の水中画像のカラー復元方法。
【請求項5】
前記αの値は、0.00015で、前記βの値は、3であり、前記各画素の重み値ω
iを計算結果に基づいて調整し、ω
iの計算値が0.1よりも小さい場合、ω
iの値を0.1に調整し、ω
iの計算値が0.8よりも大きい場合、ω
iの値を0.8に調整し、ω
iの計算値が0.1と0.8との間にある場合、ω
iの値を調整しないことを特徴とする請求項5に記載の水中画像のカラー復元方法。
【請求項6】
前記ステップS4は、
各画素の赤チャンネルにおける画素値r
i-2、緑チャンネルにおける画素値g
i-2、青チャンネルにおける画素値b
i-2及び重み値ω
iに基づいて、各画素の赤チャンネルにおける重み付け平均値Raw、緑チャンネルにおける重み付け平均値Gaw、青チャンネルにおける重み付け平均値Bawを計算するステップS41と、
赤チャンネルのゲインRg=Gaw/Raw及び青チャンネルのゲインBg=Gaw/Bawを計算するステップS42と、
各画素の赤チャンネルのゲイン後の画素値r
i-3=r
i-2*Rg及び青チャンネルのゲイン後の画素値b
i-3=b
i-2*Rgを計算し、ただし、ゲイン後の画素値が1よりも大きい場合、該画素値を1に調整するステップS43とを含むことを特徴とする請求項1に記載の水中画像のカラー復元方法。
【請求項7】
前記ステップS6の各チャンネルの大きい調整値及び小さい調整値を以下のように取得し、
まずステップS5での各画素の各チャンネルにおける画素値を大きい順にソートし、そして上位にソートされた各チャンネルの所定の割合の画素値及び下位にソートされた各チャンネルの所定の割合の画素値を取得し、そして計算により各チャンネルの最大平均値及び最小平均値を得ることができ、そして各チャンネルの最大平均値及び最小平均値をそれぞれ各チャンネルの大きい調整値及び小さい調整値とすることを特徴とする請求項1に記載の水中画像のカラー復元方法。
【請求項8】
前記ステップS6の各チャンネルの大きい調整値及び小さい調整値を以下のように取得し、
まずステップS5での各画素の各チャンネルにおける画素値を大きい順にソートし、各チャンネルにおける小さい順に並べられた[n*0.1%]番目の画素の画素値を各チャンネルの大きい調整値とし、各チャンネルにおける小さい順に並べられた最後から[n*0.1%]番目の画素の画素値を各チャンネルの小さい調整値とし、ただし、nは、画素の数で、符号[]は整数化することである、ことを特徴とする請求項1に記載の水中画像のカラー復元方法。
【請求項9】
前記ステップS7での各画素の各チャンネルにおける画素値を以下の式により計算し、
r
i-5=(r
i-4-Rmin)*(RGBmax-RGBmin)/(Rmax-Rmin)+RGBmin、
g
i-5=(g
i-4-Gmin)*(RGBmax-RGBmin)/(Gmax-Gmin)+RGBmin、
b
i-5=(b
i-4-Bmin)*(RGBmax-RGBmin)/(Bmax-Bmin)+RGBmin、
ただし、RGBmax=Max(Rmax,Gmax,Bmax)、RGBmin=Min(Rmin,Gmin,Bmin)であることを特徴とする請求項1に記載の水中画像のカラー復元方法。
【請求項10】
前記ステップS8での各画素の各チャンネルにおける画素値を以下の式により計算することを特徴とする請求項1に記載の水中画像のカラー復元方法。
r
i-6=r
i-5*ω
i+r
i-0*(1-ω
i)
g
i-6=g
i-5*ω
i+g
i-0*(1-ω
i)
b
i-6=b
i-5*ω
i+b
i-0*(1-ω
i)
【請求項11】
水中ビデオのカラー復元方法であって、
復元すべき水中ビデオを取得することと、
前記復元すべき水中ビデオの各ビデオフレームを請求項1~8のいずれか1項に記載の水中画像のカラー復元方法で処理し、カラー復元後のビデオを得ることとを含むことを特徴とする水中ビデオのカラー復元方法。
【請求項12】
復元すべき水中ビデオの第1フレーム以外のビデオフレームに対してカラー復元を行う時、前記ステップS4での現在フレームの赤チャンネル、青チャンネルのゲインを以下の式により計算し、
Rg
i=Rg
i-1*θ
1+Gaw/Raw*(1-θ
1)、
Bg
i=Bg
i-1*θ
1+Gaw/Baw*(1-θ
1)、
ただし、Rg
iは、現在フレームの赤チャンネルのゲインで、Rg
i-1は、現在フレームの前のフレームの赤チャンネルのゲインで、Bg
iは、現在フレームの青チャンネルのゲインで、Bg
i-1は、現在フレームの前のフレームの青チャンネルのゲインで、Rawは、重み値に基づいて計算される現在フレームの各画素の赤チャンネルにおける重み付け平均値で、Gawは、重み値に基づいて計算される現在フレームの各画素の緑チャンネルにおける重み付け平均値で、Bawは、重み値に基づいて計算される現在フレームの各画素の青チャンネルにおける重み付け平均値で、θ
1は、更新率であることを特徴とする請求項9に記載の水中ビデオ復元方法。
【請求項13】
復元すべき水中ビデオの第1フレーム以外のビデオフレームに対してカラー復元を行う時、前記ステップS6での各チャンネルの大きい調整値及び小さい調整値を以下の式により計算し、
Rmax
i=Rmax
i-1*θ
2+Rmax*(1-θ
2)、Rmin
i=Rmin
i-1*θ
2+Rmin*(1-θ
2)、
Gmax
i=Gmax
i-1*θ
2+Gmax*(1-θ
2)、Gmin
i=Gmin
i-1*θ
2+Gmin*(1-θ
2)、
Bmax
i=Bmax
i-1*θ
2+Bmax*(1-θ
2)、Bmin
i=Bmin
i-1*θ
2+Bmin*(1-θ
2)、
ただし、Rmax
iは、現在フレームの赤チャンネルの大きい調整値で、Rmax
i-1は、現在フレームの前のフレームの赤チャンネルの大きい調整値で、Rmaxは、現在フレームの各画素の赤チャンネルにおける画素値に基づいてソートして直接計算して得られた大きい調整値で、Gmax
iは、現在フレームの緑チャンネルの大きい調整値で、Gmax
i-1は、現在フレームの前のフレームの緑チャンネルの大きい調整値で、Gmaxは、現在フレームの各画素の緑チャンネルにおける画素値に基づいてソートして直接計算して得られた大きい調整値で、Bmax
iは、現在フレームの青チャンネルの大きい調整値で、Bmax
i-1は、現在フレームの前のフレームの青チャンネルの大きい調整値で、Bmaxは、現在フレームの各画素の青チャンネルにおける画素値に基づいてソートして直接計算して得られた大きい調整値で、θ
2は、更新率であることを特徴とする請求項9に記載の水中ビデオ復元方法。
【請求項14】
水中画像のカラー復元装置であって、
水中画像の各画素の8ビットのRGB画素値を取得するための第1取得モジュールと、
各画素の8ビットのRGB画素値を線形sRGB空間に変換するための第1変換モジュールと、
線形sRGB空間上での各画素の各チャンネルにおける画素平均値の相対的な大きさに基づいて、各画素の各チャンネルにおける画素値を調整するための第1調整モジュールと、
第1調整モジュールにより調整された各画素の各チャンネルにおける画素値を計算し、各画素の重み値を計算するための重み計算モジュールと、
重み値に基づいて、画像の赤チャンネル、青チャンネルのゲインを計算するためのゲイン計算モジュールと、
赤チャンネル、青チャンネルのゲインに基づいて、第1調整モジュールにより調整された各画素の各チャンネルにおける画素値を調整するための第2調整モジュールと、
第2調整モジュールにより調整された各画素の線形sRGB空間における画素値を8ビットのRGB画素値に変換するための第2変換モジュールと、
第2変換モジュールにより変換された各チャンネルの大きい調整値及び小さい調整値を取得するための第2取得モジュールであって、前記各チャンネルの大きい調整値及び小さい調整値が各チャンネルにおける各画素の画素値を大きさに従ってソートした後のソート結果に関連する第2取得モジュールと、
各チャンネルの大きい調整値及び小さい調整値に基づいて、第2変換モジュールにより変換された各画素の各チャンネルにおける画素値を調整するための第3調整モジュールと、
重み計算モジュールにより計算された重み値に基づいて、第1取得モジュールにより取得された各画素の8ビットのRGB画素値と、第3調整モジュールにより調整された各画素の各チャンネルにおける画素値とを融合することで、融合後の各画素の各チャンネルにおける画素値を得るための融合モジュールと、
融合モジュールにより融合された各画素の各チャンネルにおける画素値を出力するための出力モジュールとを含むことを特徴とする水中画像のカラー復元装置。
【請求項15】
復元すべき水中画像を他の色空間から8ビットのRGB空間に変換するためのRGB変換モジュールをさらに含むことを特徴とする請求項12に記載の水中画像のカラー復元装置。
【請求項16】
水中ビデオのカラー復元装置であって、
復元すべき水中ビデオを取得するためのビデオ取得モジュールと、
復元すべき水中ビデオの各ビデオフレームを請求項1~10のいずれか1項に記載の水中画像のカラー復元方法で処理し、カラー復元後のビデオを得るためのビデオ復元モジュールとを含むことを特徴とする水中ビデオのカラー復元装置。
【請求項17】
電子機器であって、
コンピュータプログラムが記憶されたメモリと、
前記コンピュータプログラムを実行して請求項1~13のいずれか1項に記載の方法を実現するためのプロセッサとを含むことを特徴とする電子機器。
【請求項18】
コンピュータ読み取り可能な記憶媒体であって、前記コンピュータ読み取り可能な記憶媒体にコンピュータプログラムが記憶されており、前記コンピュータプログラムがプロセッサにより実行される時、請求項1~13のいずれか1項に記載の方法を実現することを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、画像処理の技術分野に関し、具体的には、水中画像及び水中ビデオのカラー復元方法、装置及びコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【0002】
水中視覚は、海洋サウンディング、水中工事モニタリングなどの科学研究活動に広く応用されているだけでなく、多くの写真愛好家の重要な撮影素材の源でもあるため、実際の水中画像を得ることが特に重要である。
【0003】
可視光の中で赤色光は、波長が長いため、水中で伝播する減衰が青色光と緑色光よりも大きく、撮影装置の画像センサの受信した赤色光情報が青色光と緑色光よりはるかに少ないため、水中で撮影した画面の赤色が深刻に不足し、水中景物のカラーが歪み、カラー全体が青色又は緑色に偏っている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
通常のカメラのオートホワイトバランスは、水中の赤色情報が深刻に欠落するシーンを処理できず、処理後の画面は、赤色情報が欠落したり、過度に補償されたりすることが多く、画面全体が紫色に偏っている。手動による後続のビデオの色調整により、適切な水中のカラーをある程度復元することができるが、多くの時間がかかり、各フレームの画面の各画素を特別に調整することができない。
【0005】
本発明の目的は、従来の水中画像の復元方法に存在する欠点を解決するために、水中画像のカラー復元方法、装置、電子機器及びコンピュータ読み取り可能な記憶媒体を提供することである。
【課題を解決するための手段】
【0006】
第1態様によれば、本発明は、
水中画像の各画素の8ビットのRGB画素値を取得して線形sRGB空間に変換し、即ち各画素の8ビットのRGBにおける赤チャンネルにおける画素値ri-0、緑チャンネルにおける画素値gi-0、青チャンネルにおける画素値bi-0を変換し、各画素の線形sRGB空間上での赤チャンネルにおける画素値ri-1、緑チャンネルにおける画素値gi-1、青チャンネルにおける画素値bi-1を得るステップS1と、
ステップS1において取得した各画素の各チャンネルにおける画素平均値の相対的な大きさに基づいて、各画素の各チャンネルにおける画素値を調整し、調整後の各画素の赤チャンネルにおける画素値ri-1、緑チャンネルにおける画素値gi-1、青チャンネルにおける画素値bi-1を得るステップS2と、
ステップS2での調整後の各画素の各チャンネルにおける画素値に基づいて、各画素の重み値ωiを計算するステップS3と、
ステップS3において取得した重み値ωiに基づいて、画像の赤チャンネルのゲインRg、青チャンネルのゲインBgを計算し、赤チャンネルのゲインRg、青チャンネルのゲインBgに基づいて、ステップS2での調整後の各画素の各チャンネルにおける画素値を調整し、調整後の各画素の赤チャンネルにおける画素値ri-2、緑チャンネルにおける画素値gi-2、青チャンネルにおける画素値bi-2を得るステップS4と、
ステップS4での調整後の各画素の線形sRGB空間における画素値を8ビットのRGB画素値に変換し、変換後の各画素の赤チャンネルにおける画素値ri-3、緑チャンネルにおける画素値gi-3、青チャンネルにおける画素値bi-3を得るステップS5と、
それぞれステップS5での各チャンネルにおける各画素の画素値を大きさに従ってソートし、ソート結果に基づいて、各チャンネルの大きい調整値及び小さい調整値を取得し、各チャンネルの大きい調整値及び小さい調整値、即ち赤チャンネルの大きい調整値Rmaxと小さい調整値Rmin、緑チャンネルの大きい調整値Gmaxと小さい調整値Gmin、青チャンネルの大きい調整値Bmaxと小さい調整値Bminを得るステップS6と、
ステップS6での各チャンネルの大きい調整値及び各チャンネルの小さい調整値に基づいて、ステップS5での各画素の各チャンネルにおける画素値を調整し、調整後の各画素の赤チャンネルにおける画素値ri-4、緑チャンネルにおける画素値gi-4、青チャンネルにおける画素値bi-4を得るステップS7と、
ステップS3での重み値ωiに基づいて、ステップS1において取得した各画素の8ビットのRGB画素値と、ステップS7での調整後の各画素の各チャンネルにおける画素値とを融合し、融合後の各画素の赤チャンネルにおける画素値ri-5、緑チャンネルにおける画素値gi-5、青チャンネルにおける画素値bi-5を得、融合後の各画素の各チャンネルにおける画素値に基づいて、復元後の水中画像を出力するステップS8とを含む水中画像のカラー復元方法を提供する。
【0007】
第2態様によれば、本発明は、
復元すべき水中ビデオを取得することと、
前記復元すべき水中ビデオの各ビデオフレームを上記水中画像のカラー復元方法で処理し、カラー復元後のビデオを得ることとを含む水中ビデオのカラー復元方法を提供する。
【0008】
第3態様によれば、本発明は、
水中画像の各画素の8ビットのRGB画素値を取得するための第1取得モジュールと、
各画素の8ビットのRGB画素値を線形sRGB空間に変換するための第1変換モジュールと、
線形sRGB空間上での各画素の各チャンネルにおける画素平均値の相対的な大きさに基づいて、各画素の各チャンネルにおける画素値を調整するための第1調整モジュールと、
第1調整モジュールにより調整された各画素の各チャンネルにおける画素値を計算し、各画素の重み値を計算するための重み計算モジュールと、
重み値に基づいて、画像の赤チャンネル、青チャンネルのゲインを計算するためのゲイン計算モジュールと、
赤チャンネル、青チャンネルのゲインに基づいて、第1調整モジュールにより調整された各画素の各チャンネルにおける画素値を調整するための第2調整モジュールと、
第2調整モジュールにより調整された各画素の線形sRGB空間における画素値を8ビットのRGB画素値に変換するための第2変換モジュールと、
第2変換モジュールにより変換された各チャンネルの大きい調整値及び小さい調整値を取得するための第2取得モジュールであって、前記各チャンネルの大きい調整値及び小さい調整値が各チャンネルにおける各画素の画素値を大きさに従ってソートした後のソート結果に関連する第2取得モジュールと、
各チャンネルの大きい調整値及び小さい調整値に基づいて、第2変換モジュールにより変換された各画素の各チャンネルにおける画素値を調整するための第3調整モジュールと、
重み計算モジュールにより計算された重み値に基づいて、第1取得モジュールにより取得された各画素の8ビットのRGB画素値と、第3調整モジュールにより調整された各画素の各チャンネルにおける画素値とを融合することで、融合後の各画素の各チャンネルにおける画素値を得るための融合モジュールと、
融合モジュールにより融合された各画素の各チャンネルにおける画素値を出力するための出力モジュールとを含む水中画像のカラー復元装置を提供する。
【0009】
第4態様によれば、本発明は、
復元すべき水中ビデオを取得するためのビデオ取得モジュールと、
復元すべき水中ビデオの各ビデオフレームを上記水中画像のカラー復元方法で処理し、カラー復元後のビデオを得るためのビデオ復元モジュールとを含む水中ビデオのカラー復元装置を提供する。
【0010】
第5態様によれば、本発明は、
コンピュータプログラムが記憶されたメモリと、
前記コンピュータプログラムを実行して上記水中画像又は水中ビデオのカラー復元方法を実現するためのプロセッサとを含む電子機器を提供する。
【0011】
第6態様によれば、本発明は、前記コンピュータ読み取り可能な記憶媒体にコンピュータプログラムが記憶されており、前記コンピュータプログラムがプロセッサにより実行される時、上記水中画像又は水中ビデオのカラー復元方法を実現するコンピュータ読み取り可能な記憶媒体を提供する。
【発明の効果】
【0012】
従来技術に比べて、本発明は、水中画像における各画素に対して特定のステップでカラー復元を行うため、本発明の態様で処理された水中画像又は水中ビデオの前景物のカラーが自然で豊かであるとともに、背景海水の自然な青緑色を保持し、画面全体の視聴体験が明らかに高まり、大量の手動による色調整で実現できる効果に達しさらに超える。
【図面の簡単な説明】
【0013】
【
図1】本発明の実施例における水中画像のカラー復元方法のフローチャートである。
【
図2】本発明の実施例における水中画像のカラー復元装置の構造ブロック図である。
【
図3】本発明の実施例における水中ビデオのカラー復元装置の構造ブロック図である。
【
図4】本発明の実施例における電子機器の構造ブロック図である。
【発明を実施するための形態】
【0014】
本発明の目的、技術案及び有益効果をより明確にするために、以下、図面及び実施例を参照して、本発明をさらに詳細に説明する。なお、ここに記載の具体的な実施例は、本発明を解釈するためのものに過ぎず、本発明を限定するために使用されない。
【0015】
本発明に記載の技術案を説明するために、以下に具体的な実施例により説明する。
実施例1
【0016】
図1に示すように、本実施例は、水中画像のカラー復元方法を開示し、以下のステップを含む。
【0017】
本実施例における水中画像は、撮影装置が水中で撮影した写真又はビデオフレームである。
【0018】
S0:水中画像を他の色空間から8ビットのRGB空間に変換する。
【0019】
撮影した写真又はビデオフレームが本来8ビットのRGB空間であれば、直接ステップS1に入り、撮影した写真又はビデオフレームが他の空間(例えばYUV)であれば、8ビットのRGB空間に変換し、そしてステップS1に入る必要がある。
【0020】
S1:水中画像の各画素の8ビットのRGB画素値を取得して線形sRGB空間に変換し、即ち各画素の8ビットのRGBにおける赤チャンネルにおける画素値ri-0、緑チャンネルにおける画素値gi-0、青チャンネルにおける画素値bi-0を変換し、各画素の線形sRGB空間上での赤チャンネルにおける画素値ri-1、緑チャンネルにおける画素値gi-1、青チャンネルにおける画素値bi-1を得る。
【0021】
まず、各画素の8ビットのRGB画素値(範囲0-255)における赤チャンネルにおける画素値ri-0、緑チャンネルにおける画素値gi-0及び青チャンネルにおける画素値bi-0を取得し、そしてsRGB基準を採用して各チャンネルにおける画素値を線形sRGB空間に変換し、各画素の線形sRGB空間上での赤チャンネルにおける画素値ri-1、緑チャンネルにおける画素値gi-1及び青チャンネルにおける画素値bi-1を得、変換後の各画素の線形sRGB空間上での画素値の範囲は、0~1である。具体的な変換は、https://www.w3.org/Graphics/Color/sRGBを参照すればよい。
【0022】
本実施例において、水中画像のいずれかの画素に対して、その各チャンネルにおける画素値を以下のように8ビットのRGB空間から線形sRGB空間に変換することができる。
【0023】
取得した各画素の8ビットのRGB空間(範囲0-255)における各チャンネルにおける画素値をそれぞれ255で割り、ri-0÷255、gi-0÷255、bi-0÷255がいずれも0.03928よりも小さい場合、変換後の各画素の線形sRGB空間における画素値は、それぞれri-1=ri-0÷255÷12.92、gi-1=gi-0÷255÷12.92、bi-1=bi-0÷255÷12.92であり、そうではない場合、変換後の各画素の線形sRGB空間における画素値は、それぞれ
ri-1=[(ri-0÷255+0.055)÷1.055]^2.4、
gi-1=[(gi-0÷255+0.055)÷1.055]^2.4、
bi-1=[(bi-0÷255+0.055)÷1.055]^2.4である。
【0024】
S2:ステップS1において取得した各画素の各チャンネルにおける画素平均値の相対的な大きさに基づいて、各画素の各チャンネルにおける画素値を調整し、調整後の各画素の赤チャンネルにおける画素値ri-2、緑チャンネルにおける画素値gi-2、青チャンネルにおける画素値bi-2を得る。
【0025】
本実施例において、それぞれ各画素の赤チャンネルにおける画素平均値Ra、緑チャンネルにおける画素平均値Ga、青チャンネルにおける画素平均値Baを取得し、緑チャンネルにおける画素平均値Gaが最も大きい場合、調整後の赤チャンネルにおける画素値ri-2=ri-1+(Ga-Ra)×(1.5-ri-1)×gi-1で、調整後の青チャンネルにおける画素値bi-2=bi-1+(Ga-Ba)×(1-bi-1)×gi-1で、調整後の緑チャンネルにおける画素値gi-2=gi-1であり、青チャンネルにおける画素平均値Baが最も大きい場合、調整後の赤チャンネルにおける画素値ri-2=ri-1+(Ba-Ra)×(1.5-ri-1)×gi-1で、調整後の青チャンネルにおける画素値bi-2=bi-1で、調整後の緑チャンネルにおける画素値gi-2=gi-1-(Ba-Ga)×(1-gi-1)×gi-1であり、赤チャンネルにおける画素平均値Raが最も大きい場合、各画素値を調整せず、即ち赤チャンネルにおける画素値ri-2=ri-1で、緑チャンネルにおける画素値gi-2=gi-1で、青チャンネルにおける画素値bi-2=bi-1である。
【0026】
S3:ステップS2での調整後の各画素の各チャンネルにおける画素値に基づいて、各画素の重み値ωiを計算する。
【0027】
本実施例において、各画素の重み値ωiの計算式は、ωi=(ri-2+α)*β/(bi-2+α)であり、ただし、α、βは、経験値である。具体的には、本実施例における1つの最適な態様において、αの値は、0.00015で、βの値は、3であり、各画素の重み値ωiを計算結果に基づいて調整し、ωiの計算値が0.1よりも小さい場合、ωiの値を0.1に調整し、ωiの計算値が0.8よりも大きい場合、ωiの値を0.8に調整し、ωiの計算値が0.1と0.8との間にある場合、ωiの値を調整しない。
【0028】
S4:ステップS3において取得した重み値ωiに基づいて、画像の赤チャンネルのゲインRg、青チャンネルのゲインBgを計算し、赤チャンネルのゲインRg、青チャンネルのゲインBgに基づいて、ステップS2での調整後の各画素の各チャンネルにおける画素値を調整し、調整後の各画素の赤チャンネルにおける画素値ri-3、緑チャンネルにおける画素値gi-3、青チャンネルにおける画素値bi-3を得る。
【0029】
本実施例におけるステップS4は、以下のサブステップを含む。
【0030】
S41:各画素の赤チャンネルにおける画素値r
i-2、緑チャンネルにおける画素値g
i-2、青チャンネルにおける画素値b
i-2及び重み値ω
iに基づいて、各画素の赤チャンネルにおける重み付け平均値、緑チャンネルにおける重み付け平均値、青チャンネルにおける重み付け平均値を計算する。ただし、赤チャンネルにおける重み付け平均値の計算式は、
緑チャンネルにおける重み付け平均値の計算式は、
青チャンネルにおける重み付け平均値の計算式は、
ただし、nは、画像における画素の数を表す。
【0031】
S42:赤チャンネルのゲインRg=Gaw/Raw及び青チャンネルのゲインBg=Gaw/Bawを計算する。
【0032】
S43:各画素の赤チャンネルのゲイン後の画素値ri-3=ri-2*Rg及び青チャンネルのゲイン後の画素値bi-3=bi-2*Rgを計算し、ただし、ゲイン後の画素値が1よりも大きい場合、各画素の線形sRGB空間上での画素値の範囲が0~1である要求を満たすために、該画素値を1に調整する。
【0033】
S5:ステップS4での調整後の各画素の線形sRGB空間における画素値を8ビットのRGB画素値に変換し、変換後の各画素の赤チャンネルにおける画素値ri-4、緑チャンネルにおける画素値gi-4、青チャンネルにおける画素値bi-4を得る。
【0034】
sRGB基準に基づいて、各画素の各チャンネルにおける画素値を線形sRGB(0-1)から8ビットのRGB(0-255)に変換し、変換方法は、以下のとおりである。
【0035】
ri-3、gi-3、bi-3がいずれも0.00304よりも小さい場合、変換後の各画素の8ビットのRGBにおける画素値は、それぞれ、
ri-4=ri-3*255*12.92、gi-4=gi-3*255*12.92、bi-4=bi-3*255*12.92であり、
そうではない場合、変換後の各画素の8ビットのRGBにおける画素値は、それぞれ
ri-4=(1.055*ri-3^(1/2.4)-0.055)*255、
gi-4=(1.055*gi-3^(1/2.4)-0.055)*255、
bi-4=(1.055*bi-3^(1/2.4)-0.055)*255である。
【0036】
S6:それぞれステップS5での各チャンネルにおける各画素の画素値を大きさに従ってソートし、ソート結果に基づいて、各チャンネルの大きい調整値及び小さい調整値、即ち赤チャンネルの大きい調整値Rmaxと小さい調整値Rmin、緑チャンネルの大きい調整値Gmaxと小さい調整値Gmin、青チャンネルの大きい調整値Bmaxと小さい調整値Bminを取得する。
【0037】
本実施例において、各チャンネルの大きい調整値及び小さい調整値を以下の2つの方式で取得することができる。
【0038】
第1方式は、以下のとおりである。まずステップS5での各画素の各チャンネルにおける画素値を大きい順にソートし、そして上位にソートされた各チャンネルの所定の割合(例えば0.1%)の画素値及び下位にソートされた各チャンネルの所定の割合(例えば0.1%)の画素値を取得し、そして計算により各チャンネルの最大平均値及び最小平均値を得ることができ、そして各チャンネルの最大平均値及び最小平均値をそれぞれ各チャンネルの大きい調整値及び小さい調整値、即ち赤チャンネルの大きい調整値Rmaxと小さい調整値Rmin、緑チャンネルの大きい調整値Gmaxと小さい調整値Gmin、青チャンネルの大きい調整値Bmaxと小さい調整値Bminとする。
【0039】
第2方式は、以下のとおりである。まずステップS5での各画素の各チャンネルにおける画素値を大きい順にソートし、各チャンネルにおける小さい順に並べられた[n*0.1%]番目の画素の画素値を各チャンネルの大きい調整値とし、各チャンネルにおける小さい順に並べられた最後から[n*0.1%]番目の画素の画素値を各チャンネルの小さい調整値とし、ただし、nは、画素の数で、符号[]は整数化すること、である。
【0040】
S7:ステップS6での各チャンネルの大きい調整値及び各チャンネルの小さい調整値に基づいて、ステップS5での各画素の各チャンネルにおける画素値を調整し、調整後の各画素の赤チャンネルにおける画素値ri-5、緑チャンネルにおける画素値gi-5、青チャンネルにおける画素値bi-5を得る。
【0041】
本実施例において、まず赤チャンネルの大きい調整値Rmax、緑チャンネルの大きい調整値Gmax、青チャンネルの大きい調整値Bmaxから最大値RGBmaxを選択し、即ちRGBmax=Max(Rmax,Gmax,Bmax)であり、赤チャンネルの小さい調整値Rmin、緑チャンネルの小さい調整値Gmin、青チャンネルの小さい調整値Bminから最小値RGBminを選択し、即ちRGBmin=Mmin(Rmin,Gmin,Bmin)であり、そして各画素の各チャンネルにおける画素値を以下の式により計算する。
【0042】
ri-5=(ri-4-Rmin)*(RGBmax-RGBmin)/(Rmax-Rmin)+RGBmin
gi-5=(gi-4-Gmin)*(RGBmax-RGBmin)/(Gmax-Gmin)+RGBmin
bi-5=(bi-4-Bmin)*(RGBmax-RGBmin)/(Bmax-Bmin)+RGBmin。
【0043】
S8:ステップS3での重み値ωiに基づいて、ステップS1において取得した各画素の8ビットのRGB画素値と、ステップS7での調整後の各画素の各チャンネルにおける画素値とを融合し、融合後の各画素の赤チャンネルにおける画素値ri-6、緑チャンネルにおける画素値gi-6、青チャンネルにおける画素値bi-6を得、融合後の各画素の各チャンネルにおける画素値に基づいて、復元後の水中画像を出力する。
【0044】
本実施例において、融合後の各画素の各チャンネルにおける画素値を以下の式により計算することができる。
【0045】
ri-6=ri-5*ωi+ri-0*(1-ωi)、
gi-6=gi-5*ωi+gi-0*(1-ωi)、
bi-6=bi-5*ωi+bi-0*(1-ωi)。
【0046】
そして融合後の各画素の各チャンネルにおける画素値に基づいて、ri-6、gi-6、bi-6復元後の水中画像を出力する。
実施例2
【0047】
本実施例において、水中ビデオのカラー復元方法を提供し、以下のステップを含む。
【0048】
ステップ1:復元すべき水中ビデオを取得する。
【0049】
ステップ2:前記復元すべき水中ビデオの各ビデオフレームを実施例1における水中画像のカラー復元方法で処理し、カラー復元後のビデオフレームを得、そしてビデオフレームを順番に出力してカラー復元後のビデオを得る。
【0050】
本実施例の最適な態様において、前記復元すべき水中ビデオの第1フレーム以外のビデオフレームに対してカラー復元を行う時、ステップS4での現在フレームの赤チャンネル、青チャンネルのゲインを以下の式により計算する。
【0051】
Rgi=Rgi-1*θ1+Gaw/Raw*(1-θ1)、
Bgi=Bgi-1*θ1+Gaw/Baw*(1-θ1)、
ただし、Rgiは、現在フレームの赤チャンネルのゲインで、Rgi-1は、現在フレームの前のフレームの赤チャンネルのゲインで、Bgiは、現在フレームの青チャンネルのゲインで、Bgi-1は、現在フレームの前のフレームの青チャンネルのゲインで、Rawは、重み値に基づいて計算される現在フレームの各画素の赤チャンネルにおける重み付け平均値で、Gawは、重み値に基づいて計算される現在フレームの各画素の緑チャンネルにおける重み付け平均値で、Bawは、重み値に基づいて計算される現在フレームの各画素の青チャンネルにおける重み付け平均値であり、Raw、Gaw、Bawは、実施例1における計算式により得ることができ、θ1は、更新率で、経験値であり、本実施例において、θ1の値は、0.98である。
【0052】
本実施例の別の最適な態様において、前記復元すべき水中ビデオの第1フレーム以外のビデオフレームに対してカラー復元を行う時、ステップS6での各チャンネルの大きい調整値及び小さい調整値を以下の式により計算する。
【0053】
Rmaxi=Rmaxi-1*θ2+Rmax*(1-θ2)、Rmini=Rmini-1*θ2+Rmin*(1-θ2)、
Gmaxi=Gmaxi-1*θ2+Gmax*(1-θ2)、Gmini=Gmini-1*θ2+Gmin*(1-θ2)、
Bmaxi=Bmaxi-1*θ2+Bmax*(1-θ2)、Bmini=Bmini-1*θ2+Bmin*(1-θ2)、
ただし、Rmaxiは、現在フレームの赤チャンネルの大きい調整値で、Rmaxi-1は、現在フレームの前のフレームの赤チャンネルの大きい調整値で、Rmaxは、現在フレームの各画素の赤チャンネルにおける画素値に基づいてソートして直接計算して得られた大きい調整値で、Gmaxiは、現在フレームの緑チャンネルの大きい調整値で、Gmaxi-1は、現在フレームの前のフレームの緑チャンネルの大きい調整値で、Gmaxは、現在フレームの各画素の緑チャンネルにおける画素値に基づいてソートして直接計算して得られた大きい調整値で、Bmaxiは、現在フレームの青チャンネルの大きい調整値で、Bmaxi-1は、現在フレームの前のフレームの青チャンネルの大きい調整値で、Bmaxは、現在フレームの各画素の青チャンネルにおける画素値に基づいてソートして直接計算して得られた大きい調整値で、θ2は、更新率で、経験値であり、本実施例におけるθ2は、0.98である。
【0054】
以上から分かるように、本実施例における後続フレームの各画素の調整が前のフレームに対応する画素に関連することで、隣接するビデオフレーム間の対応する画素点間のカラー変換がより順調になり、さらに色調整後のビデオ出力効果がより自然になる。
実施例3
【0055】
図3に示すように、本実施例において、水中画像のカラー復元装置を開示し、水中画像のカラー復元装置は、水中画像の各画素の8ビットのRGB画素値を取得するための第1取得モジュールと、各画素の8ビットのRGB画素値を線形sRGB空間に変換するための第1変換モジュールと、線形sRGB空間上での各画素の各チャンネルにおける画素平均値の相対的な大きさに基づいて、各画素の各チャンネルにおける画素値を調整するための第1調整モジュールと、第1調整モジュールにより調整された各画素の各チャンネルにおける画素値を計算し、各画素の重み値を計算するための重み計算モジュールと、重み値に基づいて、画像の赤チャンネル、青チャンネルのゲインを計算するためのゲイン計算モジュールと、赤チャンネル、青チャンネルのゲインに基づいて、第1調整モジュールにより調整された各画素の各チャンネルにおける画素値を調整するための第2調整モジュールと、第2調整モジュールにより調整された各画素の線形sRGB空間における画素値を8ビットのRGB画素値に変換するための第2変換モジュールと、第2変換モジュールにより変換された各チャンネルの大きい調整値及び小さい調整値を取得するための第2取得モジュールであって、前記各チャンネルの大きい調整値及び小さい調整値が各チャンネルにおける各画素の画素値を大きさに従ってソートした後のソート結果に関連する第2取得モジュールと、各チャンネルの大きい調整値及び小さい調整値に基づいて、第2変換モジュールにより変換された各画素の各チャンネルにおける画素値を調整するための第3調整モジュールと、重み計算モジュールにより計算された重み値に基づいて、第1取得モジュールにより取得された各画素の8ビットのRGB画素値と、第3調整モジュールにより調整された各画素の各チャンネルにおける画素値とを融合することで、融合後の各画素の各チャンネルにおける画素値を得るための融合モジュールと、融合モジュールにより融合された各画素の各チャンネルにおける画素値を出力するための出力モジュールとを含む。
【0056】
本実施例の最適な態様において、復元すべき水中画像を他の色空間から8ビットのRGB空間に変換するためのRGB変換モジュールをさらに含む。
実施例4
【0057】
図4に示すように、本実施例は、水中ビデオのカラー復元装置を開示し、水中ビデオのカラー復元装置は、復元すべき水中ビデオを取得するためのビデオ取得モジュールと、復元すべき水中ビデオの各ビデオフレームを実施例2における水中画像のカラー復元方法で処理し、カラー復元後のビデオを得るためのビデオ復元モジュールとを含む。
実施例5
【0058】
本実施例は、電子機器を開示し、この電子機器は、コンピュータプログラムが記憶されたメモリと、前記コンピュータプログラムを実行して実施例1又は実施例2における水中画像のカラー復元方法又は水中ビデオのカラー復元方法を実現するためのプロセッサとを含む。本実施例における電子機器は、具体的には、カメラ又は携帯電話であってもよい。
実施例6
【0059】
本実施例は、コンピュータ読み取り可能な記憶媒体を開示し、該コンピュータ読み取り可能な記憶媒体にコンピュータプログラムが記憶されており、このコンピュータプログラムがプロセッサによって実行される時、実施例1又は実施例2における水中画像のカラー復元方法又は水中ビデオのカラー復元方法を実現する。
【0060】
当業者であれば理解できるように、上記実施例の様々な方法のすべて又は一部のステップは、関連するハードウェアが完了するようにプログラムによって命令することができ、記憶媒体は、コンピュータ読み取り可能な記憶媒体、例えば、強誘電体メモリ(FRAM(登録商標):Ferromagnetic Random Access Memory)、リードオンリーメモリ(ROM:Read Only Memory)、プログラマブルリードオンリーメモリ(PROM:Programmable Read Only Memory)、消去可能プログラマブルリードオンリーメモリ(EPROM:Erasable Programmable Read Only Memory)、帯電消去可能プログラマブルリードオンリーメモリ(EEPROM:Electrically Erasable Programmable Read Only Memory)、フラッシュ、磁気表面メモリ、光ディスク、又は光ディスクリードオンリーメモリ(CD-ROM:Compact Disk-Read Only Memory)などのメモリであってもよく、上記メモリのうちの1つ又は任意の組み合わせを含む様々な機器であってもよい。
【0061】
上記は、本発明の好適な実施例にすぎず、本発明を限定するためのものではなく、本発明の精神と原則内で行われたすべての修正、等価置換や改良などは、本発明の保護範囲に含まれるべきである。
【国際調査報告】