可変感情可変予定制御

街歩きブログになりつつあるなにか

img2imgとInstructPix2Pixの併用で写真をイラスト風に変換する

先日ControlNet 1.1がリリースされいろいろ触っていたところ、手軽に写真をイラスト風にする手法を生み出したのでメモしておく。

以前からimg2imgとControlNetを組み合わせる手法は提案していたのだが、毎回写真に合わせたプロンプトを書かないとならなかったので面倒だった。今回ControlNet 追加されたInstructPix2Pixを使用することで、簡単にディティールを保ちながら変換することができた。

web UIへの拡張機能とモデルの導入は以下のリポジトリに記載されているとおりに行う。

設定値等は以下を参考にいろいろ試して研究してみてほしい。

  • モデルは任意のイラスト生成モデルを使用
    (下記の画像はAnything V5を使用)
  • プロンプトは「make it illustration」、ネガティブプロンプトは「EasyNegative, (worst quality, low quality:1.5)」など
  • Denoising strengthは0.9程度

晴れの日に撮影した写真のほうがいい感じになるかも。

新横浜線の写真とか

相鉄・東急新横浜線の開業からまもなく1ヶ月となる。
かなり鮮度が落ちてしまったが、写真を貼っておく。

工事中の新横浜駅

その前に、今年2月に撮った工事中の新横浜駅を。


横浜線の駅はこの環状2号線の地下に建設された。

相鉄・東急新横浜線

ここからが開業後の写真。

初見殺しの羽沢横浜国大の発車案内。


横浜駅


東急新横浜線は全列車急行なのかと思いきや各停もある。個人的に目黒線急行は増やしてほしい。


南北線の車両が新横浜までやってくるのは感慨深いものがある。


相鉄21000系の急行西高島平行き。

ゆめが丘駅東横線直通列車

何もないと言われ続けたゆめが丘も着々と開発が進んでおり、都心直通の列車まで運行されるようになった。


ただでさえややこしい乗り入れをしているうえに、相鉄や埼京線東横線では女性専用車の位置が逆になっておりカオスだ。

大出世したいずみ野線であるが、相変わらず日中は空気輸送状態だった。

三田線


調子に乗って西谷から西高島平まで乗り通してしまった。直通用の相鉄の新車は非常に快適だ。


折り返し海老名行きとなった。

続行は新横浜行きだった。

徒歩で薩埵峠を超える

18きっぷ消化のため静岡県へ行ってきた。

13:00、興津駅を出発。普通列車東海道線を下るとよく乗り換えをするのが当駅なのだが、改札外に出たのは初めてだ。でも慣れ親しんだ駅なので写真は撮っていない。

興津団地。╰⋃╯がついた裸体の石像が置かれている。


🍊と海を眺めながら坂を登っていく。


階段状の山道に突入する。一気に山を登るため地味にキツい。


かろうじて残っていた桜の花が綺麗だった。


富士山にはちょっと雲が掛かっているがいい天気だった。
この先には展望台があるのだが、現在は道が崩落しており行くことができない。


迂回路の山道を下る。ここもかなり勾配が急になっているので要注意。


展望台の駐車場までやってきた。


🍊と🌸


長らく交通の難所となっていたが、1854年安政東海地震によって海岸が隆起し、海沿いを通行しやすくなったとのことだ。それでもスペースには限界があるため、東名道は海上を通りトンネルに入る形となっている。

峠を降りると由比宿という旧東海道の宿場町に出る。


現在でも昔ながらの町並みが残されている箇所がある。

14:40、由比駅に到着。

1時間半強の気持ちいいハイキングだった。
18きっぷ利用者からは苦行とも言われる東海道線の静岡区間だが、この道程を数分座っているだけで移動できる鉄道のありがたみを実感することができた。

InstructPix2Pixで写真編集を試す

巷で話題になっているInstructPix2Pixを試してみた。自然言語の命令を用いて画像編集が行えるというものである。従来のStable Diffusionのimg2imgでは写っているものが大きく変化してしまうといった問題点があったが、そのあたりが改善されるようにファインチューニングしているようだ。

Diffusers実装のColabノートブックが公開されていたので動かしてみた。VRAMはそれなりに使用するので、ローカルで動かすとすると12GBくらいは欲しいところだろうか。

入力画像

make it evening

make it ruin

出したい画を出してくれないことも多く、ちょっと制御しづらいところはあったが、革新的な技術だと感じた。

Stable DiffusionでLoRA(Low-rank Adaptation)を試す

Stable Diffusionのファインチューニングで最近主流になりつつあるのが、LoRA(Low-rank Adaptation)である。ハイパーネットワークと同様にベースのモデルに追加のネットワークをくっつける仕組みであり、モデルのサイズが小さいながらDreamBoothに匹敵する再現性を持っているとまで言われている。複数の実装があるが、今回はKohya氏の実装を使用する。

Windows上で環境構築を行うことが前提となっているが、あいにくVRAMが4GBしかないのでGolabにPython 3.10を無理矢理入れて動かすことにした。(デフォルトの3.8だとエラーが出てしまった)

学習方法は2通りあるのだが、今回はタグ付けが不要なDreamBooth手法を採用した。

学習データはこの6枚。

400ステップほど学習を回したが、数分で完了した。どの程度学習させるのがベストなのかはまだ知見不足だが、学習速度はかなり速いと感じた。

Anything v3.0にLoRAを適用して生成してみた結果がこちら。

 

10次元のLoRAモデルで23MB程度のサイズとなったが、ちゃんと特徴を捉えることができていた。
Stable Diffusionのモデルだけで100GBくらいHDDの容量を食っているので、どんどん普及してほしいなぁ。

 

Colabのノートブックとモデルは公開しておくので自己責任でご自由にどうぞ。

徒歩で笹子峠を越える

甲州街道にある笹子隧道を見たかったので、徒歩で笹子峠を登って見てみることにした。

10:20、笹子駅からスタート。

駅の北側にはJRのトレーニングセンターがある。

途中で廃バスに遭遇。

住宅地を抜けて林の中に入る。あとはひたすらこんな感じの風景が続く。
一本道なので迷うことはないと思うが、特に笹子側は電波が入らなくなるのでご注意を。

12:10、笹子隧道に到着。山中にそびえるレンガ造りのトンネルに惚れ込んでしまった。

甲州市側は質素なコンクリート造になっている。

13:50、甲斐大和駅に到着。3時間半で踏破できた。

そして、隣の勝沼ぶどう郷駅まで移動し、祝橋へ。

立派な橋と滝の組み合わせが素晴らしい。ちなみにこの橋はアサルトリリィで知った。

臨港バス りんたん号4台並び撮影会

10/29に臨港バス塩浜営業所で開催された、りんたん号4台並び撮影会に参加してきた。
並びの撮影と、近くに寄ったり車内に立ち入れる時間が区切られており、落ち着いて撮影することができた。

同時に展示されていたすみっコと絡めて

かわいい

15:30頃にすみっコが移動し、5台並んでの撮影となった。

最後の最後にレアな幕の撮影タイムとなったあと、各営業所へと戻っていった。