2020年10月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
無料ブログはココログ

« ・暑い中での撮影支援アイテム | トップページ | ・大波月海岸 »

2020年9月16日 (水)

・AIで画像を拡大する技術の可能性

近年、AIで超解像を行う技術が話題になっています。
以前はGANを用いて高解像度化する技術を紹介しました。

超解像処理が良く使われる分野はテレビなどです。

Sreso-1
図のように、伝送部分で帯域を減らすために
2K(FullHD画質)で伝送し、家庭内の受信機(テレビ)で
アップコンバートすることで4Kを実現したりします。

上の例では2Kから4Kへと、面積で4倍の解像度にアップします。
ただし、2Kにしたときに失われた細かい模様などは
どうしても戻りません。

そこで、GANを用いて、情報がないところに模様を付与して
高解像度化したりする技術が開発されています。

GANではないAIを用いた超解像技術の論文が最近発表されました。
リンク

この方法は、縮小するときのアルゴリズムを探し出して
それをもとに拡大アルゴリズムを構築するというアプローチです。

画像を縮小するアルゴリズムは有名なものが大体決まっています
バイリニアやバイキュービック法

上の図の例でいうなら、放送局で2Kに縮小したアルゴリズムが分かれば
それに合った拡大をすることで、より正確な情報を復元することができます。


ところで、画像の縮小や拡大は関数といえます。
ある特定の値を入れると、特定の値が出力される

Sreso-1_20200916220401

数学で習う関数と同じです。

例えば次のような関数

y = 1/10 x

これはxに入力した値を1/10にして出力するという関数です。
例えばx = 3.14 とすると
出力 y = 0.314になります。

値が小さくなったので縮小と同じようなものです。
3.14という値を元に戻すには、関数がわかっていれば簡単です。
式を変形すると x = 10yなので
y=0.314を代入すれば、もとのxの値は3.14と出力できる。


ただし、画像で考えると
実際には小さくしてつぶれたディティールは復活しない。

y = 1/10 x の関数で同じようなことを考えると下の図のようになります

Sreso-2

小数点第三位を切り捨てる(情報を損失)と、出力0.31から
もとの3.14に戻すことができなくなってしまう。

単純に考えると元の3.14に戻すことは絶対できません。
でも、勘のいい人が見れば、
「ん、1/10して0.31なら、もともとは円周率の3.14なんじゃないか?」
と元の値を推測することができるかもしれません。

画像でも、AIでたくさんの画像を学習させれば
「この縮小方法でこういった画像になっているなら、もとはこんな感じのはずだ」
と、推測することができるようになります。

論文では顔画像で例を示していますが、今後様々な被写体に応用が期待できます。

また、この論文では入出力関数に注目しているのが面白いところで、
これを応用すると、レンズによる収差などでの解像劣化も補正ができそうです。

Sreso-2_20200916220401

レンズも画像を入力して画像を出力する関数と同じです。
レンズの光学系はPSF(点像分布関数)として設計時に求められています。
関数がわかりさえすれば、AIによる推論もあわせることで
収差の軽減もできてしまいます。
また、絞った時の回折ボケも復元ができる。
(各メーカで導入されている回折補正は、F値によってシャープネスを調整する単純なもの)

にほんブログ村 写真ブログ デジタル一眼(PENTAX)へ
にほんブログ村

 

« ・暑い中での撮影支援アイテム | トップページ | ・大波月海岸 »

写真講座」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« ・暑い中での撮影支援アイテム | トップページ | ・大波月海岸 »