ひとりで作る 画像検索システム OLTA株式会社 山際 康貴
この記事を書くに至ったきっかけ Recruse Centerでは、私は、画像処理の勉強に時間を費やしていました。独学をし始めた頃は、何をするものなのか全く理解しておらず、ただ、文字や輪郭、模様などを識別するのに役立ち、これらで面白いことができる、ということくらいの知識しかありませんでした。 私の情報源は、主にWikipediaや書籍、公開されている大学の講義ノートです。これらの資料に慣れ親しんでくるにつれ、画像処理の世界における基礎を伝えられる「入門向け画像処理」を望むようになりました。 これが、この記事を書こうと思ったきっかけです。 前提条件 この記事は、Pythonが扱えるということを前提に書いています。その他の事前知識は必要ありませんが、NumPyや行列計算に慣れていると理解しやすいでしょう。 初めに 使用するのは、Python版OpenCV、Python 2.7 ^(1) 、iPy
はじめまして、アニメイトラボのフロントエンドエンジニア id:koharusugiura です。 フロントエンドエンジニアとして働いていると、いかにサーバーサイドに負担を掛けずに処理を行うかについて考えることも多いと思います。 そこで今回は、サーバーに画像の転送を行う前にクライアント側で画像加工をする話について書きます。 この記事は animateLAB Advent Calendar 2015 15 日目の記事です。 qiita.com JavaScript で画像処理を行う ウェブアプリケーションで画像ファイルの加工が要件にある場合、サーバー側で画像加工を処理するケースが大半だと思います。 しかし、データ通信のことを考えると、最適な考え方とは言えない気がしています。 近年、日本のインターネット回線の速度は大きく向上しているとはいえ、モバイルデータ回線はまだまだ速度的に完璧とは言えません
http://blog.iconfinder.com/detecting-duplicate-images-using-python/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約5時間前 Iconfinderは以前、500 Startup Fundのデモdayでプレゼンするのを見た記憶があります。それから資金調達もできたようで、無事生き残ってますね。 アイコン等の画像ファイルの検索 & 販売をするサイトですが、悪いユーザがIconfinderから画像をダウンロードした後に、そのまま、もしくは多少改変して、Iconfinderにアップして販売しようとする不正行為があるようです。その対策のための検知アルゴリズムについてブログで紹介しています。 一般的な画像データをハッシュ化するアルゴリズムでは、画像のごく一部
※2014/03/17追記:巻末にオマケを追加 先日、Twitterで漫画のイマジナリーラインについて話題になった。 【イマジナリーライン】を超えたマンガは最悪なのか http://togetter.com/li/641095 その中で、自分もドラゴンボールのワンシーンを画像としてTwitterに投稿し、その画像を起点に色々な議論が交わされていくのを非常に興味深く読んだ。そこで思い出したんだけど、自分もドラゴンボールの左と右に関する記事を書いてる途中だった。 というわけで、話題がホットなうちに公開しようと思い急遽書き上げたのでお読みください。(書くこと多すぎて旬を過ぎた感は否めないけど、イマジナリーラインとは直接関係ない話だし、ね!) キャラ位置が頻繁に入れ替わるのに読みやすい まずはこの画像を見ていただきたい。自分がTwitterに投稿して議論になったドラゴンボールのワンシーン。 2コマ
OpenCV2.2になって、C++インタフェースが随分整理されましたので、色々と触っていました。 主に特徴点周りのクラスを見ていたのですが、画像から特徴点を検出し、画像間で対応付けるコードを簡単に書けるようになりました。 以下に2画像間の特徴点の対応付けのコードを掲載します。 #include <opencv2/opencv.hpp> // int main() { // 画像1の読み込み cv::Mat_<cv::Vec3b> img1 = cv::imread( "in1.jpg" ); // 画像2の読み込み cv::Mat_<cv::Vec3b> img2 = cv::imread( "in2.jpg" ); // SIFT用のデフォルトパラメータを設定 double threshold = cv::SIFT::DetectorParams::GET_DEFAULT_THRESHO
3日で作る高速特定物体認識システム (3) SURFの抽出(2009/10/30)のつづき。 画像からSIFTや SURFといった局所特徴量を抽出できるようになったのでここらでそれを応用してみます。特徴点のマッチングを取ることで2つの画像間で対応する場所を求められるようになります。下の例のような感じです。下の図で2つのキーポイント間にひいた直線は、両端のキーポイントの特徴ベクトルが似ている(距離が小さい)ことを表しています。 以下、プログラムです。 keypoint_matching.exe [画像1のファイル名] [画像2のファイル名]のように2つの画像ファイルを入力として与えると上のようにマッチング画像が表示されます。 #include <cv.h> #include <highgui.h> #include <iostream> #include <vector> #include
3日で作る高速特定物体認識システム (2) SIFT特徴量の抽出(2009/10/24)の続きです。あっ、3日経っちゃいました。 今回は、SIFTとは別の局所特徴量であるSURF(Speeded Up Robust Features)を抽出してみます。SURFのFはFeaturesなのでSURF特徴量とは言わないのかな?SIFTとは抽出方法は違いますが、画像からキーポイントと特徴ベクトルを抽出する点では同じです。抽出速度はSIFTより数倍高速だそうですが、精度は多少落ちるとのこと。リアルタイム処理したいときはこっちのほうがよさそうです。また、OpenCVにもすでに実装されています。SURFの詳しいアルゴリズムは後で論文を読むとしてとりあえず試してみます。 画像からSURFを抽出する 以下のプログラムは、画像からSURFを抽出して特徴点を描画し、特徴量をファイルへ格納するプログラムです。この
大学の講義で画像間の対応付けプログラムを作成するという課題が出されて、無事提出できたのでメモしておこうと思います。このような画像工学のプログラムは初めてで、特にMacOSX + Xcode4 + OpenCV2のサンプルが少なくて色々苦労しました。簡単ではありますがOpenCVのインストールから2画像の対応付け画像を生成するところまでを説明したいと思います。 執筆時のバージョン OSX 10.7.4 + Xcode4.1 + OpenCV2.4.1 準備 Xcodeはインストール済みであるとして、まずはOpenCVをインストールします。 私はMacPortsを使用しましたが各自で好きな方法でインストールしてください。MacPortsなら port install opencvで楽チンにインストールできます インストールが終わったらXcodeでプロジェクトを作成して、Command Line
Request higher query volume What is the Bing Search API? The Bing Search API enables developers to embed and customize search results in applications or websites using XML or JSON. Add search functionality to a website, create unique consumer or enterprise apps, or develop new mash-ups. Read our Migration Guide and FAQs to get started. If you only need web results, you can subscribe to the web
キーワードで画像を検索した結果を自分の管理しているBlogに表示したいと思い立ち、Webサービスから無料で利用できる画像検索サービスについて調べてみました。 以前は様々なWebサービスが無料で利用できていたような印象がありますが、最近ではサービスを提供する各企業が徐々に収益化を考えており、無料での利用に制限を設けていることが多いようです。 そのため、Webサービスを利用する際には、その特徴や制限を良く理解したうえで選択しないと、後で痛い目にあいそうな気がします。 同じようなことを考えている方の参考になればと思い、いくつかの画像検索サービスについてまとめてみます。 Google Image Search API Googleのイメージ検索用APIです。 各プログラム言語から呼び出しが可能です。 JavaScriptからの呼び出しだと、非常に簡単ですが、残念なことに、2011/05/26より、
alike での類似画像検索の主要な部分は上記の既存OSSを利用しているため、alike 自身は非常にコンパクトな構造になっています。下図にalikeのアーキテクチャを示します。 Apache alikeのデモ 下記のリンクをクリックすると、類似画像検索を体験できます。リンクをクリックして表示された画面の一番上の画像が「検索元」の画像で、2番目以降の画像が検索元と似ていると判断された類似画像一覧です。Luceneにより「似ている順」に表示されています。 http://rondhuit-demo.com/p/alike/ukbench/full/ukbench01700.jpg http://rondhuit-demo.com/p/alike/ukbench/full/ukbench01990.jpg http://rondhuit-demo.com/p/alike/ukbench/full
12月16 PNG 画像の解析と最適化ツール はじめに この記事は Graphical Web Advent Calendar の 16 日目の記事として書かれました。 Graphical Web ということで、PNG フォーマットの簡単な説明と Web ブラウザ上で動作する PNG 解析ツールを作ったので使い方と解析結果の見方について書いていこうと思います。 また、人気のある PNG 画像最適化ツールがどのような最適化を行っているのか調べていきます。 PNG の仕様に入る前に ここから、PNG の仕様について最低限の説明を書いていきます。 PNG の最適化や検証するときに必要になるので、退屈かもしれませんが軽く目を通してください。 以下の項目について、なんとなく分かれば良いです。 シグネチャ 必須チャンクの役割 IHDR PLTE IDAT IEND PNG 仕様概要 PNG フォーマッ
3月1 Zopfli を使って PNG の再圧縮を行ってみた はじめに Google から Deflate 互換の圧縮アルゴリズム実装 Zopfli が公開されました。 「Deflate 互換ってどういうこと?」って方もいると思いますので簡単に説明します。 符号アルゴリズムは同じ(LZSS + Huffman符号) RFC では、 LZSS はこんな感じで Huffman 符号はこんな感じと大体のやり方が書かれている RFC に書かれている方法とは異なる手法でより最適な LZSS + ハフマン符号化を行うのが今回の Zopfli Kflate との比較 PNG の圧縮界隈では、一部で Kflate と呼ばれる Deflate 互換実装が圧縮効率の良いものが知られています。 (この実装は PNGOUT として PNGGauntlet や ImageOptim で使用されている) 今回は Im
ユーザー数は2億人を超えてさらに増加中 どこで何をするにもプロフィールは1つ あなたのメールアドレスはデジタルワールドへのパスポートになり、個人データを完全にコントロールできるようになります。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く