Pull to refresh

Comments 10

Я правильно понимаю, что нынче принято два раза не бегать и сразу CNN features тренировать или использовать готовые? Или где-то вот такие подходы все ещё лучше выступают?
В методе Виолы-Джонса еще можно встретить, но в основном вы правы, эффективней и проще использовать CNN. Ведь в отличие от LBP и других «ручных» дескрипторов, CNN может использоваться как универсальный нелинейный экстрактор фич.
Это не так. Во-первых, никогда универсальные методы не будут эффективнее частных. Проще — да. Во-вторых, экстракторы признаков с нуля хорошо работают на малом количестве классов объектов или когда у классов есть простые различия (кошечки полосатые / собачки пятнистые). При увеличении количества классов и усложнении признаков различения объём обучающей выборки и вычислительные затраты на получение качественных признаков неконтролируемо растут (в худшем случае экспоненциально). «Ручные» дескрипторы они же эвристики это те же самые «фичи», только извлечённые в результате биологической/социальной эволюции и пока автоматические экстракторы по мощности не приблизятся к возможностям эволюции применение эвристик всегда будет иметь смысл для оптимизации вычислительных затрат.
Не согласен с вами. Поясню.

Под универсальностью мы с вами понимаем разные вещи. Действительно, если говорить о универсальности эвристических дескрипторов (т.е. тех, которые создаются вручную), то дескриптор, тщательно подобранный для определенной задачи, не будет также эффективен на другой задаче. Здесь я с вами согласен — за универсальность мы платим свою цену. К примеру, если мы возьмем тот же детектор углов Харриса, то он будет искать именно точки интереса, напоминающие углы, а LBP будет применяться в задачах, объекты которых имеют текстуру. Это ограниченный набор задач. В таком ракурсе универсальности можно говорить об обученной сети, которую пытаются применить для разных задач.

НО! Здесь я имею в виду универсальность в том плане, что CNN может быть одинаково эффективно обучена для выделения фич на разных задачах. Т.е. CNN это именно универсальный инструмент, как и другие методы машинного обучения. Из эвристических дескрипторов аналоги CNN в этом смысле это SURF или SIFT.

И я категорически не согласен с вашим утверждением, что эвристики разработаны «в результате биологической/социальной эволюции». Они разработаны именно людьми и именно с их позиции видения мира. Уже больше десяти лет назад было доказано, что CNN обладают способностью извлекать скрытые признаки, которые слабо заметны человеку.

Про то, что CNN могут работать хорошо только на малом количестве объектов я с вами не соглашусь также. В качестве примера можно взять распознавание лиц, когда обучение идет на ограниченном небольшом наборе данных (сотни тысяч), а верификация уже на сотнях миллионах данных (личностей, ранее не встречаемых в обучении).

Наглядное подтверждение моих слов это результаты конкурсов computer vision последних лет — все строчки топов занимают CNN или другие методы машинного обучения.
Вы пытаетесь мне объяснить то, что я и так уже давно знаю. ) Вопрос был в том, как соотносится применение эвристик и обобщённых методов. Чтобы обобщённые методы хорошо работали, им нужен большой объём статистики. С усложнением задачи этот объём ещё больше растёт и наступает момент, когда с практической точки зрения метод уже применить нельзя. Не хватает либо вычислительных ресурсов, либо времени и нужно сваливаться в частные решения, чтобы остаться в рамках требований. Поэтому утверждения, что обобщённые методы полностью могут заменить частные решения не соответствуют действительности.

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

Чтобы конструктивно спорить на такие темы, нужно передавать смысл слишком многих понятий. Маленькими текстами тут не обойтись )
Тогда давайте остановимся на том, что каждый высказал свое мнение :)
Viola-Jones это face detector, да? Поди RCNN уже тоже заруливает
Viola-Jones не только для детекции лиц применяется, но и вообще для детекции разных объектов. Однако, именно в детекции лиц у него очень хороший показатель точность_детекци /вычислительные_затраты. Удачный алгоритм. Особенно хороша возможность многомасштабности.

RCNN достаточно тяжелая в сравнении с тем же V.-J. Да и сетка GoogLeNet его уже обошла, хотя смысл там тот же — сегментация объектов -> распознавание.
То, что описано в «основной идее» ещё и Census transform называется.
Sign up to leave a comment.

Articles