小惑星探査機「はやぶさ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で線画出力

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

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

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

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

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

マテリアルに色をつける

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

重複している頂点を整理

リンク複製とは

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

マニピュレータ=ギズモ

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

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

「8色写真」を作るバッチファイルと作例

これいいなあ。640×200ピクセル(ドットは縦長)なら当時の8ビットマイコンのスペックにさらに近くなるが、雰囲気はこれでも十分だ。

記事の末尾に、こういう写真をImageMagickというソフトウェアで作る方法が説明されている。さっそくImagemagickをインストールし、提供されているパレットを「palette.png」として保存して作ってみた。

Imagemagickのインストール方法は日本語でもあちこちで解説されている。Chocolateyからもインストールできるそうなので今回はそちらを使った。

これは楽しい。しかしコマンドラインからファイル名をいちいち指定するのは面倒だ。バッチファイルを作った。

for %%F in (%*) do magick convert -resize 320x240 +sigmoidal-contrast 8,50%% -modulate 100,200,100 -ordered-dither 4x4,8,8,8 +dither -map palette.png -sample 200%% "%%~dpnxF" "%%~dpnF_8.png"

(バッチファイルで「%」を含む引数ひきすうを使いたい場合、「%%」と書くのがポイントみたい)

この内容を「メモ帳」などのテキストエディタに入力し、たとえば「8bit.bat」というファイル名で保存。画像ファイルを「8bit.bat」へドラッグ&ドロップすると、8色化した写真が「元のファイル名_8.png」というファイル名で同じフォルダに保存される。複数の写真をまとめて処理させることもできる。バッチファイルのショートカットを「送る」フォルダへ入れると便利ですね。

(2022年7月17日追記:初出時はバッチファイルと画像ファイルが同じフォルダ内にある必要があった。画像ファイルがどこにあってもそのフォルダ内に8色化した写真が保存されるように修正した)

Imagemagickをインストールするのが面倒、またはインストールできない方向けにWebサービスが公開されていた。すごい。これならパソコンがない人でもスマートフォンから8色写真を作れる。

便利なノウハウはここまでで、以下は楽しく作った8色写真をたくさん見てください。楽しいからみんな作ってハッシュタグ#8色写真」に投稿してほしい。

ノージャンル

▲この写真が出てくる記事:代官山蔦屋書店のランボルギーニ


見学もの

▲この写真が出てくる記事:ツインリンクもてぎ

▲この写真が出てくる記事:地下から生還

そういえば上の写真は以前、DPZの「かっこいい機械」に採用されたのだった。

▲この写真が出てくる記事:機体移動の日

▲この写真が出てくる記事:京浜工業地帯の工場萌えクルーズ

▲▼この写真が出てくる記事:鹿島の工場をしげしげと見る

▲この写真が出てくる記事:東京ジオサイトプロジェクト3/巨大建築愛好会/写真日記:写真日記巨大建築

▲この写真が出てくる記事:川崎工場夜景クルーズ - ただいま村

くり返しもの

▲この写真が出てくるページ:#グルスキー風写真 を撮ろう! - Togetter


ぼんやりもの

▲この写真が出てくる記事:とろけるような映像で眠りを誘う「メッセージ」


新型コロナウイルスワクチンによる重症化予防効果がわかるグラフ

このところ、新型コロナウイルスの新規感染確認者数が増えている。これはいよいよ第7波かもしれない。新しい変異株が入ってくるまで少しずつ減っていくかと思っていたら、BA.5というオミクロン株の亜系統が感染を広げ始めた。

感染者数が増えているわりに、重症者数があまり増えていないような気がした。重症者数の増加は感染者数の増加より遅れて出るから、これから増えるのだろうか。以前の重症者数はどのくらいだったっけ。グラフを作ってみたら驚いた。

黄土色の線が新規感染確認者数の7日間平均、青い線が重症者数である。期間は去年の3月11日から。この日はアルファ株の第4波の始まりごろで、7日間平均の前週比が1倍を超えている。夏にはデルタ株の第5波が来て、年明けにはオミクロン株の第6波があった。

去年の春、第4波の途中ごろから新型コロナウイルスワクチンの接種が始まっている。5か月後の9月13日には国民の半分が2回接種を終えたと発表された。このころは新規感染確認者数がすごい勢いで減っていったのが記憶に残っている。

グラフを見ると、第5波では新規感染確認者数5,000人に対して重症者のピークが250人から300人。一方今年の初めからの第6波では新規感染確認者数が20,000人を超える日もあったのに重症者数はずっと少なくピークは100人以下だった。これは新規感染確認者数のピークが1,000人ほどだった第4波と同じ程度だ。感染者の数に対して、重症者がものすごく減っている。第5波までと第6波でこんなに違うんだ。

オミクロン株はデルタ株より重症化しづらいという話があった。忽那賢志医師による2月6日付の記事にこうあった。

オミクロン株は、従来の新型コロナウイルスよりも重症化しにくいという報告が増えています。

(中略)

一方で、ワクチン接種による感染予防効果はオミクロン株に対しては大きく落ちるため、世界中で多くのワクチン接種者がオミクロン株には感染しています。
しかし、ワクチン接種による重症化予防効果は保たれていることから、ワクチン接種者は感染しても重症化することが少なくなっています。
このため、見かけ上オミクロン株の重症度が低くなっているという側面もあると考えられています。

