高橋かずひとのプログラミング、その他、備忘録。

日々調べてたことや、作ってみたものをメモしているブログ。 お決まりの断り文句ですが、このブログに書かれている内容は個人の見解であり、所属する組織の公式見解ではありません。チラ裏。

Segment Anything Model(SAM)をONNXに変換して推論🦔

本当はもっと早くやりたかったシリーズ👀
SAMが登場してから、もう1年たってるんですよね。。。

SAMは凄い良いモデルなのですが、、、
公式リポジトリのONNXエクスポートとONNX推論周りのサポートはちょっとイマイチだと思っています。

どれくらいイマイチかと言うと、
デコーダーのみONNX出力するスクリプトがあって、エンコーダーはPyTorchのまま
・ONNX推論サンプルは、デコーダーの推論のみONNXで、前処理、エンコーダー、後処理がPyTorchの処理に依存している
いや、これONNXのメリットいかせないやん。みたいな👻

と言うわけで、ちょっと制限はあるのですが、
エンコーダーもONNXエクスポートして、推論するサンプルを作成しました。

ぼちぼち動いている気はする🤔

 

関連するノートブックとスクリプトは以下のリポジトリにコミットしています。
ただ、SamAutomaticMaskGenerator()までONNXに書き直すパワーがなかったので、後回しに、、、👀

github.com

 

 

YOLO-World-v2 の Gradioデモを Colaboratory上でお試し🦔

YOLO-World試そう試そうとは思ってたのですが、仕事がバタバタしてて、

今更触りました👀

気が付いたらv2になっていたわけですが、v1との違いは良く分からないなー🤔

以下の動画の最後のほうの「hand」は頑張っているとは思いますが。

 

ColaboratoryでGradioのデモを動かすのに若干手間取ったので、動いた版を以下にコミットしています👻

github.com

CLIP STUDIO PAINT(.clip)や Photoshop(.psd)のレイヤー画像の簡易ビューア📄

以下のツールをGUIでくるんだ簡易ビューアです👀


今回はGUIフレームワークにFletを使用しています。

ちょっと前?に話題になって、触ろう触ろうと思ってたのですが、今回初めて触りました。
設計思想とかデザインとか結構好みな感じです👻

 

ソースコードは以下にコミットしています。

github.com

クリスタのclipファイルから、レイヤー名や画像を取得するツール(非公式)🦔

表題の通りです。
完全に趣味の産物ですが、いったん、それなりに動くところまで来たのでGitHubに公開しました🦔

github.com

 

昨日ザッと書き上げた時は、ブロックデータを画像に直す処理が結構遅かったのですが、本日何とか許容範囲(個人の感想です)になりました。

高速化の一部分はChatGPTに相談しながらやりました。結構助けてくれますね👀

昨日:10~15秒かかってた処理をChatGPTに書き直してもらい、5、6秒くらいに改善
本日①:一晩寝て起きたら、そもそも根本的に改善できる気がしたので、ChatGPTが書いた処理を廃棄して、自分で書き直し10秒から1秒程度に改善
本日②:もう少し改善できる箇所は無いかChatGPTに聞いて、アドバイスを元に修正し、1秒から300ms程度に改善

みたいな流れでした👻

ChatGPTは、(まだ)根本的に改善するようなアドバイスは出来ないようでした。
それでも、要所要所で上手く質問すれば、見落としていた観点とか教えてくれて、助かりました。

 

ちなみに、まだ改善点は残っているのですが、そこまで高速化しなくても僕が使う分には問題無いので、いったん放置しています。

 

今分かっている範囲で残ってる高速化の改善点↓

・External Dataに格納されている画像は、以下のような特徴のブロックデータになっているため、各ブロックの処理をパラレルにして高速化することが出来る想定
 - 画像データは、アルファ画像ブロック65536バイト(256x256x1チャンネル)、画像ブロック262144バイト(256x256x4チャンネル)が交互に並んでいる
 - 各画像ブロックはパディングを詰めて256x256の固定長サイズになっている

 

以上

【Python】パワポのオートシェイプでQRコードを作るスクリプト

年始のLT資料に入れたQRコードです。

QRコード作成用のPythonスクリプトが、HDDのこやしになっていたので、供養もかねてZenn書きました🦔

 

zenn.dev

heron-blip-v1 を Colab で試してから2週間たっている、、、ですって、、、👀

仕事バタバタしてて、あっという間に2週間たってた、、、😇

v0に比べて性能が結構上がっている感あったのですが、、、

比較結果どっかなくしてしまった。。。

 

上記はColabで試したのですが、ちょっと動かすだけならデモサイトが手軽です👀

heron-demo.turing-motors.com

【NGK2024S】 それ、パワポですか?

NGK2024S(名古屋合同懇親会 2024新年会)で発表してきました🦔
えーっと、何年ぶりだっけ?オフライン開催でした。

LT大会はオフラインでやると非常に楽しいです。
また、来れない方のために、コロナ禍で培った配信技術を生かしてハイブリッド開催となりました。

今年も多種多様な発表があって、楽しかったです。

私はパワポのアニメーション的な話をしてきました。
最近はLTではパワポを使うことが多くて、ちょいちょいアニメーションを入れているのですが、たまに「それ、パワポですか?」と質問されることがあったので、それらを紹介した感じです。

www.youtube.com