VLFeat 0.9.21 のインストール(ソースコードを使用)(Ubuntu 上)

VLFeat は,コンピュータビジョンのアルゴリズム(SIFT, MSER, Fisher Vector, VLAD, k-means, 階層的 k-means, agglomerative information bottleneck (AIB), SLIC スーパーピクセル, quick shift スーパーピクセル, 大規模 SVM 学習など)を実装したライブラリである。C 言語で書かれており,Windows, Linux, macOS で動作する。ライセンスは BSD ライセンスである。

最新版は 0.9.21 である。GitHub のページ: https://github.com/vlfeat/vlfeat

ユースケース.Ubuntu では「sudo apt -y install libvlfeat-dev」でライブラリと開発用ファイルをインストールできる。特定のバージョン(Git のタグ)を指定してビルドしたい場合,ソースコードに変更を加えて使いたい場合,コマンドラインユーティリティ(sift, mser, aib)を利用したい場合は,ソースコードからビルドする。

前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。

Ubuntu のインストールはこちらの別ページで説明する。

# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now

C/C++ コンパイラと Make とビルドツールのインストール

ソフトウェアをソースコードからビルドするには、C/C++コンパイラ (通常はGCC) や make ユーティリティといった開発ツールが重要である。Ubuntuでは、これらのツールは build-essential パッケージにまとめられている。インストールするには,端末で,次のコマンドを実行する。

sudo apt -y install build-essential libtool texinfo dpkg-dev pkg-config

libtool, texinfo, dpkg-dev, pkg-config は、より複雑なビルドやパッケージ管理の際に役立つ開発関連ツールである。

Git, cmake, curl, p7zip-full, ImageMagick のインストール(Ubuntu 上)

端末で,次のコマンドを実行する.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install git cmake cmake-curses-gui cmake-gui curl p7zip-full imagemagick

imagemagick は,画像ファイルを VLFeat のコマンドラインユーティリティが読み込める PGM 形式に変換するために使用する。

VLFeat のインストール(ソースコードを使用)(Ubuntu 上)

  1. VLFeat のソースコードの取得とビルド

    -b v0.9.21 によりバージョン 0.9.21 のタグを指定して取得する。ビルド結果は bin/glnxa64(64ビット Linux 用のディレクトリ)に作られる。

    cd /usr/local
    sudo rm -rf vlfeat
    sudo git clone -b v0.9.21 https://github.com/vlfeat/vlfeat
    sudo chown -R $USER vlfeat
    cd /usr/local/vlfeat
    make
    
  2. 共有ライブラリとコマンドラインユーティリティのインストール
    cd /usr/local/vlfeat/bin
    sudo install -m 644 glnxa64/libvl.so /usr/local/lib
    sudo install -m 755 glnxa64/sift /usr/local/bin/
    sudo install -m 755 glnxa64/aib /usr/local/bin/
    sudo install -m 755 glnxa64/mser /usr/local/bin/
    sudo /sbin/ldconfig
    
  3. マニュアル(man ページ)のインストール

    Ubuntu では,ローカルにインストールした man ページの配置先は /usr/local/share/man である。

    cd /usr/local/vlfeat/src
    sudo mkdir -p /usr/local/share/man/man1 /usr/local/share/man/man7
    sudo install -m 644 mser.1 sift.1 /usr/local/share/man/man1
    sudo install -m 644 vlfeat.7 /usr/local/share/man/man7
    
  4. VLFeat を使ってみる

    VLFeat の sift コマンド,mser コマンドと,ImageMagick の convert コマンドを使用する。sift コマンドは特徴点とその記述子を .sift ファイルに出力する。

    cd /tmp
    curl -L https://github.com/opencv/opencv/raw/master/samples/data/fruits.jpg -o fruits.jpg
    convert fruits.jpg fruits.pgm
    rm -f fruits.sift fruits.frame
    sift fruits.pgm
    mser fruits.pgm
    

    ImageMagick 7 では convert の代わりに magick fruits.jpg fruits.pgm を使用する。