RedisのHyperLogLogを使ってユニークユーザー数を推定する

去年の内に公開することが出来ず、ずっと下書き状態だったエントリーをちょっとずつ消化していきたいと思います。ネタとして古いものも含まれていたりすると思いますがしばらくご辛抱ください。。 Redis 2.8.9から追加された HyperLogLog をちょっと触ってみました。 環境 * CentOS 7.0 (x86_64) / Intel Xeon E312xx (Sandy Bridge) 2.4GHz 仮想3コア / 2GB RAM * Redis 2.8.17 * redis-py (Pyt…

ねこと画像処理 part 3 – Deep Learningで猫の品種識別

ねこと画像処理。 (みかん – 吉祥寺 きゃりこ) 前回の ねこと画像処理 part 2 – 猫検出 では画像内の猫の顔を検出する方法を紹介しましたが、今回はディープラーニングの技術を用いて猫の品種を識別したいと思います。 学習データ ねこと画像処理 part 1 – 素材集めでは、自分で撮影した写真を学習データとして使うと書いたのですが、都内の猫カフェ等で出会える猫に限ってしまうと品種の偏りが大きくなってしまうので、ここではしぶしぶ研究用のデータセットを使うことにします。。ただ、S…

ねこと画像処理 part 2 – 猫検出 (モデル配布)

ねこと画像処理。 (アイシャ – 池袋 ねころび) 前回のねこと画像処理 part 1 – 素材集めでは猫画像の集め方について整理しました。今回はその集めた猫画像を使って猫検出用の学習モデル(分類器)を作成したいと思います。それにはいろいろと準備が必要です。 モデル(分類器)の配布についてはこのエントリーの後半で説明します。 アノテーションデータの収集 学習モデルを作る前に猫のどの部分を検出するかを決める必要がありますが、今回は猫の顔(頭)部分の検出を行おうと思います。そのためのアノ…

WebRTC + WebGLによる顔画像合成デモの紹介

Tech Crunchで紹介されていて、国内外の方からのお問い合わせが僕の方にもいくつか来てたのでご紹介を。 これはまたクールで不気味なアプリ―FaceSubはそのうち他人の顔を借りてビデオチャットができる? Face substitution (デモへのリンク) 以前、このブログで JavaScriptでPoisson Image Editingによる滑らかな画像合成 というエントリーを書きましたが、そこで公開したJavaScriptのモジュールをノルウェーの方に上記のデモで使っていただきまし…

JavaScriptで画像のクラスタリングによるドット絵風加工

前回のJavaScriptでPoisson Image Editingによる滑らかな画像合成に引き続き、HTML5 Canvasを使ったJavaScriptによる画像処理の一例を紹介します。 今回は画像の画素値に対するクラスタリング(分類)を画像加工用途に応用します。クラスタリングには各画素のRGB値を特徴ベクトル(次元数3)としてk-means法と呼ばれる手法を使って行います(実装上はk-means法の初期値選択アルゴリズムを改良したk-means++法を利用)。以下のサイトでOpenCVを利…

JavaScriptでPoisson Image Editingによる滑らかな画像合成

Poisson Image Editing はSIGGRAPH 2003で発表された画像合成手法の1つで、Poisson方程式の境界値問題を画像処理に応用しています。 ただ画像の一部を切り取って貼り付けるだけだと特に領域境界部分の継ぎ目が目立ってしまいますが(左画像)、Poisson Image Editingを用いると領域周辺の画素値から領域内側の画素値を推定して滑らかに合成することができます(右画像)。 僕が学生時代、VC++でこの手法を使った画像合成ソフトをゼミ仲間といっしょに作って遊んで…

JavaScriptで宙玉(そらたま)写真を作る

前回のJavaScriptでHarrisオペレータによるコーナー検出に引き続きJavaScriptで画像処理を。今回は難しいことはせずにカジュアルな画像加工を楽しみます。 ちょっと昔に、宙玉(そらたま)写真というのが流行ったような気がするんですけど、画像処理的には簡単ですのでちょっと試してみました。 参考: 宙玉 – Google 検索 作成手順は以下の通り 1. 元画像を円周魚眼レンズ風に射影変換した画像を作る 2. 元画像にボックスフィルタを掛けて反転した画像を作る 3. 1,2…

JavaScriptでHarrisオペレータによるコーナー検出

ひさしぶりのブログ。 ブラウザの処理能力の進化を測るには個人的に画像処理が一番わかりやすいです。 今回は画像内にあるオブジェクトのコーナー(corner:頂点, エッジの交点)を検出をしてみます。コーナー検出に用いられる特徴点検出法はいくつか提案されていますが、今回はブラウザ上で実行することを考慮し計算量とメモリ使用量の観点からHarrisオペレータを採用します。 コーナー検出法についてはWikipediaを参考に。 コーナー検出法 – Wikipedia Harrisオペレータは微…