SwisTrack

SwisTrack — инструмент с открытым исходным кодом для отслеживания роботов и других объектов с использованием камеры или записанного видеоматериала в качестве входного источника. Основная разработка велась лабораторией распределённых интеллектуальных систем и алгоритмов (DISAL) и группой LPM Vision при EPFL (Лозанна, Швейцария)[1].

Что важно знать
SwisTrack
Тип видеотрекинг
Разработчики Nikolaus Correll, Pierre Roduit, Thomas Lochmatter и др.
Написана на C++
Интерфейс wxWidgets
Операционные системы Linux, Windows, Mac OS
Последняя версия 4.0.0 (февраль 2008)
Лицензия Adaptive Public License (открытое ПО)
Сайт swistrack.sourceforge.net

Архитектура

SwisTrack написан на C++ с использованием библиотеки wxWidgets для создания графического интерфейса и работы в сети. Для быстрой обработки изображений применяется библиотека OpenCV от Intel, а также реализованы интерфейсы для камер USB, FireWire и GigE, а также для файлов AVI[2].

Начиная с версии 4, конвейер обработки SwisTrack настраивается пользователем из компонентов, которые взаимодействуют между собой и передают данные через специальные каналы. Существует шесть каналов: входной, изображение в градациях серого, цветное изображение, бинарное изображение, частицы и треки. Отдельные компоненты могут работать только с некоторыми каналами данных. Для каждого используемого канал компонента поддерживается один из трёх режимов: чтение, запись и редактирование (то есть чтение и запись одновременно)[1].

В типовом конвейере изображение преобразуется в бинарное, затем объекты выделяются как "капли" (blobs), которые преобразуются в частицы; частицы формируют треки путём сопоставления последовательных кадров. Blob — это множество связанных пикселей с одинаковым значением[1].

SwisTrack может выводить данные либо в табличный файл с разделителями-табуляциями, либо через TCP-интерфейс с использованием протокола NMEA 0183. Последний также позволяет осуществлять удалённое управление[1].

Примечания