Jump to content
Compvision.ru

All Activity

This stream auto-updates     

  1. Today
  2. Над дорогой установлена камера с ик подсветкой. На фото наблюдаю непонятные артефакты - обведены на снимке. На разных фото они всегда в разных местах. Иногда они появляются над автомобилем, иногда перед ним, иногда их нет совсем. Но если они есть, то всегда недалеко от автомобиля. Что это такое может быть?
  3. Last week
  4. Называется transfer learning. https://towardsdatascience.com/transfer-learning-from-pre-trained-models-f2393f124751
  5. Оу..Спасибо, а не подскажите какой-нить документ или пример со "срезанием слоев".. или правильное название этого действия(можно english) чтоб прогуглить. Не хватает знаний матчасти в том, как это сделать.. и, к примеру, сколько слоев срезать..Спасибо..
  6. Сейчас в основном дообучают, берут готовую сеть, срезают последние слои, на их место ставят свои. При обучении исходные слои "замораживают" (ставят скорость обучения в 0). Сеть при этом учится быстро.
  7. Здравствуйте, подскажите плз, есть ли методики дообучения классификатора. Ну вкратце, чтобы в сеть, натренированную на 100 классов можно было добавить новый класс без полного переобучения. Или может быть можно как то "складывать" сети, треированные на разные наборы классов?
  8. Earlier
  9. Пока сделал массив сеток, по одной для каждого размера. Инициализация не быстрая но потом все идет без замедление. Мне кажется дело не выделении памяти, а возможно в перекомпиляции ядер cuda.
  10. Выделение памяти на девайсе процесс не быстрый. А при изменении размеров входного тензора сеть каждый вызов ее перевыделяет. Сделайте вход максимального размера, и используйте поля. Еще лучше заморозить ее с фиксированным входом.
  11. Есть проста сверточная сеть (keras+tf), размер входного слоя не фиксированный. При прогоне на CPU все нормально, чем больше входной изображение тем дольше обработка. Но при выборе Backend cuda получается такая картина: если прогонять данные одного размера (например 240х180), то все хорошо если размер входных данных постоянно меняется (сперва 240х180, потом 240х179 и так по кругу) то производительность падает в 10 раз. opencv 4.2.0-dev jetson nano
  12. Конкретнее некуда https://www.learnopencv.com/install-dlib-on-windows/ И читать код примеров .
  13. Спасибо! Буду искать Спасибо! Если не сложно, опишите пожалуйста мои конкретные действия для построения программы с dlib. Опыта совершенно нет, нужно для дипломной работы. Буду очень благодарен!)
  14. Кажется, что прямо на OpenCV этого из коробки нет, но в dlib есть.
  15. Ну прям под заказ не знаю, покопайте тут https://github.com/topics/face-recognition?l=c%2B%2B Всякого добра по теме там много.
  16. Добрый день! Подскажите пожалуйста, есть ли готовый алгоритм определения лица на видео(avi,mp4...) и сравнение его с базой, заранее заготовленных фото лиц? При обнаружении должно выводится оповещение об этом. Желательно на с++ и OpenCV. Заранее спасибо всем кто откликнется!
  17. Я пока попробовал 2 репозитория (пока лень самому писать): 1. https://jugit.fz-juelich.de/mlz/lmfit 2. https://github.com/yinzixuan126/polynomial_fitting/blob/master/src/polyfit_node.cpp Первый (Левенберга-Марквардта) работает точнее, второй быстрее. Нашёл ещё, но не пробовал ( https://github.com/gpufit/Gpufit, https://github.com/wojdyr/fityk). Потестирую, если будет медренно, то надо будет реализовывать самому и оптимизировать.
  18. Просто чтобы не терялось: https://github.com/andrewwillmott/splines-lib
  19. Это меняет задачу. В 3 строчки не сделать. Но прежде хочу сказать, следующее вам нужны именно Безье. Кривая Безье - это система из 2-х кубических полиномов. В противном случае будете иметь вот такие вот проблемы https://forum.sources.ru/index.php?showtopic=416325&st=0&#entry3815075 Что касается вашей задачи. Набор данных надо сгладить и вычислить производную найти участок с не более 2-мя изменениями знака производной. Остальные выкинуть. Использовать метод вернее эвристику максимального правдоподобия для улучшения МНК.
  20. Всегда можно взять и double, если придётся (но вряд ли точности не хватит). Сплайны и Безье - это не то, что мне надо. Я бы хотел из траектории движения объекта за несколько секунд (скажем, 100 кадров) получить уравнение движения. Логично получить кубическое, чтобы ускорение тоже было не константным. Теоретически, в OpenCV это можно сдлать через Levenberg-Marquardt solver (cv::LMSolver), можно взять ceres solver, но там везде надо дописывать свои целевые функции. Или что-то с Гитхаба специализированное. Не сильно хочется самому тянуть дополнительные зависимости для, казалось бы, вполне типичной задачи. За ссылки спасибо, посмотрю, потестирую, как оно работает.
  21. С регуляризацией: https://ardianumam.wordpress.com/2017/09/22/deriving-polynomial-regression-with-regularization-to-avoid-overfitting/
  22. Да и самому не трудно написать. // МНК для полинома B[0]+B[1]*x+B[2]*x^2+...+B[p]*x^p=y // p -степень полинома // Входные параметры: // - точки в виде масивов их координат x,y // - степень желаемого полинома p // Выходные параметры: // - коэффициенты полинома B procedure PolyFit(y,x:TArrayReal; p:Integer; var B:TArrayReal); var a,at,temp:TMatrixNM; Temp2:TMatrixNN; i,j,N:Integer; c:Real; begin if (Length(y)<>Length(x)) or (p<0) then exit; N:=Length(Y); // Минимизация коэффициентов полинома методом наименьших квадратов. // Строим матрицу Вандерморда SetLength(A,N,p+1); for i:=0 to N-1 do begin c:=1; for j:=0 to P do begin a[i,j]:=c; c:=c*x[i]; end; end; // Применяем метод Moore–Penrose at:=Transpose(A); Temp2:=MatrixMulMatrix(At,A); Temp:=Invert(Temp2); B:=MatrixMulVector(MatrixMulMatrix(Temp,At),Y); end;
  23. Нету, так как такая операция для кривовй уже на 5-7 степени упирается в точность Single. По этмоу лучше использовать сплайны и кривые Безье. Что есть в OpenCV? Строим контур цепным кодом из него, получаем полигон путем оптимизации approxpolydp https://docs.opencv.org/2.4/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html#approxpolydp Тут лучше староннее что-то использовать к примеру https://www.alglib.net/translator/man/manual.cpp.html#sub_spline1dfitpenalizedw И для полиномов там тоже есть https://www.alglib.net/translator/man/manual.cpp.html#sub_polynomialfit
  24. Приветствую! А в OpenCV есть что-нибудь для аппроксимации набора точек полиномом произвольной степени? Есть fitLine для прямой, а что-то большее?
  25. Можно тогда еще посмотреть Aruco, она встроена в OpenCV.
  26. Доска отслеживается с целью получить метку, которая будет всегда находиться в кадре, для того чтобы по ней, в дальнейшем, считать координаты движущегося объекта, к которому она привязан. Я сделал фейковое усреднение по нескольким кадрам. теперь метка не скачет. Попробую либу, которую вы посоветовали, чтобы повысить точность определения, если это конечно имеет смысл, и точность действительно повысится.
  27. Я не в курсе цели трекания шахматки в вашем случае, но если это не для калибровки, то попробуйте эту либу: http://nghiaho.com/?page_id=576 Или фильтруйте уже 6D положение доски. Там все равно решается переопределенная СЛАУ и выдается решение по методу наименьших квадратов. Если делаете сглаживание для каждой точки, выглядеть будет конечно лучше, но точности вряд ли добавит. Как компромисс, используйте сглаженное 6D положение и проецируйте обратно на экран измеренные по доске точки модели.
  28. Благодарю, попробую.
  1. Load more activity
×