Jump to content
Compvision.ru

Smorodov

Главные администраторы
  • Content count

    3,859
  • Joined

  • Last visited

  • Days Won

    344

Smorodov last won the day on December 14 2021

Smorodov had the most liked content!

Community Reputation

576 Эксперт

7 Followers

About Smorodov

  • Rank
    Администратор
  • Birthday 02/04/1978

Profile Information

  • Пол
    Мужской
  • Расположение
    Ленинградская область, п. Вырица.

Recent Profile Visitors

12,417 profile views
  1. нахождение характеристик дуги

    Да возьмите или все координаты пикселей дуги, или каждую N-нную, или точки, и прогоните рансаком https://github.com/aerolalit/RANSAC-Algorithm , или скелетизируйие, например так: https://github.com/LingDong-/skeleton-tracing или https://stackoverflow.com/questions/22058485/how-to-implement-an-function-equivalent-to-bwmorph-matlab-function-in-opencv/22060992#22060992 MSE более чувствителен к шуму и равномерности плотности семплирования точек, чем рансак, но если данные чистые, то большой разницы не будет. Но чистые данные, это обычно большая редкость )
  2. нахождение характеристик дуги

    Если точки знаем точно, окружность определяется тремя точками. Центр можно найти пересечением нормалей, радиус - расстояние от центра до любой точки. Есть много кода по этому поводу. Если координаты с шумом, или точность хромает, то есть метод RANSAC который использует статистические методы для улучшения точности. https://sdg002.github.io/ransac-circle/index.html
  3. А, кстати, вы точно распознавание делаете, или детектирование? Вопрос не прпздный, их частенько путают. Если распознавание, то какая сеть ? У меня на gtx 1070 распознающая сеть, требовала 0.3 секунды на 1 лицо, база содержала около 6000 фоток, точность 99.6%. Сеть занимала 600 Мб. Но если база только "папа, мама, я" то можно и что-то сильно попроще и побыстрее использовать.
  4. Ну все зависит от параметров, (разрешение, что за модель сети, требуемая частота кадров, и т.д.) . С K20 подробно не знаком, вроде старовата архитекрура. Может новую, какую нибудь типа 3080 или 2080 взять? Хоть не уработанная криптой будет. Сравнения быстродействия, на сайте нвидии есть. https://versus.com/ru/nvidia-geforce-rtx-3080-vs-nvidia-tesla-k20#group_performance Вообше, 20xx или 30xx должно хватить для большинства задач. 4 потока, правда лучше как-то предобрабатывать оддельно (дешифровать, может разрешение уменьшать ). Но можно несколько если что поставить в параллель ). Но параметры условий работы неплохо-бы привести, а то " сферический хомячек в вакууме" получается.
  5. Да Nuzhny, в общем, правильно советует. Люди, не зная вас, как будут получать первое впечатление о вас? Ведь вначале они видят сайт. Лучше закончить с оформлением и отладкой витрины вначале. Это произведет впечатление о вас как о серьезной группе. И контракты будут дороже ) Взгляд со стороны полезная штука. Удача!
  6. Дело хорошее, но может попробовать вначале на сайте фриланса вначале заработать репутацию? Там есть группы разработчиков. Мне начали писать рекрутеры всех мастей когда рейтинг на stack overflow начал быстро расти. Еще можно поучаствовать в соревнованиях по теме, например на Kaggle (там кстати и курсы дельные), ну и репа на гитхабе не помешает. Заработать имя не очень быстрое дело. Удачи! ) PS: Касперыч на ваш сайт ругается. Остановлен переход на недоверенный сайт Один или более сертификатов этого сайта недействительны, и мы не можем гарантировать его подлинность. Такое бывает, когда владелец сайта вовремя не обновил сертификат или когда сайт поддельный. Посещение таких сайтов делает вас более уязвимыми для атак. "Лаборатория Касперского" защитила вас от перехода на этот сайт. Можете закрыть его без риска. Скрыть детали Обнаружено: 22.06.2022 14:19:13 Веб-адрес: powerok.site Причина: Самоподписанный сертификат
  7. Не совсем так, yolo - это детектор для которого уже есть предобученные модели на десятки классов (coco >80,voc pascal 20 классов ), которых может вам будет и дестаточно. Он выдает рамку + индекс класса. Если не найдете все что нужно, надо учить, но это обучение не потребует учить с нуля, часть слоев будет "заморожена", а учатся толко несколько последних слоев. Пример обучения на своих данных : https://github.com/AntonMu/TrainYourOwnYOLO Это не требует очень много данных. Датасеты лучше не смешивать как попало, они обычно специально готовятся. Когда сеть нашла собаку, она может, например, узнать породу, запустив специально обученную сеть. https://github.com/ShihanUTSA/Dog-breed-classifier--Convolutional-Neural-Network
  8. Все правильно, лучше по иерархии - от общего к частному. Вначале детектор-классификатор, типа YOLO v3 (4, 5), обученный на датасете типа COCO . А дальше специализированные классификаторы по подклассам. Их придется учтить на своих данных. Доучивать на расширенном датасете (после добавления данных) можно, но имеет смысл когда собралось достаточно много данных. Классификация цвета не такой тривиальный вопрос как может показаться. Еще в помощь NLP например : https://github.com/natasha/natasha Может быть еще captioning networks пригодятся https://github.com/zhjohnchan/awesome-image-captioning .
  9. Ну там же стандартный текст, сравните со словариком и уберите )
  10. Спасибо! Соберу тогда без CUDA.
  11. Хз, попробуйте, отключить gapi. Я обычно собираю под студию, ставлю поддержку Qt и все норм. На днях планирую перестроить под 22 студию, заодно и проверю.
  12. Стабилизация лицевых точек OpenCV

    Посмотрите еще TLD tracker, ну и https://github.com/Smorodov/Multitarget-tracker . LK tracker быстрый, но не самый надежный вариант. Я имею ввиду, комбинацию трекеров, простой и быстрый, для коротких треков, между вызовами сложных и точных, для захвата/восстановления трека. Это даст регулируесый уровень компромиса между надежностью и вычислительными затратами/плавностью трека. Кстати, я как то делал проект с BFM : https://github.com/Smorodov/nano_bfm И еще SMPL: https://github.com/Smorodov/nano_smpl
  13. Стабилизация лицевых точек OpenCV

    Здравствуйте, предварительныя обработка может убрать шум, если усрежнять кадры или делать морфологию, но, как вы заметили, это не сильно добавляет стабильности, за исключением некоторых редких случаев. Намного лучшие результаты дают фильтры по модели. Это предполагает, что лицо имеет меньше степеней свободы чем независимые точки в том количестве что выдает детектор. Если кратко то у точек 3*N степеней свободы, а у лица M + 6, где N - количество точек, M - количество независимых групп мышц. Соответственно, точки не могут гулять как попало, они должны принадлежать модели. Есть параметрические модели лиц, например Basel Face model одна из наиьолее популярных, она довольно тяжелая, но можно достать из нее только нужные точки. Дальше линейная оптимизация, поможет сопоставить 2D и 3D, найти поворот, масштаб, смещение и параметры формы. Вот тут посмотрите: https://github.com/3d-morphable-models/curated-list-of-awesome-3D-Morphable-Model-software-and-data
  14. Если шаблон в изображении встпечается всегда, то можно использовать https://www.ccoderun.ca/programming/doxygen/opencv/group__imgproc__object.html#ga586ebfb0a7fb604b35a23d85391329be . Функция matchTemplate поможет найти положение шаблона, но это не детектор, который скажет о наличии или отсутствии его на изображении. Если нужен детектор, то надо обучить его на ваш объект. Погуглите OpenCV objtct detector.
  15. OpenCV 4.5.3 c поддержкой freetype

    Посмотрите тут: Конечно это не встраивание, но может это и лучше ) Ну а если более гибкий интерфейс нужен посмотрите в сторону ImGui или Qt шаблон для Imgui + opencv можно взять здесь: https://github.com/Smorodov/imgui_opencv_template русский язык и ttf шрифты поддерживаются.
×