2023-01-01から1年間の記事一覧

SDXL 1.0 (Stable Diffusion XL 1.0) 派生モデルとControlNetを組み合わせる

はじめに 本題 実行 結果 他のモデルとの比較 original SDXL DreamShaper XL1.0 alpha2 CounterfeitXL beta niji-diffusion-xl-base-1.0 v1.1 niji-diffusion-xl-base-1.0 v2.0 niji-diffusion-xl-base-1.0 v2.3 Animagine XL Mysterious - SDXL Version v3.…

SDXL 1.0 (Stable Diffusion XL 1.0) 派生モデルの safetensorsファイル を Diffusersフォーマット に変換する

実行CIVITAIなどからモデルをダウンロードするとほとんどの場合「**.safetensors」というファイルです。そのままDiffusersから使うにはこのようにします。 from diffusers import StableDiffusionXLPipeline import torch pipe = StableDiffusionXLPipeline.…

SDXL 1.0 (Stable Diffusion XL 1.0) で使える ControlNet が Diffusers から公開されたのでさっそく使ってみました

待望のSDXL 1.0 (Stable Diffusion XL 1.0) 用ControlNetが公開され始めています。今のところは「Canny」しか公開されていませんが今後増えると思われます。その都度記事は更新していきます。

SDXL 1.0 (Stable Diffusion XL 1.0) のLoRA学習 (DreamBooth fine-tuning via LoRA) がVRAM 16GBでできるんだって。やるしかないでしょ。

github.com github.com はじめに今回の学習は「DreamBooth fine-tuning of the SDXL UNet via LoRA」として紹介されています。いわゆる通常のLoRAとは異なるようです。16GBで動かせるということはGoogle Colabで動かせるという事だと思います。自分は宝の持…

CounterfeitXL が α → β を経てv1.0になりました。画像を比較してみました。

モデルはいずれもCIVITAIからダウンロードさせて頂きました。 左からα→β→v1.0です。 v1.0でだいぶ印象が変わりました。 CounterfeitXLの使い方はこちらを見て下さい。 touch-sp.hatenablog.com さらに多い比較結果をこちらに載せています。 support-touchsp.…

SDXL 1.0 (Stable Diffusion XL 1.0) で Image2Image + LoRA を試す

はじめにText2Image + LoRAは以前書きました。 touch-sp.hatenablog.com 今回は Image2Image + LoRA に挑戦しました。注意Diffusers==0.19.3までは以下のエラーが出ます。 from diffusers import AutoPipelineForImage2Image import torch pipe = AutoPipeli…

Diffusers を使って Zero-1-to-3 (Zero-shot One Image to 3D Object) を実行する方法が公開されました。VRAM使用量がかなり減っているようです。

はじめにオリジナルの「Zero-1-to-3 (Zero-shot One Image to 3D Object)」をみるとVRAM 22GB使用すると書かれています。 github.com 新たに「A diffuser implementation of Zero123」が公開されたので使ってみました。 github.com VRAM 16GBのRTX 3080 Lapt…

【SDXL 1.0 (Stable Diffusion XL 1.0)】生成画像の画質が良くない時はどうすれば良いか?いろいろ試してみました。

はじめに 最初は普通にText2Image 画質向上 SDXLのリファイナーを使う方法 方法1 方法2 方法3(Image2Image) GFPGANを使う方法 結果の比較 はじめにSDXL 1.0 (Stable Diffusion XL 1.0) の派生モデルである「DreamShaper XL1.0 Alpha2」というのを使って…

SDXL 1.0 (Stable Diffusion XL 1.0) の二つのテキストエンコーダーに別々とプロンプトを与える?複雑すぎるでしょ!どれが最適解か全くわかりません。

はじめにSDXL 1.0 (Stable Diffusion XL 1.0)には二つのテキストエンコーダーがあるようです。テキストエンコーダーとはざっくり言うとユーザーが与えたプロンプトを処理する部分です。それが二つ(OpenCLIP と OpenAI CLIP)あるようです。デフォルトではそ…

【Compel】SDXL 1.0 (Stable Diffusion XL 1.0) でプロンプト内のワードに重みづけをしてみた

