Из вашего вопроса я могу понять, что вы хотели знать, что такое 1 62 336 функций.
Из 4 оригинальных функций альта Джонса (http://en.wikipedia.org/wiki/Viola%E2%80%93Jones_object_detection_framework)
Мы можем сгенерировать 1 62 336 функций, изменяя размер 4 исходных функций и их положение на входном изображении 24 * 24.
Например, рассмотрим один из исходных объектов, который имеет два прямоугольника, примыкающих друг к другу. Предположим, что размер каждого прямоугольника равен 1 пикселю. Первоначально, если один прямоугольник присутствует на (0,0) изображения 24 * 24, то он считается одним элементом, а теперь, если вы перемещаете его по горизонтали на один пиксель (до (1,0)), он считается вторым элементом как его положение меняется на (1,0). Таким образом, вы можете перемещать его по горизонтали до (22,0), создавая 23 функции. Точно так же, если вы перемещаетесь по вертикальной оси от (0,0) до (0,23), вы можете создать 24 функции. Теперь, если вы перемещаетесь по изображению, охватывающему каждую позицию (например, (1,1), (1,2).....(22,23)), то вы можете создать 24 * 23 = 552 функции.
Теперь, если мы рассмотрим, что ширина каждого прямоугольника составляет 2 пикселя, а высота - 1 пиксель. Первоначально, если один прямоугольник присутствует на (0,0) и перемещается по горизонтальной оси до (20,0), как сказано выше, тогда у нас может быть 21 функция, так как его высота одинакова, если мы двигаемся по вертикальной оси от (0, 0) до (0,23) у нас может быть 24 признака. Таким образом, если мы переместимся так, чтобы покрыть каждую позицию на изображении, то у нас может быть 24 * 21 = 504 функции.
Таким образом, если мы увеличиваем ширину каждого прямоугольника на один пиксель, сохраняя высоту каждого прямоугольника равной 1 пикселю каждый раз, когда мы покрываем полное изображение, так что его ширина изменяется от 1 пикселя до 24 пикселей, мы не получаем. признаков = 24*(23+21+19.....3+1)
Теперь, если мы рассмотрим ширину каждого прямоугольника в 1 пиксель и высоту в 2 пикселя. Первоначально, если один прямоугольник присутствует на (0,0) и перемещается по горизонтальной оси до (23,0), то мы можем иметь 23 функции, поскольку его ширина составляет 1 пиксель, а его высота составляет 2 пикселя, если мы двигаемся по вертикальной оси. от (0,0) до (0,22), то у нас может быть 23 признака. Таким образом, если мы переместимся так, чтобы покрыть каждую позицию на изображении, то у нас может быть 23 * 23 = 529 признаков.
Точно так же, если мы увеличим ширину каждого прямоугольника на один пиксель, сохраняя высоту каждого прямоугольника равной 2 пикселям каждый раз, когда мы покрываем полное изображение, так что его ширина изменится с 1 пикселя на 24 пикселя, мы не получим. признаков = 23*(23+21+19.....3+1)
Теперь, если мы увеличим высоту каждого прямоугольника на 1 пиксель после изменения ширины каждого прямоугольника с 1 пикселя до 24 пикселей, пока высота каждого прямоугольника не станет 24 пикселя, тогда
нет. признаков = 24*(23+21+19...3+1) + 23*(23+21+19...3+1) + 22*(23+21+19... ..3+1) +...................+ 2*(23+21+19.....3+1) + 1*(23+21+ 19.....3+1)
= 43,200 features
Теперь, если мы рассмотрим 2-й исходный элемент альта Джонса, который имеет два прямоугольника с одним прямоугольником над другим (то есть прямоугольники расположены вертикально), поскольку это похоже на 1-й исходный элемент альта Джонса, он также будет иметь
нет. функций = 43 200
Точно так же, если мы будем следовать описанному выше процессу, из 3-го исходного элемента альта Джонса, который имеет 3 прямоугольника, расположенных вдоль горизонтального направления, мы получим
нет. признаков = 24*(22+19+16+....+4+1) + 23*(22+19+16+....+4+1) + 22*(22+19+16+ ....+4+1) +................+ 2*(22+19+16+....+4+1) + 1*(22 +19+16+....+4+1)
=27,600
Теперь, если мы рассмотрим другой объект, который имеет 3 прямоугольника, расположенных вертикально (то есть один прямоугольник над другим), мы получим
нет. функций = 27 600 (поскольку это похоже на 3-ю оригинальную функцию Виолы Джонса)
Наконец, если мы рассмотрим 4-й оригинальный элемент альта-джонса, который имеет 4 прямоугольника, мы получим
кол-во признаков = 23*(23+21+19+......3+1) + 21*(23+21+19+......3+1) + 19*(23+ 21+19+......3+1) ...............+ 3*(23+21+19+......3+ 1) + 1*(23+21+19+......3+1)
= 20,736
Теперь суммируя все эти характеристики получаем = 43 200 + 43 200 + 27 600 + 27 600 + 20 736
= 1,62,336 features
Таким образом, из более чем 1 62 336 функций Adaboost выбирает некоторые из них, чтобы сформировать сильный классификатор.
person
Hemanth
schedule
03.01.2015