オープンソースの画像生成AIをセットアップから使い方まで解説する『Stable Diffusion AI画像生成ガイドブック』(ソシム刊)発売中(→本のサポートページ

超小型探査機OMOTENASHIの運用状況に関する記者説明会(11/22)

前回の記事
超小型探査機OMOTENASHIの運用状況に関する記者説明会(11/18)

日時

  • 2022年11月22日15時~

登壇者

中継録画

超小型探査機OMOTENASHIの運用状況にかかる記者説明会 - YouTube

配付資料

続きを読む

超小型探査機OMOTENASHIの運用状況に関する記者説明会(11/18)

超小型探査機OMOTENASHIは、現状、太陽捕捉が完了せず、通信が安定しないため、姿勢の安定、電力の確保、通信の確立の為の運用を継続して行っております。
OMOTENASHI の運用状況についての記者説明会を開催しますのでお知らせします。

日時

  • 2022年11月18日15時~

登壇者

リンク

中継録画

超小型探査機OMOTENASHIの運用状況に関する記者説明会 - YouTube

(0分25秒に開始)

参考:OMOTENASHIチームのツイート

続きを読む

AUTOMATIC1111版Stable Diffusion Web UIの日本語化

追記(2023年3月28日)

SD/WebUIの解説本を書きました。ぜひご覧になってください。

(追記ここまで)

これを日本語化する話です。

(2023年3月29日:ここから、2023年3月の状況に合わせて書き直しました)

①「Extensions」タブをクリックします。
②「Available」タブをクリックし、「localization」のチェックボックスをオフにしてから「Load from:」のボタンをクリックします。
③インストールできる拡張機能が一覧表示されます。「Search」欄に「ja」と入力すると「ja_JP Localization」の行だけが表示されるのでその右端の「Install」ボタンをクリックします。
拡張機能がインストールされるとその行は非表示になり、その上に「Installed into~. Use Installed tab to restart.」と表示されます。ページ最下部の「Reload UI」をクリックします。
⑤Stable Diffusion WebUIが日本語化されました。

これで日本語のみの表示になりますが、日本語と原語(英語)を同時に表示させることもできます。機能の名前で検索する際などに、元の英語での表現がわかります。

①「設定」タブをクリックし、「Bilingural Localizaiton」をクリックします。「言語ファイル」のプルダウンメニューから「ja_JP」を選びます。(「ks_JP」は関西弁だそうです)
②続いて「ユーザーインターフェース」をクリック、ページ最下部にある「言語設定」のプルダウンメニューで「なし(None)」を選択します。「設定を適用」ボタンをクリックしてから(忘れがち!)「UIの再読み込み」ボタンをクリックします。
③日英併記の表示になりました。

(ここまで、2023年3月の状況に合わせて書き直しました。これまでの内容も記事の最後に残しておきます)

最近の出力

こんなことをしています。

img2imgで名画を火星探査にしたり

昔のアメリカ車(よく見るとおかしい)の図鑑を見たり

  • illustration side view of cars 1960s
  • Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 2679594898, Size: 512x512, Model hash: 7460a6fa

雨の夜を走る男アクリル画を出したり

  • A skinny man in a trench coat and fedora hat running rainy night city neon lights acrylic painting
  • Steps: 120, Sampler: Euler a, CFG scale: 7, Seed: 621632043, Size: 512x512, Model hash: 7460a6fa

ところで、画像生成AIを使わずに描いたデジタル絵のことをどう呼んだらいいんでしょうね。「手で描いた」はもともとアナログ作画(物理的な紙に物理的な筆で描く)を指していたので混同してしまう。デジタル絵をAI使用/非使用で分類する言葉が必要になっている。

追記(2023年3月15日)

GPUがないパソコンでもAUTOMATIC1111版Stable Diffusion WebUIを使える、Google Colaboratoryのノートブックを用意しました。

過去の内容

少し前に、AUTOMATIC1111版Stable Diffusion Web UI(以下1111版SD)の設定(Setting)に「Localization」という項目ができたことに気付いた。Wikiを見ると「Localization」のページもできていた。

「設定画面の一番下にローカライゼーション用のテンプレートをダウンロードするボタンがありますよ」だそうだ。ということは、このテンプレートファイルをダウンロードして編集すれば、メニューの各項目を日本語にできるようになったのだな。でも大変だな。誰かやってくれないかな…と他力本願でいたらやってくれた方がいた。ありがとうございます。

これを使って1111版SDを日本語化する方法は以下。

(2022年10月23日追記:この行の操作は不要になりました)上のURLにあるリンク「https://github.com/yuuki76/stable-diffusion-webui/raw/ja-translation/localizations/ja_JP.json」を、1111版SDのフォルダにある「localizations」フォルダ内にダウンロードする。

(2022年12月27日追記:この下に続く操作の前に必要な操作が増えました:「Extension」タブをクリック→「Available」タブをクリック→「localization」のチェックボックス☑をオフ□に→「Load from:」ボタンをクリック→出てきたリストの下の方、「ja_JP Localization」の行の右にある「Install」をクリック(ctrl+Fを押してページ内を「ja」で検索するとすぐ見つかる)→行が消えたら「Settings」タブの「Reload UI」をクリック。その上で続きを読んでください)

Web UIの「Settings」にある「User Interface」内、「Localization(requires restart)」の「None」になっているプルダウンメニューから「ja_JP」を選択する。

設定画面一番上の「Apply settings」をクリックして設定を保存してから「Reload UI」をクリックすると日本語UIになっている。

こうなった

これはすばらしい。yuuki76 (Kris Walton)さんありがとう。

(2023年3月5日一部修正)

追記

10月23日の未明に、先ほどのプルリクエストがマージされた。これです。

自分でja_JP.jsonをダウンロードしなくても、1111版SDをアップデートすれば自動的に日本語を使えるようになった。Settingsでの日本語化の操作は上に書いた内容と同じです。

追記2

言語ファイルは必要なものだけをExtensionとしてインストールする方法に変わった。追加された操作方法は上に追記しました。

小惑星探査機「はやぶさ2」の記者説明会(サンプル初期分析論文の「Science」誌掲載)

小惑星探査機「はやぶさ2」初期分析 石の物質分析チーム 研究成果の科学誌「Science」論文掲載について

おことわり
いつもは記者説明会で書き取った内容を読み返して、ブログ掲載用に表現を調整したり書ききれなかったところを補足したりしています。ところが今ちょっと忙しくて手が回らないので、今回は書き取った内容を基本的にそのままアップします。

登壇者

JAXA 宇宙科学研究所地球外物質研究グループ
グループ長 臼井寛裕(うすい・ともひろ)(JAXA 宇宙科学研究所 太陽系科学研究系 教授)
初期分析チーム
初期分析チーム統括 橘省吾(たちばな・しょうご)(東京大学大学院理学系研究科 教授/JAXA 宇宙科学研究所 太陽系科学研究系 特任教授)
石の物質分析チーム
チームリーダー 中村智樹(なかむら・ともき)(東北大学 大学院理学研究科 地学専攻 教授)

配付資料


記者説明会の概要と目次

続きを読む

画像生成AI「Stable Diffusion」をGoogle Colabで動かしたメモ

AIが画像を自動生成してくれる「Stable Diffusion」がすごい。これを使ったサービス「DreamStudio」は1枚6秒ほどで画像を生成してくれて早いが、無料枠を超えて使うには課金が必要になる。

Google Colabという、Pythonの実行環境を提供してくれるサービス上でStable Diffusionを動かせるそうだ。お金はかからない。1枚の画像生成にかかるのは30秒ほど。その方法は以下で解説されている。

自分でもやってみて、今は無事にStable Diffusionを使えるようになっている。しかしGoogle Colabを使うのも初めてだったので上の記事だけだと詰まるところもあった。ここではそれを解説したいと思う。

追記

このエントリの投稿後、より詳しく解説したページが出ていたことを知りました。

こちらはHugging Faceのアカウント取得なども含めてステップバイステップで説明されています。

自分のエントリを書く動機になった「「ランタイムの切断」に注意」の節は上の記事にはないので、そこはぜひ読んでください。

ライセンスの確認

Hugging Faceにアカウントを作るとウェルカムページへ移動する。「CompVis/stable-diffusion-v1-4 · Hugging Face」へ行くとライセンスが表示される。下の方に「I have read the License and agree with its terms」のチェックボックスと「Access Repository」のボタンがあるのを見逃さないように。


Hugging Faceのトークンを取得

アカウントを新規登録した際に届くメールには確認用のリンクがある。これをクリックするとHugging Faceを正式に使えるようになり、トークンも取得できるようになる。

Google Colabでの実行

ここの解説は元記事ではあっさりめなので、ちょっと詳しく。といっても自分も初めて使ったものなので間違いなどあったらTwitterブコメ優しくご指摘ください。

Google Colabへ行くとノートブックの一覧が表示される。Google Colabを初めて使うときは「Colaboratoryへようこそ」だけがあるはず。ここで「ノートブックを新規作成」をクリックする。

新規のノートブックが開く。ここで「ハードウェアアクセラレータ」に「GPU」を指定する。

ノートブックではカーソルが点滅しているところにコマンドを入力していく。入力したコマンドの実行は[Ctrl]+[Enter]、または左の(▶)をクリックする。

コマンドが終了したらその上の「+コード」をクリックして新しいコードセルを出し、そこに次のコマンドを入れていく。終了したコマンドを消して次のコマンドを入れてもよい。

下のように、3つに分かれているコマンドをまとめて実行してもよい。その次は画像生成のコマンドを入れるコードセルを出せばすむようになる。ノートブックを開き直してもコードセルはそのまま残っているから、下の「自分で取得したHugging Face Hubのトークン」の部分を自分のトークンに置き換えて一度実行しておけば、次に開いたときにこのコードセルを実行するだけでよい。

!pip install diffusers==0.2.4 transformers scipy ftfy

YOUR_TOKEN="自分で取得したHugging Face Hubのトークン"

from diffusers import StableDiffusionPipeline

pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", use_auth_token=YOUR_TOKEN)
pipe.to("cuda")

そのほかは元記事の手順通りに進めていけばStable Diffusionを使えるようになるはず。上のまとめたコードだと、すべてのコマンドが終わるまで3分くらいかかる。またインストール中にエラーが出て、再実行しても変わらないときは最初のコマンドからやり直すとよい。

上の初期化コマンドに続けて画像生成のコマンドを実行したければ、上のコードセルを実行させてから画像生成のコードセルも実行させておくと、順番に処理してくれる。

画像生成のコマンドが終了してもコードセルの左に「✔」が出るだけで、画像が表示されたりはしない。画像はノートブック内の「ファイル」に保存される。左サイドバーの「ファイル」をクリックする。

表示される「ファイル」ペイン内、画像のファイル名をダブルクリックすると画像が表示される。画像は「ファイル」ペインのファイル名にマウスポインタを置いたときに表示される「⁝」からローカルに保存できる。


「ランタイムの切断」に注意

ノートブック内に作られた画像ファイルは一時的なものなので、すぐにローカルに保存するのがよい。

Google Colabをしばらく放置したり、長時間使ったりしていると「ランタイムの切断」というダイアログボックスが表示される。ここで「再接続」しても、先ほどの画像ファイルはもう消えているからだ。

(このことを書きたかった。ランタイムが切断されても画像ファイルが残るようにする方法はあるのだろうか)

追記:Googleドライブを接続して画像をクラウドに保存する方法

画像ファイルの保存先をGoogleドライブに変更できるとブコメで指摘をいただいた。id:zkqさんありがとうございます。以下は自分で調べた結果です。

ノートブックを開いたらファイルアイコンに続いて「ドライブをマウント」アイコンをクリックする。

Googleドライブに接続」をクリック。

ドライブがマウントされる。

初期化コマンドの末尾に以下の2行を追加する。

import os
os.chdir('/content/drive/MyDrive/Colab Notebooks')

追加後の全コマンドは以下。

!pip install diffusers==0.2.4 transformers scipy ftfy

YOUR_TOKEN="自分で取得したHugging Face Hubのトークン"

from diffusers import StableDiffusionPipeline

pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", use_auth_token=YOUR_TOKEN)
pipe.to("cuda")

import os
os.chdir('/content/drive/MyDrive/Colab Notebooks')

これを実行してから画像生成のコマンドを実行すると、画像は「sample_data」と同じ階層ではなく、「drive」-「MyDrive」-「Colab Notebooks」に保存される。

画像はGoogleドライブ側からも見ることができる。Googleドライブに保存された画像は、ランタイムが切断されても消えることはない。


呪文探しの旅が始まる

これで無事にStable Diffusionを使えるようになったら、次はいい感じの画像を出してもらうためのコマンド探しが始まる。

下はいろいろ試してみた結果。しかし、うまくできなくてここに上げていない画像はこの何倍もある。

追記:呪文の参考にしたページ

ほかにもたくさんあるが、自分が見たのはこのあたり。あとユーザー登録すると招待されるStable DiffusionのDiscordには、作品といっしょにコマンドを公開してくれている人もいる。

さらに追記

Stable Diffusionで作った画像を検索して、それを生成した呪文を見られるサイトができたとのこと。

求める画像の特徴を日本語で入力すると呪文に変換してくれるサービスも登場した。

〔おまけ〕Google Colab以外でStable Diffusionを使う

Stable Diffusionをローカルで実行することもできるそうだ。

ただし現在のところNVIDIAGPUが必要なので、誰でも使えるというわけではない。

Stable Diffusionのサイトにはデモページがあって、ここなら誰でもいくらでも画像を生成できる。

しかしここは4枚セットを出すのに数分から10分程度かかる。画像枠の右上の数字は経過時間と所要時間を示している。複雑なコマンドだとより時間がかかるようだ。またシード値が固定されているのか、同じコマンドで生成される画像はいつも同じになる。


追記:シード値などはAdvanced optionsで変更

Advanced optionsでシード値を変更できるとブコメで教えてもらった。id:oichさんありがとうございます。そしてページを読み込み直すたびにシード値はランダムに設定されるので、同じコマンドで同じ画像を出すにはシード値を同じにすればいい(=しないとだめ)。

ネットに日記を書き始めてから25年

ネットにその日あったことや感じたことを書き始めてから今日で25年になった。最初の日は1997年の「95261.2km」。

25年! 四半世紀! ずいぶん遠くまで来たものだ。こんな年齢になった自分のことを今より若いときの自分はまったく想像できない。しかしいざその年齢に到達してみると劇的な変化があるとも感じられず、「なんだかこんなものなんだな」と妙に納得する。小学生くらいのときからそのくり返しだし、これからもそうなのだろう。

日記を書き始めたころの話は「今週のお題『私がブログを始めた理由』」(2011年)に詳しい。

ここ数年間での日記運営上の大きな出来事といえば、はてなダイアリーが2019年にサービス終了したことだ。今風にいえば「はてダがサ終した」。この年齢になると3年前はつい最近だ。

ダイアリーに載せた記事は今のはてなブログへすべて移した。しかしダイアリーに書いたはてな記法をそのままはてなブログへ移すと、表示結果にいろいろ問題があったので手直しをした。これが大変だった。詳しくは「22年分のはてなダイアリーをはてなブログにインポートした」にまとめた。

最近は1か月に1~2本くらいしかブログの記事を書いていない。Twitter@yimamura)は基本的に毎日なにか1つはツイートするようにしているが、ブログとなると書く時間と推敲の時間がそれなりにかかる。ブログに書きたいことが出てきても、時間だけでなく気持ちにも余裕がないとなかなか書けない。それに1つの記事を書き上げるのにかかる時間が以前より長くなっているような気もする。

