0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

JPEG AIのリファレンスソフトを動かしてみた

Last updated at Posted at 2025-03-27

概要

普段はお仕事で、データの圧縮技術に関わっています。
最近流行りのAIと圧縮の関わりに興味があったため、JPEG AIというAI画像圧縮技術を勉強素材として選んで、実際に手を動かして学んでみました。

JPEG AIとは

JPEG AIはJPEGが標準化を進めている、AIベースの画像圧縮の規格です。
AIベースの画像圧縮は、アカデミックではLearned Image Compression (LIC) と呼ばれ、検索にかけると様々な論文が出てくることからもAIによる画像処理の中でも盛んな分野である印象です。
JPEG AIのリファレンスソフトは一般に公開されており、誰でも実行することが可能です。
https://gitlab.com/wg1/jpeg-ai/jpeg-ai-reference-software

リファレンスソフトの実行手順

ということで、リファレンスソフトを自分のPCで動かしてみました。
実行手順をメモとして記します。(2025/3/22現在の情報)

実行環境はWindows11のWSL2にインストールされたUbuntuです。今回はCPUのみの動作です。
まずは、リファレンスソフトを以下のレポジトリからダウンロードします。

git clone https://gitlab.com/wg1/jpeg-ai/jpeg-ai-reference-software.git

続いて、tagを選択してcheckoutします。ここでは、CDを選びました。他のバージョンを選んでも良いですが、自分の環境ではDISタグ以降のコミットでは上手く動作しませんでした。

git checkout -b CD CD

以降は、リファレンスソフトのREADMEを参考にDockerで環境構築をします。

make run_docker
make build_test_libs
conda activate jpeg_ai_vm

ここまできたら、JPEG AIを動かすことができます。
data/testにあるテスト画像をエンコード&デコードするコマンドがあらかじめ用意されているので、それを実行します。

make test

画像とビットレートを指定して、エンコード&デコードをすることももちろん可能です。

# encode
python -m src.reco.coders.encoder data/test/00001_TE_2096x1400_8bit_sRGB.png stream.bin --set_target_bpp 10 

# decode
python -m src.reco.coders.decoder stream.bin dec.png 

上記を実行すると、以下のようにデコード画像が生成されます。
dec.png

まとめ

JPEG AIのリファレンスソフトを動かしてみました。中身を勉強中なので、深堀りした内容を次の機会にまとめたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?