タグ

ブックマーク / memo.sugyan.com (27)

  • Stable Diffusionでmorphing - すぎゃーんメモ

    #stablediffusion 完全に理解した pic.twitter.com/IR5yjnL07Y— すぎゃーん💯 (@sugyan) August 31, 2022 ということで少し触って遊んでみたのでメモ。 Stable Diffusion をザックリ理解 先月公開された Stable Diffusion。 stability.ai 高精度で美しい画像を出力できる高性能なモデルながら、Google Colab などでも手軽に動かせるし、 Apple silicon でもそれなりに動かせる、というのが魅力だ。 中身については 以下の記事の "How does Stable Diffusion work?" 以降のところが分かりやすい。 huggingface.co 図をそのまま引用させていただくと という仕組みになっていて、受け取る入力は "User Prompt" と "Late

    Stable Diffusionでmorphing - すぎゃーんメモ
    stealthinu
    stealthinu 2022/09/08
    embeddingされるベクトルを保管することで中間を出す。真ん中あたりの刻みを細かくしないと急激に変化しちゃうとか面白い知見。
  • 斜めに写った画像をCanvasで矩形に補正する - すぎゃーんメモ

    将棋駒画像分類の話の続きのような、あんまり関係もないような。 memo.sugyan.com memo.sugyan.com 結局、素材を組み合わせて自動で生成しただけの駒画像ではやはりデータが足りていないようで、「やはりもっと様々な画像から人力でラベル付けしてデータセットを作っていく必要がありそう」ということになった。 とはいえ、インターネットから画像を拾ってこようと思うと、例えば以下のような感じで (引用元: フリー写真素材ぱくたそ) 多少ならともかく 斜めの角度から写っているものは、そのまま矩形に切り出して学習用画像データに利用するのは難しそう。 これらはうまいこと変形して使いたい。 いわゆるperspective projectionの逆変換のような操作が必要になる。 JavaScriptを使ったCanvas APIでの変換では簡単な拡大・縮小などの変換は可能だけど こういったpe

    斜めに写った画像をCanvasで矩形に補正する - すぎゃーんメモ
    stealthinu
    stealthinu 2018/09/04
    変形済み画像みると飛車とか銀とか駒がなくなったのを他の駒で補ったので撮ったんだなってのに気づくね。
  • TensorFlowによるDeep Learningでのアイドル顔識別モデルの性能評価と実験 その2 - すぎゃーんメモ

    以前に試した、アイドル顔識別の性能評価。 memo.sugyan.com それから半年以上も経ってデータ数も増えたし ちょっと確かめたいこともあったので、再び試してみた。 新データセット 前回は 40人×180件 で 計7,200件 を用意したけど、今回はもう少し多めにデータが集まっていたので(卒業などでもうアイドルではなくなってしまった子も居るけど…)、今回は 120人×200件 で 計24,000件 を抽出してデータセットを作成した。 実際にラベル付けしたデータから抽出してみると、元が同じ画像なのに加工や顔検出器のブレなどで別の顔画像として登録されてしまっているもの、明らかに同じ日・同じ場所で連写していて「ほぼ同じ顔画像」と思われるもの などの重複が結構あることに気付いて、頑張って出来る限り排除した。 前回もある程度は人力でチェックしていたけど、今回は学習済みモデルにわせた中間層出力

    TensorFlowによるDeep Learningでのアイドル顔識別モデルの性能評価と実験 その2 - すぎゃーんメモ
    stealthinu
    stealthinu 2017/02/22
    『120人×200件 で 計24,000件 を抽出してデータセットを作成』すげえ…!これを手でラベリングすること考えただけでもう。揺らしてもあまり精度あがらなかっと。これでも自分自身が学習してこの精度出せると思えないよ…
  • TensorFlow 0.12 のEmbedding Visualizationを動かす - すぎゃーんメモ

    === 追記 2017.06 === 書いてから時間が経ち 情報が古くなってしまっていましたが、最近の変更に合わせた補足を含む記事を書いていただきました。ありがとうございます! fuchami.hatenadiary.jp === 追記ここまで === おぉぉ、TensorFlow 0.12のEmbedding Visualisationでアイドル顔識別の中間層出力を可視化できた(30人x30点ずつ)。PCAだとゴチャゴチャしてるけどT-SNEだとはっきり分かれる、とか選択したものと距離が近いもの数点に絞って可視化、とかも出来る pic.twitter.com/8aGiGDowPa— すぎゃーん💯 (@sugyan) December 4, 2016 3Dでグリグリ動かせるし面白い pic.twitter.com/dXf05ikSXx— すぎゃーん💯 (@sugyan) Decembe

    TensorFlow 0.12 のEmbedding Visualizationを動かす - すぎゃーんメモ
    stealthinu
    stealthinu 2016/12/05
    学習済み中間層出力の可視化。MNISTのデモだとふーんって感じだったんだけどアイドル顔画像だと一気に面白みが増す感じ。他への応用とか。
  • アイドル顔識別のLINE BOTを作りました - すぎゃーんメモ

    記事要約 機械学習によるアイドル顔識別のLINE BOTを作りました。アイドル分かる人は是非 友だち追加して アイドル画像を送りつけて遊んだりしてみてください。 むしろ識別対象のアイドルさん御人にも使ってもらえたら最高 BOT概要 TensorFlowによるアイドル顔識別器の話 - 2016.9.28 TensorFlow勉強会 - Qiita にまとめている、自作のアイドル顔識別器の 「入力した画像に対し、写っているのが『どのアイドル(人物)か』を機械学習により自動判定する」 という機能を実際に試すためのインタフェース。 トーク(1:1、Room, Group、いずれでも可)で画像を投稿されると、その画像に写っている人物の顔を識別してCarouselメッセージで結果を返す。 11月末現在の時点で、識別対象のアイドルは851人となっています。 顔識別API 元々 実際に学習結果を試すため

    アイドル顔識別のLINE BOTを作りました - すぎゃーんメモ
    stealthinu
    stealthinu 2016/11/28
    すぎゃーんさんのアイドル顔画像認識LINE BOT。画像送ると誰かを識別してくれる。認識だけなのでHerokuでも動くとのこと。
  • TensorFlowによるDCGANでアイドルの顔画像生成 その後の実験など - すぎゃーんメモ

    memo.sugyan.com の続編。 あれから色々な変更しつつ実験してみたりしたのでその記録。 結論を先に書くと、これくらい改善した。 DCGAN ざっくりおさらい Generator: 乱数の入力から画像を生成する Discriminator: 入力した画像がGeneratorが生成したものか学習データのものかを判別する という2種類のネットワークを用意し、お互いを騙す・見破るように学習を行うことで Generatorが学習データそっくりの画像を生成できるようになる、というもの 学習用画像の増加 前回の記事では90人の顔画像データから生成していたけど、あれから収集を続けて もう少し多く集まったので、今回は260人から集めた顔画像100点ずつ、計26,000件を学習に使用した。 Feature matching openai.com の記事で紹介されている "Improved Tech

    TensorFlowによるDCGANでアイドルの顔画像生成 その後の実験など - すぎゃーんメモ
    stealthinu
    stealthinu 2016/10/12
    DCGANの元になるパラメータを完全ランダムではなく良い出力をするものを中心にするよう寄らせることで実用的な画像生成させた。あと最終層の一層前を特徴抽出したものとして加えた。すごく良くなってる!
  • EC2のGPU instanceで Ubuntu 16.04 + TensorFlow 0.9.0 の環境をつくる - すぎゃーんメモ

    memo.sugyan.com の続き(?)。 この記事を書いたところ、「Ubuntu 16.04でもこうすれば簡単にCUDAインストールできるよ」とアドバイスをいただきました。ありがとうございます。 qiita.com というわけで これを使ってやってみた。 g2.2xlargeで、Ubuntu 16.04 LTS (Xenial Xerus)のAMIを使ってインスタンスを立ち上げ、上記記事の通りに操作するだけでCUDA 7.5, cuDNN 4がインストールされる。 あとは(自分はPython3.5を使うので) $ sudo yum install python3-pip $ sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp35-cp35

    EC2のGPU instanceで Ubuntu 16.04 + TensorFlow 0.9.0 の環境をつくる - すぎゃーんメモ
    stealthinu
    stealthinu 2016/07/06
    おおおほんとだ。EC2のGPUインスタンスにTensorFlow導入簡単になってる。これで手軽にテスト出来るな。ありがたいお。
  • TensorFlowによるDeep Learningでのアイドル顔識別モデルの性能評価と実験 - すぎゃーんメモ

    以前から書いているDeep Learningによるアイドル顔識別の話の続き。 コツコツと顔画像収集とラベル付けを続けて、そこそこにデータが集まってきたので ここらでちゃんと性能評価をしてみよう、と。 データセットの作成 今回は、現時点で重複なく180件以上の顔画像が集まっている40人のアイドルを分類対象とした。 対象アイドル一覧 これらのアイドルに分類のラベルindexを振り(推してる順とかじゃなくてランダムにね)、それぞれから無作為に抽出した180件の顔画像をそれぞれラベルとセットでレコードを作り、シャッフルして30件ずつ6つのデータセットに分けて保存。 data-00.tfrecords data-01.tfrecords data-02.tfrecords data-03.tfrecords data-04.tfrecords data-05.tfrecords レコードは、以前の記

    TensorFlowによるDeep Learningでのアイドル顔識別モデルの性能評価と実験 - すぎゃーんメモ
    stealthinu
    stealthinu 2016/06/15
    すぎゃーんさんのアイドル顔認識でネットワークサイズや画素数変更した場合の認識率変化のまとめ。
  • TensorFlowによるDCGANでアイドルの顔画像生成 - すぎゃーんメモ

    アイドル顔識別のためのデータ収集 をコツコツ続けて それなりに集まってきたし、これを使って別のことも…ということでDCGANを使ったDeep Learningによるアイドルの顔画像の「生成」をやってみた。 まだだいぶ歪んでいたりで あまりキレイじゃないけど…。顔画像を多く収集できているアイドル90人の顔画像からそれぞれ120件を抽出した合計10800件をもとに学習させて生成させたもの。 分類タスクとは逆方向の変換、複数のモデル定義などがあってなかなか理解が難しい部分もあったけど、作ってみるとそこまで難しくはなく、出来上がっていく過程を見るのが楽しいし とても面白い。 DCGANとは "Deep Convolutional Generative Adversarial Networks"、略してDCGAN。こちらの論文で有名になった、のかな? [1511.06434] Unsupervise

    TensorFlowによるDCGANでアイドルの顔画像生成 - すぎゃーんメモ
    stealthinu
    stealthinu 2016/05/16
    TensorFlow使ってDCGANで顔生成。すぎゃーんさんのももクロ顔認識の発展版。
  • TensorFlowでのDeep Learningによるアイドルの顔識別 のためのデータ作成 - すぎゃーんメモ

    続・TensorFlowでのDeep Learningによるアイドルの顔識別 - すぎゃーんメモ の続き、というかなんというか。 前回までは「ももいろクローバーZのメンバー5人の顔を識別する」というお題でやっていたけど、対象をより広範囲に拡大してみる。 様々なアイドル、応援アプリによる自撮り投稿 あまり知られていないかもしれないけど、世の中にはものすごい数のアイドルが存在しており、毎日どこかで誰かがステージに立ち 歌って踊って頑張っている。まだまだ知名度は低くても、年間何百という頻度でライブを中心に活動している、所謂「ライブアイドル」。俗に「地下アイドル」と言ったりする。 ライブアイドル - Wikipedia そういったアイドルさんたち 活動方針も様々だけど、大抵の子たちはブログやTwitterを中心としてWebメディアも活用して積極的に情報や近況を発信していたりする。 そんな中、近年登

    TensorFlowでのDeep Learningによるアイドルの顔識別 のためのデータ作成 - すぎゃーんメモ
    stealthinu
    stealthinu 2016/03/28
    Deep Learningの話からその前の教師データをどうするかの話に徐々に主題が移っていってるのが興味深い。
  • 続・TensorFlowでのDeep Learningによるアイドルの顔識別 - すぎゃーんメモ

    TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ の続き。 前回は最も簡単に画像分類を試すために TensorFlow に同梱されているtensorflow.models.image.cifar10パッケージのモデルや学習機構を利用して約75%の識別正答率の分類器を作ったが、それよりも良い結果を出したいし色々ためしてみたい、ということで今回は色々と自前で実装したり改良を加えてみた。 結論だけ先に書くと、約90%の正答率のものを作ることができた。分類数も変えてしまっているので一概には前回のものと比較できないけど。 入力画像の変更 まずは入力の画像について。 前回はCIFAR-10のデータセットに合わせて、検出して切り出した顔画像を32x32サイズに縮小したものを利用していた。 32x32 → inside 96x96 of 112x112 流石に32

    続・TensorFlowでのDeep Learningによるアイドルの顔識別 - すぎゃーんメモ
    stealthinu
    stealthinu 2016/02/02
    TensorFlowでももクロ自動認識の続編。75%→90%までいったとのこと。画像切り出し面積9倍にし分類をももクロメンバーのみに学習画像のランダム加工化など行ったと。モノクロ化とノイズは歪ませるとかのほうが効果ありそう
  • TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ

    以前は MNISTの例を使って画像識別を試してみた けど、次はカラー画像についての識別を試してみる。 「アイドルなんてみんな同じ顔に見える」って 最近も言われてるのかどうか知らないけど、自分もつい5年前くらいまではそう思っていたわけで。その識別を機械学習でやってみよう という試み。 最近はほとんどライブに行かなくなってしまったけど大好きなももいろクローバーZちゃんを題材にしてみることに。 5人のメンバーの顔は機械学習によってどれくらい分類できるようになるのか?? CIFAR-10 CIFAR-10 という、32×32サイズのカラー画像を10種類のクラスに分類する識別課題があり、そのデータセットが公開されている。これを実際にTensorFlowで学習するための畳み込みニューラルネットワークのモデルや関数などがtensorflow.models.image.cifar10パッケージに同梱されて

    TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ
    stealthinu
    stealthinu 2016/01/12
    32x32では小さいのではないか。事前にエッジ抽出したものを入力に使うとかすればそのくらいでもいけるのでは。あと24x24領域をランダム抽出するのは位置揺れでの学習を汎化する意味もあるのでは。
  • 自動mention系Twitter botを復活させる - すぎゃーんメモ

    以前にいくつかTwitter botを作っていて。 げんきだしてbot - すぎゃーんメモ (@genkidashitebot) GAEでTwitter botを作った - すぎゃーんメモ (@zenra_bot) どちらも「フォロワーの発言から特定の語が含まれているTweetを拾って、replyする」という機能を持つもの。 これを実現するために、フォローされたら自動でフォロー返しをして、GET statuses/home_timelineを定期的に叩いたり、 User streams でフォロワーの発言を収集していた。 しかし数ヶ月前に@genkidashitebotがAPI Key Restrictionをらってしまい、ちょっと調べてみたところfollow/unfollowの自動化は禁止事項となっているらしい(知らなかった)。 Automation rules and best pr

    自動mention系Twitter botを復活させる - すぎゃーんメモ
    stealthinu
    stealthinu 2015/11/18
    twitter APIの制限内でいかに多くのフォロワーのTLを取得できるかという方法。
  • 高機能ライブラリ「jQuery」とそのPlugin「Validation」 - すぎゃーんメモ

    非常に高機能で便利なJavaScriptライブラリとして評判の「jQuery」をちょっと触ってみた。 jQuery Pluginが豊富に存在する、というのも人気の理由のようで。 formの入力チェックをしてくれる「Validation Plugin」というものを使って試してみた。 bassistance.de » jQuery plugin: Validation 忘れてしまわないうちにメモっておこう。 最も簡単なサンプル それぞれ上記リンクからダウンロードして、「js」というディレクトリに放り込んでおいた。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>title</title> <script type="te

    stealthinu
    stealthinu 2014/02/13
    jquery validationの使い方。
  • defcustomで定義された変数はcustom-set-variablesで変更すべき? - すぎゃーんメモ

    このへんがよく分かっていない。 anything-command-map-prefix-keyを設定しようとして、起動時の設定ファイルで (require 'anything-config) (setq anything-command-map-prefix-key "C-z") のように設定しても、この変数は確かに設定されるのだけど、実際に設定されているキーバインドは <f5> a anything-command-mapとなっていて、変更されていない。 このあたりの定義はanything-config.elで (defun anything-set-anything-command-map-prefix-key (var key) (declare (special anything-command-map-prefix-key)) (when (boundp 'anything-co

    defcustomで定義された変数はcustom-set-variablesで変更すべき? - すぎゃーんメモ
    stealthinu
    stealthinu 2013/03/22
    defcustomの件で調べてたらすぎゃーんさんも同じ事でハマっていたエントリーが。custom-set-variablesだと変更できるっぽい。試してみる。/試したらこれならいけた。php-file-patternsが変更出来ない問題。
  • CGI.pmに起因するHTMLの文字化け - すぎゃーんメモ

    CGIで掲示板を作ってみた。 http://www.sugyan.dynalias.com/~sugi/cgi-bin/cheapbbs.cgi どうも送信後にフォームの文字が化ける。おかしいなぁ。 ・・・と思ってググってみると、やっぱり情報があった!! CGI.pmtextfield(), popup_menu(), checkbox_group() などを使ったときに HTML が文字化けするときの対処方法 - 刺身☆ブーメランのはてなダイアリー これは、 CGI::escapeHTML() のエスケープ処理が原因 (textfield() などは内部で escapeHTML() を呼んでいるため、影響を受ける)。 いろいろなパターンを検証したわけではないが、 ソースコードの文字エンコーディングは UTF-8 出力する文字エンコーディングも UTF-8 のときに、文字化けがおこっ

    CGI.pmに起因するHTMLの文字化け - すぎゃーんメモ
    stealthinu
    stealthinu 2013/02/12
    CGI::escapeHTML()するときCGI::charset("utf-8")しとかないとoverkillしちゃって文字化けが起きたりするとのこと。
  • expressでapp全体の設定値をroutesで使う(module間で変数を受け渡す)方法いろいろ - すぎゃーんメモ

    Expressでテンプレートからプロジェクトを作ると、現在の最新版2.5.4では . ├── app.js ├── package.json ├── public │ ├── images │ ├── javascripts │ └── stylesheets │ └── style.css ├── routes │ └── index.js └── views ├── index.jade └── layout.jade 6 directories, 6 filesのようにファイルとディレクトリが作られる。app.jsが体で、 var express = require('express') , routes = require('./routes') var app = module.exports = express.createServer(); ... app.get('/',

    expressでapp全体の設定値をroutesで使う(module間で変数を受け渡す)方法いろいろ - すぎゃーんメモ
    stealthinu
    stealthinu 2012/01/30
    express使うときにアプリケーション全体の設定値などをどうやって持つかというパターン
  • Nodeのホスティングサービスと制限とか - すぎゃーんメモ

    node.js のホスティングサービスまとめ - 自分の感受性くらいで既にまとめられているけれど、自分が使ってみた幾つかのものをまとめてみる。 Joyent no.de https://no.de/ WebSocketは使えるはずなのだけど、いまSocket.IOアプリを手元のMacで試してみている限りではChrome 14.0.835.202とFirefox 7.0.1ではSocket.IOのwebsocket transportにチャレンジして失敗して結局xhr-pollingになってしまう。Safari 5.1.1では問題無くwebsocketで動く。 gitで管理してremoteリポジトリにpushすることでデプロイ。sshログインしての操作も可能。 細かい設定値などはnpm configを使うのが良さげ。 SmartMachinesは以前(8月頃)は3つ以上つくれなかったのだけど

    Nodeのホスティングサービスと制限とか - すぎゃーんメモ
    stealthinu
    stealthinu 2011/10/26
    nodeホスティングサービスまとめ
  • test-tcpモジュールを作ってみた - すぎゃーんメモ

    はじめてのnpm publish。 PerlでTest::TCPを愛用しているのですが、Node.jsでもこういうの欲しいと思っていて探してみたけどそれらしきものが見当たらなかったので作ってみました。 https://github.com/sugyan/node-test-tcp 「サーバのインスタンスとクライアントのコードを渡すと、空いているportでサーバを立ち上げてクライアントコードを実行してくれる」というもの。 こんなカンジで使うイメージです。 var assert = require('assert'); var net = require('net'); require('test-tcp').test_tcp({ server: net.createServer(function (socket) { socket.on('data', function (data) { s

    test-tcpモジュールを作ってみた - すぎゃーんメモ
    stealthinu
    stealthinu 2011/10/05
    PerlのTest::TCPのnode版。
  • Heroku+Node.js+Redis+MongoDB使って簡単リアルタイムアクセスカウンター作ってみた - すぎゃーんメモ

    いろいろ作ってみる練習として。 http://realtime-counter.herokuapp.com/ https://github.com/sugyan/node-realtime-counter <script type="text/javascript" src="http://realtime-counter.herokuapp.com/counter.js"></script> <script type="text/javascript"> new RealtimeCounter('4e78b7cb3bab067f7e6a1514').onIncrement(function (count) { ... }); </script> と、JavaScript読み込んで指定したIDを使ってJSを数行書いておくと、どこかで同じIDのものが読み込まれたタイミングで数字を更新できる、

    Heroku+Node.js+Redis+MongoDB使って簡単リアルタイムアクセスカウンター作ってみた - すぎゃーんメモ
    stealthinu
    stealthinu 2011/09/21
    herokuでnodeとredisとmongodbという一番熱い構成。真似して自分もなんか作ってみる。