そういえばわりと最近までは、1つのツイートにどうしてもまとめられない内容をブログにささっと書いたりしていた。連続ツイートはちょっとかっこ悪い、言いたいことは140字にまとめるのがよいと考えていた。しかし今のTwitterは複数のツイートをまとめて投稿できるなど、連続ツイートが簡単になっている。なのでそういう抵抗感はずいぶんなくなった。それにTwitterの拡散力はブログよりずっと大きいですからね。「みんなに読んでもらいたい」の気持ちが強かったら、「ブログを書きました」とタイトルやURLをツイートするのではなく、ブログの内容を140字ごとに区切ってそのままTwitterに転載するのが効果的な時代である。

ブログを続けているのは何度も書いているように、自分の文章をあとで読み返すのが楽しいからだ。それはツイートも同じなんだけれど、ある程度の長文は書き上げる手間が大きいからこそ、読み返す楽しみも大きくなる。今後も無理のないペースでブログを書き続けていきたい。

ウェブ日記×周年」みたいなタイトルの過去記事

最初は「はてなダイアリーに書き始めて×年」というのが多く、はてなダイアリー以前の日記をダイアリーに統合したあとは「ネット日記を始めて×年」が多い。次は2027年の「ネット日記で30周年」かな。

ちょっと覚えてまた忘れるBlenderのリンク集

