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

Pavia00

Пользователи
  • Количество публикаций

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

  • Посещение

  • Days Won

    15

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

  1. Да, да для такого случая мы будем иметь ещё и перспективные искажения. Нарисовал схему. На схеме правда не показано, откуда берутся бочкообразные и подушкообразные искажения.
  2. Если будете использовать cvUndistort2, то да должны получить. Причём строго. А вот почему Smorodov сопротивляется не понятно. Хотя зерно разума есть, длины до точек то разные. Поэтому при выводе теоретического расчёта надо быть аккуратным. Но cvUndistort2 устраняет "не сферичность" и надо считать проекцию параллельной.
  3. Линза в камере вносит не линейные изменения. Поэтому разные фрагменты контура имеют разные масштабы. Калибровка поможет. Только учти что под калибровкой иногда понимают более частный случай -получение пространственных координат и угла. Что не относится к искажениям вносимой линзой.
  4. Трекинг объектов.

    Классическая схема распознавания. Берём изображение выделяем признаки. Затем берётся прямоугольник который накрывает некоторое под пространство. Сверяя значение координат признаков и их количество в этом подпространстве происходит классификация. Принадлежит ли этот набор признаков к заданному классу. То есть мы решаем является этот набор признаков нашим объектом. Идёт перебор координат прямоугольника. Так вот в каскаде используется не нейронная сеть, а двоичные деревья решений. Где каждый узел либо принимает объект к классу либо отвергает. Если отвергает, то остальные условия не проверяются. Переходим к следующий позиции. Это значительно ускоряет обработку по сравнению с НС. И качество распознавания не сильно страдает, можно сказать практически не страдает. Могу и ошибаться так как сам до конца не разбирался, но как-то так. Использовать можно для любого объекта. Вернее в большинстве случаев оно вам подойдёт.
  5. Распознавание лиц

    Виола-Джонес должен быстро искать. Примерно так высота изображения умножить на ширину умножить на 2 умножить на время обработки одного пикселя думаю не должно привишать ~100-150 тактов вот это всё поделить на частоту процессора. Если код раскидать по ядрам, то ещё поделить на число ядер. У меня для одного ядра с частотой 2.5 ГГц получилось примерно 0.1-0.15 секунд. А да если там качество регулируется, то время пойдёт в верх. Алгоритм на видео карту хорошо ложится. Ускорить можно если обрабатывать не всю картинку, а сделать детектор движения и использовать для поиска только изменившуюся часть изображения.
  6. Базовый проект OpenCV + CUDA

    dasg. Мне бы ваши проблемы. Давно интересует тест производительности OpenCV и GPU. Cuda не пользуюсь так как карта AMD. Но у меня на GPU Собель раз в 10 быстрее считался, правда эксперимент был не совсем чистым. По поводу скорости. Зависит от процессора. Ну вот считай CPU, у меня Core 2 Due T7500 2 ядра. Каждое ядро может обрабатывать одновременно 2 команды SSE. Каждая команда SSE имеет 4 блока данных(128/32; 32 бита берём float) а если брать не флоат, а слова 128/16=8 блоков данных. Частота процессора 2.4 ГГц Итого:2*2*4*2.4=38,4 операций/с Видео карта, У меня ATI HD3470. 40 ядер каждое ядро содержит 5 алу. Но из этих 5 алу только четыре выполняют основные операции, а пятый считает сложные операции такие как Sin, sqrt. Каждое АЛУ работает над вектором из 4 чисел. Частота 680 МГц Итого=40*4*4*0.680=435,2 операций/с Видео карта Geforce 9600M GS. Число ядер 32 частота 1035 МГц каждое ядро способно выполнять кучу операций параллельно, примерно столько же сколько и ATI . Итого 32*4*4*1.035=529,92 операций/с
  7. Выравнивание это. Каждая строка для 32 битного режима должна быть выравнена на границе 4 байт. А так как пиксель 3 байта, то при нечётной длине строки имеем неправильный размер.
  8. Для ускорения используй отсечения. К примеру считаешь среднюю сумму по окрестности 20х20 пикселей. И сравнивай эталонным значением плюс допуска. Думаю что да - надо придумывать. ИХМО OpenCv обычно за максимальной скоростью не гонится, но в основном достаточно быстро работает.
  9. Работа с контурами

    Ошибка в статье.
×