Компьютерное зрение, сегментация изображений

 

Графический редактор "Лубок" - это графический редактор для демонстрации низкоуровневых алгоритмов написанных нами. На сегодня нами реализованы следующие алгоритмы: 4-х и 8-ми связная сегментация, контурный анализ, определение автомобильных номеров, сегментация медианного среза, трассировка растровых изображений(перевод растровых изображений в векторный формат *.svg), а так же более простые функции: Гауссово размытие, фильтры Собеля, усиление резкости, пороговое сравнение, определение штрих кода, детектор движения, трекинг объектов и многие другие функции.

Готовые решения для наших клиентов. Смотрите примеры ниже

Счетчик посетителей:

Управление светом в зависимости от положения человека. Используется ИК-камера с ИК подсветкой. При выходе человека из под люстры (8х8 итого 64 светильника, каждый может светить красным, синим или зеленым) подсветка не осуществляется. Границы люстры видны на видео(квадрат выложен на полу). Световые эффекты отображаются в программе QLC+(окно слева). Управление светотом люстры осуществляется по midi-протоколу (библиотека rtmidi):

Сегментация медианного среза - это глубокая сегментация изображения, по качеству сравнимое с сегментацией на основе динамических деревьев Слейтора-Тарьяна, но время выполнения на порядок быстрее. Данная сегментация подходит для работы в реальном времени даже для изображений высокого разрешения(до 24 Мега пикселей), не требует подбора коэффициентов или обучения. Время необходимое для сегментации 24 Мегапиксельной фотографии <3 сек (для Intel Celeron N3060 - задействовано 1 ядро).

Для демонстрации результатов используем девять ректифицированных стереоизображений (т.е. просмотр одной сцены с девяти немного отличающихся углов)

рис. 1 Исходное изображение

рис. 2 Результаты сегментации изображения

Результаты сегментации Вы можете посмотреть на рис. 2. Сегментация исходного изображения выполнена для 2, 3, 5, 7, 15 и 32 цветов в графическом редакторе Лубок. На каждой изображении все мишки сегментированы одинаково. Время сегментации менее 300 мс. Минимальный размер сегмента: 50 пикселей. Выполняется как бы последовательное проявление изображения. Данную сегментацию можно применить для привязки к объекту, построения программы детектора движения - сравнимая между собой кадры, в графических редакторах для выделения объекта без участия пользователя и другие.

4-х и 8-ми связная сегментация в основном используется для предварительной обработки изображения. Эта сегментация требует дальнейшего развития. В нее необходимо внести минимизацию количества сегментов, так же как в сегментации медианного среза. В данный момент рекомендуется ее использовать перед сегментацией медианного среза для создания более однородных поверхностей объектов.

Нам интересно и у нас получается писать быстродействующие алгоритмы в области компьютерного зрения. Мы хотим применять наши алгоритмы для решения различных задач или мы можем самостоятельно решать различные прикладные задачи для заказчиков.

Что мы можем предложить заказчикам в области компьютерного зрения:

1. Быстрые алгоритмы сегментации

2. Нахождение различных объектов на изображении, а так же определять их размеры, форму и считать их количество в реальном времени. Определять бракованные изделия на производстве или сравнение с эталонным объектом.

3. Слежение на химическими, физическими процессами на производстве.

4. Мы совершенствуем наши программы и без проблем можем перенести их на другую операционную систему или аппаратную платформу.

5. У нас уже есть законченные проекты в компьютерном зрении. Может наш опыт пригодится и Вам?

Примеры использования наших алгоритмов:

Визуальный контроль при производстве печатных плат с помощью компьютерного зрения

 

Графический редактор с элементами компьютерного зрения программа Лубок:

Скачать Лубок

Как пользоваться графическим редактором Лубок для сегментирования изображений:

1. Запустить графический редактор Лубок

2. Загрузить изображение

3. Выбрать Сегментация - 8-ми связная медианного среза

4. В открывшемся окне выбрать количество цветов в политре и минимум точек в сегменте. Жмем "Ок".

5. Внизу в статусном окне Вы можете посмотреть количество полученных сегментов и время выполнения

6. Сегментация-Выбор сегмента - Вы можете выделить любой сегмент и узнать его площадь.

Так же перед сегментацией изображений Вы можете выполнить подготовительные операции, как настройка резкости, Гауссово размытие и другие, если это необходимо.

Как пользоваться графическим редактором Лубок для векторизации растрового изображения:

1. Открыть изображение
2. Выбрать масштаб, какой будет выбран таким будет и сохранен файл .svg
3. Выбрать Сегментация-4-связная медианного среза.Указать количество цветов в палитре от 2 до 32 и минимум точек в сегменте от 1 до 50. Для больших изображений(24 МП) рекомендуется нажать на кнопку х10, что увеличит минимальное количество точек до 500.
4. Сегментация-векторный файл .svg-(далее зависит от вашего изображения, если реальная фотография, то как правило к нее оптимизация приводит к плохим результатам), главное знать что оптимизация - это апрокимация прямыми линиями.
5. Последний этап - это выбрать, какой размер сегментов будет отбрасываться. Тут результат зависит от результата сегментации и опять таки вашего изображения.
P.S. Многое зависит от вашего исходного изображения. Желательно чтобы оно было хорошего качества и не испорчено jpg, jpeg.
P.P.S. Программа "Лубок" - это мощный инструмент, но перед работой пользователь должен правильно ее настроить.
Если не будет получаться пишите на наш e-mail в контактах, буду рад ответить на все Ваши вопросы и пожелания.

Компьютерное зрение, Трекинг объектов, Сегментация изображений, детектор объектов, трассировка изображений, перевод растровых изображений в вектор , программа Лубок.