サーフ機能を使用する場合、それは、サーフ構成に応じて、フロートセットオフベクトル[128]または[64]を意味し、ニューラルネットは次のように設定されます。
-モデルを使用してデータベースを作成します。
-bikes
-cars
-autobus
-truck
-車からモデルを外した異なるモデルの写真10枚、自転車からモデルを外した異なるモデルの写真10枚、トラックからモデルを外した異なるモデルの写真10枚など、各タイプのオブジェクトの異なる写真を撮ります。各オブジェクトクラスの写真ごとに、サーフ特徴ベクトルを抽出します。
-各タイプのオブジェクトは、このようにニューラルネット内のオブジェクトの1つのオフクラスを表します。
-car ;object class 1 =binary representaation in 4 bits= 0 0 0 1
-bikes ;obejct class 2 =binary representaation in 4 bits= 0 0 1 0
-truck ;obejct class 3 =binary representaation in 4 bits= 0 0 1 1
-ball ;obejct class 4 =binary representaation in 4 bits= 0 1 0 0
-バイナリレペセンタシオンの各ビットは、ネットワークの出力層の1つのニューロンに対応し、認識されるオブジェクトの1つのクラスを表します。
これで、ニューラルネットワークの構成は、特徴ベクトルのサイズと、この方法で認識したいオブジェクトのタイプの数に基づきます。
入力層のニューロンの数;構成して使用したオフサーフ特徴ベクトルのサイズに応じて64または128
ニューラルネットの出力層のニューロンの数は、この例で認識したいオブジェクトのクラスの数になります4
各ニューロンに必要な活性化関数は、シグモイド関数またはtanh関数(http://www.learnartificialneuralnetworks.com/)です。これは、異常な機能または別のバイナリローカル機能記述子(Brisk、 ORB、BRief)次に、ステップ関数o sigm関数のように、各ニューロンにバイナリ活性化関数を使用します。
ネットワークのトレーニングに使用されるアルゴリズムはバックプロパゲーションです
続行する前に、ニューラルネットワークをトレーニングするためのデータセットを設定して準備する必要があります
例
-all feature vector extracted from picture belong a car will be label or asociated to class 1
-all feature vector extracted from picture belong a bike will be label or asociated to class 2
-all feature vector extracted from picture belong a truk will be label or asociated to class 3
-all feature vector extracted from picture belong a ball will be label or asociated to class 4
この例では、出力層に4つのニューロンがあり、入力層に1280r64のニューロンがあります。
-認識モードでのニューラルネットの出力は、この4つのニューロンの中で最も高い値を持つニューロンになります。
ニューラルネットの出力は、入力ベクトルが1つのクラスのオブジェクトに属する確率であるため、トレーニングフェーズを開始する前に、データセット内のすべての特徴に対して[0,1]の間隔で正規化を使用する必要があります。データセット内。
ネットワークをトレーニングするためのデータセットは、次のように分割する必要があります。
-70% off the data used to train
-15% off the data used to validate the network arquitecture (number of neurons in the hidden layyer)
-15% off the data used to test the final network
ニューラルネットワークをトレーニングする場合、停止基準は認識率であり、85〜90%に近い場合です。
なぜsvmマシンではなくニューラルネットを使用するのか、svmマシンは正常に動作しますが、このような線形分類の問題がない場合、または異なるオブジェクトクラスやオブジェクトのタイプが多数ある場合、この不足は最高の分離クラスマップを作成できません。認識フェーズの結果を正確に
ニューラルネットワーク理論について読んで、それらがどのように機能するかを理解することをお勧めします
http://link.springer.com/chapter/10.1007%2F11578079_10
opencvには、ニューラルネットmlpモジュールへの機械学習クラスがあります
これがあなたを助けることができることを願っています