Пороговое значение Виолы-Джонса Значение ошибки Хаара

Я прочитал статью об альте от 2004 года. В 3.1 они объясняют расчет порога. Но я очень смущен. Это читается как

Для каждой функции примеры отсортированы по значению функции.

Вопрос1) Отсортированный список представляет собой список значений признаков Хаара, рассчитанных из интегрального изображения примеров. Итак, если у нас есть функция и 10 изображений (положительных и отрицательных). мы получаем 10 результатов, связанных с каждым входным изображением.

Затем оптимальный порог AdaBoost для этой функции можно вычислить за один проход по этому отсортированному списку. Для каждого элемента в отсортированном списке поддерживаются и оцениваются четыре суммы: общая сумма весов положительных примеров T +, общая сумма весов отрицательных примеров T -, сумма положительных весов ниже текущего примера S+ и сумма отрицательных весов. веса ниже текущего примера S-

Вопрос 2) какова цель сортировки. Я предполагаю, что тот, у кого самый высокий, лучше всего описывает изображение. Но алгоритмически как это влияет на (S-S+T+T-).

Вопрос3) Теперь для отсортированного списка вычисляем (S-S+T+T-). Означает ли это, что каждая запись имеет свою собственную (S-S+ T-T+) или есть только одна (S-S+ T-T+) для всего списка.

Ошибка для порога, который разделяет диапазон между текущим и предыдущим примерами в отсортированном списке: e = min (S+ + (T − − S−), S− + (T + − S+)) ,

Вопрос 4) Это несколько отвечает на мой предыдущий вопрос, но я не уверен. Итак, для того, чтобы у нас было "e" для каждого входного изображения. Нам нужно сохранить (S-S+ T-T+) для каждой записи в списке. Но что мы делаем с «e» после того, как вычислим N из них (по одному для каждого изображения) для этой функции.

Заранее спасибо. Пожалуйста, дайте мне знать, если это сбивает с толку или вам нужны дополнительные разъяснения по моим вопросам.


person Evren Bingøl    schedule 23.08.2016    source источник


Ответы (1)


Вопрос1) Отсортированный список представляет собой список значений признаков Хаара, рассчитанных из интегрального изображения примеров. Итак, если у нас есть функция и 10 изображений (положительных и отрицательных). Мы получаем 10 результатов, связанных с каждым входным изображением.

Вы получаете 10 результатов для функции, по одному результату, связанному с каждым входным изображением. Каждое изображение помечается как положительное или отрицательное.

Вопрос 2) какова цель сортировки. Я предполагаю, что тот, у кого самый высокий, лучше всего описывает изображение. Но алгоритмически как это влияет на (S-S+T+T-).

Изображение с самым высоким значением — это изображение с самым высоким откликом на эту функцию. Вы сортируете по ответу, а не по весу.

Причина, по которой вы их сортируете, заключается в том, что вы пытаетесь вычислить две вещи: "сумму положительных весов ниже текущего примера S+ и сумму отрицательных весов ниже текущего примера S-". Если список отсортирован, вы можете сохранить текущую сумму, и в каждой точке все примеры, веса которых вы добавили к сумме до этого момента, будут иметь ответ функции меньше (т.е. «ниже») текущего примера. Это не работает, если список не отсортирован. Затем вы можете оценить ошибку, связанную с использованием уровня ответа на полпути между этим примером и следующим в качестве порога.

Вопрос3) Теперь для отсортированного списка вычисляем (S-S+T+T-). Означает ли это, что каждая запись имеет свою собственную (S-S+ T-T+) или есть только одна (S-S+ T-T+) для всего списка.

В каждом примере будет один S- и один S+, потому что это "сумма положительных весов ниже текущего примера". T+ и T- рассчитываются для всего списка, я не знаю, почему говорят, что нужно поддерживать его для каждого элемента.

Вопрос 4) Это несколько отвечает на мой предыдущий вопрос, но я не уверен. Итак, для того, чтобы у нас было "e" для каждого входного изображения. Нам нужно сохранить (S-S+ T-T+) для каждой записи в списке. Но что мы делаем с «e» после того, как вычислим N из них (по одному для каждого изображения) для этой функции.

Вы выбрали минимум из всех из них, и это оптимальное место для размещения порога (который будет средней точкой ответов этих двух примеров), потому что он имеет минимальную ошибку (ложные срабатывания + ложные отрицания). Кстати, причина, по которой в каждой точке есть два варианта (т. е. e = min (S+ + (T − − S−), S− + (T + − S+))), заключается в том, что вы можете выбрать, следует ли сделать порог таким, чтобы значения выше этого уровня отклика считаются положительными (первый член), а значения ниже этого уровня считаются положительными.

Если первое, то S+ — это ваши ложные срабатывания, (T- — S-) — ваши ложноотрицательные результаты. Если последнее, то S- — ваши ложноотрицательные результаты, а (T+ — S+) — ваши ложноположительные результаты.

person samgak    schedule 24.08.2016
comment
Таким образом, мы либо выбираем (S+ + (T − − S−)) либо S− + (T + − S+)) на протяжении всего процесса обучения. И если мы выберем первый термин, это означает, что все, что выше этой точки (этот индекс в отсортированном списке), правильно классифицировано (положительно, то же самое?), Это дает нам (общее количество правильно классифицированных) / (Все примеры) Когда я увидел Я думал, что «минимум» мы вычисляем как (S+ + (T - - S-)) и S- + (T + - S+)) и делаем мин на их выходах. Но вы говорите, что «минимум» относится к выбору наименьшего результата из (S + + (T - - S-)) или S - + (T + - S +)) по списку. - person Evren Bingøl; 24.08.2016
comment
Это то же самое в любом случае, не так ли? Вам просто нужен общий минимум для всех элементов и обоих вариантов. - person samgak; 24.08.2016
comment
Я не думаю, что это то же самое. первый термин помечает все, что ниже текущего примера, отрицательным, а все, что выше, положительным, а второй - противоположным, что меняет полярность. Пожалуйста, поправьте меня, если я ошибаюсь. Просто напомним, что вы говорите, что вам нужно рассчитать оба термина, получить их минимальное значение и сохранить его как значение ошибки с полярностью, а затем просмотреть каждое значение ошибки, которое мы сохранили для каждого примера, и выбрать наименьшую минимальную ошибку. и назначаем его этой функции как последнюю ошибку, и где мы получаем ошибку в списке, это порог. - person Evren Bingøl; 26.08.2016
comment
Неважно, я обнаружил, что вы вычисляете как правый, так и левый термин, получаете его минимум и назначаете эту ошибку этому примеру, а затем зацикливаете список и выбираете минимум. Я запутался с термином min, который нужно использовать для выбора наименьшего термина или выбора минимума в списке. Я думаю, вы получаете минимальное количество условий, а затем получаете минимальную ошибку списка. Спасибо - person Evren Bingøl; 27.08.2016
comment
[это очень хорошо объяснено.] (courses.cs.washington. образование/курсы/cse455/16wi/заметки/) - person Evren Bingøl; 27.08.2016