・AIで画像を拡大する技術の可能性
近年、AIで超解像を行う技術が話題になっています。
以前はGANを用いて高解像度化する技術を紹介しました。
超解像処理が良く使われる分野はテレビなどです。
図のように、伝送部分で帯域を減らすために
2K(FullHD画質)で伝送し、家庭内の受信機(テレビ)で
アップコンバートすることで4Kを実現したりします。
上の例では2Kから4Kへと、面積で4倍の解像度にアップします。
ただし、2Kにしたときに失われた細かい模様などは
どうしても戻りません。
そこで、GANを用いて、情報がないところに模様を付与して
高解像度化したりする技術が開発されています。
GANではないAIを用いた超解像技術の論文が最近発表されました。
リンク
この方法は、縮小するときのアルゴリズムを探し出して
それをもとに拡大アルゴリズムを構築するというアプローチです。
画像を縮小するアルゴリズムは有名なものが大体決まっています
バイリニアやバイキュービック法。
上の図の例でいうなら、放送局で2Kに縮小したアルゴリズムが分かれば
それに合った拡大をすることで、より正確な情報を復元することができます。
ところで、画像の縮小や拡大は関数といえます。
ある特定の値を入れると、特定の値が出力される
数学で習う関数と同じです。
例えば次のような関数
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 の関数で同じようなことを考えると下の図のようになります
小数点第三位を切り捨てる(情報を損失)と、出力0.31から
もとの3.14に戻すことができなくなってしまう。
単純に考えると元の3.14に戻すことは絶対できません。
でも、勘のいい人が見れば、
「ん、1/10して0.31なら、もともとは円周率の3.14なんじゃないか?」
と元の値を推測することができるかもしれません。
画像でも、AIでたくさんの画像を学習させれば
「この縮小方法でこういった画像になっているなら、もとはこんな感じのはずだ」
と、推測することができるようになります。
論文では顔画像で例を示していますが、今後様々な被写体に応用が期待できます。
また、この論文では入出力関数に注目しているのが面白いところで、
これを応用すると、レンズによる収差などでの解像劣化も補正ができそうです。
レンズも画像を入力して画像を出力する関数と同じです。
レンズの光学系はPSF(点像分布関数)として設計時に求められています。
関数がわかりさえすれば、AIによる推論もあわせることで
収差の軽減もできてしまいます。
また、絞った時の回折ボケも復元ができる。
(各メーカで導入されている回折補正は、F値によってシャープネスを調整する単純なもの)
« ・暑い中での撮影支援アイテム | トップページ | ・大波月海岸 »
「写真講座」カテゴリの記事
- ・写真編集時の周辺環境について(2024.11.13)
- ・クアッドピクセルのさらに上をいくセンサー(2024.11.02)
- ・彗星を撮った時の設定2(2024.10.30)
- ・彗星を撮った時の設定(2024.10.05)
- ・面内ブレ(ブラー)を防ぐ(2024.09.12)
コメント