タグ

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

  • 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 - すぎゃーんメモ
    bongkura
    bongkura 2022/09/08
  • StyleGAN2で属性を指定して顔画像を生成する - すぎゃーんメモ

    memo.sugyan.com の記事の続き(?)。 ある程度の学習データを収集して学習させたモデルが出来たので、それを使って実際に色々やってみる。 StyleGAN2-ADA 学習 mapping出力と生成画像 生成画像の属性推定結果から潜在空間の偏りを抽出 表情推定 顔姿勢推定 髪領域推定 (顔解析) 年齢 (上手くいかず) 複合 Repository StyleGAN2-ADA 前回の記事でも書いたけど、厳選した16,000枚の画像を使って StyleGAN2-ADA を使って生成モデルを学習させてみた。 github.com これは StyleGAN2 から進化したもので、より少ない枚数からでも安定して学習が成功するようになっていて、さらにparameter数など調整されて学習や推論もより早くなっている、とのこと。 それまでのStyleGANシリーズはTensorFlowで実装され

    StyleGAN2で属性を指定して顔画像を生成する - すぎゃーんメモ
    bongkura
    bongkura 2021/04/03
  • N番目の素数を求める - すぎゃーんメモ

    SNSなどで話題になっていたので調べてみたら勉強になったのでメモ。 環境 Pythonでの実装例 例1 例2 例3 エラトステネスの篩 Rustでの実装例 試し割り法 エラトステネスの篩 アトキンの篩 おまけ: GMP Benchmark 高速化のテクニック 上限個数を見積もる Wheel factorization オチ Repository References 環境 手元のMacBook Pro 13-inchの開発機で実験した。 2.8 GHz Intel Core i7 16 GB 2133 MHz LPDDR3 Pythonでの実装例 例1 最も単純に「2以上p未満のすべての数で割ってみて余りが0にならなかったら素数」とする、brute force 的なアプローチ。 import cProfile import io import pstats import sys def m

    N番目の素数を求める - すぎゃーんメモ
    bongkura
    bongkura 2021/02/06
  • TensorFlowで顔検出器を自作する - すぎゃーんメモ

    19日に行われた Kyoto.なんか #3 で発表・デモをさせていただいた内容まとめです。 はじめに: 検出器の重要性 アイドル顔識別 をずっとやっている中で、顔の識別・分類(Classification)はCNNを使って出来ているけれど まだ上手く出来ていない別のタスクがあって。 それが画像内からの顔領域の検出 (Detection, Localization)。 「画像内に写っている人物が誰であるか」を識別するためには、まずはその画像に写っている「顔」を検出する必要がある。 その検出された顔それぞれについて分類器にかけて「この顔は○○さん」「この顔は××さん」と分類していくことになるわけで。 分類器に与える入力画像を切り抜いて抽出するのにもまず顔領域を検出する必要があるし、その分類器を学習させるためのデータセットも、様々な画像から顔領域を検出して切り抜いてそれぞれに対してラベル付けする

    TensorFlowで顔検出器を自作する - すぎゃーんメモ
    bongkura
    bongkura 2017/08/21
  • アイドル顔識別のLINE BOTを作りました - すぎゃーんメモ

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

    アイドル顔識別のLINE BOTを作りました - すぎゃーんメモ
  • TensorFlowによるDCGANでアイドルの顔画像生成 その後の実験など - すぎゃーんメモ

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

    TensorFlowによるDCGANでアイドルの顔画像生成 その後の実験など - すぎゃーんメモ
  • TensorFlowで顔識別モデルに最適化した入力画像を生成する - すぎゃーんメモ

    動機 elix-tech.github.io の記事を読んで、「可視化」の項が面白いなーと思って。 引用されている図によると、人間の目にはまったく出力クラスとは関係なさそうに見える画像でもCNNによる分類器は騙されてしまう、ということのようだ。 なるほど分類モデルの方を固定しておいて入力を変数として最適化していけば任意の出力に最適な入力を得ることができるのか、と。 自分でもやってみることにした。 分類モデル TensorFlowによるDeep Learningでのアイドル顔識別モデルの性能評価と実験 - すぎゃーんメモ の記事で使ったモデルとデータセットで、ここではCross Validation用にデータを分けずに7,200件すべてを学習に使い20,000 step進めたものを用意した。 このモデルは学習したアイドルたちの顔画像に対してはかなりハッキリと分類できるようになっていて、試しに

    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でのアイドル顔識別モデルの性能評価と実験 - すぎゃーんメモ
  • TensorFlowによるDCGANでアイドルの顔画像生成 - すぎゃーんメモ

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

    TensorFlowによるDCGANでアイドルの顔画像生成 - すぎゃーんメモ
  • TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ

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

    TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ
    bongkura
    bongkura 2016/01/12
  • Heroku + OpenCVで簡易顔検出API - すぎゃーんメモ

    Docker Image of Python with OpenCV 3.0 for Heroku - すぎゃーんメモ の続き的なかんじで。 OpenCVでよく使われるObject Detection機能で、画像から顔を検出するAPIを作ってみた。 Heroku app https://face-detector.herokuapp.com/ Github repository https://github.com/sugyan/face-detector 顔検出 基礎 一番簡単なオブジェクト検出の手法が、Haar-like特徴に基づくカスケード型分類器(Haar Feature-based Cascade Classifiers)というのを用いるやつ。 OpenCV: Face Detection using Haar Cascades OpenCVには顔や目などに関して学習済みのデータ

    Heroku + OpenCVで簡易顔検出API - すぎゃーんメモ
  • AnyEvent::Twitter::StreamでDesktop Notify - すぎゃーんメモ

    Twitterクライアントアプリでよくある「デスクトップ通知機能」。Macの場合はGrowlでアイコンと発言が出たりしますよね。 先日TwitterのUser streams APIがついに一般公開されたそうで、それに伴ってCPANモジュール"AnyEvent::Twitter::Stream"もアップデートされました。 Tatsuhiko Miyagawa / AnyEvent-Twitter-Stream-0.20 - search.cpan.org せっかくなのでちょっと使ってみました。 参考:Twitterの新しいStreaming API「ChirpUserStreams」がすごすぎる件 - すぎゃーんメモ #!/usr/bin/perl use strict; use warnings; use AnyEvent::HTTP; use AnyEvent::Twitter::St

  • Cライブラリを使ってiPhoneからTwitter APIを叩いてみる - すぎゃーんメモ

    libcurliPhoneアプリからつかう方法 (ついでにopensslも) | tech.kayac.com - KAYAC engineers' blog を読んで、面白そうだなーと思い Cの世界でTwitter OAuthを叩くところまでやってみようと思った。調べたらOAuth用のCライブラリもあるようで。 liboauth download | SourceForge.net とりあえずシミュレータで動かせるかどうかやってみる 結局openssl+libcurlは必要なようなのでまずはそこから。 $ curl -O "http://www.openssl.org/source/openssl-1.0.0a.tar.gz" $ tar zxvf openssl-1.0.0a.tar.gz $ cd openssl-1.0.0a $ CC=/Developer/Platforms/i

    Cライブラリを使ってiPhoneからTwitter APIを叩いてみる - すぎゃーんメモ
  • Twitterのアイコンをぐるぐる回してみた - すぎゃーんメモ

    なんとなく。 #!/usr/local/bin/activeperl use strict; use warnings; use Imager; my $file = '/Users/sugyan/Pictures/icon.png'; my @img = (); my $image = Imager->new(file => $file); push @img, $image; for (1 .. 59) { push @img, $image->rotate(degrees => - 0.5 * $_ * $_)->crop(width => 48, height => 48); } Imager->write_multi({ file => 'hoge.gif', type => 'gif', gif_loop => 0, }, @img); Imagerの使い方さえ把握できれば結構

  • iOS4時代の非同期HTTP通信 - すぎゃーんメモ

    SDKで始めるiPad/iPhoneアプリ開発の勘所(4):iOS 4のSDKで、Twitterを使ったiPhoneアプリを作る (1/4) - @IT SDKで始めるiPad/iPhoneアプリ開発の勘所(4):iOS 4のSDKで、Twitterを使ったiPhoneアプリを作る (2/4) - @IT を読んだのだけど。 NSURLConnectionを使った非同期HTTP通信は、この記事のようにラッパークラスを書いて NSMutableDataを内部で保持 通信開始時に初期化、delegateメソッドdidReceiveDataを実装して細切れに渡されてくるNSDataを付け足してゆき、 通信終了時、最終的に得られた合計のNSDataはNotificationなどを使って呼び出し元に通知、その後NSMutableDataを破棄 といったことをする必要があり、何かとめんどくさい。 大抵

    iOS4時代の非同期HTTP通信 - すぎゃーんメモ
  • 全裸botの全貌 - すぎゃーんメモ

    全裸bot(@zenra_bot)について。 一応、完成ということにしたので、機能や工夫した点などをまとめておきます。 今後GAE/PyでTwitter botを作ろうとしている方々の参考になれば。 またご指摘やアドバイスをいただけると嬉しいですが、もうだいぶ情熱が失せてきているので反映する可能性は低いです。ごめんなさい。 ソースコード 常に最新版をGithubにあげてあります。 GitHub - sugyan/Zenra: 全裸にする follow/remove GAEでTwitter botを作った - すぎゃーんメモ ここで書いた、Datastoreとcronを使った自動follow返し&remove機能はずっと使い続けています。 ただ、自動フォロー返しするのに必ずこれをやる必要もなくて、この記事へのid:yuroyoroさんのブクマコメントにある通り、1回のリクエストの中でfoll

    全裸botの全貌 - すぎゃーんメモ
  • 全裸で形態素解析をするスクリプト - すぎゃーんメモ

    ゲレンデがとけるほどくだらないスクリプト - すぎゃーんメモに引き続き、くだらないスクリプトを。 今度は動詞の前に「全裸で」を挿入する。 #!/opt/local/bin/perl use strict; use warnings; use JSON 'decode_json'; use LWP::Simple 'get'; use Text::MeCab; use Readonly; Readonly::Scalar my $zenra => '全裸で'; # 引数に文章があればそれを対象に my $text = shift; if (defined $text) { print zenrize($text), "\n"; } # 引数指定が無い場合はWassrのPublic Timelineを使用する else { my $json = get 'http://api.wassr.jp

    全裸で形態素解析をするスクリプト - すぎゃーんメモ
  • Test::ContinuousでGrowlにtest完了通知させるようにしてみる - すぎゃーんメモ

    Catalyst::Testを使ってみたらtestを1回走らせるのも時間がかかって、いちいち結果出るまで眺めていたくないし、Growlで通知してもらうのがいいよなーと思って、例によってTwitterで聞いてみた。 sugyan prove終了したら結果をGrowl通知してくれる仕組みって無いのかしら? ググってもそれらしいものが見当たらない。。 2010/03/04(木) 13:25:20 lopnor @sugyan Test::Continuous では? 2010/03/04(木) 13:26:29 即答! @lopnorさんありがとうございます!! http://search.cpan.org/~gugod/Test-Continuous-0.67/lib/Test/Continuous.pm これのことらしい。全然知らなかった。 早速いれてみようとすると、色々こけた。 何だかよく

  • Objective-CでTwitter APIを使う 色々 - すぎゃーんメモ

    Twitter APIの認証 Twitter APIの使用は、現在"BASIC認証"と"OAuth"の2通りの方法が用意されている。が、今年6月(?)でBASIC認証が使えなくなるという噂で、今後はAPIを使用するのにはOAuthを使用する必要が出てくるようだ。 まぁBasic認証はパスワードだだ漏れになっちゃうからやめておこうよ、という話ですかね。 Basic認証 - Wikipedia Code — OAuth iPhoneアプリTwitter APIを使いたい場合 結構iPhoneTwitterクライアントアプリってたくさんあるけど、どういう実装なのだろう? 大抵は初回起動時に設定画面でユーザー名とパスワードを入力させて、それを使ってBASIC認証でアクセスしているのではないのかな? BASIC認証を使うAPIアクセスの実装は比較的簡単。(base64エンコーディングを実装せずに

    Objective-CでTwitter APIを使う 色々 - すぎゃーんメモ
  • Twitterの新しいStreaming API「ChirpUserStreams」がすごすぎる件 - すぎゃーんメモ

    最近発表されて、一部で話題を呼んでいるTwitterの新しいStreaming API「ChirpUserStreams」。 まだdeveloperへのpreviewリリースということでプロダクトに使うようなことはできないけど。 http://apiwiki.twitter.com/ChirpUserStreams 今までのStreaming APIでは基的に public timelineから、指定したキーワードを含む発言を拾う 指定したユーザーの発言を拾う というものだった(はず)。検索系としては便利だけど、home_timelineのように自分がフォローしているユーザーの発言をStreamingで得ようとすると全idを繋げたものをリクエストパラメータとして送らないといけなかったりで、あまりカッコよくない形になってしまっていた。 ところが今回使えるようになった「ChirpUserSt

    Twitterの新しいStreaming API「ChirpUserStreams」がすごすぎる件 - すぎゃーんメモ