タグ

ブックマーク / ultraist.hatenablog.com (13)

  • National Data Science Bowl 10位 - デー

    プランクトン画像分類コンペこと National Data Science Bowl が終わりました。 Description - National Data Science Bowl | Kaggle 結果はタイトル通り10位(1049チーム中)でした。賞金2000万円が1円も貰えなかったショックで毎日15時間くらい寝ています。感想と投稿内容です。 感想 世界Deep Convolutional Neural Networks職人コンテストという感じでした。みんな強かったです。前半は、2〜5位くらいにいる状態だったので、これは賞金はオレのものだなHAHAHAなどと思っていたのですが、終盤は15位くらいまで押し出されるようになり、こいつらマジかよ、強すぎだろ、と思って、最後方向転換をしてどうにか10位で終われました。自分の感覚ではスコア(NLL)で0.7以下を出せれば、Deep CNNを熟

  • 表紙を写すと本のレビューが読めたりするHTML5アプリを作ってみた - デー

    最近のブラウザはgetUserMediaという機能でJavaScriptからカメラを操作してリアルタイムに動画を読んだりできるようなので、画像認識のデモ的なものを作ってみた。 表紙検索 PCGoogle Chrome、Opera、AndroidのOpera Mobileの場合 動画が読めるといっても実際のところ一部のブラウザでしか使えなかったので段階的に対応してみた。 まず、PCGoogle ChromeとOpera、AndroidのOpera Mobileの最新バージョンが全ての機能が使えるブラウザです。 これらのブラウザで hyoushi.me というドメインを開くと、サイトのトップに「カメラ起動」というでかいボタンが表示されています。 IS05 + Opera Mobile (僕はウェブカメラを持っていないのでこれはIS05 + Opera Mobileのキャプチャです) カメラ

    表紙を写すと本のレビューが読めたりするHTML5アプリを作ってみた - デー
  • BimyouSegmenter: Rubyだけで書かれた微妙なサイズの分かち書きソフトウェア - デー

    BimyouSegmenterはRubyだけで書かれた微妙なサイズの日語分かち書きソフトウェアです。 約150Kバイトの微妙なサイズのソースコードで、青空文庫にある太宰治、宮沢賢治、夏目漱石、夢野久作作品であれば、MeCab+ipadicによるの分かち書きの結果と94%くらいは同じになります。 というTinySegmenterのパロディです。 TinySegmenterは新聞記事で学習されているのと、空白文字が単語にくっついたりして扱いが難しかったので、TinySegmenterのようなひとつのソースコードに全部つっこんだ感じの分かち書きのライブラリを自分の用意したデータで学習して好きに調節できたらいいなと思ったので作ってみました。 nekoneko_genでもこれを使っています。 TinySegmenterとは特徴ベクトルも学習アルゴリズムも学習データも違いますが、基的な考え方はTi

    BimyouSegmenter: Rubyだけで書かれた微妙なサイズの分かち書きソフトウェア - デー
  • ネコでもテキスト分類器のRubyライブラリが生成できる便利ツールを作った - デー

    あまり細かいことは気にせずテキスト分類器のRubyライブラリを1コマンドで自動生成する便利ツールを作りました。 いろいろ迷走している間に。 gem install nekoneko_genでインストールできます。 なにをするものなのか、ちょっと分かりにくいので、例で説明します。 2ちゃんねるの投稿からどのスレッドの投稿か判定するライブラリを生成する 例として、2ちゃんねるに投稿されたデータから、投稿(レス)がどのスレッドのレスか判定するライブラリを生成してみます。 準備 まず gem install nekoneko_genでインストールします。 Ruby 1.8.7でも1.9.2でも動きますが1.9.2のほうが5倍くらい速いので1.9.2以降がおすすめです。 環境は、ここではUbuntuを想定しますが、Windowsでも使えます。(WindowsXP, ruby 1.9.3p0で確認)

    ネコでもテキスト分類器のRubyライブラリが生成できる便利ツールを作った - デー
  • feezch.infoで使われているあやしい技術を解説します - デー

    feezch.infoで使われている一部の技術を解説しようと思います。 Railsnginxの設定の話は、僕が書くことでもないので、一般的なウェブサービスではあまり使われてなさそうな2ちゃんねるに関連した技術やあやしめ技術をいくつか選んでみました。 主に画像関連です。 クローラー周りも、とてもよく考えられたすばらしい仕組みを持っているのですが、特にあやしくなく当にすごいので、ここでは省略します。 以下がもくじです。(リンクはつけ方が分からなかったので、ついてないです) 画像URLのルール集『ImageViewURLReplace.dat』を使って投稿内容から画像URLを抽出しダウンロードする グロ画像ブラックリスト『NGFiles.txt』でグロ画像をブロックする ウェブブラウザがリファラを送らないように画像にリンクする グーグルの新機能『Search by Image』を使ってサムネ

    feezch.infoで使われているあやしい技術を解説します - デー
    shokai
    shokai 2011/10/09
  • OpenCVによるアニメ顔検出ならlbpcascade_animeface.xml - デー

    追記 lbpcascade_animeface · GitHub githubに置きました。 追記前 かなりいい。http://j.mp/oMVViM http://j.mp/pKZC4Y イロイロ試すと丸っこいものに対する誤検出がちょっと気になるくらい。 http://twitter.com/#!/ultraistter/status/92775087635312640 金曜日から何度か学習していたLBP版のアニメ顔検出ができていた。前回のOpenCVでアニメ顔を検出するためのXML v2 - デーに比べるとかなりよくなっていると思います。検出速度もこっちのほうが速い。 ダウンロード http://anime.udp.jp/data/lbpcascade_animeface.xml (デカイので右クリックで保存) 使い方 OpenCVのサンプルに入っているfacedetectというプログ

    OpenCVによるアニメ顔検出ならlbpcascade_animeface.xml - デー
  • JavaScriptで顔検出 - デー

    404 Not Found 何度か見たことあるネタだけど。アニメ顔にも対応(OpenCV版のほうです)。 もともと、WebGL GPGPUでやろうと思って、先週、OpenCVのdata/haarcascadesにあるようなデータから特定の言語向けのコードを生成するプログラムを作ってJavaScriptで試してて(動いた)、今日、GLSLを出力できるようにしたんだけど、シェーダのコードがコンパイルできなかった(なんか返ってこなくなる!!)ので、今日はあきらめて、JavaScript部分だけ書いておこうと思った。 WebGL GPGPUで超速くできたらVideoタグとCanvasを使って動画に適用すればかっこいいかなーと思ったんですけど。 気になったこと 遅い。 chromeだと2回目以降の実行が速いけど結果がおかしいことがある。あとたまにブラウザがクラッシュする。 http://twitte

  • AnimeFace-RubyをImageMagick Q16でも動くようにした - デー

    Q8のImageMagickでしか動いていなかったので、Q16でも動くようにしました。 AnimeFace-Ruby.tar.gz ImageMagickには、Q8、Q16などと呼ばれるバージョンがあって、これは画像の内部形式のビット深度(bit depth)の違いを表しています。Q8では画素が0〜255の数値になっているのに対して、Q16では0〜65535になっています。AnimeFaceのライブラリでは、画素を0〜255(の実数)で扱っているので、depthによっては変換が必要です。しかし、RMagickのImage#depthがQ16でもなぜか8を返してきてて(正しくは16でしょうー)、判定ができていなかったのをMagick::QuantumDepth(これは正しい値が返ってくる)で判定するように変更しています。Magick::QuantumDepthは定数です。このため、set_c

    AnimeFace-RubyをImageMagick Q16でも動くようにした - デー
  • AnimeFaceのruby拡張 - デー

    AnimeFaceをrubyで使いたいという話を目にして Imager::AnimeFaceをRubyから使えるようにしました - Yanagi Entertainment を思い出したのですが、たしか動かなかった記憶があってやっぱり動かなかったらしいので バグ修正して、ちょっとインターフェースを変えたバージョンを置いておきます。 AnimeFace-Ruby.tar.gz 以下、リードミー h1. AnimeFace-Ruby Imager::AnimeFaceをRubyから使えるようにしました (http://d.hatena.ne.jp/yanagia/20090821/1250878964) をベースに引数の順番の違うバグの修正とちょっとインターフェースを変えたものです。 rubyでRMagickで読み込んだ画像に対してアニメ顔検出を行います。 h2. 必要なもの ruby RMa

    AnimeFaceのruby拡張 - デー
  • 特徴点検出器を作ってライブラリに追加した - デー

    前々からアニメ顔類似検索のbag of featuresで使っている特徴点の決め方がイラストにあまり合っていない気がしていたけど、実装がすごく面倒くさそうだったのでやらなかった。しかし、最近SURFに特許があることが発覚して、SURFを使っている意味は特にないなーと思ったので、満足のいくものをつくろう思ったのであった。(ただ特許は気にせずにやる) ということで、こんなのができた(クリックで拡大)。 結構速いし、スケールの変化、回転、ある程度のゆがみには大体対応できている。対応点の決定は、点の特徴ベクトルが一番近い点と二番目に近い点を取って、ふたつの特徴ベクトルの距離の差を確信度として、確信度が高いもののみマッチングしたことにして表示している。 SIFTやSURFに比べると点多すぎだろ(なぜ渦巻きに…)と思うかもしれないけど、これは僕なりにイラストの特性とかbag of featuresで使

    特徴点検出器を作ってライブラリに追加した - デー
  • github contest 日記 (おわり) - デー

    終わった。最終的に51%まであがった。 http://github.com/blog/481-about-the-github-contest:title= http://contest.github.com/:title= 並びは3番目ですが、最後のほうで全員の結果を混ぜる人が続出したもののチートとして消されたり、上のほうにいたけど最後までソースコードが置かれなかったりで人が消えまくってるので3位とは言いがたいし、順位はマジでどうでもよくなった。 個人的にもできなかったことが多かったのであまり達成感はないのですが、いろいろ知らなかったことが分かったし、勘違いしていたことにも気づけたし、今後やっとくべきと思ったこともいくつかできたので、やってよかったですね。 知ったことの中から知っていて当然だろJK…なことをいくつか 疎なベクトルの類似度 リポジトリが15万件、ユーザが5万人いて、あるユー

    github contest 日記 (おわり) - デー
  • Perlでアニメ顔を検出&解析するImager::AnimeFace - デー

    というのを作ったので自己紹介します。 2月頃から、コンピュータでアニメ顔を検出&解析する方法をいろいろ試しつつ作っていて、その成果のひとつとして、無理やり出力したライブラリです。 はじめに はじめにざっとライブラリの紹介を書いて、あとのほうでは詳細な処理の話を僕の考えを超交えつつグダグだと書きたいと思います。 Imager::AnimeFaceでできること Imager::AnimeFaceは、画像に含まれるアニメキャラクター的な人物の顔の位置を検出し、さらに目や口など顔を構成する部品位置や大きさの推定、肌や髪の色の抽出を簡単に行うことができるライブラリです。 これらが可能になると、 画像から自動でいい感じのサムネイルを作成できる 動画から自動でいい感じのサムネイルを作成できる 自動的にぐぬぬ画像が作れる 自動的に全員の顔を○○にできる 顔ベースのローカル画像検索 など、最新鋭のソリューシ

    Perlでアニメ顔を検出&解析するImager::AnimeFace - デー
  • アニメ顔の検出とキャラクターの分類 - デー

    時間がないくせにアレコレしていて、もうなにをしたかったのかしているのかわけ分からなくなってきたけど、まだ大きな目線で見ると方向性は間違ってないと思う。最近は画像から矩形を超高速に切り抜きまくるためのツールを作っていて、その用途が検出器を作るための良質のサンプルデータ集めの効率化で、作りながら、そういえば顔判定はよく見るけど、アニメ顔判定は見ないなーと思っていたところに『http://techon.nikkeibp.co.jp/article/NEWS/20080325/149419/:title=』というニュースを見て、これはまずい先を越されてしまう、コンテンツベースのサイト分類器を作ってニートになるのは俺だ! と思って、いますぐアニメ画像の判定をしてみようと思い始めた。 考えた判定の方法は、 アニメ顔検出 顔の位置から他の部位の座標を大体求める 髪の色と服の模様(ヒストグラムを使う)でキ

    アニメ顔の検出とキャラクターの分類 - デー
  • 1