2013-11-17 4 views
1

Я прочитал статью о методе Виола-Джонса для обнаружения объекта и смущен несколькими вещами.Виола - метод jones adaboost

1 - Для Adaboost каждый раунд означает, что мы вычисляем все функции 160k на всех изображениях, затем находим ту, которая имеет наименьшую ошибку (которая, как я понимаю, является «слабым классификатором», пожалуйста, исправьте меня, если я ошибаюсь). Если да, то это не займет много времени, чтобы тренироваться на большом наборе изображений, которые могут занять несколько месяцев? А также сколько раундов вы запустите, если это будет правильно.

2 Если вышеуказанная точка не соответствует действительности, значит ли это, что для каждой функции мы оцениваем все изображения без лица и лица с помощью одной функции и сравниваем ее с определенным допустимым порогом ошибки, а если она лежит ниже этот приемлемый порог, тогда мы используем эту функцию как слабый классификатор, а затем обновляем весы, прежде чем использовать следующую функцию из 160 тыс. функций.

Я пробовал понимать код MATLAB по этой ссылке http://www.ece301.com/ml-doc/54-face-detect-matlab-1.html, но не уверен, правильно ли он реализовал adaboost.

Было бы также очень полезно, если бы была ссылка, которая объясняла бы adaboost, используемую Viola-Jones простым и понятным способом.

ответ

1

AdaBoost пробует несколько слабых классификаторов в течение нескольких раундов, выбирая лучший слабый классификатор в каждом раунде и комбинируя лучший классификатор для создания сильного классификатора.

Пример AdaBoost:

Data point Classifier 1 Classifier 2  Classifier 3 
x1    Fail   pass    fail  
x2    Pass   fail    pass 
x3    fail   pass    pass 
x4    pass   fail    pass 

AdaBoost можно использовать классификатор, которые постоянно неправильно, поменяв свое решение.

+1

привет спасибо за ответ, но он до сих пор не уточнил мой вопрос об Adaboost. Хотя это помогло мне понять каскадную часть благодарности. – medz91

+0

Я обновил его, надеюсь, теперь его ясно. – Amador

+1

Попробуйте открыть CV Viola-Jones Face Detection в Matlab. – Amador

0

1) Да. Если ваши параметры, скажем, 5000 положительных окон и 5000 отрицательных (извлеченные из набора негативных фоновых изображений, которые вы предоставили изначально), то на каждом этапе каждая функция оценивается поочередно для всех 10000 окон, а лучшая добавляется к набор функций. И да, в оригинальной работе Viola-Jones каждая особенность - слабый классификатор.
Процесс проверки всех функций займет много времени, но не недель. На самом деле шея бутылки - это сбор негативных вдов на последних этапах, чем может потребоваться дни или недели. Количество раундов зависит от достижения данных условий. Каждый этап требует нескольких раундов (обычно больше на заключительных этапах). Так, например: для этапа 1 требуются 3 функции (3 раунда), для этапа 2 требуется 5 функций (5 раундов), этап 3 требует 6 функций (6 раундов) и т. Д.

2) Вышеуказанная точка верна, поэтому Не применяйте.

+0

, так что вы попробуете 160 000 штук для каждого положительного и отрицательного? –

+0

Да, и процесс для каждого раунда не так долго, как казалось бы. –

+0

Thanks.yes, я прошел через opencv-код. еще раз спасибо –