Распознавание объектов в видеопотоке. видеопоток. Метод и алгоритмы поиска объекта в видеопотоке
Скачать 3.84 Mb.
|
Скрипт Метрика Изображение объекта Видеофайл Ожидаемые результаты Программа Результат 92 последовательный запуск реализованных программ поиска объекта в видеопотоке с пороговым значением меры близости и вычисляет значения ROC кривой (FPR, TPR), используя информацию о номерах кадров с изображением объекта для каждого видеопотока. Текст скрипта представлен в Приложении В. Все рассматриваемые методы имеют критерии сходства, значения которых изменяются от нуля до единицы. Пороговое значение меры близости в скрипте изменяется от нуля до единицы с шагом 0,05. 4.2 Результаты тестирования Тестирование проводилось на машине HP Z420 c восьми ядерным процессором Intel Xeon E5-1620 v2 c частотой 3,7 ГГц, объёмом памяти равным 8 Гб и операционной системой MS Windows 7 x64 с видеокартой GIGABYTE GeForce GTX 750 Ti частотой 1033 МГц и объёмом памяти 2048 Мб с отключенным Turbo Boost. Поиск при помощи Vuforia SDK и Kudan SDK осуществлялся на мобильной платформе Android 4.1.2 с четырёх ядерным процессором Qualcomm частотой 1,2 ГГц, объёмом памяти 1 Гб с графическим ускорителем Adreno 203. Реализации приведены к максимально одинаковым условиям, т. е. все программы написаны на языках C++ и Assembler, используют параллельные вычисления с технологиями CUDA и SSE2. Использованы Vuforia SDK 5.5.9 версии 2016 года [14] и Kudan SDK 1.2.3 [15] для Android платформы. Реализация метода ASIFT взята из [2]. Использована библиотека OpenCV 2.4 [16] для выполнения поиска объекта методом SURF и процедуры сопоставления дескрипторов методом RANSAC. 4.2.1 Тестирование инвариантности к проективным изменениям Для проведения тестирования инвариантности к проективным преобразованиям подготовлены видеофайлы с изменённым поворотом, 93 масштабом объекта и наклоном камеры к объекту. В последовательности принимали участие кадры, не содержащие изображения объекта. Для проверки инвариантности к поворотам взято десять изображений различных объектов для поиска, из которых смоделированы видеопоследовательности изменением угла поворота. Для первого изображения каждого видеофайла угол изменён на 5° от оригинальной картинки. Это сделано для того, чтобы изменение угла поворота происходило с другим шагом, отличным от шагов в сравниваемых методах. Остальные изменения угла поворота происходят на 10°. Пример кадров одной из видеопоследовательности изображен на рисунке 4.2. Рисунок 4.2 – Пример кадров видеофайла с изменением угла поворота (слева направо: изображение для поиска, изображение, повёрнутое на угол 25°, 115° и 285° и изображение, не содержащее изображение объекта). 94 Таблица 4.1 – Вычисленные средние значения FPR и TPR результатов теста на проверку инвариантности к повороту Порог меры схожести Dev Vuforia SDK Kudan SDK ASIFT SURF FPR TPR FPR TPR FPR TPR FPR TPR FPR TPR 0,95 0 0,5524 0 0 0 0,0667 0 0,1524 0 0,0762 0,90 0 0,6190 0,0190 0,6545 0 0,2857 0 0,3714 0,0286 0,1714 0,85 0 0,6571 0,0571 0,9539 0,0190 0,4571 0 0,5905 0,0857 0,2857 0,80 0,0190 1 0,3143 0,9725 0,0857 0,6 0 0,8762 0,1143 0,4952 0,75 0,0476 1 0,4952 1 0,1429 0,7333 0,1333 1 0,2286 0,6762 0,70 0,0952 1 0,8381 1 0,2286 0,8857 0,1619 1 0,2952 0,8857 0,65 0,1810 1 0,9238 1 0,5238 0,9333 0,4762 1 0,5810 0,9905 0,60 0,2762 1 0,9810 1 0,6667 0,9714 0,6095 1 0,7143 1 0,55 0,4476 1 1 1 0,7619 1 0,7714 1 0,8476 1 0,50 0,5619 1 1 1 0,8190 1 0,8667 1 0,8952 1 0,45 0,6762 1 1 1 0,9048 1 0,9143 1 0,9429 1 0,40 0,8095 1 1 1 1 1 1 1 1 1 0,35 0,9333 1 1 1 1 1 1 1 1 1 0,30 1 1 1 1 1 1 1 1 1 1 95 Рисунок 4.3 – ROC кривые результатов выполнения теста на проверку инвариантности к повороту объекта Значения результатов тестов на различных входных видеопотоках для FPR и TPR усреднены и представлены в таблице 4.1, где DEV – разработанный метод. На рисунке 4.3 приведены графики ROC кривых (доверительный интервал равен 95%). График разработанного метода (DEV), ASIFT и метода Vuforia SDK проходят всех ближе к точке (0;1), значит успешно классифицировали практически все кадры видеопоследовательностей с наличием изображения объекта и с его отсутствием. Аналогичным образом проводились тесты с изменением масштаба на десяти видеопотоках. Масштаб картинки уменьшается от 2 до 20 раз по ширине и высоте, и затем увеличивается от 2 до 20 раз с шагом равным 2. Результаты приведены в таблице 4.2 и на рисунке 4.4. 96 Таблица 4.2 – Вычисленные средние значения FPR и TPR результатов теста на проверку инвариантности к масштабу Порог меры схожести Dev Vuforia SDK Kudan SDK ASIFT SURF FPR TPR FPR TPR FPR TPR FPR TPR FPR TPR 0,95 0 0,1333 0 0 0 0 0 0,1333 0 0,1333 0,90 0 0,4 0 0,1333 0,0167 0,3667 0 0,3167 0 0,25 0,85 0,0167 0,6167 0,0667 0,75 0,0667 0,7333 0 0,7333 0 0,4167 0,80 0,0333 0,8667 0,15 0,95 0,3 0,9667 0,0667 0,9333 0 0,6333 0,75 0,1167 0,9833 0,3333 1 0,45 1 0,1833 0,95 0,0333 0,8 0,70 0,1833 1 0,55 1 0,5 1 0,2333 0,9667 0,15 0,9167 0,65 0,3 1 0,75 1 0,55 1 0,3833 1 0,3 0,9833 0,60 0,5 1 0,9 1 0,7333 1 0,45 1 0,45 1 0,55 0,7 1 0,9667 1 0,85 1 0,7 1 0,6667 1 0,50 0,8167 1 0,9667 1 0,9667 1 0,8 1 0,7667 1 0,45 0,8833 1 0,9833 1 1 1 0,9 1 0,8333 1 0,40 1 1 1 1 1 1 1 1 0,9333 1 0,35 1 1 1 1 1 1 1 1 1 1 97 Рисунок 4.4 – ROC кривые результатов выполнения теста на проверку инвариантности к изменению масштаба объекта Результаты классификаций для теста с изменением масштаба выглядят менее убедительными, чем результаты теста на проверку инвариантности к повороту. Это связано с тем, что большинство методов основаны на дескрипторе, устойчивым к повороту на 180°, а для инвариантности к масштабу методы изменяют размеры картинки до определённых установленных максимальных и минимальных значений. Графики ROC кривых методов DEV, ASIFT являются всех ближе к точке (0; 1) и при ≈ 0,1 вероятности ошибки классификации кадров без изображения объекта достигается 0,92 (и больше) вероятности распознавания кадров с изображением объекта. Для проведения тестов на проверку инвариантности к изменениям наклона камеры подготовлены аналогичным образом 10 видеофайлов. Для изменения наклона использовалось 3 значения широты (0°, 45°, 170°) и 6 значений долготы 98 (0°, 36°, 72°, 108°, 144°, 180°). Результаты теста приведены в таблице 4.3, графики ROC кривых отображены на рисунке 4.5. График разработанного метода на области FPR от 0,06 до 0,275 имеет значения TPR выше, либо равные значениям TPR остальных графиков. Это значит, что при одной и той же вероятности ошибки классификации кадров без изображения объекта вероятность распознавания кадров с изображением объекта выше у разработанного метода DEV на промежутке FPR от 0,06 до 0,275. Значения показателей AUC представлены в таблице 4.4 для численного сравнения результатов теста. Разработанный метод имеет самые большие значения AUC в проведённых тестах. 99 Таблица 4.3 – Вычисленные средние значения FPR и TPR результатов теста на проверку инвариантности к изменению наклона камеры Порог меры схожести Dev Vuforia SDK Kudan SDK ASIFT SURF FPR TPR FPR TPR FPR TPR FPR TPR FPR TPR 0,95 0 0,2222 0 0,0186 0 0,2222 0 0,1481 0 0,2037 0,90 0 0,3704 0 0,4074 0 0,3704 0 0,3333 0 0,3148 0,85 0 0,5370 0,0185 0,6481 0,0185 0,5370 0 0,5185 0 0,5185 0,80 0 0,7593 0,1481 0,8333 0,0741 0,7222 0,0185 0,7963 0,0556 0,6481 0,75 0,0741 0,9815 0,2407 0,9259 0,1111 0,9074 0,1481 0,9444 0,1481 0,8148 0,70 0,1481 1 0,2963 1 0,2037 0,9444 0,2037 1 0,2593 0,9259 0,65 0,2222 1 0,3704 1 0,2778 1 0,2407 1 0,3148 1 0,60 0,4444 1 0,5185 1 0,4444 1 0,3889 1 0,4074 1 0,55 0,6667 1 0,6481 1 0,6667 1 0,6667 1 0,6111 1 0,50 0,7778 1 0,7963 1 0,7778 1 0,7778 1 0,7407 1 0,45 0,8519 1 0,8889 1 0,8519 1 0,8333 1 0,8148 1 0,40 0,9815 1 0,9815 1 0,9815 1 1 1 1 1 0,35 0,9815 1 1 1 0,9815 1 1 1 1 1 100 Рисунок 4.5 – ROC кривые результатов выполнения теста на проверку инвариантности к изменению наклона камеры На основании анализа результатов, приведённых на графиках и в таблице, можно сказать, что классификация разработанного метода является сопоставимой с классификацией методов Vuforia SDK, ASIFT и разработанный метод позволяет находить проективно искажённое изображение объекта. 101 Таблица 4.4 – AUC значения тестов Тест Метод DEV Vuforia SDK Kudan SDK ASIFT SURF Изменение поворота 0,9967 0,9678 0,8863 0,9917 0,8332 Изменение масштаба 0,9807 0,9457 0,9264 0,9775 0,9652 Изменение наклона 0,9897 0,9444 0,9535 0,9753 0,9355 4.2.2 Сравнение результатов методов поиска по вероятности обнаружения объекта Под вероятностью обнаружения объекта p понимается отношение суммы количества верно обнаруженных кадров объекта (TP) и количества верно классифицированных кадров с отсутствием объекта (TN) к общему количеству кадров (N): TP N p TN При использовании этой формулы необходимо, чтобы рассматриваемая видеопоследовательность имела равное количество кадров с наличием и с отсутствием объекта. Для вычисления вероятности обнаружения каждого метода суммированы значения результатов TP и TN тестов. Пороговое значение меры близости для каждого метода выбраны на основании результатов тестирования инвариантности к проективным изменениям (см. таблицы 4.1, 4.2, 4.3), при которых достигается наименьшее число ошибок. В таблице 4.5 приведены значения вероятностей обнаружения каждого из методов на тестированных видеофайлах. Общее количество кадров N = 944. 102 Таблица 4.5 – Вероятности обнаружения объектов методами Метод TP (количество кадров) TN (количество кадров) Вероятность обнаружения SURF 333 321 0,69 Kudan SDK 345 341 0,73 Vuforia SDK 427 335 0,81 ASIFT 432 319 0,80 DEV (разработанный) 471 351 0,87 Значения результатов вероятностей обнаружения методов показывают, что разработанная методика позволяет увеличить вероятность обнаружения объекта с уровня ≈ 0,81 до ≈ 0,87. 4.2.3 Сравнение быстродействия разработанного метода с методом SURF Для сравнения быстродействия методов SURF с разработанным реализована программа, выполняющая последовательный поиск заданного объекта в видеопотоке разработанным или SURF совместно с RANSAC методом. Оба метода имеют общий код нахождения ключевых точек и вычисления дескрипторов. Использована реализация метода SURF из библиотеки OpenCV 2.4 [16]. Для разработанного метода выставляется 1 октава с 1 масштабом ключевой точки, а для метода SURF выставляется 6 октав с 4 масштабами ключевой точки. Реализация метода RANSAC взята также из библиотеки OpenCV 2.4 [16]. Программы написаны без использования параллельной обработки. На рисунках 4.6 и 4.7 представлены результаты выполнения методов в видеопотоках, содержащих изображение объекта и без изображения объекта соответственно. 103 Рисунок 4.6 – Результаты выполнения SURF и разработанного методов в видеопотоках, содержащих изображение объекта Существующие методы имеют скорость обработки примерно в 8–10 раз меньше разработанного. Прирост скорости в разработанном методе вызван уменьшением вычислительной сложности оригинального метода SURF в s раз (s – количество октав) и заменой алгоритмов RANSAC и Куна-Манкреса для поиска пересечения дескрипторных множеств на упрощённый алгоритм с линейной вычислительной сложностью. На основании анализа результатов, приведённых на рисунках 4.6 и 4.7, можно сказать, что разработанный метод позволяет обрабатывать кадры с изображением объекта до ≈ 8 раз быстрее аналога SURF и до ≈ 10 раз – кадры без изображения объекта. 104 Рисунок 4.7 – Результаты выполнения SURF и разработанного методов в видеопотоках, не содержащих изображения объекта При обработке кадра, содержащего изображение объекта, необходимо дополнительное время на выполнение функции идентификации объекта (А6), в то время как при отсутствии изображения объекта эта функция может быть не выполнена в связи с принятием решения об остановки процесса поиска в функции нахождения общих ключевых точек кадра и объекта (A51). С этим связано различие скоростей обработки видеопоследовательностей с изображением объекта (см. рисунок 4.6) и с его отсутствием (см. рисунок 4.7) 4.2.4 Тестирование производительности Для проверки производительности системы выбраны видеофайлы (см. таблицу 4.6) из открытого доступа [49]: 105 Таблица 4.6 – Тестовые видеопотоки Номер видеофайла Название файла Электронный адрес ссылки 1 big_buck_bunny https://media.xiph.org/video/derf/y4m/big_buck_bun ny_1080p24.y4m.xz 2 pedestrian_area ftp://ftp.ldv.e-technik.tu- muenchen.de/pub/test_sequences/1080p/pedestrian_ area.yuv 3 Netflix_SquareAndTimelapse https://media.xiph.org/video/derf/ElFuente/Netflix_S quareAndTimelapse_4096x2160_60fps_10bit_420.y 4m 4 Netflix_RitualDance https://media.xiph.org/video/derf/ElFuente/Netflix_R itualDance_4096x2160_60fps_10bit_420.y4m 5 ice ftp://ftp.tnt.uni- hannover.de/pub/svc/testsequences/ICE_704x576_6 0_orig_02_yuv.zip 6 mobile ftp://ftp3.itu.int/video-site/sequences/mobile_cif.gz 7 stefan https://media.xiph.org/video/derf/y4m/stefan_sif.y4 m 8 shields ftp://ftp.ldv.e-technik.tu- muenchen.de/pub/test_sequences/720p/720p50_shiel ds_ter.yuv 9 Netflix_Tango https://media.xiph.org/video/derf/ElFuente/Netflix_T ango_4096x2160_60fps_10bit_420.y4m 10 Netflix_Narrator https://media.xiph.org/video/derf/ElFuente/Netflix_ Narrator_4096x2160_60fps_10bit_420.y4m 11 Netflix_Crosswalk https://media.xiph.org/video/derf/ElFuente/Netflix_C rosswalk_4096x2160_60fps_10bit_420.y4m На каждом видеофайле выбран объект для поиска. Пример объектов для поиска приведён на рисунке 4.8. Стоит заметить, что объектом для поиска может служить только изображение с наличием особенных (ключевых) точек объекта, т. е. монотонное изображение без ярко выделенных линий, точек не может быть 106 принято в качестве объекта для поиска. В таблице 4.7 приведена информация о видеопотоках, на которых осуществлялся поиск различных объектов. Рисунок 4.8 – Объекты для поиска в видеопоследовательностях pedestrian_area и Netflix_SquareAndTimelapse Получены новые видеопоследовательности путём масштабирования в разрешения: 640×360, 720×405, 848×480, 960×540, 1024×576, 1280×720, 1600×900, 1920×1080. Каждый видео файл обработан методами поиска объекта ASIFT, SURF и DEV. Результаты производительности усреднены между десяти запусками программной системы с различными видеопотоками. На рисунке 4.9 представлены графики зависимости частоты обработки кадров от разрешения видеопоследовательности. Vuforia SDK и Kudan SDK выпускаются только на мобильные платформы и не позволяют организовать поиск объекта на стационарной вычислительной машине для сравнения в одинаковых условиях с другими методами. Методы поиска объекта из библиотеки Vuforia SDK и Kudan SDK перед выполнением поиска объекта уменьшают размер изображения до 640×480 точек и во время поиска могут принимать решения о пропускании некоторых кадров из процесса анализа для достижения реальной скорости обработки [78]. Следовательно, размер 640×480 – является максимальным для выполнения поиска библиотеками Vuforia SDK и Kudan SDK в реальном масштабе времени (минимум 25 кадров в секунду). 107 Таблица 4.7 – Информация о видеопотоках Номер видеофай ла (см. таблицу 4.6) Размер кадра Относительная площадь целевого объекта от площади кадра Количество перекрытий объекта Общее количество кадров Количество кадров с изображением объекта Длитель ность видеопо тока, сек. 1 1920× 1080 <20% 9 14315 326 596,46 2 1920× 1080 < 2% 5 375 155 15 3 4096× 2160 < 2% 36 600 284 10,01 4 4096× 2160 <20% 132 600 408 10 5 704× 576 < 10% 7 480 187 16 6 720× 480 < 10% 4 300 300 10 7 720× 480 < 10% 0 300 300 10 8 1280× 720 < 10% 0 504 504 10,08 9 4096× 2160 < 5% 102 294 192 4,9 10 4096× 2160 < 5% 0 600 600 10,01 11 4096× 2160 < 4% 112 300 112 5 Средние ошибки первого и второго рода результатов обработки видеопотоков с различными разрешениями разработанной программной системы представлены в таблице 4.8. 108 Рисунок 4.9 – Результаты сравнения скорости обработки на различных размерах кадров Таблица 4.8 – Ошибки первого и второго рода результатов выполнения программной системы, основанной на разработанном методе и алгоритмах В процентах Вид ошибки Номер видеофайла (см. таблицу 4.6) 1 2 3 4 5 6 7 8 9 10 11 I-ого рода 4,85 6,35 5,86 5,82 4,46 4,35 5,28 3,61 4,34 2,42 3,87 II-ого рода 2,37 2,22 3,41 4,56 2,67 3,72 2,49 3,95 2,52 2,86 2,65 109 На основании анализа результатов можно сказать, что разработанную программную систему поиска объекта можно применять в режиме реальной скорости обработки данных (25 кадров в секунду) на разрешении до 960×540 точек с ошибкой первого рода до ≈ 7% и второго рода до ≈ 5%. Добавление функции идентификации увеличивает время обработки лишь первого кадра, благодаря конвейерной архитектуре системы (время выполнения функции идентификации меньше времени выполнения поиска ключевых точек или вычисления дескрипторов). Стоит отметить, что время выполнения процесса инициализации изображения объекта в разработанном методе занимает от 20 секунд до 4 минут в зависимости от количества найденных ключевых точек. В таблице 4.9 представлена производительность программной системы с предложенным алгоритмом нахождения областей претендентов и с использованием алгоритма RANSAC. Видеопотоки имеют размеры кадра 1920 × 1080 точек. На основании результатов таблицы можно сказать, что программная система с разработанным алгоритмом в отличие от использования алгоритма RANSAC выполняется быстрее до ≈ 10%. Таблица 4.9 – Скорости обработки программной системы с алгоритмами сопоставления дескрипторных множеств В кадрах в секунду Алгоритм Номер видеофайла (см. таблицу 4.6) 1 2 3 4 5 6 7 8 9 10 11 RANSAC 13,54 14,21 13,48 14,18 12,75 13,87 13,34 13,04 14,16 13,42 12,51 Разработанный 14,42 14,87 14,67 14,23 13,45 15,24 14,61 13,41 14,94 14,24 13,16 Различие, % 6,50 4,64 8,83 0,35 5,50 9,88 9,52 2,84 5,51 6,11 5,20 Значения средней загрузки процессоров и средней загрузки процессоров в секунду на обработку видеопоследовательности, состоящей из 944 кадров (отрезок от видео pedestrian_area), представлены в таблице 4.10 и в таблице 4.11 соответственно. 110 Таблица 4.10 – Средняя загрузка процессоров В процентах SURF ASIFT Vuforia SDK Kudan SDK DEV 83,57 40,46 61,25 52,50 94,02 Таблица 4.11 – Средняя загрузка процессоров на обработку видеопоследовательности из 944 кадров в секунду В процентах в cекунду SURF ASIFT Vuforia SDK Kudan SDK DEV 0,09 0,04 1,57 1,31 1,84 SURF, Vuforia SDK и разработанный метод DEV имеют среднюю загрузку процессоров выше 60%. Показатели средней загрузки процессоров у методов Vuforia SDK, Kudan SDK и DEV при обработке видеопоследовательности из 944 кадров в секунду являются намного выше показателей методов SURF и ASIFT. Таким образом, на основании приведённых значений в таблицах 4.10 и 4.11 можно сказать, что методы Vuforia SDK и DEV имеют самые высокие показатели эффективности из рассмотренных методов, а значит, эффективнее используют все предоставленные вычислительные ресурсы. Однако разработанный метод в отличие от метода Vuforia SDK обрабатывает видеопоследовательность без уменьшения размеров. Исходя из результатов, разработанный метод обрабатывает кадр размером 640×480 быстрее, чем 30 кадров в секунду, что является выше скорости обработки методом из Vuforia SDK, однако не учитывается время на выполнение процесса масштабирования кадра до размера 640×480. Не всякое изображение может быть принято в качестве целевого изображения объекта. В таблице 4.12 приведены ограничения к объекту для поиска. 111 Таблица 4.12 – Ограничения к целевому объекту для поиска Ограничение Значение Минимальный размер изображения объекта 20 20 точек Максимальное изменение (увеличение/уменьшение) размера изображения объекта в кадре До 20 раз Цветовая характеристика Цветовые гистограммы изображений образца и объекта в кадре должны соответствовать по мере Бхаттачария > 80% Изменение яркости Значение детерминанта матрицы Гессе для ключевой точки должно быть не меньше 300 |