privetvision
Пользователи-
Количество публикаций
51 -
Зарегистрирован
-
Посещение
-
Days Won
2
Все публикации пользователя privetvision
-
Отступление: Перебрал кучу разных статей по svm и везде одно и тоже, ну так сухо рассказывают, просто жесть, такое ощущение, что читатели априори математики. И нигде нет примера на пальцах, ну как же без примера? Ну на кой черт сухие формулы пихать. Достаточно одного рабочего примера, что вот это X, а это Y, тут 1 а тут 2, теперь складываем, получаем вектор, это дает нам это, а вот дальше делим на это число и получаем. НО нет, они рассказывают все заумными фразами, что мне хочется зевать. Проблема. Не могу найти пример на пальцах (с подставленными значениями), точнее нашел, но не полный. Что мне не понятно. Понятно, что надо найти максимальное расстояние между двумя группами объектов и гиперплоскость Не понимаю что делать в самом начале алгоритма. Вот у нас имеется квадраты и кружочки. 1. Находим крайнюю кружочек и крайний квадрат.2 2. Получаем их координаты, на видео это x1 = (1,1) и x2 = (2,3) 3. Потом ищется вектор весов (или нормали) w = (2,3) - (2,1) = (1, 2) = (a, 2a) - первый вопрос зачем? Что это? 4.Потом берется формула w*x1 - w0 = 1 и w*x2 - w0 = -1. Что такое w0? 5. Далее подставляем в формулу значения и выражаем w0 = 1 - 8a и w0 = -1 - 3a 6. Выражаем одно через другое, 1 - 8a = -1 -3a, 5a = 2, и получаем a =2/5 7. Потом подставляем a = 2/5 в формулу w0 = 1 - 8a и получаем w0 = - 11/5 8. Подставляем a=2/5 в вектор w = (a, 2a) = (2/5, 4/5) - повторный вопрос это что за вектор? 9.Ну и наконец мы подставляем координаты вектора w в формулу g(x) = 2/5 * z1 + 4/5 * z2 - w0. Тут вопрос, что это за функция g(x), что это за значения z1 и z2? И как все-таки мы построили гиперплоскость? Как получить координаты гиперплоскости? Что-то я упустил
-
Вы лучше скажите, что делать после того как как вычислил производные по лямбда 1, 2, 3. Мне главное математически понять, а там закодить получится.
-
Что касаемо этого метода, то вот ловушка.
-
Народ хелп...
-
Я попробовал через множители Лагранжа сделать, но застрял здесь. Пробовал найти производную по лямбда 1, 2, 3 объеденить в систему в решить, но в итоге крамером не решается, т.к. бесконечное множество решений, а гаусс выдал x = -3, y = -2, но это не совпадает с решением на этом сайте.
-
В общем сделал как на первом видео. Я ошибся, вектор нормали был (3;0), а не (0;3) поэтому там все нормально. Только вот проблема, получается этот упрощенный метод только для двух точек?
-
Правильно ли я понимаю, что после того, как мы уровняли расстояние от прямой до точек из разных кластеров, мы должны поворачивать эту прямую вокруг своей оси на 360*, чтобы найти максимальное расстояние. Хотя, так подумав, максимальным расстоянием до прямой между двумя точками будет перпендикурялр опущенный к центру этого расстояния
-
Мне тут подсказали, что тут зацикливание будет, мол находится новая ближайшая точка, а на след. итерации предыдущая точка стала ближе и так зациклимся.
-
А если так выбреем?
-
Мне кажется так не сработает, потому что не понятно какой брать наклон гиперплоскости
-
Вы можете объяснить на этом примере, как получить численно W
-
И все-таки, начал делать на яве, простой вопрос, как найти вектор весов (нормаль к гиперпроскости) ? Если у нас такой случай, как на картинке ниже и если мы будем делать как видео в первом посте, то W = (0:3) что полная чушь...
-
Приложение MSQRD купил Facebook за 10 млрд руб.
privetvision добавил тему в Обсуждение общих вопросов
Недавно стало известно, что приложение MSQRD купил Facebook за 10 млрд руб. (российских) MSQRD - мобильное приложение, созданное Белорусскими разработчиками (10 человек). Понятно, что такие деньги были отвалены за быстрый алгоритм трекинга лица, то и правда лицо находит без лагов и задержек, часто хватает даже небольших черт лица. Пробовал кто-нибудь ресерчить и пробовать ускорять имеющиеся алгоритмы? -
Ну вот, я этот момен описал более детальнее: Хм, вот этого раньше не встречал! Круто! Вопрос, перпендикуляр это вектор нормали, он же w в нашем алгоритме верно? хм, не понял зачем делить координаты ВСЕХ точек? Что это дает? например точка p7 (3; 2) ее коорды делить на ||w||/2, пусть ||w|| = 10, тогда будет p7 / 5, в итоге у нас будет новый вектор p7 (3/5; 2/5), что он дает? п.с. извиняюсь за глупые вопросы, приходится разобраться в алгоритме, чтобы реализовать на яве.
-
Я про самое начало, на примере рассматриваются 2 точки, а если их больше будет? Где сам алгоритм выбора этих 2-ух точек? Граница ищется относительно этих 2 точек, а как их выбрать, если их множество. Тут на ум приходит только самый крайний левый и крайний правый. А вы уже рассказываете конец алгоритма.
-
Вот вопрос, в начале когда у нас два класса: круги и квадраты, нам надо найти: 1. крайний правый круг для левого класса 2. крайний левый квадрат для правого класса? Путем сравнения координат по x и y? А дальше работать с этими двумя точками, как в алгоритме выше
-
Постепенно подкапываюсь к понимаюнию. Только вот, что это такое? Двойной модуль? Или корень от квадрата w? И немного перепутал w и w0, в первом случае это вектор весов или нормали к гиперплоскости, а w0 - это омега, какое-то число, пока не понял для чего. П.С. что-то хостинг периодически жалуется на лимит ресурсов процессора
-
Попытаюсь структурировать всю свою кашу в голове: По совету дипломного руководителя изображение переводится в CIELAB формат, но везде почему-то используют HSV, кто прав? И в чем преимущества Lab'a перед HSV? Как я понял существуют несколько способов распознавания по цвету кожи: 2.1 Ранжирование диапазона значений каждого канала. Я использую следующий код: cvtColor(vFrame, vFrameLab, cv::COLOR_BGR2Lab); inRange(vFrameLab, Scalar(mLmin, mAmin, mBmin), Scalar(mLmax, mAmax, mBmax), vFrameLab); imshow("LAB", vFrameLab); 2.2 Выделение мышкой участков кожи и поиск таких участков на изображении. Цитата из данной статьи: 2.3 Модификация метода (дипломный руководитель называет это калибровкой), суть: 10-20 секунд камера снимает руку при этом вычитая задний фон и запоминает яркость руки. После этого она должна по идеи распознавать только цвет кожи. Появились проблемы на пункте 2.1 ранжирование диапазонов каналов. 3.1. Сильно зависит от освещенности, при дневном свете нужны одни параметры, например: mLmin = 60; mLmax = 155; mAmin = 120; mAmax = 143; mBmin = 139; mBmax = 161; А при искусственном освещении другие. 3.2. объекты похожие на цвет кожи: дверь, мебель и т.д. цепляются и в итоге становится каша на изобажении. Конечный результат который надо получить: У всех ли так работает метод 2.1? Цепляя другие объекты типо дверей и мебели? Подскажите как быть?
-
Что с точки зрения математики представляют собой выпуклые и дефектны точки? Каким образом они находятся. Проще говоря мне нужно понять внутренность opencv-ой функции convexityDefects. Как я понимаю: Что-то похоже на график функции, если он пошел на спад по Y, то это начальная точка выпуклая, потом в цикле ищется конечная выпуклая точка, которая должна быть >= по Y начальной точке, если так, то мы нашли начальную и конечную выпуклые точки. Затем находим точку дефектную в пределах этого отрезка, фильтруем по глубине.
-
Отличная и понятная инфа на русском!
-
А как ищутся выпуклые точки с точки зрения математики?
-
Есть такая проблема, видео с одной камеры отображается быстро, но если в этой же программе поулчать кадры со второй камеры, то начинает подтормаживать. В чем зарыта проблема? Что является узким горлышком? Пробовал разбивать на два отдельных потока, для каждой камеры свой, но результата не дало. Вот погуглил про GPU, есть у кого примерчик простой, как получать с камеры поток кадров и распараллелить вычисления на gpu? Только не понятно, из вычислений - только поток кадров получаем, подойдет ли для этого GPU.
-
В общем целый день про*ался, в итоге так и не получилось собрать gpu под mingw. Валится на 56%, поиск в гугле ничего не дает, уже что только не искал... Скрин ошибки.
-
Заметил такую вещь, когда освещение плохое, движение руки происходит быстро, без лагов, как только увеличить освещение в помещении, то видна задержка обработки, рука перемещается уже с лагами. Как это называется, где копать? Как можно получать быстрее кадры, но хуже по качеству?