Перейти к содержимому
Compvision.ru

privetvision

Пользователи
  • Количество публикаций

    51
  • Зарегистрирован

  • Посещение

  • Days Won

    2

Все публикации пользователя privetvision

  1. Метод опорных векторов

    Отступление: Перебрал кучу разных статей по 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? И как все-таки мы построили гиперплоскость? Как получить координаты гиперплоскости? Что-то я упустил
  2. Метод опорных векторов

    Вы лучше скажите, что делать после того как как вычислил производные по лямбда 1, 2, 3. Мне главное математически понять, а там закодить получится.
  3. Метод опорных векторов

    Что касаемо этого метода, то вот ловушка.
  4. Метод опорных векторов

    Народ хелп...
  5. Метод опорных векторов

    Я попробовал через множители Лагранжа сделать, но застрял здесь. Пробовал найти производную по лямбда 1, 2, 3 объеденить в систему в решить, но в итоге крамером не решается, т.к. бесконечное множество решений, а гаусс выдал x = -3, y = -2, но это не совпадает с решением на этом сайте.
  6. Метод опорных векторов

    В общем сделал как на первом видео. Я ошибся, вектор нормали был (3;0), а не (0;3) поэтому там все нормально. Только вот проблема, получается этот упрощенный метод только для двух точек?
  7. Метод опорных векторов

    Правильно ли я понимаю, что после того, как мы уровняли расстояние от прямой до точек из разных кластеров, мы должны поворачивать эту прямую вокруг своей оси на 360*, чтобы найти максимальное расстояние. Хотя, так подумав, максимальным расстоянием до прямой между двумя точками будет перпендикурялр опущенный к центру этого расстояния
  8. Метод опорных векторов

    Мне тут подсказали, что тут зацикливание будет, мол находится новая ближайшая точка, а на след. итерации предыдущая точка стала ближе и так зациклимся.
  9. Метод опорных векторов

    А если так выбреем?
  10. Метод опорных векторов

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

    Вы можете объяснить на этом примере, как получить численно W
  12. Метод опорных векторов

    И все-таки, начал делать на яве, простой вопрос, как найти вектор весов (нормаль к гиперпроскости) ? Если у нас такой случай, как на картинке ниже и если мы будем делать как видео в первом посте, то W = (0:3) что полная чушь...
  13. Недавно стало известно, что приложение MSQRD купил Facebook за 10 млрд руб. (российских) MSQRD - мобильное приложение, созданное Белорусскими разработчиками (10 человек). Понятно, что такие деньги были отвалены за быстрый алгоритм трекинга лица, то и правда лицо находит без лагов и задержек, часто хватает даже небольших черт лица. Пробовал кто-нибудь ресерчить и пробовать ускорять имеющиеся алгоритмы?
  14. Метод опорных векторов

    Ну вот, я этот момен описал более детальнее: Хм, вот этого раньше не встречал! Круто! Вопрос, перпендикуляр это вектор нормали, он же w в нашем алгоритме верно? хм, не понял зачем делить координаты ВСЕХ точек? Что это дает? например точка p7 (3; 2) ее коорды делить на ||w||/2, пусть ||w|| = 10, тогда будет p7 / 5, в итоге у нас будет новый вектор p7 (3/5; 2/5), что он дает? п.с. извиняюсь за глупые вопросы, приходится разобраться в алгоритме, чтобы реализовать на яве.
  15. Метод опорных векторов

    Я про самое начало, на примере рассматриваются 2 точки, а если их больше будет? Где сам алгоритм выбора этих 2-ух точек? Граница ищется относительно этих 2 точек, а как их выбрать, если их множество. Тут на ум приходит только самый крайний левый и крайний правый. А вы уже рассказываете конец алгоритма.
  16. Метод опорных векторов

    Вот вопрос, в начале когда у нас два класса: круги и квадраты, нам надо найти: 1. крайний правый круг для левого класса 2. крайний левый квадрат для правого класса? Путем сравнения координат по x и y? А дальше работать с этими двумя точками, как в алгоритме выше
  17. Метод опорных векторов

    Постепенно подкапываюсь к понимаюнию. Только вот, что это такое? Двойной модуль? Или корень от квадрата w? И немного перепутал w и w0, в первом случае это вектор весов или нормали к гиперплоскости, а w0 - это омега, какое-то число, пока не понял для чего. П.С. что-то хостинг периодически жалуется на лимит ресурсов процессора
  18. Выделение по цвету кожи

    Попытаюсь структурировать всю свою кашу в голове: По совету дипломного руководителя изображение переводится в 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? Цепляя другие объекты типо дверей и мебели? Подскажите как быть?
  19. Выпуклые и дефектные точки

    Что с точки зрения математики представляют собой выпуклые и дефектны точки? Каким образом они находятся. Проще говоря мне нужно понять внутренность opencv-ой функции convexityDefects. Как я понимаю: Что-то похоже на график функции, если он пошел на спад по Y, то это начальная точка выпуклая, потом в цикле ищется конечная выпуклая точка, которая должна быть >= по Y начальной точке, если так, то мы нашли начальную и конечную выпуклые точки. Затем находим точку дефектную в пределах этого отрезка, фильтруем по глубине.
  20. Выпуклые и дефектные точки

    Отличная и понятная инфа на русском!
  21. Выпуклые и дефектные точки

    А как ищутся выпуклые точки с точки зрения математики?
  22. opencv gpu

    Есть такая проблема, видео с одной камеры отображается быстро, но если в этой же программе поулчать кадры со второй камеры, то начинает подтормаживать. В чем зарыта проблема? Что является узким горлышком? Пробовал разбивать на два отдельных потока, для каждой камеры свой, но результата не дало. Вот погуглил про GPU, есть у кого примерчик простой, как получать с камеры поток кадров и распараллелить вычисления на gpu? Только не понятно, из вычислений - только поток кадров получаем, подойдет ли для этого GPU.
  23. opencv gpu

    В общем целый день про*ался, в итоге так и не получилось собрать gpu под mingw. Валится на 56%, поиск в гугле ничего не дает, уже что только не искал... Скрин ошибки.
  24. opencv gpu

    Пишу на Qt в Qt Creator
  25. Заметил такую вещь, когда освещение плохое, движение руки происходит быстро, без лагов, как только увеличить освещение в помещении, то видна задержка обработки, рука перемещается уже с лагами. Как это называется, где копать? Как можно получать быстрее кадры, но хуже по качеству?
×