仕事で「これはIllustratorだけではらちが明かないな」ということがあり、久しぶりにBlenderを使ってみた。仕事で作図するのは基本的にはフラットなものだが、たまにそういうことがある。

前回はこれ。この程度の形でも、3Dソフトを使えるとわずかにパースをつけたり断面の楕円を正確に描いたりできてよい。

今回はもうちょっと複雑な形状を作った。同じものを別の場所に複数配置するので、あとからまとめて形状を編集できる「リンク複製」機能が便利だった。

Blenderは少し触ったら、次に必要になるまで年単位でお休みするのが続いている。ここ数回の触るきっかけは仕事であり、仕事だと目的が明確なので上達が早い。でも完成したらいったん用済みになり忘れてしまう。まさに3歩進んで2歩下がるスキルである。とはいえそれも何度もくり返しているとさすがに定着する知識はあって、今回はわりとスムーズにできたと感じた。

仕事の作図はこれでできた。そのあと、せっかくなので以前からやってみたいと思っていたアニメーションを試してみた。サルの頭はBlenderのマスコットでスザンヌという。モーションブラーをかけるとオブジェクトがぶれている絵が出てくる。オブジェクトやカメラを高速で動かしたとき、スムーズに見えるようになる。

オブジェクトから離れた場所を軸にして回転させたいときは原点を移動すること、1回の動作指定で2回転させたいときは「720度回転」などと指定すればよいことなどを学んだ。

もう一つ、被写界深度がついたアニメーションも作った。焦点の奥からやってきてピントが合い、またぼやけていく表現を試してみたかった。

Blenderは使い方を解説したページが無数にあってありがたい。あれをやりたい→検索、これをやりたい→検索とやってとてもお世話になった。今回のいろいろをするのに特に参考になったページ、これから役に立ちそうなページをブックマーク代わりに一覧にした。体系的に学びたい人は最初の「CG制作演習資料」がいいでしょう。

床井浩平准教授のblenderマニュアル

Freestyleで線画出力

オブジェクト追加時のパネルを再表示

複数オブジェクトをまとめて移動などするときの原点について

拡大表示時に画面がゆがみにくくなる方法

ズーム表示させるときマウス位置でズームする

パンするときの回転軸を変更する

マテリアルに色をつける

拡大時に一気に大きくなりすぎるのを解消する方法

重複している頂点を整理

リンク複製とは

メジャーの寸法線を消せないなー

マニピュレータ=ギズモ

いつの間にか初期状態では非表示になっていた。名前も「マニピュレータ」から「オブジェクトギズモ」に変更されていた。

レンダリング結果をウィンドウ内に表示