ワクチン未接種者ではデルタ株と比較してオミクロン株の入院リスクは約25%低くなる程度にすぎない、と南アフリカイギリスからそれぞれ報告されており、これは最初に武漢市で見つかったオリジナルの新型コロナウイルスやアルファ株と同程度の病原性と考えられます。
つまりワクチン未接種者にとっては未だ大きな脅威と言えます。

新型コロナ オミクロン株の症状、経過、重症化のリスクは?のどの痛みが多い、重症化が早いなどの特徴が(忽那賢志) - 個人 - Yahoo!ニュース

ワクチンを打てば重症化しづらく、打たなければ重症化率はデルタ株以前の新型コロナウイルスと同程度だそうだ。やっぱりワクチンが大事なんだな。

上のグラフに死亡者数も重ねてみたらどうだろうか。日ごとに報告される死亡者は死亡日が何か月も前だったりするので、その日の報告数の変化を死亡者数の傾向と読み取ることはできない。死亡日ベースの統計が下にあった。

これを見ると、オミクロン株の第6波ではデルタ株の第5波に比べて死亡者数が増えている。とはいえ感染者数が4倍になっても死亡者数のピークは1.2倍くらいにおさまっている。死亡者数は重症者数ほど大きく減ってはおらずむしろ増えているが、ワクチン接種の結果死亡者数の増加が抑えられたといえるのではないだろうか。

いずれにしてもワクチンの効果は劇的なものがある。「去年の夏は新規感染確認者数5,000人で大騒ぎだったのに今は1万人近くても世間は落ち着いてしまっている」という感想を見ることがある。これはワクチン接種で状況がすっかり変わったからともいえる。重症者が減って医療機関がパンクしなくなれば医療崩壊の心配も減るだろう。

ところで新型コロナウイルスにはやっかいな後遺症があるから、かかっても重症化しなければ、あるいは死ななければ大丈夫ということはない。後遺症の強さや長さは、感染したときの症状の重さとは関係ないという。

ブレインフォグは頭の回転が悪くなる症状で、これは鬱病に似ている。ひどいとポスターに書かれた文字を理解できなくなったりする。ほかに「だるい」という言葉ではおさまらない倦怠感は、箸より軽いものすら持てなくなったりもする。原因は不明、いつまで続くかも不明。上咽頭擦過療法は8割ほどに効くそうだが効かない人もいる。

こういうことにならないようにするには感染しない以外の方法はない。結局3密の回避、手洗い、マスクという基本に立ち戻ってくる。第7波も気をつけながら乗り切りましょう。

過去の記事

新型コロナウイルス関連の記事は「COVID-19」のカテゴリで書いています。

関連リンク

毎日の新規感染確認者数をもとにしたグラフのツイート

画像だけを見るなら:id:Imamuraのはてなフォトライフにある「covid-19」フォルダ(CC-BYにしてありますのでルール内でどうぞご利用ください)

追記

ブクマコメから。

新型コロナウイルスワクチンによる重症化予防効果がわかるグラフ - ただいま村

重症者や死亡者のワクチン摂取有無が気になっているんだけど全然見つからない

2022/07/10 19:07

そうそう、その話も書こうと思って忘れてた。感染者のワクチン接種率はたとえば以下で確認できる。

ここの「資料2-5 全国の新規陽性者数等及び高齢者のワクチン接種率等」の2ページめに、「ワクチン接種歴別の新規陽性者数(6/13-6/19)」がある。

しかし重症化した人や亡くなった人のワクチン接種歴は見つけることができなかった。それがわかればこの記事の裏付けになるんだけど。

小惑星探査機「はやぶさ2」の記者説明会(プロジェクト体制変更)

小惑星探査機「はやぶさ2」プロジェクトでは、持ち帰ったサンプルの分析やキュレーション作業が進む中、拡張ミッションに向けて体制が変わりますので、今後について等のご説明の機会を設けます。


登壇者

(Image Credit:JAXA

JAXA 宇宙科学研究所はやぶさ2プロジェクトチーム

  • プロジェクトマネージャ 津田雄一(つだ・ゆういち)(JAXA 宇宙科学研究所 宇宙飛翔工学研究系 教授)
  • ミッションマネージャ 吉川真(よしかわ・まこと)(JAXA 宇宙科学研究所 宇宙機応用工学研究系 准教授)
  • プロジェクトサイエンティスト 渡邉誠一郎(わたなべ・せいいちろう)(名古屋大学大学院 環境学研究科 地球環境科学専攻 教授)
  • 航法誘導制御担当 三桝裕也 (みます・ゆうや)(JAXA 宇宙科学研究所 主任研究開発員)
  • 統合サイエンスチームメンバー 臼井寛裕(うすい・ともひろ)(JAXA 宇宙科学研究所 太陽系科学研究系 教授/JAXA 宇宙科学研究所地球外物質研究グループ グループ長)

(左から三桝氏、吉川氏、津田氏、渡邉氏。臼井氏はリモートで参加)

中継録画

【録画】小惑星探査機「はやぶさ2」の記者説明会 - YouTube

本日の内容


1.はやぶさ2プロジェクトの成果

(津田氏より)

続きを読む