金子邦彦研究室人工知能Windows で動く人工知能関係 Pythonアプリケーション,オープンソースソフトウエア)vishwa91/pyimreg のインストールと動作確認(画像の位置合わせ)(Windows 上)

vishwa91/pyimreg のインストールと動作確認(画像の位置合わせ)(Windows 上)

SIFT (Scale-Invariant Feature Transform) は David Lowe による.1999年発表.特徴点(key point)の抽出と,回転,スケール変化,照明変化に頑健な特徴量(特徴点ごとの特徴量).

vishwa91/pyimreg は, 次の手順で,モノクロ画像の位置合わせ(レジストレーション)を行うプログラム

  1. 2つの入力画像を,それぞれモノクロ画像に変換
  2. それら2つのモノクロ画像について,SIFTを使い,「画像の特徴点」を抽出.
  3. 2つのモノクロ画像の「画像の特徴点」の対応をとる
  4. RANSAC により,位置合わせを行う

位置合わせ前

[image]

RANSAC を用いた位置合わせ後

[image]

その位置合わせのために,位置合わせの対象として用いた画像

[image]

関連する外部ページ

vishwa91/pyimreg (Image registration using SIFT and RANSAC algorithm) の Web ページ: https://github.com/vishwa91/pyimreg

前準備

Python のインストール(Windows 上)

サイト内の関連ページ

関連する外部ページ

Python の公式ページ: https://www.python.org/

vishwa91/pyimreg のインストールと動作確認(画像の位置合わせ)(Windows 上)

「David Lowe の SIFT キーポイント検出器」のインストール

  1. Windows で SIFT のインストール のWebページの手順を参考に,インストールする
  2. 環境変数 PATH を設定してパスを通す

動作に必要な Python パッケージのインストール

Windowsのメニューで,コマンドプロンプト管理者として実行

そして,次のコマンドを実行する.

python -m pip install -U scipy numpy pylab pillow

vishwa91/pyimreg のインストールと動作確認(画像の位置合わせ)(Windows 上)

GitHub の vishwa91/pyimreg の配布サイト (https://github.com/vishwa91/pyimreg)で公開されている プログラムを,ダウンロードし展開(解凍)する.

ここでの作業に使っているディレクトリ:

  1. ダウンロードしたいので,GitHub の vishwa91/pyimreg の Web ページを開く.

    https://github.com/vishwa91/pyimreg

  2. 「Clone or download」を展開.「Download ZIP」をクリック

  3. .zip ファイルのダウンロードが始まるので確認する. ファイル名は pyimreg-master.zip
  4. ダウンロードした .zip ファイルを展開(解凍)し,分かりやすいディレクトリに置く.

    Windows での展開(解凍)に便利な 7-Zip: 別ページ »で説明

    この .zip ファイルは,E:\pyimg-master\pyimg-master に展開(解凍)したものとして,説明を続けるので,適切に読み替えてください.

  5. 次の 2つのテスト画像を lena_std.jpg をもとに作った(金子研究室が制作). これら2つの画像を,分かりやすい名前で保存

    ◆ 画像1つめ (lena_std.jpg をビューワで表示して,スクリーンショット)

    「右クリックメニュー」などを使って保存して下さい

    ◆ 画像2つめ (lena_std.jpg を回転させたものをビューワで表示して,スクリーンショット)

    「右クリックメニュー」などを使って保存して下さい

  6. ransac.py を実行したいので,Windows コマンドプロンプト を開き,次のようにカレントディレクトリを移動
    E:
    cd E:\pyimg-master\pyimg-master
    

  7. ransac.py の実行

    先ほど保存した2つの画像ファイルのファイル名が E:\7.png, E:\8.png のときは 次のように実行.

    python ransac.py E:\7.png E:\8.png
    

  8. 表示を確認する

    コンソール: 1.pgm, 2.pgm と表示されるので,内部ではいったん濃淡画像(モノクロ画像)に変換されて処理されていることが分かる.

    画像表示:2つの画像の「画像の特徴点」の対応がとられたことが分かる.

  9. 画像表示の右上の「x」をクリックして,閉じる

  10. 画像が3つ表示されるので確認する.

    それぞれ,次のようです(未確認情報)