2013-02-28 72 views
3

我試圖創建訓練樣本(並隨後訓練分類器)。我很懷疑在samplesamples和traincascade中使用的-h-w參數。我看到的例子通常使用較小的值,但我的訓練圖像(負值和正值)顯着較大(480x640),而我正在訓練的對象通常佔據圖像的75-100%。看起來這些參數並沒有問到圖像的大小(它可以簡單地從圖像中拉出來),但我懷疑它也沒有要求圖像中對象的大小。如果我必須猜測(而且我寧願不),更大的尺寸可能會導致更好的檢測精度,但會增加訓練期間的計算負擔。OpenCV創建樣本和traincascade參數(寬度和高度)

有人可以請描述這些參數實際上是什麼意思?我見過的大多數例子都使用24x24或40x40以上的默認值,但是從我看不到的情況來看,絕不會高得多。

回答

6

這些小圖像值是您想要訓練分類器的正面(對象)。實際框架中的對象可能具有任意大小,因爲級聯分類器適用於圖像的各種比例。

Here是一個很好的教程,幫助我訓練自己的分類器。用於訓練的裁剪圖像的尺寸可能更大,但是當您運行createsamples時,您需要指定縮放正面紋理的尺寸。這些新的微小樣本是那些用於分類器的樣本。這也影響級聯分類器的速度,這就是爲什麼它們通常體積很小的原因。

如果我沒有弄錯,背景圖片的尺寸可能會更大,但我記得我仍然在裁剪小圖片中的背景圖片。

當你與你的真實數據爲640x480運行你的分類,你指定的最小尺寸的限制了積極的可以(當然這個值應該是至少 -h您之前指定-w的大小)和也是最大預期大小。

哈爾檢測器將僅在您的測試圖像中的窗口範圍內搜索對象,該窗口範圍可以像您想要的那樣大。

+0

我試圖最終檢測到的對象非常詳細。想想一張帶有幾段文字和一些圖像的紙。我很難理解這些微小的圖像如何在所有細節都在這個範圍內失去時提供幫助。我使用了錯誤的方法嗎?我是否應該在「紙張」上訓練個別特徵(每個段落或圖像分別進行訓練?) – 2013-02-28 18:13:07

+4

haartraining最初用於人臉識別,其主要方法是強度特徵。類似於[此處]描述的內容(http://en.wikipedia.org/wiki/Viola%E2%80%93Jones_object_detection_framework)。這個尺度適用於臉部。如果其強度有足夠的變化,它也可以用於其他物體。這是一種基於對比差異而不是模式或邊緣的方法,這就是爲什麼小型訓練集幫助更好。 – 2013-03-01 09:15:34

+0

如果這是您的問題的正確方法,我不能給你一個具體的答案,也許別人有更多的經驗。但我確信,即使在訓練集很小的情況下,它也可以適用於面積較大的面部,並且它也適用於面部以外的對象。 – 2013-03-01 09:17:58