- これはAIを使った画像のアップスケール/高画質化の簡単な入門です。勉強しながらこの投稿を更新して、役に立つ内容と質を保っていくつもりです(わかりやすさ、文法、書式のために一部を書き直すことも含めて)。アップスケールの手法、体験談、ソフト、そのソフトの評価などの話は大歓迎です。
- アップスケールが何かはみんな知ってると思いますが、AIアップスケールが何で、どう使うのかはあまり知られてないかも。ここで言うAIはディープラーニングのニューラルネットワークで、要は大量のデータセット(この場合は大量の画像)で「学習」させたAIです。結果として、従来のアップスケールじゃ出せないディテールを足しながら、より正確に画像を拡大できるAIになります。
- 画像のアップスケールは魔法じゃありません。例えば、画像内の本の文字がまったく読めない状態なら、アップスケールしても直りません。あくまで、従来のアップスケールよりシャープで、クリアで、リアルに、見た目よく解像度を上げる方法です。だからといって、従来のアップスケール/リサンプリングよりAIアップスケールを使う価値がないわけじゃなく、むしろ十分あります。結果がいつも良いとは限らないけど、いつも悪いわけでもないし、これからもっと良くなっていくはず。たまに、ほぼ完璧なくらい綺麗にアップスケールされることもあります。それにAIアップスケールは、ノイズや圧縮アーティファクトを除去するだけにも使えるので、解像度を上げる必要がなくてもメリットはあります。
- アップスケールの選択肢を、価格、対応プラットフォーム、アップスケール上限と一緒に短いリストにしました。アップスケールの画質評価はしません。ひとつは主観的な部分があるから、もうひとつは全部は試してないから。いつか試して比較画像を出すかもしれないけど、やらないかもしれないし、気分次第です。
- 一部はWeb版で、ちゃんとしたブラウザとネット環境さえあればほぼどんな端末でもアップスケールできて便利です。デメリットは、機能が限られてるか、サブスク制で、しかもネット接続が必要なこと。回線が遅い、不安定、容量制限があるって人にはあまり向かないかも。それに、画像が実際どう扱われてるかわからないので、センシティブな画像をアップスケールしたいならWeb以外を選ぶほうがいいです。
- ソフトとしてダウンロードできるものもあり、ネット接続が要らなくて、アップスケールの制限が少ない(またはない)のが利点です。デメリットは、使いたいプラットフォーム向けのソフトが必要なことと、それを動かせるスペックの端末が必要なこと。Web版だと計算負荷は他のサーバーが担当するけど、ソフトだと処理は全部自分の端末でやることになります。
*ソースコードはGitHubで公開されています
**WINE経由
- 選択肢はこれだけじゃなくて他にもいっぱいあるので、どれもピンと来なければ「AI Image Upscaling Software」みたいなワードで検索してみてください。それぞれの長所短所つきで他の選択肢が載ってるこのlinkもチェックしてみるといいです。自分はGigapixel AIを使ってます。自分のPCで動くし、32,000 x 32,000を超えてアップスケールできないこと以外、知る限り大きな制限もなくて、それは自分には問題ないので。もし何かの理由でギガピクセル超えにアップスケールしたいなら、画像を小さく分割してそれぞれアップスケールし、あとでブレンドして繋ぎ合わせればOKです。
- 使うものが決まったら、最高の結果を出すためにやっておくといいことがいくつかあります。まず、アップスケールする画像は本当に一番いいバージョンですか?知っての通り、ネット上のほぼすべての写真には複数のコピーがあって、画質は全部同じじゃありません。なので、ネットから拾った画像で、唯一無二の写真でも自分で動画から特定フレームをスクショしたものでもないなら、逆画像検索を試してみるといいです。Google、Bing、TinEyeなどいくつか選択肢があります(結果がいつも同じとは限らないので、複数で逆画像検索する価値あり)。逆画像検索を助けるブラウザ拡張としてSearch by Imageもあります。古い、解像度が高い、ファイルサイズが大きいからといって、そのバージョンの画質が良いとは限らないので注意。元画像を見つけやすくするコツは、誰/何が写っているか、いつ/どこで撮影/投稿されたかなどを突き止めて、その情報から高画質版、うまくいけば出典そのものを探すことです。例えば特定の撮影会やイベントの写真かもしれません。その情報が助けになります。
- アップスケールしたい画像のベストなコピー(少なくとも見つけられた中で一番良いもの)が確保できたら、データとアーカイブの話です。使う写真に問題がなくて、みんながずっと見られる状態を保つために、いくつかやっておくのをおすすめします。まずVirusTotalで、画像があるページのURLだけでなく、画像への直リンクとダウンロードした画像ファイルもスキャンします。別に必須じゃないけど、自分はやってます。それと、画像があったページのURLと直リンクをWayback Machine とArchive.Todayの両方でアーカイブするのもおすすめ。次に、ダウンロードした画像のファイル名を意味のわかりやすいものに変更します(すでにそういう名前ならそのままでOK)。それから自分はよくFileOptimizerを使ってファイルサイズを限界まで減らします(データ(画質)が失われないよう、可逆の最適化のみ)。容量が減って、アップロードもダウンロードも速くなります。
- さて、いよいよアップスケール!と言いたいところだけど、ちょっと待って。画像によってはアップスケール前に少し調整が必要なことがあります。画像にノイズが多いと(色ノイズ、輝度ノイズなど)、アップスケーラーがノイズとディテールの区別に苦労して(そうならないこともあります、ケースバイケース)、変なアップスケール結果になることがあります。なのでアップスケール前にノイズ除去を試すのもアリ。ノイズ除去で逆に結果が悪くなることもあるので、比較して判断してください。また、画像がすでに従来のアップスケールで拡大されている場合もあります。その場合、100%未満のいろんなズームで見て、ブロックノイズやジャギーといった従来アップスケールの劣化が気にならなくなる「ちょうどいいポイント」を探します。50%ズームが良い出発点です。「ちょうどいいポイント」が見つかったら、画像をその倍率まで縮小します(単純なリサイズが一番いいこともあれば、lanczosやbicubicなどのリサンプリングで縮小したほうが良い結果になることもあります)。アップスケール前のノイズ除去と同じで、必ずしも良くなるとは限らないので比較してください。ほかにも、少しぼかす、シャープにする、場合によっては先にアップスケール/リサンプリングするのも、より良い結果に繋がることがあります。
- 画像をアップスケーラーに読み込んで、完璧な設定を選んで、いざアップスケールという時に、出力フォーマットと画質を選ぶ画面が出ることがあります。後の編集が効きやすいように、PNGなどの可逆形式で出力するのがおすすめです。さて、アップスケールして十分な結果が出ました。次は?何も手を加えずそのままアップロードしてもまったく問題ないけど、ちょっと仕上げを加えるだけでもっと魅力的になることがあります。元画像にノイズがあまり見えなくても、アップスケール結果にノイズが出ることがたまにあります。その場合は、できるだけノイズ除去して少しでも見栄えを良くするのがベスト。画像(全体でも一部だけでも)が、なんというか、のっぺりしてたり、プラスチックっぽく見えることもあります。そんな時は、グレインを足すのが簡単な改善方法。自分は粗いグレインより細かいグレインが好きだけど、好きなほうを選んでOK。グレインは一種の「偽ディテール」を加えて、自分的には画像が少しテクスチャ感のある見た目になります。アップスケール結果に変なディテールがあることもあるので、縮小すると、見た目の改善はそのままに目立ちにくくできるので、それも有効です。ノイズ除去、縮小、グレインを組み合わせるなら、順番は ノイズ除去 → 縮小 → グレイン です。
- 画像によっては(あるいはやるとより良くなる)PhotoshopやGIMPでの手動の修正が必要なこともあります。ただ、今のところ自分にはその経験がないけど、将来変わるかもしれないので、そうなったらアップスケールの手動修正についての小さなセクションを追加できます。というわけで話を戻すと、これでアップスケールは完成のはず。アップロード前に、縮小するか、非可逆圧縮で圧縮するのを検討してください。アップスケール結果はファイルサイズがかなり大きくなることがあるので(1枚で数百メガバイトになることも)。自分は、元画像(加工なし、元のフォーマットのまま、ただし可逆最適化済み)、アップスケールの可逆WEBP版(PNGより圧縮率が高いので)、非可逆JPG版、可逆PNG(互換性が高いので)をアップするようにしてます。そうすれば、みんな元画像が手に入るし、アップスケールはファイルサイズ最小の非可逆JPG、PNGより小さい可逆WEBP、WEBPより対応と互換性が広い可逆PNGから好きなものを選べます。
- アップスケールが何かはみんな知ってると思いますが、AIアップスケールが何で、どう使うのかはあまり知られてないかも。ここで言うAIはディープラーニングのニューラルネットワークで、要は大量のデータセット(この場合は大量の画像)で「学習」させたAIです。結果として、従来のアップスケールじゃ出せないディテールを足しながら、より正確に画像を拡大できるAIになります。
- 画像のアップスケールは魔法じゃありません。例えば、画像内の本の文字がまったく読めない状態なら、アップスケールしても直りません。あくまで、従来のアップスケールよりシャープで、クリアで、リアルに、見た目よく解像度を上げる方法です。だからといって、従来のアップスケール/リサンプリングよりAIアップスケールを使う価値がないわけじゃなく、むしろ十分あります。結果がいつも良いとは限らないけど、いつも悪いわけでもないし、これからもっと良くなっていくはず。たまに、ほぼ完璧なくらい綺麗にアップスケールされることもあります。それにAIアップスケールは、ノイズや圧縮アーティファクトを除去するだけにも使えるので、解像度を上げる必要がなくてもメリットはあります。
- アップスケールの選択肢を、価格、対応プラットフォーム、アップスケール上限と一緒に短いリストにしました。アップスケールの画質評価はしません。ひとつは主観的な部分があるから、もうひとつは全部は試してないから。いつか試して比較画像を出すかもしれないけど、やらないかもしれないし、気分次第です。
- 一部はWeb版で、ちゃんとしたブラウザとネット環境さえあればほぼどんな端末でもアップスケールできて便利です。デメリットは、機能が限られてるか、サブスク制で、しかもネット接続が必要なこと。回線が遅い、不安定、容量制限があるって人にはあまり向かないかも。それに、画像が実際どう扱われてるかわからないので、センシティブな画像をアップスケールしたいならWeb以外を選ぶほうがいいです。
- ソフトとしてダウンロードできるものもあり、ネット接続が要らなくて、アップスケールの制限が少ない(またはない)のが利点です。デメリットは、使いたいプラットフォーム向けのソフトが必要なことと、それを動かせるスペックの端末が必要なこと。Web版だと計算負荷は他のサーバーが担当するけど、ソフトだと処理は全部自分の端末でやることになります。
| Gigapixel AI | Lets Enhance | Waifu2x | Vertexshare Image Upscaler | |
| 価格 | $99.99 | 最初の5枚は無料、サブスクは月$12から(月100枚までアップスケール) | 無料 | 無料 |
| アップスケール上限 | 32,000 x 32,000 | 無料の5枚は64メガピクセル、通常サブスクは256メガピクセル、ビジネスサブスク(月$72から)は500メガピクセル | 1,500 x 1,500または5 MBを超える画像はアップロード不可。アップスケール倍率は1.6xか2x | JPGとPNG以外はアップロード不可で、1,200 x 1,200または5 MBを超えるものも不可。アップスケール倍率は2xと4xのみ |
| Web | N | Y | Y | Y |
| Windows | Y | N | Y* | N |
| Mac | Y | N | Y* | N |
| Linux | Y** | N | Y* | N |
| モバイルアプリ | N | N | Y* | N |
*ソースコードはGitHubで公開されています
**WINE経由
- 選択肢はこれだけじゃなくて他にもいっぱいあるので、どれもピンと来なければ「AI Image Upscaling Software」みたいなワードで検索してみてください。それぞれの長所短所つきで他の選択肢が載ってるこのlinkもチェックしてみるといいです。自分はGigapixel AIを使ってます。自分のPCで動くし、32,000 x 32,000を超えてアップスケールできないこと以外、知る限り大きな制限もなくて、それは自分には問題ないので。もし何かの理由でギガピクセル超えにアップスケールしたいなら、画像を小さく分割してそれぞれアップスケールし、あとでブレンドして繋ぎ合わせればOKです。
- 使うものが決まったら、最高の結果を出すためにやっておくといいことがいくつかあります。まず、アップスケールする画像は本当に一番いいバージョンですか?知っての通り、ネット上のほぼすべての写真には複数のコピーがあって、画質は全部同じじゃありません。なので、ネットから拾った画像で、唯一無二の写真でも自分で動画から特定フレームをスクショしたものでもないなら、逆画像検索を試してみるといいです。Google、Bing、TinEyeなどいくつか選択肢があります(結果がいつも同じとは限らないので、複数で逆画像検索する価値あり)。逆画像検索を助けるブラウザ拡張としてSearch by Imageもあります。古い、解像度が高い、ファイルサイズが大きいからといって、そのバージョンの画質が良いとは限らないので注意。元画像を見つけやすくするコツは、誰/何が写っているか、いつ/どこで撮影/投稿されたかなどを突き止めて、その情報から高画質版、うまくいけば出典そのものを探すことです。例えば特定の撮影会やイベントの写真かもしれません。その情報が助けになります。
- アップスケールしたい画像のベストなコピー(少なくとも見つけられた中で一番良いもの)が確保できたら、データとアーカイブの話です。使う写真に問題がなくて、みんながずっと見られる状態を保つために、いくつかやっておくのをおすすめします。まずVirusTotalで、画像があるページのURLだけでなく、画像への直リンクとダウンロードした画像ファイルもスキャンします。別に必須じゃないけど、自分はやってます。それと、画像があったページのURLと直リンクをWayback Machine とArchive.Todayの両方でアーカイブするのもおすすめ。次に、ダウンロードした画像のファイル名を意味のわかりやすいものに変更します(すでにそういう名前ならそのままでOK)。それから自分はよくFileOptimizerを使ってファイルサイズを限界まで減らします(データ(画質)が失われないよう、可逆の最適化のみ)。容量が減って、アップロードもダウンロードも速くなります。
- さて、いよいよアップスケール!と言いたいところだけど、ちょっと待って。画像によってはアップスケール前に少し調整が必要なことがあります。画像にノイズが多いと(色ノイズ、輝度ノイズなど)、アップスケーラーがノイズとディテールの区別に苦労して(そうならないこともあります、ケースバイケース)、変なアップスケール結果になることがあります。なのでアップスケール前にノイズ除去を試すのもアリ。ノイズ除去で逆に結果が悪くなることもあるので、比較して判断してください。また、画像がすでに従来のアップスケールで拡大されている場合もあります。その場合、100%未満のいろんなズームで見て、ブロックノイズやジャギーといった従来アップスケールの劣化が気にならなくなる「ちょうどいいポイント」を探します。50%ズームが良い出発点です。「ちょうどいいポイント」が見つかったら、画像をその倍率まで縮小します(単純なリサイズが一番いいこともあれば、lanczosやbicubicなどのリサンプリングで縮小したほうが良い結果になることもあります)。アップスケール前のノイズ除去と同じで、必ずしも良くなるとは限らないので比較してください。ほかにも、少しぼかす、シャープにする、場合によっては先にアップスケール/リサンプリングするのも、より良い結果に繋がることがあります。
- 画像をアップスケーラーに読み込んで、完璧な設定を選んで、いざアップスケールという時に、出力フォーマットと画質を選ぶ画面が出ることがあります。後の編集が効きやすいように、PNGなどの可逆形式で出力するのがおすすめです。さて、アップスケールして十分な結果が出ました。次は?何も手を加えずそのままアップロードしてもまったく問題ないけど、ちょっと仕上げを加えるだけでもっと魅力的になることがあります。元画像にノイズがあまり見えなくても、アップスケール結果にノイズが出ることがたまにあります。その場合は、できるだけノイズ除去して少しでも見栄えを良くするのがベスト。画像(全体でも一部だけでも)が、なんというか、のっぺりしてたり、プラスチックっぽく見えることもあります。そんな時は、グレインを足すのが簡単な改善方法。自分は粗いグレインより細かいグレインが好きだけど、好きなほうを選んでOK。グレインは一種の「偽ディテール」を加えて、自分的には画像が少しテクスチャ感のある見た目になります。アップスケール結果に変なディテールがあることもあるので、縮小すると、見た目の改善はそのままに目立ちにくくできるので、それも有効です。ノイズ除去、縮小、グレインを組み合わせるなら、順番は ノイズ除去 → 縮小 → グレイン です。
- 画像によっては(あるいはやるとより良くなる)PhotoshopやGIMPでの手動の修正が必要なこともあります。ただ、今のところ自分にはその経験がないけど、将来変わるかもしれないので、そうなったらアップスケールの手動修正についての小さなセクションを追加できます。というわけで話を戻すと、これでアップスケールは完成のはず。アップロード前に、縮小するか、非可逆圧縮で圧縮するのを検討してください。アップスケール結果はファイルサイズがかなり大きくなることがあるので(1枚で数百メガバイトになることも)。自分は、元画像(加工なし、元のフォーマットのまま、ただし可逆最適化済み)、アップスケールの可逆WEBP版(PNGより圧縮率が高いので)、非可逆JPG版、可逆PNG(互換性が高いので)をアップするようにしてます。そうすれば、みんな元画像が手に入るし、アップスケールはファイルサイズ最小の非可逆JPG、PNGより小さい可逆WEBP、WEBPより対応と互換性が広い可逆PNGから好きなものを選べます。
