タグ

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

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

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

    特徴点検出器を作ってライブラリに追加した - デー
  • MNISTをSURFを使ったbag of keypointsで - デー

    とにかく早く動かす欲で半分くらい想像でやってしまったので、誤りがあれば指摘などなど。 SURFとは! SURFは回転とスケールに不変な特徴点検出アルゴリズムで、keypoints(点の位置とスケール)とdescriptor(正規化された勾配のヒストグラム)を得ることができる。 このdescriptorsを画像の局所的な(画像パッチの)特徴ベクトルと考えると、画像に含まれるSURF Descriptorの集合を(十分大きければ)画像のidentificationとすることができる。 大まかな内容 MNISTの学習データからSURF Descriptorを抽出する ベクトル量子化のためのコードブックを作成する 抽出したSURF Descriptorをk個にクラスタリングする 各クラスの重心をコードベクトルとし、クラスをvisual-wordという単語の単位にする 画像をグローバルな単語の集合と

  • (前回〜10/25) - デー

    破滅してる。欲を出していろいろよくしようと思ったけど、まじめに考えるといろいろありすぎてちょっとヤバイ。 まあこれは勉強のチャンスであるので、もう少しやってみようと思う。 考えが変わったところ 人率にこだわっていたけど、これは教師ありでやるべきだし、教師データは今地道に作っている(昨日がんばって60人分のラベル付き顔[髪型]画像各人100〜130枚作った。もとデータはあと150人分あるので健全な精神と引き換えに教師データを作る)ので、それができてからやろうと思った。 類似検索は、人とかどうでもよくて、人間の感覚で似てると思うのを表示するようにしようと思う。この感覚は心理的には少し難しくて、たとえば知っている同じキャラ(人)ならあまり似ていないシーンの画像でも似ていると強く思ってしまうことがあるので、「顔が似ている」といったことは書かなくて、「髪形のみ似ている」とか「魂の色が似ている」

    (前回〜10/25) - デー
  • (9月〜最近分) - デー

    5月くらいにやるよって書いて、ずっと進んでなかったけど、少し前の連休でgaーと進めた。今ちょっと仕事がアレなのでデモサイトを作る余裕がないけど、その2としては余裕できたら置きますってところまではできてます。 今回の内容は、前回ので候補を絞って、それに対してBag of visual-wordsの類似でソートして上位N件を表示するという方法。アニメ顔に特化させるための前処理など特徴ベクトルを作るまでの過程がたくさんあるけど、そのあたりの説明はデモサイトを作ってから。 とりあえずスクショ。検索対象は4chan /c/という画像掲示板に投稿された画像からImager::AnimeFaceを使って自動で切り取った顔画像4万件。old verが前回の部品の色によるもので、new verが今回の。 正直まだまだだけど、 上位の人率が上がった 人ではないなりに「髪形はちょっと似てる」「前髪のみ激似」

    (9月〜最近分) - デー
  • RE: Imager::AnimeFaceを使ってみた簡素な感想。 - デー

    # うまく認識してくれない画像を眺めてたところ、どうも眼の位置に微妙に肌の色と違う部分があると(例えば頬が赤く染まってたりすると)そこを眼として認識してしまう気がする。 * 横顔も認識する?と思ったら、鼻の上の空間を眼として認識してたりとか。 * 両目の色が同じとして探す→候補がない場合は両目の色が違う、みたいな感じにしたほうが認識精度は上がりそう。そのかわりオッドアイなキャラの認識が悪くなるのかもしれないけど……。 # 眼の位置はともかく、鼻と顎の位置を見つける精度はあまり高くないみたいなので、その位置パターンを利用するのはちょっと難しいかもしれない。 * 顔の向きのチェックができるかなとか思ってたんだけど。眼の形から判断したほうがいいのかもね。 http://asakura.g.hatena.ne.jp/asakura-t/20090522 コメント欄に書こうかと思ったけれど、僕の説明

    RE: Imager::AnimeFaceを使ってみた簡素な感想。 - デー
  • アニメ顔の色情報に基づいた画像検索のデモ - デー

    Imager::AnimeFaceを使ったちょっとした応用例として画像検索のデモを作りました。 Imager::AnimeFaceを知らない方は Perlでアニメ顔を検出&解析するImager::AnimeFace - デーを参照してください。 ウェブサービスとしてではなく、デモやサンプルの意図で作っていて、方針としては、 Imager::AnimeFaceで得られる情報以上のことは考えない 難しいことは無視して簡単に作る(コーディング1日〜2日で作れる程度) です。Imager::AnimeFaceから得られる色情報はオマケみたいなもので、検索に使うには情報量が少なすぎる気がしますが、これくらいはできるよ!というデモになります。 この記事ではデモと同等のものを実装するに必要なアルゴリズム(DB作成と検索)について簡単に説明します。注意として、この記事ではPerlで解説しますが、デモの実装

    アニメ顔の色情報に基づいた画像検索のデモ - デー
  • Perlでアニメ顔を検出&解析するImager::AnimeFace - デー

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

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

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

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