デジタル画像処理
電子版リンク:デジタル画像処理(中)第3版 (1).pdf
第1、2、4、6.1-6.2、8章を学習してください。第8章はJPEG符号化の詳細紹介と合わせて読むと、符号化の大まかな流れを把握できます。
深層学習
まずPythonについて十分な理解が必要です。参考電子書籍:Pythonプログラミング:入門から実践まで.pdf
PyTorchを学習します。Bilibiliの関連コース:李沐と学ぶAIの個人空間-ゼロから学ぶ深層学習 PyTorch版-ビリビリ動画 (bilibili.com)、重点的に00~29.2、31、33-37、47、47.2を見てください。
入門基礎論文
論文とコード(CompressAI)を組み合わせて、自分でモデルを訓練し、RD曲線を描いてみてください。
よく使われる訓練・検証データセット:ImageNet/COCO
よく使われるテストデータセット:24枚のKodak画像。元画像のエッジに異常があるため、正方形にクロップされた画像が使われることもあります。
- Ballé, J., et al. (2015). "Density modeling of images using a generalized normalization transformation." arXiv preprint arXiv:1511.06281. AIコーデックでよく使われる活性化層GDN、関連コード:CompressAI/compressai/layers/gdn.py at master · InterDigitalInc/CompressAI (github.com)
- Ballé, J., et al. (2016). "End-to-end optimized image compression." arXiv preprint arXiv:1611.01704. AIコーデックの基本アーキテクチャを紹介しています。JPEG符号化と比較しながら、両方のプロセスに共通する変換、量子化、エントロピー符号化を対比し、RD損失関数を理解してください。関連コード:CompressAI/compressai/models/google.py at a4ae2eeef7bdb1b84ba076ac0d650b523f3fa882 · InterDigitalInc/CompressAI · GitHub
- Ballé, J., et al. (2018). "Variational image compression with a scale hyperprior." arXiv preprint arXiv:1802.01436. 基本アーキテクチャにハイパープライア(hyper)を追加したものです。関連コード:CompressAI/compressai/models/google.py at a4ae2eeef7bdb1b84ba076ac0d650b523f3fa882 · InterDigitalInc/CompressAI · GitHub
- Minnen, D., et al. (2018). "Joint autoregressive and hierarchical priors for learned image compression." Advances in neural information processing systems. 自己回帰(autoregressive)とハイパープライア、関連コード:CompressAI/compressai/models/google.py at a4ae2eeef7bdb1b84ba076ac0d650b523f3fa882 · InterDigitalInc/CompressAI · GitHub
注:CompressAIはLinuxではpipで直接インストールできますが、Windows用のインストールパッケージは提供されていません。以下の手順に従ってインストールしてください。
- Visual StudioのC++関連パッケージをインストールし、再起動します。
- condaで新しいPython環境を作成し、pytorch、scipy、matplotlib、pytorch-msssimをインストールします。
- 上記の環境をアクティブにし、CompressAIをローカルにクローンし、ターミナルでそのディレクトリに移動し、
pip install .を実行します。