Jump to content
Compvision.ru

Smorodov

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

    3,833
  • Joined

  • Last visited

  • Days Won

    343

Everything posted by Smorodov

  1. Операция называется свертка. Информации много, например: https://habr.com/ru/post/114489/ https://ru.wikipedia.org/wiki/Оператор_Собеля Для 60 градусов ядра 3х3 маловато.
  2. Про специальные форматы не слышал, хотя может и есть. Для сжатия можно попробовать snappy 250 Mб/сек скорость сжатия. Как экзотический вариант, выделить обычные кадры подходящего размера, и сохранять в них как в буферах данные о точках. Только сжатие с потерями тут не прокатит Можно попробовать применить какую нибудь из баз данных, типа HDF5 или LMDB, тем более есть поддержка в OpenCV.
  3. Ну да, Хааром уже не модно Сейчас всякие SSD и YOLO юзают. Вот еще из недавнего: https://github.com/facebookresearch/detectron2 Правда вряд ли реалтайм.
  4. linux,python3,opencv4.1.1

    Где пример ?
  5. Драйверы проприетарные ? CUDA работает? С дефолтными дровами мало что заводится.
  6. Докер не подойдет? https://github.com/NVIDIA/nvidia-docker
  7. Создание dll, использующей openCV (C++)

    Ну так вся OpenCV состоит из DLL, использующих OpenCV Откройте исходники, и сравните с тем что у вас.
  8. Ну если облако точек относительно системы координат камеры известно, и известны координаты камеры во внешнем мире, то преобразование производится переносом и поворотом точек на разницу. Чтобы сделать быстро, можно использовать шейдеры, opencl, cuda, ... короче GPU. Подружиться с GPU все равно придется.
  9. Если есть RGBD, то поставьте где-нибудь маркер в виде ортов системы координат. Распознавайте ее точки на цветном изображении, затем, используя глубину, получайте 3Д точки. Есть базис, есть координаты и ориентация камеры. Преобразование x,y,D в 3д точку должно быть в API камеры. В принципе, при известных размерах маркера, задача решается даже без компоненты глубины, гуглите opencv solvepnp. По поводу скелетов посмотрите здесь: https://github.com/topics/skeleton-tracking
  10. Сам бы хотел знать Обычно обострение начинается ближе к сессии. А вообще, раньше был хороший форум у МГУ-шников, правда сейчас не знаю как он там. Многие пересели на нейросети.
  11. Поиск стекла на фотографии

    Если провести бинаризацию, может и не сильно, надо пробовать. У меня этот метод давал неплохой результат: https://stackoverflow.com/questions/22122309/opencv-adaptive-threshold-ocr/22127181#22127181 Еще думается если найти фазовый сдвиг, то он тоже даст границу стекла. Можно после бинаризации наложить изображения по И темные линии станут толще, затем инверсия, эрозия, и найти convex hull.
  12. Поиск стекла на фотографии

    Можно попробовать сыграть на преломлении. Поясню. Если взять подложку с нарисованной сеткой, и сфоткать, затем поставить стекло и снова сфоткать. После этого наложить изображения и найти разницу. Конечно придется поэкспериментировать, но может сработать. По поводу размеров, вы же пишите что ряд фиксированный. Поставьте в соответствие каждому размеру площадь в пикселях.
  13. Поиск стекла на фотографии

    Стенд всегда такой, освещение? Короче, среда управляемая нами?
  14. Гляньте здесь: http://donvideo.ru/blog/29/ думаю с включенной HLC должно работать лучше, т.к. на фотках выше что с подсветкой, что без, для номера без разницы.
  15. На фотках верхняя без подсветки, а нижняя подсвечена ?
  16. Возможно связано с засветкой. Ведь диафрагма открыта на полную. Номер покрыт световозвращающим покрытием и может просто слепить камеру. Да и изображение через широкую диафрагму по определению менее четкое.
  17. Перенаправить вывод в линуксе можно стандартно: SomeCommand > SomeFile.txt Подробнее тут: https://askubuntu.com/questions/420981/how-do-i-save-terminal-output-to-a-file
  18. Нашел тот старый проект TF_EX.RAR посмотрите, может пригодится.
  19. Не уверен что хуже, задавать размер тензора вручную, или мешать C и C++, но так-то теоретически возможно: https://www.oracle.com/technetwork/articles/servers-storage-dev/mixingcandcpluspluscode-305840.html Может оптимально будет просто записывать при заморозке еще один файл, с дополнительной инфой ?
  20. Так там вроде как размеры тензоров при заморозке фиксируются, и надо самому их знать по модели. Вроде как получение размеров тензоров и не поддерживалось. Но тут у меня опыта немного, могу ошибаться.
  21. Кстати, еще подумалось, ведь уровень абстракции сети растет от входа к выходу, то есть чтобы получить признаки для описания конкретного экземпляра объекта, нужно просто отрезать побольше выходных слоев.
  22. Подкину еще один скрипт, выдранный из работающего проекта. FreezeMe.py тут некоторых вещей нехватает, но может чем и пригодится. И еще, чтобы смотреть что записалось попробуйте Netron, я его как то уже упоминал.
  23. Ну тут от сети зависит, есть ведь сети для распознавания лиц, например. Что мешает обучить сеть на пешеходах под разными углами зрения, и научить извлекать признаки для различения их между собой. И соорудить каскад, тип объекта + дескриптор.
  24. По поводу нейронок, согласен, с мелкими объектами их применять проблематично. Но можно попробовать применить метод, похожий на распознавание лиц, когда вычисляют расстояние или угол между векторами, выдаваемыми сетью. Где то видел трекер, в котором используется подобная технология. Там берется что то вроде AlexNet и обрубается последний слой, и выходы предпоследнего слоя, используются как признаки для трекинга. Вот их и используют как часть метрики схожести, наряду с расстоянием и скоростью.
×