Book: ゼロから作る RAW 現像

PythonとColabでできる - ゼロから作るRAW現像

本をいただいたので感想を書くというちょー久しぶりの試み。著者の大泉さんありがとうございます。

ラズパイのカメラからRAW画像 (センサから出てきた加工前非圧縮の画像)を「現像」して後処理された普通のJPEGっぽい画像にするアルゴリズムを紹介している本。

表紙に「Python と Colab でできる」と書いてあるとおり、NumPy とかを使いつつ  Colab で途中経過を可視化しながら話がすすむので、テキストを読み飛ばしてもなんとなく雰囲気がわかる。なお画像アルゴリズムを開発している人も自分の知ってる範囲では似たようなことをしてます。(レガシー資産とかの都合で Matlab の方が多いかもしれない。Matlab を民主化したのが NumPy と Jupiter/Colab だからね。)

こういう「現像」のアルゴリズム、自分も基本的なことが知りたくてむかし実装してみたところがある。その時は、本書のもとになったブログ記事を参照していた。というのも、カメラの現像アルゴリズムのまとまった資料ってびっくりするほど全然ない。これは日本語に限った話ではなく、英語でもない。世の中にはオープンソースの darktable のような現像ソフトウェアがあるのでどこかにはこういうのを開発するための資料があるのだろうけれど、素人に手が出るものは自分が調べた限りではこの本くらいしか存在しなかった。不思議。

なお自分は印刷した実物の本を頂きましたが、実用的にはページがカラーで見られる PDF 版の方が良さそう。(そもそも紙バージョンは品切れだった。商業出版じゃないかならな・・・)

画質

本書の後半にいくと、ノイズ除去やエッジ強調、モダンな demosaic のアルゴリズムなど、わりかし発展的なアルゴリズムを扱っている。こういうのを見ると、自分はカメラ開発に向いてないと思う。

個々のアルゴリズムの適応前後の画像の差は、素人目には些細なものだ。職場で回覧されてくる実際の画質改善アルゴリズムも、自分は比較画像を見るたび「たしかに寄ってじーっと見ると違うが似たようなもんじゃね・・・」と思ってしまう。

けれどそういう小さな改善の積み重ねがカメラの画像改善というもの。たくさんの改善が積み重なった結果、1-2 年はさんで画像を比べるとじっさい良くなっているので効果はある。が、この地道な作業を続けるには画質へのこだわりが必要だろうなあ。自分にはない。残念。まあ画質以外の副次的なところでお手伝いさせていただきます。