如何利用opencv進行樣本訓練

時間 2023-01-14 10:10:03

1樓:匿名使用者

支援向量機或分類器都可以。你網上搜一搜。

如何用opencv訓練自己的分類器

2樓:包開習凌雪

目標檢測方法最初由paul

viola[viola01]提出,並由rainer

lienhart

[lienhart02]對這一方法進行了改善。該方法的基本步驟為:

首先,利用樣本(大約幾百幅樣本**)的。

harr特徵進行分類器訓練,得到一個級聯的boosted分類器。

分類器中的"級聯"是指最終的分類器是由幾個簡單分類器級聯組成。在影象檢測中,被檢視窗依次通過每一級分類器,這樣在前面幾層的檢測中大部分的候選區域就被排除了,全部通過每一級分類器檢測的區域即為目標區域。

分類器訓練完以後,就可以應用於輸入影象中的感興趣區域的檢測。檢測到目標區域分類器輸出為1,否則輸出為0。為了檢測整副影象,可以在影象中移動搜尋視窗,檢測每一個位置來確定可能的目標。

為了搜尋不同大小的目標物體,分類器被設計為可以進行尺寸改變,這樣比改變待檢影象的尺寸大小更為有效。所以,為了在影象中檢測未知大小的目標物體,掃描程式通常需要用不同比例大小的搜尋視窗對**進行幾次掃描。

目前支援這種分類器的boosting技術有四種:

discrete

adaboost,real

adaboost,gentle

adaboost

andlogitboost。

"boosted"

即指級聯分類器的每一層都可以從中選取一個boosting演算法(權重投票),並利用基礎分類器的自我訓練得到。

根據上面的分析,目標檢測分為三個步驟:

1、樣本的建立。

2、訓練分類器。

3、利用訓練好的分類器進行目標檢測。

3樓:將星蕭敬曦

哪個模型?haarlike+adaboost?還是其它ml模型?

如果是haarlike+adaboost做物體檢測,請度娘:opencv之_haartraining演算法剖析,如果是其它的ml模型,請呼叫相應模型的train,完成後會生成xml檔案,然後preict即可。

如何使用opencv 訓練分類器以及訓練過程中的問題

如何利用opencv自帶的級聯分類器訓練程式訓練分類器

4樓:網友

首先,需要說明的是,opencv自帶的haar training提取的特徵是haar特徵 分類器是adaboost級聯分類器(如需瞭解adaboost演算法, 。所謂的級聯分類器,就是將若干的簡單的分量分類器(可以理解為一般的普通分類器)依次串聯起來,最終的檢測分類結果,要依次通過所有的分量分類器才能算是一個有效的檢測分類結果。否則,就認為當前檢測區域內沒有我們需要找的目標。

利用opencv自帶的haar training程式訓練一個分類器,需要經過以下幾個步驟:

(1)收集訓練樣本:

訓練樣本包括正樣本和負樣本。正樣本,通俗點說,就是**中只有你需要的目標。而負樣本的**只要其中不含有目標就可以了。

但需要說明的是,負樣本也並非隨便選取的。例如,你需要檢測的目標是汽車,那麼正樣本就應該是僅僅含有汽車的**,而負樣本顯然不能是一些包含天空的,海洋的,風景的**。因為你最終訓練分類器的目的是檢測汽車,而汽車應該出現在馬路上。

也就是說,分類器最終檢測的**應該是那些包含馬路,交通標誌,建築物,廣告牌,汽車,摩托車,三輪車,行人,自行車等在內的**。很明顯,這裡的負樣本應該是包含摩托車、三輪車、自行車、行人、路面、灌木叢、花草、交通標誌、廣告牌等。

另外,需要提醒的是,adaboost方法也是機器學習中的一個經典演算法,而機器學習演算法的前提條件是,測試樣本和訓練樣本獨立同分布。所謂的獨立同分布,可以簡單理解為:訓練樣本要和最終的應用場合非常接近或者一致。

否則,基於機器學習的演算法並不能保證演算法的有效性。此外,足夠的訓練樣本(至少得幾千張正樣本、幾千張負樣本)也是保證訓練演算法有效性的一個前提條件。

5樓:逆戰風雲

網上提供的級聯分類器訓練都是基於opencv_haartraining。照著上面的步驟成功訓練出了xml,但是用於識別的過程中,識別率很低。改換幾次樣本後,檢測效果還是一般。

想想估計是自haar特徵不能很好區分,所以想通過opencv_traincascade訓練下lbp。將經驗寫下來,供自己以後回顧和其它人參考。

工具/原料。

(版本以上均可)

方法/步驟。

1準備好正負樣本**,正樣本就是含有目標的**,負樣本就是不還有目標的**,建好資料夾,如圖所示。其中正樣本**最好是裁剪成同一尺寸,我這裡是建成30*30,便於後期的說明檔案的建立。**的我使用的是美圖看看,批量工具,可以批量將**改成同一尺寸。

2建立正負樣本說明檔案,在cmd下進入pos資料夾目錄裡,輸入 dir /b > 用editplus開啟該檔案,刪除最後一行,最後將名字歸一化如下所示:同樣的方法進入neg資料夾內,用同樣的方法建立描述檔案neg.

txt,用editplus開啟該檔案,只需刪掉最後一行。

3建立vec檔案:將opencv_和 opencv_traincascade.

exe放到**資料夾的上層目錄,利用opencv_應用程式在該目錄下使用如圖cmd命令:

其中的-vec是指定後面輸出vec檔案的檔名,-info指定正樣本描述檔案,-bg指定負樣本描述檔案,-w和-h分別指正樣本的寬和高,-num表示正樣本的個數。執行完該命令後就會在當前目錄下生產一個檔案了。

4使用opencv_檔案進行訓練。

首先在當前目錄下新建一個dt資料夾用於存放生成的。xml檔案。

在當前目錄使用cmd命令:

d:\>opencv_ -data dt -vec -bg neg/ -numpos 100 -n

umneg 300 -numstages 16 -precalcvalbufsize 200 -precalcdxbufsize 1000 -featurety

pe lbp -w 30 -h 30截圖如下:其中-data 輸出目錄,-numpos正樣本數目-numneg負樣本數目-numstages訓練級數。

如何利用Excel工具進行抽樣,如何用excel進行抽樣

御溥五潔 用excel資料分析工具進行抽樣 奇點人生 用excel資料分析工具進行抽樣有二種方法 第一種 舉例 excel 中一列有3000多個資料,我想在這3000多個資料中隨機抽取200個出來,3000多個都是文字的資料在一列裡面,要隨機抽取出200個出來要怎麼做呢?而且要多次可以取隨機的,就是...

怎樣進行部落格營銷,如何利用部落格營銷?

一般部落格都是發專業性的文章,或者故事性經驗性的文章順帶做一下營銷比較好,最好的方式是做部落格 效率高。 煞 開展部落格營銷我個人想法如下 1.首頁要確定你所在的行業是否適合進行網際網路營銷。2.確定你所在的行業適合做網路營銷後,請定位你的客戶群體,確定了客戶群體以後,再去找相關的一些相關的門戶 以...

企業如何利用期貨進行套期保值

1 生產者的賣期保值 不論是向市場提供農副產品的農民,還是向市場提供銅 錫 鉛 石油等基礎原材料的企業,作為社會商品的 者,為了保證其已經生產出來準備提供給市場或尚在生產過程中將來要向市場 商品的合理的經濟利潤,以防止正式 時 的可能 而遭受損失。可採用賣期保值的交易方式來減小 風險,即在 市場以賣...