Jump to content
Compvision.ru

Smorodov

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

    3,855
  • Joined

  • Last visited

  • Days Won

    344

Everything posted by Smorodov

  1. Да Nuzhny, в общем, правильно советует. Люди, не зная вас, как будут получать первое впечатление о вас? Ведь вначале они видят сайт. Лучше закончить с оформлением и отладкой витрины вначале. Это произведет впечатление о вас как о серьезной группе. И контракты будут дороже ) Взгляд со стороны полезная штука. Удача!
  2. Дело хорошее, но может попробовать вначале на сайте фриланса вначале заработать репутацию? Там есть группы разработчиков. Мне начали писать рекрутеры всех мастей когда рейтинг на stack overflow начал быстро расти. Еще можно поучаствовать в соревнованиях по теме, например на Kaggle (там кстати и курсы дельные), ну и репа на гитхабе не помешает. Заработать имя не очень быстрое дело. Удачи! ) PS: Касперыч на ваш сайт ругается. Остановлен переход на недоверенный сайт Один или более сертификатов этого сайта недействительны, и мы не можем гарантировать его подлинность. Такое бывает, когда владелец сайта вовремя не обновил сертификат или когда сайт поддельный. Посещение таких сайтов делает вас более уязвимыми для атак. "Лаборатория Касперского" защитила вас от перехода на этот сайт. Можете закрыть его без риска. Скрыть детали Обнаружено: 22.06.2022 14:19:13 Веб-адрес: powerok.site Причина: Самоподписанный сертификат
  3. Не совсем так, yolo - это детектор для которого уже есть предобученные модели на десятки классов (coco >80,voc pascal 20 классов ), которых может вам будет и дестаточно. Он выдает рамку + индекс класса. Если не найдете все что нужно, надо учить, но это обучение не потребует учить с нуля, часть слоев будет "заморожена", а учатся толко несколько последних слоев. Пример обучения на своих данных : https://github.com/AntonMu/TrainYourOwnYOLO Это не требует очень много данных. Датасеты лучше не смешивать как попало, они обычно специально готовятся. Когда сеть нашла собаку, она может, например, узнать породу, запустив специально обученную сеть. https://github.com/ShihanUTSA/Dog-breed-classifier--Convolutional-Neural-Network
  4. Все правильно, лучше по иерархии - от общего к частному. Вначале детектор-классификатор, типа YOLO v3 (4, 5), обученный на датасете типа COCO . А дальше специализированные классификаторы по подклассам. Их придется учтить на своих данных. Доучивать на расширенном датасете (после добавления данных) можно, но имеет смысл когда собралось достаточно много данных. Классификация цвета не такой тривиальный вопрос как может показаться. Еще в помощь NLP например : https://github.com/natasha/natasha Может быть еще captioning networks пригодятся https://github.com/zhjohnchan/awesome-image-captioning .
  5. Может кому интересно будет: http://seminars.softline.ru/event/7757/detail
  6. Ну там же стандартный текст, сравните со словариком и уберите )
  7. Спасибо! Соберу тогда без CUDA.
  8. Хз, попробуйте, отключить gapi. Я обычно собираю под студию, ставлю поддержку Qt и все норм. На днях планирую перестроить под 22 студию, заодно и проверю.
  9. Стабилизация лицевых точек 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
  10. Вышла OpenCV 3.1

    Обновилась OpenCV до версии 3.1 http://opencv.org/opencv-3-1.html Changes The detailed list of changes since 3.0 can be found at https://github.com/Itseez/opencv/wiki/ChangeLog. Here is the short summary: A lot of new functionality has been introduced during Google Summer of Code 2015: “Omnidirectional Cameras Calibration and Stereo 3D Reconstruction” – opencv_contrib/ccalib module (Baisheng Lai, Bo Li) “Structure From Motion” – opencv_contrib/sfm module (Edgar Riba, Vincent Rabaud) “Improved Deformable Part-based Models” – opencv_contrib/dpm module (Jiaolong Xu, Bence Magyar) “Real-time Multi-object Tracking using Kernelized Correlation Filter” – opencv_contrib/tracking module (Laksono Kurnianggoro, Fernando J. Iglesias Garcia) “Improved and expanded Scene Text Detection” – opencv_contrib/text module (Lluis Gomez, Vadim Pisarevsky) “Stereo correspondence improvements” – opencv_contrib/stereo module (Mircea Paul Muresan, Sergei Nosov) “Structured-Light System Calibration” – opencv_contrib/structured_light (Roberta Ravanelli, Delia Passalacqua, Stefano Fabri, Claudia Rapuano) “Chessboard+ArUco for camera calibration” – opencv_contrib/aruco (Sergio Garrido, Prasanna, Gary Bradski) “Implementation of universal interface for deep neural network frameworks” – opencv_contrib/dnn module (Vitaliy Lyudvichenko, Anatoly Baksheev) “Recent advances in edge-aware filtering, improved SGBM stereo algorithm” – opencv/calib3d and opencv_contrib/ximgproc (Alexander Bokov, Maksim Shabunin) “Improved ICF detector, waldboost implementation” – opencv_contrib/xobjdetect (Vlad Shakhuro, Alexander Bovyrin) “Multi-target TLD tracking” – opencv_contrib/tracking module (Vladimir Tyan, Antonella Cascitelli) “3D pose estimation using CNNs” – opencv_contrib/cnn_3dobj (Yida Wang, Manuele Tamburrano, Stefano Fabri) Many great contributions made by the community, such as: Support for HDF5 format New/Improved optical flow algorithms Multiple new image processing algorithms for filtering, segmentation and feature detection Superpixel segmentation and much more IPPICV is now based on IPP 9.0.1, which should make OpenCV even faster on modern Intel chips opencv_contrib modules can now be included into the opencv2.framework for iOS Newest operating systems are supported: Windows 10 and OSX 10.11 (Visual Studio 2015 and XCode 7.1.1) Interoperability between T-API and OpenCL, OpenGL, DirectX and Video Acceleration API on Linux, as well as Android 5 camera. HAL (Hardware Acceleration Layer) module functionality has been moved into corresponding basic modules; the HAL replacement mechanism has been implemented along with the examples
  11. Стабилизация лицевых точек 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
  12. Интересная стратья и видеоролик. В статье есть ссылка на библиотеку для написания бильярдных игр (FastFiz) , так что можно попробовать свои силы в аналогичном проекте http://www.membrana.ru/lenta/index.html?10518
  13. Если шаблон в изображении встпечается всегда, то можно использовать https://www.ccoderun.ca/programming/doxygen/opencv/group__imgproc__object.html#ga586ebfb0a7fb604b35a23d85391329be . Функция matchTemplate поможет найти положение шаблона, но это не детектор, который скажет о наличии или отсутствии его на изображении. Если нужен детектор, то надо обучить его на ваш объект. Погуглите OpenCV objtct detector.
  14. Вышла четвертая версия DIGITS с возможностью учить детекторы: https://github.com/NVIDIA/DIGITS/tree/master/examples/object-detection#preparing-the-data Только что за формат KITTI там не очень ясно написано. Понятно что отсюда: http://www.cvlibs.net/datasets/kitti/ но что то я там не нашел описания форматов. Возможно этот пойдет, но он вроде для видео: https://motchallenge.net/instructions/ UPD: Нашел ссылки на датасеты: http://www.cvlibs.net/datasets/kitti/raw_data.php Похоже аннотация у них называется tracklets, и идет в xml формате.
  15. OpenCV 4.5.3 c поддержкой freetype

    Посмотрите тут: Конечно это не встраивание, но может это и лучше ) Ну а если более гибкий интерфейс нужен посмотрите в сторону ImGui или Qt шаблон для Imgui + opencv можно взять здесь: https://github.com/Smorodov/imgui_opencv_template русский язык и ttf шрифты поддерживаются.
  16. Ну может я что то упустил. Я имел ввиду, что входная картинка, например, вариант нормально расположенных зубов здоровой челюсти, вариаций то немного, на мой взгляд дилетанта ) А сеть постарается собрать что то максимально близкое из данных ей деталей. Как то так.
  17. Ну допустим так: GAN получает рендеренные картинки как они должны выглядеть. Генератор получает при обучении случайные наборы зубов и расставляет, чтобы получать картинки, близкие к требуебым. При использовании, даем набор сеток и картинку(-ки) с хорошим расположением и получаем набор из 32 матриц трансформации. Еще посмотрите обратный рендеринг (inverse rendering), например matsuba2. VTK - все же больше для других целей, реалистично в нем сложно отрендерить.
  18. Я имел ввиду сделать рендерилку, на взоде 3Д моделька с параметрами положения каждого зуба, поворот, смещение, масгтаб , это все обычно и запихнуто в матрицу 4 на 4 для каждого объекта. Итого, картинка будет функцией от 16*32 параметров. А GAN будет обычный, картинковый ) , датасет тоже картинки. Сейчас есть хорошие PBR рендерилки, ну например googlовский filament иу или что нибудь из либов Nvidia. PS: погуглите еще 3d morphable models может наведет на новые идеи. Ну и вот это гляньте: https://github.com/NVlabs/nvdiffrast
  19. Да нет, просто вопрос как генерировать и как оценивать. Можно, например, генерировать изображение лица с улыбкой из тестируемых зубов, а димкриминатор булет оценивать красоту ) Задаем параметры на входе генератора с матрицами трансформаций, например, на выходе - изображение, далее как обычный ГАН. Можно напрямую, , без изображений, но надо как то обучить дискриминатор .
  20. Занятно, но тут ведь не только эстетика важна, нужно же и поверности совместить правильно. Нейронку, кстати, я думаю, можно обучить сегментации поверхностей, где то на гитхабе видел проекты для сегментации 3д сеток (сегментация). Далее, можно научить определять что это за зуб, и где его правильное место (классификация). После этого, можно попытаться решить задачку регистрации 3д сеток. (Найти совмещение шаблона и нашей сетки). Классика здесь алгоритм iterative closest point. Ну дальше по необходимости и фантазии ) PS: Вот кстати про 3д зубы ) : https://github.com/Tai-Hsien/MeshSegNet ну и вот тут покопайтесь: https://github.com/QiujieDong/Mesh_Segmentation
  21. Так что имеем то ? Сцену в 3д формате, и надо выставить объекты по некоторой ориентированной кривой ? Так объекты аннотированны? Или где верх/низ, и т.д. должна решать сеть? В общем пока не очень понял что дано, а что ищем. Может пару картинок привелете, если не секретно конечно )
  22. Один раз решив PnP, имеем матрицу поворота / переноса. Если добавленное смещение мало, можно взять любой треугольник и его проекцию, и по ним вычислить новый базис. И можно не городить огород )
  23. Здравствуйте, в стандартном комплекте есть пример 3D калибровки, у меня это f:\Documents\opencv\samples\cpp\3calibration.cpp По поводе положения доски, нужно сделать снимки под разными углами к плоскости камеры. Фотки для примера (тоже из стандартного набора) 0.ZIP
  24. Убрать шумы с изображения

    Как варианты: 1. Найти 2д ключевые точки, и TPS сплайном выровнять по ним кадры, усреднить, дальше как обычно. 2. Найти 3д модель руки, содрать текстуру, дальше как обычно. Ссылки по теме: https://github.com/xinghaochen/awesome-hand-pose-estimation
×