detector意思 怎么區(qū)分樣本是正樣本還是負(fù)樣本?
怎么區(qū)分樣本是正樣本還是負(fù)樣本?(1)準(zhǔn)備訓(xùn)練樣本集,包括正樣本集和負(fù)樣本集,根據(jù)機(jī)器學(xué)習(xí)的基本知識,我們知道使用機(jī)器學(xué)習(xí)算法進(jìn)行樣本訓(xùn)練,要得到性能良好的分類器,訓(xùn)練樣本應(yīng)該是無限的,訓(xùn)練樣本應(yīng)該覆
怎么區(qū)分樣本是正樣本還是負(fù)樣本?
(1)準(zhǔn)備訓(xùn)練樣本集,包括正樣本集和負(fù)樣本集,根據(jù)機(jī)器學(xué)習(xí)的基本知識,我們知道使用機(jī)器學(xué)習(xí)算法進(jìn)行樣本訓(xùn)練,要得到性能良好的分類器,訓(xùn)練樣本應(yīng)該是無限的,訓(xùn)練樣本應(yīng)該覆蓋所有的樣本在實際應(yīng)用過程中可能出現(xiàn)的各種情況。(很多朋友用10個陽性樣本和10個陰性樣本進(jìn)行訓(xùn)練。之后,他們進(jìn)行測試,發(fā)現(xiàn)效果并不像他們想象的那么好。他們開始抱怨。。。對于這些人,我很遺憾地說,你仍然處于機(jī)器學(xué)習(xí)和模式識別的初級階段。在實際應(yīng)用過程中,訓(xùn)練樣本不能無限,但無論如何,三五千個陽性樣本和三五千個陰性樣本應(yīng)該不難吧?(如果你連這個都做不到,我建議你不要從事機(jī)器學(xué)習(xí)和模式識別。如果你沒有培訓(xùn)材料,你怎么能讓機(jī)器學(xué)到足夠的信息?)(2) 在收集了足夠的訓(xùn)練樣本之后,需要手動剪切它們。例如,如果要在商業(yè)步行街的監(jiān)控圖像中使用hog-SVM檢測行人,則需要使用采集到的訓(xùn)練樣本集對圖像中的行人進(jìn)行手動切割(可以編寫一個簡單的程序,只需點擊鼠標(biāo)框保存選中的區(qū)域)。(3) 剪切訓(xùn)練樣本后,將所有陽性樣本放在一個文件夾中;將所有陰性樣本放在另一個文件夾中;并將所有訓(xùn)練樣本縮放到相同的大小。Opencv自己的示例通過將樣本縮放到64*128來訓(xùn)練;(4)提取所有陽性樣本的hog特征;(5)提取所有陰性樣本的hog特征;(6)為所有陽性和陰性樣本分配樣本標(biāo)簽;例如,所有陽性樣本標(biāo)記為1,所有陰性樣本標(biāo)記為0;(7) 提取豬的正負(fù)樣本特征和標(biāo)簽,考慮到速度問題,DALAL提出采用線性SVM進(jìn)行訓(xùn)練。在這里,我們也可以使用線性支持向量機(jī);(8)支持向量機(jī)訓(xùn)練后,將結(jié)果保存為文本文件。(9) 在訓(xùn)練線性支持向量機(jī)后得到的文本文件中,有一個數(shù)組,叫做supportvector,還有一個數(shù)組,叫做alpha,帶有一個浮點數(shù),叫做rho。將alpha矩陣與supportvector相乘,注意alpha*supportvector將得到一個列向量。之后,在列向量的末尾添加元素Rho。這樣,它就變成了一個分類器。使用這個分類器,您可以直接替換opencv中的默認(rèn)分類器(CV::hogdescriptor::setsvmtector()),然后您可以使用訓(xùn)練樣本訓(xùn)練的分類器進(jìn)行行人檢測。