如果使用衝浪功能,這就是意味着浮子掀起矢量[128]或[64]取決於你衝浪配置你將被設定的神經網絡作爲遵循
- 創建與模型數據的基礎上:
-bikes
-cars
-autobus
-truck
-Take diferents照片每種類型的像10張照片diferents的模型關車,10張照片diferents的模型關閉自行車10張型動物模型關車......等對象的,每張照片關閉每個對象類提取它的衝浪特徵向量。
- 每種類型的對象都會代表神經網絡中的一類對象,像這樣;
-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
二進制repesentacion
- 每個位將被對應於一個神經元在網絡的輸出層和代表一類對象的要被識別
現在神經網絡的配置將基於該要以這種方式識別的特徵向量的大小和對象的類型的數量;
在輸入層nuerons的數目; 64或128根據大小關衝浪特徵矢量的所配置和使用
在神經網的輸出層nuerons的數量將是在這個例子中你想識別的對象類數4
每個神經元的激活函數都是sigmoid函數或tanh函數(http://www.learnartificialneuralnetworks.com/),因爲如果你使用畸形的fayures或另一個二進制局部特徵描述符(Brisk,ORB,BRief),那麼你將對每個神經元使用二進制激活函數,如step函數o sigm fun ction
用來訓練網絡的algoritm是反傳
之前繼續,您必須設置和準備數據集訓練神經網絡
例如
-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個神經元,輸入層有128個或64個神經元。
-識別模式下的神經網絡輸出將是這4個nueron中具有最高值的神經元。
因爲神經網絡的輸出是輸入向量屬於的概率,所以在開始訓練階段之前,其需要在區間[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
神經網絡訓練時,停止標準是recognittion率,它是接近85-90%
時
爲什麼使用神經網絡而不是svm機器,svm機器工作正常,但它不能在這樣的線性分類問題中做出最好的分離類映射,或者當您有很多diferents對象類或對象類型時,在識別階段的結果是預測
我recomended你讀一些有關神經網絡理論,瞭解它們是如何工作
http://link.springer.com/chapter/10.1007%2F11578079_10
OpenCV的具有機器學習類神經網絡MLP模塊
希望這可以幫助你
感謝您向我解釋如何使用神經網絡進行物體識別。 但是,在我的情況下可能不得不處理彼此接近的類似對象(例如,兩個相鄰的出租車)。我需要能夠單獨識別它們。神經網絡能夠幫助我解決這個問題嗎? 我覺得使用你提到的技術可以讓我識別車輛,但不能單獨分開它們(就像在兩輛出租車周圍畫一個矩形一樣) –