目次
シリーズ記事ディレクトリ
完全なコード: Li Yiru - Gitee.com
この一連のブログは、コンピューター ビジョンの概念、原理、およびコードの実践に焦点を当てており、退屈な数学的導出は含まれていません (質問がある場合は、コメント欄で議論して指摘するか、プライベート メッセージで直接私に連絡してください)。 .
第 1 章 コンピューター ビジョン - 画像のノイズ除去とヒストグラムの均等化 (画像強調)_@李梦如的博客
第 2 章 コンピューター ビジョン - 車線 (道路の端) の検出_@李忆如的ブログ客-CSDN ブログ
第 3 章 コンピューター ビジョン - 画像の視覚的特徴の検出
あらすじ
このブログでは、主に画像顕著性検出(注目予測)の定義、原理、および関連するプロセスについて紹介します。従来の顕著性検出アルゴリズムとディープ ラーニング顕著性検出アルゴリズムをさまざまなデータ セットとさまざまなプラットフォームで調査および実践するために、Matlab での従来のアルゴリズムFast and Efficient Saliency (FES)とPython でのディープ ラーニング アルゴリズムMSI-Netが実験用に選択されました。 . さらに、いくつかのオープンソースプラットフォームでいくつかのオンライン注目予測の試みが行われ、効果を評価および比較するためにさまざまな評価基準が使用されました(同封されたデータ、python、matlab コード)
ゼロ、問題の説明
画像ベースの注意予測アルゴリズムを選択し、このアルゴリズムを使用して画像の注意領域を予測し、注意予測に共通の評価基準を使用して評価してください。ここでは、手法紹介、元画像、予測結果、評価結果をお願いします。
参考リンク:MIT Saliency Benchmark
1.画像顕著性検出
1. 定義
視覚的顕著性とは、現実世界のシーンで、人々が関心のある領域を自動的に識別し、関心のある領域を処理し、関心のない領域を無視することを意味します。
視覚的顕著性検出とも呼ばれる、画像からの注意予測。人間の視覚系の特性をインテリジェントなアルゴリズムによってシミュレートし、人間の視覚的な注視点と目の動きを予測し、画像内の顕著な領域(つまり、人間の関心のある領域)を抽出することを指し、この分野における重要な画像解析技術です。コンピュータビジョン。画像とその注意予測結果の例を図1に示します。
図 1いくつかの画像とその注意予測結果の例
2. 困難
1980 年にTreismanとGeladeによって提案された画期的なボトムアップの注意モデル 以来、多数の注意予測アルゴリズムが登場しました。主に 2 つの段階に分けることができます. 最初の段階は、強度、色、方向などの従来のスケール空間の手動機能に基づく注意予測アルゴリズムです。第 2 段階では、コンピューター ニューラル ネットワーク技術の革新と発展に伴い、ディープ ラーニングに基づく多数の注意予測アルゴリズムが登場しました。
従来の注目度予測アルゴリズムは、画像自体の空間的特徴に基づく特徴抽出・学習手法であるため、マルチセマンティクスなどの深い特徴に欠けており、人間の目とのギャップは依然として大きい、つまり、 , 人間の視線情報を検出することは困難です. 大量の高度な意味情報が含まれているため、予測効果の向上には限界があります. さらに、人々の注意メカニズムには特定の違いがあり、ほとんどの従来のモデルでは、事前情報が追加されておらず、対処が比較的困難です。
ディープ ラーニングの注意予測アルゴリズムの場合、畳み込みニューラル ネットワークでのダウンサンプリング操作により、特徴の解像度が徐々に低下し、その過程でさまざまなスケールに含まれる特徴情報が失われます。さらに、ディープ ラーニング アルゴリズムの設計は、ニューラル ネットワークの設計におけるさまざまなタスクに対して常に変更する必要があり、アルゴリズムはより複雑になります。さらに、ディープ ラーニング モデルには一般的に、解釈のしにくさ、ハードウェア環境に対する高い要件、および効率の低さという共通の欠点があります。
2.よく使われる評価基準と計算方法
1。概要
注意予測の一般的な評価基準は多面的です。
たとえば、従来の評価基準では、KL距離を使用して予測と実際の分布の間の距離を測定し、受信者動作特性曲線 ( ROC曲線) を使用して真陽性と偽陽性を測定し、正規化された予測された人間の目の走査経路は、実際の経路計算と相関させることができます。
In the MIT/Tuebingen Saliency Benchmark , a common used standard for paper experiment , IG , AUC, sAUC, NSS, CC, KLDiv, and SIM を使用して、さまざまな次元から評価します. 高いインデックスは、この中で強い注目と予測能力を表します.評価基準は、MIT/Tuebingen Saliency Benchmarkで詳しく説明されています。
他の側面では、それは、顕著な点の評価、領域の評価、主観的な評価などに基づくことができます。
2. ROS 曲線の詳細
この実験では、ROS 曲線を例に、注目度予測の一般的な評価基準と計算方法を詳しく紹介します。
2.1 混同マトリックス
二 項分類問題の場合、サンプルは、その真のカテゴリと学習者の予測されたカテゴリの組み合わせに従って、TP(真陽性) 、FP(偽陽性) 、TN(真陰性) 、FN(偽陰性) 、 TP+ FP+TN+FN=図2に示すように、サンプルの総数:
図 2 混同行列のサンプル分割
その中には、次の 3 つの定義通知があり、対応する式を図 3 に示します。
Ⅰ.真率 TPR : すべての陽性サンプルに対する、陽性であると予測され、実際に陽性であるサンプルの割合 (実際の結果は陽性サンプルです)。
Ⅱ.偽陽性率 FPR : 陽性であると予測されたが実際には陰性であると予測されたサンプルの、すべての陰性サンプルに対する割合 (実際の結果は陰性サンプル)。
Ⅲ.特異度(True Negative Rate) TNR:実際に陰性であり、陰性と判定されたサンプルの割合を指します。
図 3 混同行列の 3 つの関連式の計算
2.2 ROC曲線の紹介
ROC 曲線は、いくつかの異なる基準の下での同じ信号刺激への応答の結果です. 真陽性と偽陽性を測定するために使用されます. 分類モデルを視覚化するためのツールです. その中で、図4に示すように、他の4つの一般的な評価基準の計算方法があります。
図 4 一般的な 4 つの評価基準の計算方法
2.3 ROC曲線の描画とその基準
上記の説明と混同行列の定義によれば、ROC曲線の横座標と縦座標は無関係であるため、ROC曲線を関数曲線として分析することはできません.ROC曲線は無数の点とみなされるべきであり、各点は分類子。横軸は分類器のFPR 、縦軸は分類器のTPRです。インポートの例を図5に示します。
な
図5 ROC曲線の描画例
分析: 図 5 に示すように、分類器の品質を評価するために必要なのは、位置と関連するパラメーターを比較することだけです。サンプル中の C' のパフォーマンスが最高です。B の正解率はわずか 0.5 で、ほぼランダムな分類です。このうち、図の左上隅にある座標 (1,0) の点が完全分類点 (完全分類) であり、すべての分類が正しいことを意味します。
補足: 実際の ROC 曲線の描画は、複数の分類子を描画するだけで済みます。
2.4 ROC 曲線の補足
ROC 分類器の特定の分類基準を図 6 に示し、利点と機能を表 1 に示します。
な
図 6 ROC 分類基準
表 1 ROC 曲線の利点と機能
アドバンテージ |
効果 |
1 . シンプルで直感的 |
1.特定のしきい値でサンプルを識別する分類子の能力を調べる |
2.クラス分布の変化に鈍感 |
2.特定の診断方法に最適な診断カットオフ値を選択する |
3.他の評価基準に拡張可能 |
3. 疾患を特定する 2 つ以上の異なる診断方法の能力を比較する |
補足: AUC (Area Under Curve) も注意予測の一般的な評価基準です. ROC 曲線と座標軸で囲まれた面積として定義されます. 当然, この面積の値は 1 より大きくなりません. また、ROC 曲線は一般に直線 y=x よりも上にあるため、AUC の値の範囲は 0.5 ~ 1 です。AUCが 1.0 に近いほど、検出方法の信頼性が高く、0.5 に等しい場合、信頼性が最も低く、適用価値がありません。
三、高速で効率的な Saliency (FES)
この部分では、FES アルゴリズムを使用して、画像の注目領域を予測します. 関連する情報と設定を表 2 に示します。
表 2 FES アルゴリズム関連の情報と設定
公式データセット |
CAT2000 |
関連論文 |
LNCS 6688 - スパース サンプリングとカーネル密度推定を使用した高速で効率的な顕著性検出 (springer.com) |
送信元アドレス |
GitHub - hrtavakoli/FES: スパース サンプリングとカーネル密度推定を使用した高速で効率的な顕著性検出のコード |
言語 |
マトラブ |
1.アルゴリズムの紹介
注意予測は、コンピューター ビジョンで多くの注目を集めています。この論文では、著者は中心周辺法を使用して注意予測を研究しました。サンプルを図 7 に示します。提案された方法は、ベイジアンフレームワークの下で局所特徴コントラストの顕著性を推定することに基づいています。望ましい分布は、特にスパース サンプリングとカーネル密度推定を使用して推定されます。さらに、この方法の性質は、文献で中心バイアスと呼ばれるものを暗に考慮に入れています。
この論文の方法は、人間の目の固定位置をグラウンド トゥルースとして含むデータセットである CAT2000 で評価されます。結果は、最先端の方法 (2011 年) と比較して 5% 以上の改善を示しています。さらに、この方法はリアルタイムで実行するのに十分高速です. FES を使用した注意予測の前後の画像サンプルを図 8 に示します。
な
図7 センター回りの方法例
な
図 8 注意予測に FES を使用する前後の画像
2. プロジェクトのインポートと分析
github と入力して、対応するプロジェクトをダウンロードします。プロジェクトに含まれるファイルとディレクトリを表 3 に示します。
表 3 FES プロジェクト ファイル ディレクトリ
名前 |
効果 |
calculateImageSaliency.p |
単一スケールの画像顕著性の計算 |
calculateFinalSaliency.m |
複数のスケールで画像の顕著性を計算する |
runSaliency.m (メイン ファイル) |
プロミネンスの計算方法を示すサンプル ファイル |
前のマット |
学習によって得られた事前確率 |
プロジェクトを Matlab にインポートし、コードを観察して分析し、図 9 に示すようにアルゴリズム フローを要約します。
な
図 9 Matlab での FES のアルゴリズム フロー
3. FESの注目度予測練習
図 9 のアルゴリズム フローに従って、最初にテストする画像フォルダー データと保存フォルダーの結果を定義し、次に runSaliency.m を実行します。実験での元の画像と予測画像のサンプルを図 10 に示します。
な
図 10 FES 注意予測前後の画像サンプル
分析: MatlabR2020aで FES を実行して10 枚の画像の注目度を予測すると、 3.122 秒かかります。これは、高速で効率的な特性と一致しています。図 10 では、予測効果が原理と一致していることがわかります。評価結果については、後で詳しく説明します。
4. 評価結果
FES アルゴリズムの注意予測効果を合理的に評価するために、この実験では、紙の実験で一般的に使用される標準である MIT/Tuebingen Saliency Benchmark を使用します。表 4 に示す:
表 4 FES 参照予測性能指標 (CAT2000 データセット)
AUC |
電話 |
NSS |
CC |
KLDiv |
SIM |
0.8212 |
0.5450 |
1.6103 |
0.5799 |
2.6123 |
0.5255 |
評価システムの公式の依存関係ライブラリはpysaliency python ライブラリであるため、matlab 関連の依存関係を見つけることは無駄です. したがって、ネットワーク法を使用して、さまざまな指標で FES の評価を実現します. 参考ドキュメントは次のとおりです。
①AUS: AUC値の計算 (matlab) - zhouerba - ブログパーク (cnblogs.com)
②sAuc:顕著性検出評価のためのsAUC(shuffled AUC)のMatlabコード実装 index_a18861227's Blog - CSDN Blog
③NSS: Matlab有意性検出モデル性能測定のNSS_Qさんのブログ - CSDNブログ
④CC: Matlab 有意性検出モデル 性能測定 線形相関係数 CC_Mr.Q's Blog - CSDN Blog_Correlation Coefficient cc
⑤KLDiv:KLDIV - ファイル交換 - MATLAB Central (mathworks.com)
⑥SIM:有意性検出 SIM アルゴリズム--Matlab_matlabsim-画像処理コード リソース-CSDN ライブラリ
評価基準コードを matlab に接続した後、(3) のサンプルに対してMIT/Tuebingen Saliency Benchmark評価を行い、実験結果と論文結果の比較データを表 5 に示し、効果の比較を示します。図 11:
表 5 論文と実験における異なる評価基準の下での FES のデータ要約
な
な
図 11 論文と実験における異なる評価基準での FES の効果の比較
分析: 表 5 と図 11 から、AUC、sAUC、NSS、および KLDiv の 4 つの評価基準では、実験データは論文データよりもわずかに低く、他の 2 つの評価基準では実験データはわずかに低いことがわかります。論文データよりもわずかに高い. この理由はデータセットに関連しています.一般的に言えば, フィッティング効果はより優れており, FESアルゴリズムは論文で提案された高効率と高評価効果 ( 2011 )の特性に準拠しています. .
4.MSIネット
この部分では、MSI-Net アルゴリズムを使用して画像の注目領域を予測します. 関連する情報と設定を表 6 に示します。
表 6 MSI-Net アルゴリズム関連の情報と設定
公式データセット |
MIT300 |
関連論文 |
|
送信元アドレス |
GitHub - alexanderkroner/saliency: 視覚的顕著性予測のためのコンテキスト エンコーダー - デコーダー ネットワーク [Neural Networks 2020] |
言語 (フレームワーク) |
Python (テンソルフロー) |
参照文書 |
1.アルゴリズムの紹介
予測タスクでは、シーンに存在するオブジェクトを検出する必要があることに注意してください。堅牢な表現を開発するには、高レベルの視覚的特徴を複数の空間スケールで抽出し、コンテキスト情報で補足する必要があります。この論文では、著者は、大規模な画像分類タスクで事前にトレーニングされた畳み込みニューラル ネットワークに基づくアプローチを提案しています。図 12 に示すように、このアーキテクチャはエンコーダ-デコーダ構造を形成します。また、マルチスケール機能を並行してキャプチャするために、異なる膨張率を持つ複数の畳み込み層のモジュールが含まれています。さらに、結果の表現をグローバル シーン情報と組み合わせて、視覚的顕著性を正確に予測します。
私たちのモデルは、2 つの公共的顕著性ベンチマークの複数の評価指標で競争力のある一貫した結果を達成し、5 つのデータセットと選択された例で提案された方法の有効性を示します。最先端の方法 (2020 年) と比較して、ネットワークは軽量の画像分類バックボーンに基づいているため、人間のパフォーマンスを推定する (仮想) ロボット システムなど、計算リソースが限られているアプリケーションに適した選択肢を提供します。複雑な自然シーンで固定。注意予測に MSI-Net を使用する前後の画像サンプルを図 13 に示します。
図 12 エンコーダ/デコーダ アーキテクチャのブロック図
補足: 図 12 に示すように、VGG16 バックボーンは、最後の 2 つの最大アンサンブル レイヤーのフィーチャ ダウンサンプリングを省略して、密な予測タスクの要件を考慮するように変更されています。マルチレベルのアクティベーションは ASPP モジュールに転送され、さまざまな空間スケールで並行して情報が取得されます。最後に、入力画像の寸法は、デコーダ ネットワークを介して復元されます。畳み込み層の下の小文字は、対応する特徴マップの数を示します。
図 13 この論文では、注意予測の前後の画像に MSI-Net を使用しています
2. プロジェクトのインポートと分析
github と入力して、対応するプロジェクトをダウンロードします. プロジェクトに含まれるファイル、コア機能、および環境構成を図 14 に示します. プロジェクトを Pycharm にインポートし、コードを観察および分析し、図 15 に示すようにアルゴリズム フローを要約します。
図 14 MSI-Net プロジェクト ファイルとコア機能および環境構成
図 15 Pycharm での MSI-Net のアルゴリズム フロー
3. MSI-Netの注目度予測練習
3.1 環境構築と設定
図 14 に示すように、プロジェクトは、対応する環境と関連する依存関係がインストールされた後にのみ正常に実行できます。環境のマッチングおよび構成プロセス中に、次の問題が発生しました。
Ⅰ. 不足機能の問題: バージョン処理前、私が使用している環境は tensorflow2.10 であり、実行時に不足機能の問題が発生します (図 16 を参照)。
図 16 実行中の関数の欠落関数
Ⅱ. Tensorflowダウングレード問題: 問題Ⅰを解決するには、ダウングレードが必要です。私が使用する Python は 3.8 であり、MSI-Net プロジェクトで必要な tensorflow1.x バージョンをサポートしていないため、https://storage.googleapis.com/tensorflow/mac/cpu/の情報を検索した後、pip install --upgradeを使用します。 tensorflow -1.14.0-py3-none-any.whlコマンドは、図 17 に示すようにバージョンを減らします。
図 17 tensorflow による強制劣化
Ⅲ. 環境選択の問題: ダウングレード後も正常に動作しない githubの公式ドキュメントを参照したところ、アルゴリズムの動作はGPUとCPUの両方を提供していることがわかりました (デフォルトはGPU動作です).図 18 に示すように、config.py の "device" を変更する必要があります。
図 18 スイッチング アルゴリズム環境メソッド
3.2 データセットのダウンロードまたはインポート
Github の MSI-Net プロジェクトはデフォルトでSALICONデータセットを使用し、自動的にキャプチャできるデータセットには「salicon、mit1003、cat2000、dutomron、pascals、osie、fiwi」が含まれます。トレーニング コードを実行すると、データ セットが存在するかどうかが検出され、存在しない場合は自動的にダウンロードされます (この実験では、手動でダウンロードしてインポートすることを選択します)。
3.3 トレーニング
python main.py trainコマンド を使用してトレーニングを開始します。デフォルトのエポックは 10 です。
3.4 テスト (注意予測)
③で訓練したモデルを使うか、(紙の)公式サイトで著者から与えられたパラメータを直接使ってテストします。コマンドはpython main.py test -d DATA -p PATHです。このうち、DATA はトレーニングに使用するデータ セットに相当し、事前のトレーニングがない場合は、トレーニング済みの重みをインターネットから直接ダウンロードして評価します。PATH は、テストする画像のアドレスに対応します。これは、複数の画像または単一の画像にすることができます。最終的なトレーニング結果は results/images/ に配置されます。
実験の元の画像と予測画像のサンプルを図 19 に示します。
図 19 MSI-Net の注意予測前後の画像サンプル
分析: Pycharm2021で MSI-Net を実行して10 枚の写真の注目度を予測すると、4.712 秒(テスト時間) かかります。図 19 では、予測効果が原理と一致していることがわかります。評価結果については後で詳しく説明します。
4. 評価結果
MSI-Net アルゴリズムの注意予測効果を合理的に評価するために、この実験では、紙の実験で一般的に使用されている標準的なMIT/Tuebingen Saliency Benchmarkを使用します. MIT300 データの下で MSI-Net 論文によって与えられた参照指標セットを表 7 に示します。
表 7 MSI-Net 参照予測性能指標 (MIT300 データセット)
IG |
AUC |
電話 |
NSS |
CC |
KLDiv |
SIM |
0.9185 |
0.8738 |
0.7787 |
2.3053 |
0.7790 |
0.4232 |
0.6704 |
4.1 評価基準コードの実装
評価システムの公式の依存ライブラリはpysaliency python ライブラリなので、Python は関連する依存関係を直接使用できます。
Ⅰ. 注意予測評価のソースコードを直接使用: まず、github の関連ソースから https://github.com/matthias-k/saliency-benchmarking を直接ダウンロードして評価できます。
Ⅱ. pysaliencyライブラリを直接使用する: 図 20 に示すように、pip ツールを使用してライブラリをインストールし、公式ドキュメントと参考ドキュメントに従ってコードを記述します。
図 20 pysaliency ライブラリを使用して評価基準を実装する
4.2 MSI-Netの評価
評価基準コードを Pycharm に接続した後、(3) のサンプルに対してMIT/Tuebingen Saliency Benchmark評価を行い、実験結果と論文結果の比較データを表 8 に、効果比較を示します。図 21:
表 8 論文と実験における異なる評価基準の下での MSI-Net のデータ要約
図 21 論文と実験における異なる評価基準での MSI-Net の効果の比較
分析: 表 8 および図 21 から、IG、AUC、sAUC、NSS、および SIM の 5 つの評価基準では、実験データは論文データよりもわずかに低く、他の 2 つの評価基準では、実験データは論文データよりわずかに高い, 違いの理由はデータセットと一定の関係があります.全体として, フィッティング効果はより優れており, MSI-Netアルゴリズムは軽量で高い評価効果の特性に適合しています ( 2020 )が 論文 で 提案 さ れ た.
5.オンラインプラットフォームと統合ソフトウェア
上記の github プロジェクトとコードに加えて、このセクションで紹介する、より便利に注意予測を完了することができるオンライン プラットフォームと統合ソフトウェアがいくつかあります。
1.ディープゲイズⅡ
DeepGaze は一連の注意予測アルゴリズムであり, DeepGaze I, DeepGaze II, DeepGaze IIE および DeepGaze III を含みます. 注意予測のさまざまな評価基準の下で依然として主導的な位置にあります. 関連情報を表 8 に示します.
表 8 DeepGaze アルゴリズム関連の情報と設定
公式データセット |
MIT300とCAT2000 |
関連論文 |
多くの記事 |
送信元アドレス |
GitHub - matthias-k/DeepGaze: さまざまな DeepGaze モデルの pytorch 実装 |
言語 (フレームワーク) |
Python (パイトーチ) |
その中で、DeepGaze IIは、 ユーザーが注意予測を行うためのオンライン プラットフォームを作成しました。アドレスは次のとおりです。インターフェイスには、図 22 に示すように、次の 2 つの設定があります。
1.1 機種選定
DeepGaze II オンライン プラットフォームは、DeepGaze II モデルの使用とICF (強度コントラスト機能) モデルの使用という 2 つのモデルを提供します。
1.2 センターバイアスの設定
DeepGaze II オンライン プラットフォームは、中心バイアスを使用しない (つまり、以前のように一様分布を使用する)とMIT1003 データセットから中心バイアスを使用するという 2 つの中心バイアス設定を提供します。
図 22 DeepGaze IIオンライン プラットフォームの画像送信設定
注意予測には DeepGaze II オンライン プラットフォームを使用します。元の画像と予測画像のサンプルを図 23 に示します (例として、DeepGaze II モデルを使用し、MIT1003 データセットの中心バイアスを使用します)。
図 23 DeepGaze II 注意予測前後の画像サンプル
補足:DeepGaze II オンラインプラットフォームでは評価方法が提供されていないため、ここでは効果の評価は行いません。
2. AttentionInsight統合ソフトウェア
AttentionInsight は注意予測のアルゴリズムであり、統合ソフトウェア (デモ バージョン) を開発しました。アドレスは次のとおりです: Attention Insight Heatmaps | AI-Driven Pre-Launch Analytics、注意予測のサンプルを図 24 に示します。
図 24 前後の AttentionInsight の注意予測画像サンプル
6. まとめと比較
異なるアルゴリズムと注意予測によって生成された画像の違いを調べるために、上記のアルゴリズムによって生成された画像をまとめて比較します。サンプルを図 25 に示します。
図 25 さまざまなアルゴリズムとモデルの注意予測前後の画像サンプル
分析: さまざまなアルゴリズムとモデルで使用されるさまざまな標準により、設計プロセスが異なり、結果も当然異なります。
7.参考文献
1. Liu Ruihang. 視覚的顕著性予測法の研究. 2022. 中国鉱業大学、修士論文.
2. Sun Xia、Shi Zhiru. "A Review of Visual Saliency Prediction." Electronic Design Engineering 25.09(2017):189-193. doi:10.14022/j.cnki.dzsjgc.2017.09.047.
3.脳と認知の実験: 画像の注目領域の予測_Asionm のブログ - CSDN ブログ
4.視覚的顕著性検出_Baidu Encyclopedia (baidu.com)