Краткая история проекта OpenCV

в 19:28, , рубрики: itseez, opencv, Блог компании «Itseez», Компьютерное зрение, Нижний Новгород, обработка изображений, метки: , , ,

Опубликовано Кириллом Корняковым [лидер команды разработчиков] 24 июня 2012.

Привет!

image

Этой записью мы открываем блог компании Itseez (от англ. it sees — «оно видит!»). Компания основана адептами компьютерного зрения, проработавшими в этой области более 13 лет, среди которых есть участники проекта OpenCV с первого дня его существования. Наша стратегия связана с разработкой технологий и продуктов в области компьютерного зрения под девизом ”Vision that works!”. Наши клиенты — Willow Garage, NVidia, Intel, Microsoft, несколько менее известных компаний и стартапов. На сегодняшний день коллектив Itseez — это команда из 40 инженеров и исследователей, многие сотрудники активно участвуют в образовательной деятельности: преподают в университете, публикуются в журналах и выступают на конференциях, а также проводят школы по компьютерному зрению.

На страницах блога мы бы хотели рассказывать о том, что интересного происходит в реальном и кибер-пространстве вокруг нас, а также в мире компьютерного зрения. Мы надеемся, что публикуемые материалы будут интересны людям, близким к машинному обучению, робототехнике, вычислительной фотографии, технологиям интеллектуального видеонаблюдения и дополненной реальности, а также к смежным направлениям Науки и Техники. Важной особенностью Itseez является то, что многие наши разработки являются open-source, поэтому мы постараемся подкреплять свои слова примерами реального кода.

Поскольку это первая запись в нашем блоге, хотелось бы поделиться чем-то интересным, поэтому мы расскажем о ключевом проекте компании — о разработке библиотеки алгоритмов компьютерного зрения OpenCV (о своем вкладе в ROS (Robot Operating System) и PCL (Point Cloud Library) мы пока умолчим). Подготовленный читатель, вероятно, удивится, задавшись вопросом: “Но ведь OpenCV разрабатывается Intel / Willow Garage!”, и будет прав, но лишь отчасти. Действительно, далеко не все знают, что большинство ведущих разработчиков OpenCV живут и трудятся в России, в городе Нижний Новгород, и являются сотрудниками компании Itseez. Поэтому, чтобы устранить недоразумения, первый пост мы решили посвятить изложению краткой истории OpenCV. Также, пользуясь случаем, в заключении мы поделимся некоторой инсайдерской информацией о будущем проекта.

Итак, если вы занимаетесь компьютерным зрением, то Вы, вероятно, слышали об OpenCV, полное название которой звучит как Open Source Computer Vision Library. Библиотека довольно популярна, на текущий момент имеет чуть более 5 миллионов скачиваний (не считая загрузок напрямую из репозитория), и недавно была предложена в качестве основы для стандарта Khronos по компьютерному зрению (http://www.khronos.org/vision).

С 2000 по 2008 год OpenCV разрабатывалась и поддерживалась в основном Intel, и Нижегородское отделение корпорации с самого начала играло ведущую роль в формировании облика библиотеки. В первые годы существования OpenCV стремительно расширялась вширь, обрастая базовой функциональностью, такой как основные структуры данных, алгоритмы обработки изображений (image processing), базовые алгоритмы компьютерного зрения, ввод и вывод изображений и видео. Уже в это время были реализованы алгоритмы детекции человеческих лиц (каскадный классификатор), поиска стереосоответствия, оптического потока и другие. Однако, в 2004 году Intel практически прекратил поддержку библиотеки. Многие участники проекта, которые к тому времени уже сложились как эксперты в области компьютерного зрения, не захотели переквалифицироваться, и покинули компанию. Фактически, именно так возник Itseez, деятельность которого в значительной степени базируется на экспертизе, полученной во время разработки OpenCV.

Второй мощный толчок к развитию проект получил с приходом компании Willow Garage, основной целью которой является создание персонального робота. OpenCV стала важной частью ROS (Robot Operating System), и на ее основе был создан ряд компонент для робота PR2, но об этом мы расскажем как-нибудь позже. Начало этого периода совпадает с переходом в Itseez из Intel Вадима Писаревского (aka OpenCV Tsar) в 2008 году. При поддержке Willow была сформирована команда, стартовавшая существенную переработку библиотеки. Именно следствием этих усилий стало то, что OpenCV приобрела С++ и Python API, модуль features2d, новую архитектуру, билд-систему на основе CMake, систему непрерывной интеграции на основе BuildBot, улучшенную документацию, прекрасные туториалы и массу других новшеств.

На сегодняшний день можно говорить уже о третьем значительном этапе в жизни библиотеки, наступившем с приходом NVidia. В 2010 году эта компания поддержала создание CUDA-оптимизированной версии библиотеки, что также было сделано инженерами компании Itseez. Первым публичным результатом стала реализация алгоритма стереосоответствия, способная в реальном времени производить обработку видео в FullHD-разрешении (1920х1080 пикселей). На сегодняшний день opencv_gpu — это полновесный модуль, нашедший применение во многих промышленных приложениях. Начиная с 2011 года список задач расширился, и Itseez совместно с NVidia начал разработку версии библиотеки под Android, c оптимизациями для платформы NVidia Tegra. OpenCV4Android пережила уже несколько релизов, и приобрела свое собственное сообщество пользователей. Кроме того, OpenCV обогатилась Java API (пока только для Android), встроенной системой тестирования производительности и рядом улучшений. Тем, кого могут заинтересовать результаты оптимизации OpenCV под GPU и мобильные процессоры, можно порекомендовать к прочтению недавно вышедшую статью “Real-time Computer Vision with OpenCV”, а также постеры с конференции GTC 2012: «Accelerating Computer Vision with Tegra GPU», «GPU Vision».

Таким образом, современный облик библиотеки является результатом продолжительной эволюции. Проект идет в ногу с быстро развивающейся областью компьютерного зрения. Сразу несколько компаний мирового уровня участвовали в формировании библиотеки, и еще рано говорить о завершении её разработки. Недавно проект приобрел новый трекер задач, активность работ лишь набирает обороты, недавно состоялась юбилейная 5M загрузка, и мы надеемся, что у нас будет масса интересного материала, чтобы поделиться с вами.

Теперь немного информации для активных пользователей OpenCV. Во-первых, 4 Июня вышел релиз 2.4.1, в основном несущий исправления для 2.4.0 (особое спасибо Андрею Камаеву и Александру Шишкову!). Во-вторых, в скором времени планируется запуск собственного сайта библиотеки, который будет размещен по адресу opencv.org (сейчас работает редирект). Этот сайт будет особенно полезен тем, кто только начинает работать с библиотекой. Кроме того, будет развернут собственный Q&A форум на StackOverflow-like движке. В-третьих, идет работа над созданием OpenCV Foundation — некоммерческого фонда, который позволил бы собирать средства на развитие библиотеки и систематизировать ее разработку. Для разработчиков это означает еще больше функциональности, документации, сэмплов и производительности! Мы очень надеемся, что все это случится уже в этом году, постараемся держать всех в курсе!

Напоследок хотим пригласить всех ознакомиться c визуализацией активности в репозитории во время работ над OpenCV 2.4.0 (смотреть в максимальном разрешении!).

Следующий крупный релиз OpenCV 2.5 намечен на 1 ноября, и работа идет полным ходом!

Автор: SeninAndrew

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js