Apache alikeを試してみる(その1:準備と前置き)
たくさんの写真のなかから、似ている画像を探せるソフトウェアを探していました。
全く同一のファイルを探すのであれば、PerlやRuby等のスクリプトでファイルのMD5をチェックするような方法が有効です。数が多いとそれなりに時間はかかりますが、誤りなく判定することができるでしょう。
しかし、「似ている」画像となると話は簡単ではありません。人間が写真を見比べて「似ている」と感じるのはどんなときでしょうか。人によって判定結果が異なることもあるでしょう。ましてやコンピュータにこれを判定させることなどできるのでしょうか。
そんな要求に応えようとするプロジェクトがあることを知ったので、今回試してみました。なかなか苦労するところもあり、またネットを見る限り個人で試している人も少ない様子です。今後数回に分けて、Apache alikeのデモが動作するところまでを(苦労した点を織り交ぜつつ)書いてみたいと思います。
- Apache alikeを試してみる(その1:準備と前置き) - 日記と、買い物記録
- Apache alikeを試してみる(その2:前提環境構築) - 日記と、買い物記録
- Apache alikeを試してみる(その3:alikeのインストール&コンパイル) - 日記と、買い物記録
- Apache alikeを試してみる(その4:データの作成) - 日記と、買い物記録
- Apache alikeを試してみる(その5:デモWebサーバの起動) - 日記と、買い物記録
- Apache alikeを試してみる(おまけ:run_desc_extractor.pyの改良) - 日記と、買い物記録
- Apache alikeを試してみる(おまけ2:動作例とサンプル画像) - 日記と、買い物記録
参考
まず情報源を探します。環境構築について日本語で説明されているWebページは、さしあたり以下の場所にあります。説明と書きましたが、この方は実際にApache alikeを作成されている方のようです(READMEに名前があります)。
OSSの類似画像検索プロジェクト Apache alike のご紹介
基本的には上記の内容に沿って作業をしますが、記事は1年以上前のものですので、使用する前提ソフトウェアのバージョンは異なります。
環境
当初Windowsで試すことを考えていたのですが、参考ページを読んだところ相当難しそうだという印象を受けましたので、素直にMac OSで試すことにしました。ハードウェアは最新とは言えませんが、OSについては最新の環境です。
- Mac OS X Version 10.9.2
- Macbook Air Mid 2011 (4GB Memory/1.6GHz Intel Core i5)
関連ソフトウェア
Apache alikeが動作するには、多数の周辺ソフトウェアが必要です。主な関連ソフトウェアは以下のようなものです。私はほとんどのものを触ったことがありませんでした。Hadoopを研修でちょっと試してみた程度です。
- Apache alike (類似画像・映像の検索フレームワーク)
- Apache Hadoop (分散処理を効率よく実行するための環境)
- Apache Mahout (機械学習エンジン)
- OpenCV (コンピュータビジョン向けライブラリ)
- Apache Lucene (全文検索ライブラリ。Javaのサーブレットで作られている。)
- Apache Solr (Luceneの上で動作する全文検索システム)
その他の関連ツールとして以下のようなものが登場します。
ディレクトリ構成
私はよくわからないまま進めてしまったので、ある程度計画は持っておいたほうが良いなという印象を持ちました。私が環境構築したディレクトリ構成は以下の通りです。
- $HOME/alike/ (Apache alikeのインストール先)
- 作者: Drew Conway,John Myles White,萩原正人,奥野陽,水野貴明,木下哲也
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/12/22
- メディア: 大型本
- 購入: 2人 クリック: 41回
- この商品を含むブログ (12件) を見る
- 作者: Toby Segaran,當山仁健,鴨澤眞夫
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/07/25
- メディア: 大型本
- 購入: 91人 クリック: 2,220回
- この商品を含むブログ (277件) を見る