手習ひデジタル信号処理(153) Scilab、{IPCV}、画像特徴点、つづき

Joseph Halfmoon

前回は画像特徴点抽出関数を「手習ひ」してみましたが、Helpファイル記載の8種類のアルゴリズムのうち5つでした。今回は残りの3つについて「手習ひ」してみたいと思います。評価するのなら計算量(速度)とかメモリ必要量とかも調べるのだろうけれど「抽出された」点を眺めてみるだけ。評価した論文等は多数あるみたい、後はよろ。

※「手習ひデジタル信号処理」投稿順 Indexはこちら

※Windows11上の    Scilab2024.0.0およびScilab上のScilab IPCVツールボックスを使用させていただいております。

今回手習ひする画像特徴点抽出関数

前回、一気に8種類の結果をならべようかと思ったのですが、並べると画像が小さくなりすぎてよく分からなかったです。そういう理由で以下3個積み残しました。

    • STAR
    • MSER、Maximally Stable Extermal Regions
    • GFTT、Good Features To Track

8個のアルゴリズムのうち、STARのみ、”stands for what” が分かりせぬ。他はみなそれらしい略語なのだけれども。まあ、計算はできるのでスルー。いい加減だな。

3種類だと賑わいが足らない、ということもあり、前回との「比較」ということもあり、以下の古典的?なアルゴリズムについては今回の結果にも含めてみることにいたしました。

    • SIFT、Scale-Invariant Feature Transformation
処理例のコード

前回の処理例と同じスタイルで、呼び出す関数のみ入れ替えたものが以下に。

S = imcreatechecker(8,8,[1 0.5]);
fobjSI = imdetect_SIFT(S);
fobjSTAR = imdetect_STAR(S);
fobjGFTT = imdetect_GFTT(S);
fobjMSER = imdetect_MSER(S, 1);
scf();
subplot(161); title('Original'); imshow(S);
subplot(162); title('SIFT'); imshow(S); plotfeature(fobjSI);
subplot(163); title('STAR'); imshow(S); plotfeature(fobjSTAR);
subplot(164); title('GFTT'); imshow(S); plotfeature(fobjGFTT);
subplot(165); title('MSER'); imshow(S); plotfeature(fobjMSER);
処理例結果

上記のコードを走らせた結果が以下に。featureDetection2upd

折角なので前回処理例と全8種並べてみたものが以下に。featureDetectionAllupd

いろいろあるのね。。。

手習ひデジタル信号処理(152) Scilab、{IPCV}、画像特徴点、いろいろあるけど? へ戻る

手習ひデジタル信号処理(154) Scilab、{IPCV}、一致する画像を見つける へ進む