2
load fisheriris
xdata = meas(51:end,3:4);
group = species(51:end);
svmStruct = svmtrain(xdata,group,'showplot',true);



species = svmclassify(svmStruct,[5 2],'showplot',true)
hold on;plot(5,2,'ro','MarkerSize',12);hold off

上記のコードは結果を与えます--->species='virginica'

種は「virginica」として分類されます。これは1つの画像です。この分類プロセスは「画像検索」と呼ぶことができますか?

それとも、画像検索と呼ばれるために、多くの画像を検索する必要がありますか?

4

1 に答える 1

6

画像分類: トレーニング セットと呼ばれるデータ セットでモデルをトレーニングし、トレーニング セットとは切り離されたデータ セットを使用してテストします (最も重要)。

画像検索: クエリ画像を指定して、クエリ画像に「最も近い」画像をデータベースから取得します。ここで、「最も近い」という用語は、色、形状、テクスチャなどに関するものです。したがって、「最も近い」を決定するものは、ユーザーが自分のニーズに合わせて設計されたアルゴリズムに従って計算する画像の特徴ベクトルです。

分類と検索の主な違い: 分類にはトレーニング データのラベルが必要ですが、検索には必要ありません。検索は、純粋に距離ベースのアプローチです。

さて、あなたの質問に移ります。これは検索とは呼ばれません。これは、クエリ画像のクラスを教えてくれるだけで、同様の画像を提供していないためです。ここで、これらのような画像を 100 枚分類し、100 枚のうち 50 枚が特定のクラスに属している場合、それらは類似した画像として表示できると主張するかもしれません。これは正しいです?私の見解では、答えはノーです。車がある画像とない画像を分類する必要がある例を考えてみましょう。(完全) 分類の場合、50 枚の画像すべてに必ず車が含まれます。しかし、(完全) 検索の場合、50 枚の画像すべてに同じ色の車、小さい車、大きい車などがあります。これが違いです。

一番上に検索された画像が分類結果と言えます。それは可能です。ただし、ここでも非常に強力な分類アルゴリズム (SVM、ランダム フォレスト、ブースティング、複数インスタンス学習など) がありますが、検索の場合はそうではありません (私の知る限り)。したがって、分類を行いたい場合は、検索の上位結果を取得せず、常に分類専用のアルゴリズムを使用します。

要約すると、ラベルを必要とせず、何らかの属性 (色、テクスチャ、形状など) に関して取得するプロセスを取得と呼びます。分類はラベルが必要な場所であり、カテゴリに関して行われます (たとえば、車/車なし、人/人なし、自然/人工など)。

これであなたのコンセプトが明確になることを願っています。

于 2013-02-27T09:36:59.810 に答える