結果左がボールを強調した生成画像 真ん中がノーマルの生成画像 右が猫を強調した生成画像 なんとなく効果があるような気がします。 今回とは関係ないですがこのレベルの画像が簡単に生成できるSDXL 1.0 (Stable Diffusion XL 1.0) には驚かされるばかりです…

SDXL 1.0 (Stable Diffusion XL 1.0) の派生モデルが公開され始めています。 CounterfeitXL というモデルを Diffusers から使ってみました。

はじめにSDXL 1.0の基本的な使い方はこちらを参照して下さい。 touch-sp.hatenablog.com 環境 Windows 11 CUDA 11.7 Python 3.10「omegaconf」が必要になります。 pip install torch==2.0.1+cu117 --index-url https://download.pytorch.org/whl/cu117 pip i…

SDXL 1.0 (Stable Diffusion XL 1.0) で Inpainting をやってみました

はじめにタイトル通りSDXL 1.0 (Stable Diffusion XL 1.0) で Inpainting をやってみました。mask画像とプロンプトを用意する必要があります。SDXL 1.0の基本的な使い方はこちらを参照して下さい。 touch-sp.hatenablog.com 結果写真に写る犬を猫に変換して…

SDXL 1.0 (Stable Diffusion XL 1.0) で Image2Image をやってみました

最終更新日:2023年8月2日はじめにSDXL 1.0はベースとリファイナーの2つのモデルからできています。今回はベースモデルとリファイナーモデルでそれぞれImage2Imageをやってみました。Text2ImageはSDXL 1.0のベースモデルを使わずに「BracingEvoMix_v1」を使…

SDXL 1.0 (Stable Diffusion XL 1.0) にLoRAを適用させてみました

はじめにSDXLで使えるLoRAがCIVITAIに公開されていたので使ってみました。最近公開されたDiffusers==0.22.0からLoRAの使い方が変わったようです。SDXL 1.0の基本的な使い方はこちらを参照して下さい。 touch-sp.hatenablog.com Pythonスクリプト「LoRA」とい…

SDXL 1.0 (Stable Diffusion XL 1.0) に専用VAEを適用させてみました

はじめにこちらにSDXL専用と思われるVAEが公開されていたので使ってみました。 huggingface.co SDXL 1.0の基本的な使い方はこちらを参照して下さい。 touch-sp.hatenablog.com Pythonスクリプト from diffusers import DiffusionPipeline, AutoencoderKL imp…

SDXL 1.0 (Stable Diffusion XL 1.0) が公開されたので Diffusers から使ってみる

最終更新日:2023年8月5日はじめに新しく公開されたSDXL 1.0をDiffusersから使ってみました。Diffusers公式のチュートリアルに従って実行してみただけです。環境 Windows 11 CUDA 11.7 Python 3.10pip install torch==2.0.1+cu117 --index-url https://downl…

ESP-WROOM-32 と PC を Bluetoothで接続してシリアル通信を無線化する

はじめに使用したのはこちらです。 ESPr® Branch 32(Groveコネクタ付き)www.switch-science.com ESP-WROOM-32に接続したモーターをPCから操作することに挑戦しました。 使用したモータードライバーはこちらです。 HbridgeS UNIT — スイッチサイエンス M5St…

【Diffusers】「from_single_file」がVAEにも使えるようになったので変換作業が不要になりました

最終更新日:2023年8月3日 左がデフォルト、右が専用VAEです。はじめにDiffusersで専用のVAEを使用するためには変換が必要でした。 touch-sp.hatenablog.com 新たに「from_single_file」がVAEにも使えるようになったのでその作業は不要になりました。使い方…

100週遅れくらいですが、いまさら ESP-WROOM-32 を触ってみました

はじめにもうすぐ Arduino Uno R4 Wifi が日本でも発売されます。今は技適承認待ちだと思います。そんな状況なのにWifi, Bluttoothを試してみたかったのでESP-WROOM-32に手を出しました。買ったのはこちらです。 ESPr® Branch 32(Groveコネクタ付き)www.sw…

【Diffusers】DiffusersからT2I-Adapterが使えるようになったのでBRA(Beautiful Realistic Asians) V6と組み合わせて使ってみました

