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

Smorodov

Главные администраторы
  • Количество публикаций

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

  • Посещение

  • Days Won

    346

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

  1. Да, такой формат собственно и хотел. Желательно с размерами матрицы и типом элементов (если бинарный, хотя по исходникам разберусь) . Выложите, если не сложно, это, скорее всего, ускорит дело.
  2. Не, больше не нужно, обычно одного скрытого слоя хватает. Данные посмотрю, надо преобразователь в матлабовский формат сворганить.
  3. По всей видимости не хватает данных, или регуляризации. Лучше добавить данных (можно попробовать аугментацию), но можно попробовать уменьшить количество нейронов скрытого слоя или увеличить коэффициент регуляризации.
  4. Здесь не в итерациях дело. И GPU пока бесполезно подключать. Попробуйте разобраться с преобразованиями данных. Лучше для этого использовать матлаб. Если кинете здесь вашу обучающую выборку, может я или кто другой погоняет ее у себя и скажет что не так.
  5. Уже вроде как есть: https://www.overclockers.ru/hardnews/77879/nvidia-predstavila-titan-x-na-graficheskom-processore-pascal.html https://www.overclockers.ru/hardnews/78126/videokarta-nvidia-titan-x-pascal-postupila-v-prodazhu-i-uzhe-est-ee-pervye-igrovye-testy.html
  6. Судя по FOUND.000 диск сыпется, нет ?
  7. Зависит от библиотек (openMP, openCL,TBB, ...), компилятора (попробуйте тот же Intel-овский) , используемых при сборке OpenCV и конечного приложения, от опций.
  8. Так с ROI нормальный вариант, просто потом добавить смещение к координатам найденых точек и все, дескрипторы описывают локальную окрестность, они не зависят от координат точки, поэтому их можно не менять.
  9. В DIGITS 4.1, там есть настройка какие карты использовать. Да, на 60% загружается новая карта.
  10. Да запостил Issue на гитхабе, пишут что 0.16 еще сырая. Попробовал на 0.15 все заработало, но да, все пересобрал и обновил, без этого не видело 1070-ку. Ну по мне прирост скорости вдвое, что при среднем 10-12 часовом времени обучения очень даже чувствительно. Да и памяти в 2 раза больше чем на 970, мне пока хватает для текущих нужд. При совместной загрузке одна карта нагружена 100%, другая 60%, память шарится вроде, так что суммарно 12 Гб получается не так уж плохо. Хотя плотно еще не тестил.
  11. Вот тут посмотрте: https://github.com/OpenCVBlobsLib/opencvblobslib там есть примеры.
  12. Ну, если эти параметры рассматривать как гиперпараметры классификатора, что наверное близко по смыслу, то и методы можно взять для оптимизации гиперпараметров https://en.wikipedia.org/wiki/Hyperparameter_optimization . Есть даже либы специальные: http://www.automl.org/hpolib.html не тестил, но смотрится интересно. По метрике, если есть размеченные данные, то можно считать среднюю по кадру ошибку по координатам/размерам рамок. В общем, описать функцией что важно минимизировать (сформулировать целевую функцию), вытащить параметры и скормить нелинейному оптимизатору. Например false detect дает штраф 10, пропущенный объект дает штраф 15, плюс ошибки по координатам, и размерам с соответствующими коэффициентами. Если детект дальше порогового от ground true, считать его как false detect. Ну и тому подобное.
  13. Да обе, сейчас с включенным NCCL работает корректно, видит обе, можно выбрать одну или работать на обеих картах, не хочу переворачивать систему, с трудом запихнул обе карты . Думаю это связано именно с тем что их две. Но все равно, такое поведение системы мне кажется странным, если не работает, или проблемы какие то, то должно совсем не работать, а не так.
  14. А зачем? C черными такая операция ничего не должна сделать, ну может самую малость поменяет контур.
  15. Думается не нужно преобразовывать данные, сеть сама это сделает в наиболее удобной ей форме, просто нужно дать достаточно обучающих примеров. Касательно "волшебной палочки" посмотрите floodFill, там есть режим маски, или поиск контуров с флагом искать внешний (CV_EXTERNAL или как то так. ). Кстати, можно еще сделать dilate + erode, это заполнит пустоты внутри штриха.
  16. При использовании нормирования, учится быстрее и стабильность лучше. Я к тому, что препроцессинг и формат данных должен быть одинаковый, при обучении и при конечном использовании. Например, есть бинаризация по порогу 100, при получении данных для обучения, точно такую же нужно поставить и режим классификации. Использовались чередующиеся 3 канала RGB, использовать чередующиеся 3 канала RGB в обоих случаях и в том же самом порядке и т.д. UPD: Вообще я делал простенький пример на эту тему. Здесл лежит см. предпоследний пост.
  17. Да я к тому, что в матлабе быстрее диагностику проводить, посмотреть учится/не учится, какая точность, подстроить архитектуру сети, да и алгоритмы в матлабе весьма неплохие. Все можно делать через GUI при помощи: nprtool . А так то веса и в Африке веса, прямой ход - пара матричных операций в конечной программе сделать несложно. Часто еще ошибку с предобработкой входных данных допускают. При обучении нормируют одним образом, а при использовании не нормируют или нормируют как то по-другому.
  18. Обучите в матлабе, и сдерите оттуда обученную сеть, делал так в одном проекте, очень удобно.
  19. По разделению не скажу, использовал tesseract. Можно окном сверточной сетки гонять и смотреть отклики а затем по словарю искать, но сам не делал. ConnectedComponents просто маркирует отдельные связанные куски пикселей. Например если два круга отдельно нарисовано, то результатом будет изображение, на котором все пиксели одного круга будут иметь значение 1, а другого 2. Если с пересечением, то вся область будет иметь значения 1.
  20. erode + dilate после бинаризации Уберет все мелкое в зависимости от параметров. До бинаризации можно попробовать сглаживание (медианный фильтр, анизотропная фильтрация, ,, в этом духе) ЗЫ: если использовать нейронку, то с шумом она и сама в силах разобраться, главное при обучении побольше данных скормить.
  21. Tesseract для всего. Скармливаете бинаризированное изображение, получаете текст. Он вполне себе нормально интегрируется с OpenCV. ЗЫ: На такой шрифт лучше учить отдельно.
  22. Попробуйте tesseract Обучение tesseract-а. По поводу бинаризации, у меня вот это хорошо работало: http://stackoverflow.com/questions/22122309/opencv-adaptive-threshold-ocr/22127181#22127181
  23. Нашел занятный проект пока не ковырял, но выглядит интересно: http://pjreddie.com/darknet/yolo/
  24. Помогите с распознаванием лиц

    Ну может это еще будет полезно: https://github.com/patrikhuber/eos
  25. Неплохо бы показать неработающий код и ошибки.
×