タグ

blogとCVに関するshirasyのブックマーク (13)

  • AndroidとOpenCVで試す特定物体認識 - 遥かへのスピードランナー

    6月2日に開催されたDevLOVEさんと弊社の共同開催勉強会で、「Android×ComputerVision」というお題で発表してきました。 要はOpenCVAndroidアプリに組み込んで特定物体認識を試そう、というもの。 資料は以下です。 20110602_MTI×DevLOVE発表資料「Android×ComputerVision」 View more presentations from Takahiro Horikawa ソースはgithubで公開してます。 https://github.com/thorikawa/AndroidObjectRecognition/ 概要 資料にも記載していますが、カメラのプレビュー画像からSURFの特徴点を検出して、LSHで再近傍検索→特定物体認識というのを毎フレーム行っています。 「物体」はCDのジャケット画像を5枚の内から認識して、それ

    AndroidとOpenCVで試す特定物体認識 - 遥かへのスピードランナー
  • Hadoop Streaming で Locality-Sensitive Hashing を実装してみる | Atsushi TATSUMA Web Page

    はじめに 研究室では、大規模データベースを対象とした検索インデックスについて研究しています。 分散処理によるインデックス作成を考えていて、今回 Hadoop Streaming でどこまでできるかを試すべく、 Locality-Sensitive Hashing (LSH) を実装してみました。 実装したアルゴリズムについて LSH にはいくつかのアルゴリズムのバリエーションがあります。 LSH の詳細は、ブログなり論文なりなりありますので、ここでは省略しますが、 類似したデータに同じハッシュ値を与えることで、検索を高速化しようというアイディアです。 このハッシュ値には、0101 とかの短いバイナリ符号が好まれます。 今回は、いくつかある LSH のアルゴリズムのうち、 Charikar,M., Similarity estimation techniques from ro

  • LSH (Locality Sensitive Hashing) を用いた類似インスタンスペアの抽出 - mixi engineer blog

    GW 中の長距離移動のために体調が優れない takahi-i です. 今回は巨大なデータをマイニングする一つの技術として LSH (Localtiy Sensitive Hashing) を紹介させていただきます. LSH とは LSH は大量なデータから類似度が高いインスタンスのペアを高速に抽出してくれるアルゴリズムです. ここでインスタンスはデータ集合の一つの要素を表します. たとえば扱うデータが E-コマースサイトの購買ログであれば, インスタンスは各ユーザですし, 画像データ集合であれば, インスタンスは個々の画像データです. LSH の詳しい解説については以下のサイトがあります. Wikipedia のエントリ LSH に関する論文がまとめられているページ 稿ではE-コマースサイトの購買履歴データを基に LSH の機能について述べてゆきます. 以下のような E-コマースサイトの

    LSH (Locality Sensitive Hashing) を用いた類似インスタンスペアの抽出 - mixi engineer blog
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Visual Wordsを用いた類似画像検索 - 人工知能に関する断創録

    類似画像検索システムを作ろう(2009/10/3) 3日で作る高速特定物体認識システム(2009/10/18) に続くOpenCVプロジェクト第三弾です。今回は、上の二つをふまえてカラーヒストグラムではなく、局所特徴量(SIFTやSURF)を用いた類似画像検索を試してみます。局所特徴量はグレースケール画像から抽出するため、カラーヒストグラムと違って色は見ていません。画像の模様(テクスチャ)で類似性を判定します。 実験環境は、Windows 7、MinGW C++コンパイラ、OpenCV2.0、Python 2.5です。EclipseでMinGWを使う方法はEclipseでOpenCV(2009/10/16)を参照してください。Visual C++にはないディレクトリスキャン関数を一部使っているのでVisual C++を使う場合は、少しだけ修正が必要です。 Bag-of-Visual Wor

    Visual Wordsを用いた類似画像検索 - 人工知能に関する断創録
  • bayonを使って画像からbag-of-keypointsを求める - のんびり読書日記

    クラスタリングツールbayonとOpenCVを使って、画像からbag-of-keypointsを特徴量として抽出する手順について書きたいと思います。bag-of-keypointsは自然言語処理でよく使用されるbag-of-words(文章を単語の集合で表現したもの)と同じようなもので、画像中の局所的な特徴量(keypoint)の集合で画像の特徴を表します。bag-of-wordsと同じ形式ですので言語処理と同じように、bag-of-keypointsデータを使ってクラスタリングツールに適用したり、転置インデックスに載せたりといったことが可能になります。 今回は画像からbag-of-keypointsを取り出し、そのデータを使ってbayonで画像集合をクラスタリングするところまでやってみます。ちなみに画像処理は完全に素人で、この記事もニワカ知識で書いているので、間違っている箇所やもっと効率

    bayonを使って画像からbag-of-keypointsを求める - のんびり読書日記
  • 3/5にOpenCV祭りを開催しました - takminの書きっぱなし備忘録 @はてなブログ

    以前このブログでも書きましたが、僕は「コンピュータビジョン勉強会@関東」という勉強会を主催しています。 普段は、「コンピュータビジョン最先端ガイド」というを元に、輪講のような形式で勉強会を進めているのですが、今回は「OpenCV祭り」と題してOpenCVをテーマに番外編的な形で進めました。 お陰さまで普段の参加者は30名弱なのですが、今回は80名近くも集まり、懇親会も含め大いに盛り上がりました。また僕にとっても大変勉強になりました。 というわけで、各発表者の資料へのリンクや参加者のブログへのリンクなどをまとめておきます。下のうち、いくつかの資料は勉強会のGoogle Groupsに登録していないと見れない場合があります。また、その他の回の資料もGoogle Docsにまとめてます。こちらもGoogle Groupsに登録していないと見れません。 リリース動向&Yahoo! Groups

    3/5にOpenCV祭りを開催しました - takminの書きっぱなし備忘録 @はてなブログ
  • 2変数でのカーネル密度推定の練習 - yasuhisa's blog

    2変数というとで先週書いた密度トレイスを参考にしました。が、微妙に間違いも発見しました。 カーネル関数を使って密度トレイスを書いてみた→最後のほうに微妙に間違いがあるので注意!! - yasuhisa's blog gauusian関数の仲の1/hにかかる括弧が抜けていた。一次元だとplotしたときにそんなに影響がなかったので、気がつかなかったが、次元増やしたら全然違うことになっていたので、先週の間違いに気がついた。 gauusian <- function(r,h){ gauusian.intern <- function(r,h){ return(paste("1/sqrt(2 * pi) * exp(-1/2 * ((x - ",r,")/h)^2)",sep="")) } eval(parse(text=paste("function(x){1/h * (", paste(sapp

    2変数でのカーネル密度推定の練習 - yasuhisa's blog
  • mean-shiftを実装してみた - tsubosakaの日記

    次回のCVIM勉強会でmean-shiftについて話すことになってしまったので、理解のためにmean-shiftアルゴリズムを実装してみた。 カーネルは一番簡単なフラットカーネルを利用し、また画像もグレイスケール画像のみを扱うためピクセルの値は[0,256]の一次元データとみなす。 またナイーブな実装だと512*512ぐらいの画像でもすごい時間がかかるので二分探索とFenwickTree(動的に更新する必要はないので別に使う必要なかった、累積和を保存した配列に変更)を使ってグレイスケール画像かつフラットカーネルであることを利用して高速化した関数meanShiftLoopFastを用意した。 元画像は下のようになっている。 bandWidth=10のときは下のようになり、肌の部分が同じ値に収束していることがわかる。 bandWidth=20のときは以下のようになり、やや平滑化されすぎているこ

    mean-shiftを実装してみた - tsubosakaの日記
  • 4週間目 - Jean-Marc Pelletier

    オプティカル・フロー 動画のフレームに映るものが変わる原因は、カメラが移動した事、映っている物体が移動した事、又は照明が変わった事などが挙げられます。もし照明が変わらなければ、カメラと映っている物体の相対関係が変わった事が主な原因となる訳です。「モーション・フロー」とは3次元の空間でものがどういう風に動いているかを示す言葉です。モーション・フローは実世界の動きの事ですが「オプティカル・フロー」とはそのモーション・フローがどういう風に見えるかを表します。つまり、映像の場合、あるフレーム内のピクセルをどういう風に動かせば次のフレームになるかの事です。 単純なオプティカル・フロー 花火のオプティカル・フロー、色は方向を示します。(クリックで拡大) 2次元画像の場合、残念ながらオプティカル・フローは正確に計算できません。その原因は「アパチャー問題」と言います。複数の動かし方によって同じ画像がで

  • Computer Vision Software

    Rhonda Software Highest quality full cycle software development. Expert in areas of Computer Vision, Multimedia, Messaging, Networking and others. Focused on embedded software development. Competent in building cross-platform solutions and distributed SW systems. Offer standalone custom solutions as well as integration of existing products. Opened for outsourcing services. The face recognition dem

  • Viola & Johns版AdaBoostの実装 その2 - takminの書きっぱなし備忘録 @はてなブログ

    前回の続き。 論に入る前に、ここで解説したAdaBoostのアルゴリズムをもうちょい補足しておきます。 学習データを用意し、それぞれのデータの重みを均等にしておく。 学習データを識別器へ入力し、エラー率を求める。ただし、エラー率には学習データの重みを反映させる。 一番エラー率の低かった識別器を選択し、そのエラー率を記録しておく。 3で正解した学習データの重みは低く、不正解だったデータの重みを重くする。 更新した重みを元に2〜4の処理を複数回繰り返す。 最終的に選択した識別器に、エラー率に基づいた重みを割り振り(エラー率が低ければ重く、逆なら軽く)、その線形和を強識別器とする。 もちっと詳しく知りたい人は、この論文の4ページ目の囲いを読んでください。 で、ここから題。 前回も解説したとおり、OpenCVに実装されているオブジェクト検出"cvHaarDetectObjects()"関数は、

    Viola & Johns版AdaBoostの実装 その2 - takminの書きっぱなし備忘録 @はてなブログ
  • Viola & Johns版AdaBoostをOpenCVで実装 - takminの書きっぱなし備忘録 @はてなブログ

    OpenCVには、「cvHaarDetectObjects」っていうオブジェクト検出の関数が用意されてます。これを使うと簡単に顔検出を実装できたりします。また、学習をさせることでオリジナルの検出装置を作れたりします。 詳しくは http://gihyo.jp/dev/feature/01/opencv を参照 特にこの関数の中のロジックがどうなっているかは、ここで解説してます。 http://gihyo.jp/dev/feature/01/opencv/0003 以下は、上記の内容を理解していることを前提で話を進めます。 以前のエントリーで書いた通り、実はこの「cvHaarDetectObjects」関数では、CvBoostクラスというOpenCVに用意されているAdaBoostのクラスは使用していません。実は、OpenCVで実装されているCvBoostクラスの振る舞いと、「cvHaarD

    Viola & Johns版AdaBoostをOpenCVで実装 - takminの書きっぱなし備忘録 @はてなブログ
  • 1