from PIL import Image import numpy as np import torch from diffusers.utils import load_image from controlnet_aux import PidiNetDetector from diffusers import StableDiffusionAdapterPipeline, T2IAdapter from compel import Compel image = load…

【controlnet_aux】ControlNet auxiliary modelsを使う

github.com 今回使用したのは「controlnet-aux==0.0.7」です。 mediapipeも一緒にインストールする必要があります。 pip install controlnet-aux mediapipePythonスクリプト from diffusers.utils import load_image from controlnet_aux.processor import P…

MMDetectionでImage Captioningができるようになっていました

環境 Ubuntu 22.04 on WSL2 Python 3.10 CUDA 11.8pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 --index-url https://download.pytorch.org/whl/cu118 pip install openmim==0.3.9 mim install mmcv==2.0.1 mim install mmdet[multimodal]==3.…

MMTrackingの開発が止まっていると思っていたらMMDetectionでMultiple Object Tracking(MOT)ができるようになっていました

はじめにタイトル通りです。今回はMMDetectionでMultiple Object Tracking(MOT)を実行するまでの手順を記録しておきます。環境 Ubuntu 22.04 on WSL2 Python 3.10 CUDA 11.8pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 --index-url https://d…

【ControlVideo】VRAM 18GBも使用するため動かせなかった動画生成モデルが RTX 4090 で動かせました

一番左が用意されたサンプル動画。 真ん中がサンプル動画から作成されたポーズ動画。 一番右がポーズ画像とテキスト(プロンプト)から作成された動画。 背景の一貫性、服装の一貫性はしっかり保たれている印象です。 512x512のサイズですが顔がはっきり描画…

【Diffusers】 Kandinskyというモデルが2.2にアップデートされてControlNetが使えるようになりました

最終更新日:2023年7月28日はじめに以前Kandinsky 2.1に関する記事を書きました。 touch-sp.hatenablog.com 今回は新しくなったKandinsky 2.2をControlNetと組み合わせて使ってみます。 「Text-to-Image」と「Image-to-Image」の両方で使えるようなので比較…

「Arduino Nano」と「M5Stack用RGB LEDユニット」を使ってサイコロの代わりになるものを作る

はじめに以前Arduino Nano Everyを使ってサイコロの代わりになるものを作りました。 touch-sp.hatenablog.com 今回は同じArduino Nano Everyに「Grove Shield for Arduino Nano」「M5Stack用RGB LEDユニット」「M5Stack用メカニカルキーボタンユニット」を組…

RTX 4090買いました。宝の持ち腐れです。

Palit製「GeForce RTX 4090 GameRock」 を買ってしまいました。 見て下さいこの価格の下落を! 自分には完全に宝の持ち腐れです。 それを使って何をするか?本当にそれが必要か?そんなことはどうでもいいです(笑)。 とりあえず最高のPC環境を作りたい。そ…

【Diffusers】BRA(Beautiful Realistic Asians) V6 が公開されたので ControlNet 1.1 と組み合わせて使ってみました

はじめにタイトル通りです。V6はこちらからダウンロードさせて頂きました。 V4、V5の記事はこちらです。 touch-sp.hatenablog.com touch-sp.hatenablog.com 結果 自分はV5の方が好みかもしれません。実行方法「cv2_canny.py」と「canny2image_torch2.py」を…

【Diffusers】Diffusers から OpenAI の Shap-E が使えるようになったのでさっそくテキストから3Dオブジェクトを生成してみました

最終更新日:2023年7月21日 はじめに「Shap-E」は以前にこちらの記事で扱いました。 touch-sp.hatenablog.com Diffuses 0.18.0からShap-Eがサポートされたようなのでさっそく使ってみました。Pythonスクリプトたったこれだけです。ずいぶん使いやすくなって…

Arduinoでメカニカルキーを使いたかったら「M5Stack用メカニカルキーボタンユニット」と「GROVE - ベースシールド」がお勧め。はんだ付けなしですぐに使えます。

GROVE - ベースシールド — スイッチサイエンス M5Stack用メカニカルキーボタンユニット — スイッチサイエンス 「Switch Science」から「GROVE - ベースシールド」を買うとすでにピンがはんだ付けされた状態になっているのですぐに使えます。 「M5Stack用メカ…