Телевизоры. Приставки. Проекторы и аксессуары. Технологии. Цифровое ТВ

Яндекс компьютерное зрение. Как камеры следят за нами на улицах российских городов. И как их обмануть. Компьютер ещё не понимает, но уже «видит»

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

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

Человек учится распознавать - то есть находить и отличать от других - объекты всю жизнь. Он видел дома, деревья и горы бессчётное количество раз: как в действительности, так и на картинах, фотографиях и в кино. Он помнит, как выглядят те или иные предметы в разных ракурсах и при разном освещении.

Машины создавались для того, чтобы работать с числами. Необходимость наделить их зрением возникла относительно недавно. Распознавание номерных знаков автомобилей, чтение штрихкодов на товарах в супермаркете, анализ записей с камер наблюдения, поиск лиц на фото, создание роботов, умеющих находить (и обходить) препятствия, - всё это задачи, которые требуют от компьютера способности «видеть» и интерпретировать увиденное. Набор методов, позволяющих обучить машину извлекать информацию из изображения - будь то картинка или видеозапись, - называется компьютерным зрением.

Как учится компьютер

Чтобы компьютер находил на изображениях, скажем, домики, нужно его этому научить. Для этого необходимо составить обучающую выборку. В нашем случае это будет коллекция картинок. Она, во-первых, должна быть достаточно большой (невозможно научить чему-то на двух-трёх примерах), во-вторых - репрезентативной (необходимо, чтобы она отражала природу данных, с которыми мы работаем), а в-третьих, должна содержать как положительные («на этой картинке есть домик»), так и отрицательные («на этой картинке нет домика») примеры.


После того как мы составили выборку, в дело вступает машинное обучение. В ходе обучения компьютер анализирует изображения из выборки, определяет, какие признаки и комбинации признаков указывают на то, что на картинке - домик, и просчитывает их значимость. Если обучение прошло успешно (чтобы удостовериться в этом, проводятся проверки), то машина может применять полученные знания «на практике» - то есть находить домики на любых картинках.

Анализ изображения

Человеку ничего не стоит выделить на картинке важное и неважное. Компьютеру это сделать гораздо сложнее. В отличие от человека, он оперирует не образами, а числами. Для компьютера изображение - это набор пикселей, у каждого из которых есть своё значение яркости или цвета. Чтобы машина смогла получить представление о содержимом картинки, изображение обрабатывают с помощью специальных алгоритмов.

Сначала на картинке выявляют потенциально значимые места - то есть предполагаемые объекты или их границы. Это можно сделать несколькими способами. Рассмотрим, к примеру, алгоритм Difference of Gaussians (DoG, разность гауссиан). Он подразумевает, что исходную картинку несколько раз подвергают размытию по Гауссу, каждый раз используя разный радиус размытия. Затем результаты сравнивают друг с другом. Этот способ позволяет выявить на изображении наиболее контрастные фрагменты - к примеру, яркие пятна или изломы линий.

После того как значимые места найдены, их описывают в числах. Запись фрагмента картинки в числовом виде называется дескриптором. С помощью дескрипторов можно быстро, полно и точно сравнить фрагменты изображения, не используя сами фрагменты. Существуют разные алгоритмы получения дескрипторов - например, SIFT , SURF , HOG и многие другие.

Поскольку дескриптор - это числовое описание данных, то сравнение изображений - одна из важнейших задач в компьютерном зрении - сводится к сравнению чисел. Дескрипторы выражены довольно большими числами, поэтому их сравнение может требовать заметных вычислительных ресурсов. Чтобы ускорить вычисления, дескрипторы распределяют по группам, или кластерам. В один и тот же кластер попадают похожие дескрипторы с разных изображений. Операция распределения дескрипторов по кластерам называется кластеризацией.

После кластеризации данный дескриптор изображения сам по себе можно не рассматривать; важным становится лишь номер кластера с дескрипторами, наиболее похожими на данный. Переход от дескриптора к номеру кластера называется квантованием, а сам номер кластера - квантованным дескриптором. Квантование существенно сокращает объём данных, которые нужно обработать компьютеру.

Опираясь на квантованные дескрипторы, компьютер выполняет такие задачи, как распознавание объектов и сравнение изображений. В случае с распознаванием квантованные дескрипторы используются для обучения классификатора - алгоритма, который отделяет изображения «с домиком» от изображений «без домика». В случае со сравнением картинок компьютер сопоставляет наборы квантованных дескрипторов с разных изображений и делает вывод о том, насколько похожи эти изображения или их отдельные фрагменты. Такое сравнение лежит в основе поиска дубликатов и .

Это лишь один подход к анализу изображения, поясняющий, как компьютер «видит» предметы. Существуют и другие подходы. Так, для распознавания изображений всё чаще применяются нейронные сети . Они позволяют выводить важные для классификации признаки изображения непосредственно в процессе обучения. Свои методы работы с изображением используются и в узких, специфических областях - например, при чтении штрихкодов.

Где используется компьютерное зрение

В умении распознавать человек, однако, пока оставляет компьютер далеко позади. Машина преуспела лишь в определённых задачах - например, в распознавании номеров или машинописного текста. Успешно распознавать разнородные объекты и произвольные сцены (разумеется, в условиях реальной жизни, а не лаборатории) компьютеру всё ещё очень трудно. Поэтому когда мы вводим в поисковую строку в Яндекс.Картинках слова «карбюратор» или «танцующие дети», система анализирует не сами изображения, а преимущественно текст, который их сопровождает.

Тем не менее, в ряде случаев компьютерное зрение может выступать серьёзным подспорьем. Один из таких случаев - это работа с лицами. Рассмотрим две связанные друг с другом, но разные по смыслу задачи: детектирование и распознавание.


Часто бывает достаточно просто найти (то есть детектировать) лицо на фотографии, не определяя, кому оно принадлежит. Так работает фильтр « » в Яндекс.Картинках. Например, по запросу [формула-1] будут найдены главным образом фотографии гоночных болидов. Если же уточнить, что нас интересуют лица, Яндекс.Картинки покажут фотографии гонщиков.

В иных ситуациях нужно не только отыскать лицо, но и узнать по нему человека («Это - Вася»). Такая функция есть в Яндекс.Фотках. При распознавании система берёт за образец уже размеченные фотографии с человеком, поэтому область поиска сильно сужается. Имея десять фотографий, на которых уже отмечен Вася, узнать его на одиннадцатом снимке будет несложно. Если Вася не хочет, чтобы его знали в лицо, он может запретить отмечать себя на фото.

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

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

В данном курсе будут подробно разобраны решения основных задач компьютерного зрения: классификация изображений, распознавание и детекция объектов и сегментация изображений. Также мы затронем темы поиска изображений и распознавание рукописного ввода. В первой части курса слушатели познакомятся с классическими алгоритмами компьютерного зрения и разберут практические примеры с использованием библиотеки OpenCV. Вторая часть курса посвящена сверточным нейронным сетям. В этой части мы уделим особое внимание практическому применению нейронных сетей для задач компьютерного зрения. Также познакомимся с популярными библиотеками для работы с нейросетями такими как Keras и TensorFlow.

Преподаватель

Руслан Рахимов

Выпускник Московского Физико-Технического Института, Сколковского Института Науки и Технологий. Разработчик-исследователь в команде компьютерного зрения в компании Huawei.

Основные темы программы

  • Базовая теория: форматы, преобразование изображений с помощью фильтров, знакомство с библиотекой OpenCV
  • Выделение инвариантных признаков, стичинг и поиск похожих изображений
  • Сегментация изображений, детекция и трекинг объектов на изображении
  • Введение в нейронные сети
  • Сверточные сети для обработки изображений. Знакомство с фреймворком Keras
  • Обзор популярных архитектур сетей. Аугментация изображений и тюнинг обученных сетей
  • Обзор архитектур сетей для сегментации и детекции объектов на изображении.
  • Решение задачи распознавания рукописного ввода с помощью нейронных сетей

Начальные требования

Знание базовой программы курса «Высшая математика» и основ программирования (желательно Python).

Расписание занятий
С 25 сентября по 30 октября 2019 г.

Итак, компьютерное зрение — это набор методов, позволяющих обучить машину извлекать информацию из изображения или видео. Чтобы компьютер находил на изображениях определенные объекты, его необходимо научить. Для этого составляется огромная обучающая выборка, например, из фотографий, часть из которых содержат искомый объект, а другая часть — напротив, не содержит. Далее в дело вступает машинное обучение. Компьютер анализирует изображения из выборки, определяет, какие признаки и их комбинации указывают на наличие искомых объектов, и просчитывает их значимость.

После завершения обучения компьютерное зрение можно применять в деле. Для компьютера изображение - это набор пикселей, у каждого из которых есть своё значение яркости или цвета. Чтобы машина смогла получить представление о содержимом картинки, ее обрабатывают с помощью специальных алгоритмов. Сначала выявляют потенциально значимые места. Это можно делать несколькими способами. Например, исходное изображение несколько раз подвергают размытию по Гауссу, используя разный радиус размытия. Затем результаты сравнивают друг с другом. Это позволяет выявить наиболее контрастные фрагменты - яркие пятна и изломы линий.


После того как значимые места найдены, компьютер описывает их в числах. Запись фрагмента картинки в числовом виде называется дескриптором. С помощью дескрипторов можно достаточно точно сравнивать фрагменты изображения без использования самих фрагментов. Чтобы ускорить вычисления, компьютер проводит кластеризацию или распределение дескрипторов по группам. В один и тот же кластер попадают похожие дескрипторы с разных изображений. После кластеризации важным становится лишь номер кластера с дескрипторами, наиболее похожими на данный. Переход от дескриптора к номеру кластера называется квантованием, а сам номер кластера - квантованным дескриптором. Квантование существенно сокращает объём данных, которые необходимо обработать компьютеру.


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

Распознавание лиц в России

Где и зачем это хотят применять

Массовые мероприятия

Компания NtechLab разработала систему камер, которые . Она распознает нарушителей и отправляет их фотографии полицейским. Еще у полиции появятся ручные камеры, чтобы фотографировать подозрительных людей, распознавать их лица и узнавать по базам данных, кто они такие.

В московском метро тестируют камеры с распознаванием лиц. Они просматривают лица 20 человек в секунду и сверяют их с базами данных людей в розыске. Если есть совпадение, камеры отправляют данные полицейским. За 2,5 месяца система , которые были в розыске. Известно, что такие камеры есть , но, возможно, их установили и на других станциях.

Банк «Открытие» в начале 2017 года запустил систему распознавания лиц . Она сравнивает лицо посетителя с фотографией в базе данных. Система нужна, чтобы обслуживать клиентов быстрее, как именно - не уточняется. В будущем «Открытие» хочет использовать систему для удаленной идентификации. В 2018 году подобная система, но разработки «Ростелекома» должна появится .

Главное - алгоритм

Какая технология позволяет машинам узнавать лица

Сергей Миляев

Компьютерное зрение - это алгоритмы, позволяющие получить высокоуровневую информацию из изображений и видео, тем самым автоматизируя некоторые аспекты зрительного восприятия человека. Компьютерное зрение для машины, так же как и обычное зрение для человека, это средство измерения и получения семантической информации о наблюдаемой сцене. С его помощью машина получает информацию о том, какого размера объект, какой он формы и что из себя представляет.

Камера с алгоритмом компьютерного зрения OpenCV следит за детьми на игровой площадке

Все работает на основе нейросетей

Как именно устроено распознавание лиц, с примером

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

Компьютерное зрение не воспроизводит зрительную систему человека, а только выполняет моделирование некоторых аспектов для решения различных задач

Сергей Миляев

Ведущий исследователь компании VisionLabs

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

Пример

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

Алгоритм компьютерного зрения OpenCV определяет, сколько пальцев ему показывают

Компьютер знает, когда его обманывают

Может ли человек обмануть очень умный компьютер, три примера

Олег Гринчук

Ведущий исследователь VisionLabs

Мошенники могут попытаться либо выдать себя за другого человека, чтобы получить доступ к его аккаунтам и данным, либо обмануть систему, чтобы она не смогла распознать их в принципе. Рассмотрим оба варианта.

Фотография, видео другого человека или распечатанная маска

С этими способами обмана платформа VisionLabs борется с помощью проверки на liveness, то есть она проверяет, что объект, находящийся перед камерой, живой. Это может быть, например, интерактивный liveness, когда система просит человека улыбнуться, моргнуть или поднести камеру или смартфон ближе к лицу.

Набор проверок невозможно предсказать, так как платформа составляет случайную последовательность с десятками тысяч комбинаций - нереально записать тысячи видеороликов с нужными комбинациями улыбок и других эмоций. А если камера оснащена сенсорами ближнего инфракрасного диапазона или сенсором глубины, то они передают системе дополнительную информацию, которая помогает по одному кадру определить, реальный ли человек перед ней.

Помимо этого, система анализирует отражение света от разных текстур, а также окружение объекта. Так что таким способом обмануть систему почти невозможно.

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

Злоумышленнику необходимо взломать именно логику и принцип проверки. Но для стороннего пользователя это просто камера, черный ящик, глядя на который невозможно понять, какой именно вариант проверки внутри. Более того, от кейса к кейсу факторы для проверки отличаются, поэтому нельзя использовать для взлома какой-то универсальный алгоритм.

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

Большие темные очки, кепка, шарф, закрыть лицо рукой

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

Зрение компьютеров превосходит зрение людей

В чем именно и почему, с примером

Юрий Минкин

Системы компьютерного зрения по основным принципам работы похожи на человеческое зрение. Как у человека, у них есть устройства, которые отвечают за сбор информации, это видеокамеры, аналог глаз, и ее обработку - вычислитель, аналог мозга. Но у компьютерного зрения есть существенное преимущество над человеческим.

У человека есть определенный порог того, что он может увидеть и какую информацию извлечь из изображения. Превзойти этот порог нельзя чисто по физиологическим причинам. А алгоритмы компьютерного зрения будут только совершенствоваться. У них безграничные возможности для обучения

Юрий Минкин

Руководитель департамента Cognitive Technologies

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

Пример

В конце прошлого года специалисты Cognitive Technologies проводили эксперименты по сравнению возможностей человека и искусственного интеллекта в задачах детекции объектов дорожной сцены. И уже сейчас ИИ в отдельных случаях не только не уступал, но и превосходил человеческие возможности. Например, он лучше распознавал дорожные знаки, когда они были частично заслонены листвой деревьев. Компьютеры используются в суде

Может ли компьютер свидетельствовать против человека

Сергей Израйлит: Сейчас в законодательстве использование данных, «полученных от компьютеров», для использования в качестве доказательства каких-то существенных обстоятельств, в том числе правонарушений, специально урегулировано только для некоторых случаев. Например, регламентировано использование камер, распознающих номера автомобилей, нарушающих скоростной режим движения.

В общем случае такие данные можно использовать наравне с любыми другими доказательствами, которые следствие или суд может как принять во внимание, так и отклонить. При этом процессуальное законодательство устанавливает общий порядок работы с уликами - экспертиза, в рамках которой устанавливается, действительно ли представленная запись подтверждает какие-то факты или информация была тем или иным образом искажена.

Машинное зрение. Что это и как им пользоваться? Обработка изображений оптического источника

Машинное зрение - это научное направление в области искусственного интеллекта, в частности робототехники, и связанные с ним технологии получения изображений объектов реального мира, их обработки и использования полученных данных для решения разного рода прикладных задач без участия (полного или частичного) человека.

Исторические прорывы в машинном зрении

Компоненты системы машинного зрения

  • Одна или несколько цифровых или аналоговых камер (черно-белые или цветные) с подходящей оптикой для получения изображений
  • Программное обеспечение для изготовления изображений для обработки. Для аналоговых камер это оцифровщик изображений
  • Процессор (современный ПК c многоядерным процессором или встроенный процессор, например - ЦСП)
  • Программное обеспечение машинного зрения, которое предоставляет инструменты для разработки отдельных приложений программного обеспечения.
  • Оборудование ввода-вывода или каналы связи для доклада о полученных результатах
  • Умная камера: одно устройство, которое включает в себя все вышеперечисленные пункты.
  • Очень специализированные источники света (светодиоды, люминесцентные и галогенные лампы и т. д.)
  • Специфичные приложения программного обеспечения для обработки изображений и обнаружения соответствующих свойств.
  • Датчик для синхронизации частей обнаружения (часто оптический или магнитный датчик) для захвата и обработки изображений.
  • Приводы определенной формы используемые для сортировки или отбрасывания бракованных деталей.
Машинное зрение сосредотачивается на применении, в основном промышленном, например, автономные роботы и системы визуальной проверки и измерений. Это значит, что технологии датчиков изображения и теории управления связаны с обработкой видеоданных для управления роботом и обработка полученных данных в реальном времени осуществляется программно или аппаратно.

Обработка изображений и анализ изображений в основном сосредоточены на работе с 2D изображениями, т.е. как преобразовать одно изображение в другое. Например, попиксельные операции увеличения контрастности, операции по выделению краёв, устранению шумов или геометрические преобразования, такие как вращение изображения. Данные операции предполагают, что обработка/анализ изображения действуют независимо от содержания самих изображений.

Компьютерное зрение сосредотачивается на обработке трехмерных сцен, спроектированных на одно или несколько изображений. Например, восстановлением структуры или другой информации о 3D сцене по одному или нескольким изображениям. Компьютерное зрение часто зависит от более или менее сложных допущений относительно того, что представлено на изображениях.

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

Наконец, распознавание образов является областью, которая использует различные методы для получения информации из видеоданных, в основном, основанные на статистическом подходе. Значительная часть этой области посвящена практическому применению этих методов.

Таким образом, можно сделать вывод, что понятие «машинное зрение» на сегодняшний день включает в себя: компьютерное зрение, распознавание зрительных образов, анализ и обработка изображений и т.д.

Задачи машинного зрения

  • Распознавание
  • Идентификация
  • Обнаружение
  • Распознавание текста
  • Восстановление 3D формы по 2D изображениям
  • Оценка движения
  • Восстановление сцены
  • Восстановление изображений
  • Выделение на изображениях структур определенного вида, сегментация изображений
  • Анализ оптического потока

Распознавание


Классическая задача в компьютерном зрении, обработке изображений и машинном зрении это определение содержат ли видеоданные некоторый характерный объект, особенность или активность.

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

Один или несколько предварительно заданных или изученных объектов или классов объектов могут быть распознаны (обычно вместе с их двухмерным положением на изображении или трехмерным положением в сцене).

Идентификация


Распознается индивидуальный экземпляр объекта принадлежащего к какому-либо классу.
Примеры: идентификация определённого человеческого лица или отпечатка пальцев или автомобиля.

Обнаружение


Видеоданные проверяются на наличие определенного условия.

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

Распознавание текста


Поиск изображений по содержанию: нахождение всех изображений в большом наборе изображений, которые имеют определенное различными путями содержание.

Оценка положения: определение положения или ориентации определенного объекта относительно камеры.

Оптическое распознавание знаков: распознавание символов на изображениях печатного или рукописного текста (обычно для перевода в текстовый формат, наиболее удобный для редактирования или индексации. Например, ASCII).

Восстановление 3D формы по 2D изображениям осуществляется с помощью стереореконструкции карты глубины, реконструкции поля нормалей и карты глубины по закраске полутонового изображения, реконструкции карты глубины по текстуре и определения формы по перемещению

Пример восстановления 3D формы по 2D изображеню

Оценка движения

Несколько задач, связанных с оценкой движения, в которых последовательность изображений (видеоданные) обрабатываются для нахождения оценки скорости каждой точки изображения или 3D сцены. Примерами таких задач являются: определение трехмерного движения камеры, слежение, то есть следование за перемещениями объекта (например, машин или людей)

Восстановление сцены

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

Восстановление изображений


Задача восстановления изображений это удаление шума (шум датчика, размытость движущегося объекта и т.д.).

Наиболее простым подходом к решению этой задачи являются различные типы фильтров, таких как фильтры нижних или средних частот.

Более высокий уровень удаления шумов достигается в ходе первоначального анализа видеоданных на наличие различных структур, таких как линии или границы, а затем управления процессом фильтрации на основе этих данных.

Восстановление изображений

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

Примерами таких задач являются: определение трехмерного движения камеры, слежение, т.е. следование за перемещениями объекта (например, машин или людей).

Методы обработки изображений

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

Подсчитывает количество светлых или темных пикселей.
С помощью счетчика пикселей пользователь может выделить на экране прямоугольную область в интересующем месте, например там, где он ожидает увидеть лица проходящих людей. Камера в ответ немедленно даст сведения о количестве пикселей, представленных сторонами прямоугольника.

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

Бинаризация


Преобразует изображение в серых тонах в бинарное (белые и черные пиксели).
Значения каждого пикселя условно кодируются, как «0» и «1». Значение «0» условно называют задним планом или фоном а «1» - передним планом.

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

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

Сегментация

Используется для поиска и (или) подсчета деталей.

Цель сегментации заключается в упрощении и/или изменении представления изображения, чтобы его было проще и легче анализировать.

Сегментация изображений обычно используется для того, чтобы выделить объекты и границы (линии, кривые, и т. д.) на изображениях. Более точно, сегментация изображений - это процесс присвоения таких меток каждому пикселю изображения, что пиксели с одинаковыми метками имеют общие визуальные характеристики.

Результатом сегментации изображения является множество сегментов, которые вместе покрывают всё изображение, или множество контуров, выделенных из изображения. Все пиксели в сегменте похожи по некоторой характеристике или вычисленному свойству, например, по цвету, яркости или текстуре. Соседние сегменты значительно отличаются по этой характеристике.

Чтение штрих-кодов


Штрих-код - графическая информация, наносимая на поверхность, маркировку или упаковку изделий, представляющая возможность считывания её техническими средствами - последовательность чёрных и белых полос либо других геометрических фигур.
В машинном зрении штрих-коды используют для декодирования 1D и 2D кодов, разработанных для считывания или сканирования машинами.

Оптическое распознавание символов

Оптическое распознавание символов: автоматизированное чтение текста, например, серийных номеров.

Распознавание используется для конвертации книг и документов в электронный вид, для автоматизации систем учёта в бизнесе или для публикации текста на веб-странице.

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

Моя программа, написанная на LabView по работе с изображениями

Использовано компьютерное зрение для неразрушающего контроля качества сверхпроводящих материалов.

Введение. Решение задач обеспечения комплексной безопасности (как антитеррористической и механической безопасности объектов, так и технологической безопасности инженерных систем), в настоящее время, требует системной организации контроля, текущего состояния объектов. Одними из наиболее перспективных способов контроля текущего состояния объектов являются оптические и оптико-электронные методы, основанные на технологиях обработки видеоизображений оптического источника. К ним относятся: программы по работе с изображениями; новейшие способы обработки изображений; оборудования для получения, анализа и обработки изображений, т.е. комплекс средств и методов относящихся к области компьютерного и машинного зрения. Компьютерное зрение - это общий набор методов, позволяющих компьютерам видеть и распознавать трех- или двухмерные объекты, как инженерного направления, так и нет. Для работы с компьютерным зрение требуются цифровые или аналоговые устройства ввода-вывода, а также вычислительные сети и IP анализаторы локаций, предназначенные для контроля производственного процесса и подготовки информации для принятия оперативных решений в кратчайшие сроки.

Постановка проблемы. На сегодняшний день, главной задачей для проектируемых комплексов машинного зрения остаётся обнаружение, распознавание, идентификация и квалификация объектов потенциального риска, находящихся в случайном месте в зоне оперативной ответственности комплекса. Существующие на данный момент программные продукты, направленные на решение перечисленных задач обладают рядом существенных недостатков, а именно: значительная сложность, связанная с высокой детализацией оптических образов; высокая потребляемая мощность и достаточно узкий спектр возможностей. Расширение задач обнаружения объектов потенциального риска, до области поиска случайных объектов в случайных ситуациях, находящихся в случайном месте, имеющимися программными продуктами не возможно, даже с задействованием суперкомпьютера.

Цель. Разработка универсальной программы обработки изображений оптического источника, с возможностью потокового анализа данных, то есть программа должна быть лёгкой и быстрой для того, чтобы её можно было записать на малогабаритное ЭВМ устройство.

Задачи:

  • разработка математической модели программы;
  • написание программы;
  • опробирование программы в условиях лабораторного эксперимента, с полной подготовкой и проведением эксперимента;
  • исследование возможности применения программы в смежных областях деятельности.

Актуальность программы определяется:

Анализ актуальности разработки программы.
  • отсутствием на рынке программного обеспечения программ обработки изображений с выводом подробного анализа инженерных составляющих объектов;
  • постоянно растущими требованиями к качеству и скорости получения визуальной информации, резко повышающими востребованность программ обработки изображений;
  • существующей потребность в программах высокой производительности, надежных и простых с точки зрения пользователя;
  • существует потребность программ высокой производительности и простого управления, чего добиться в наше время крайне сложно. Для примера я взял Adobe Photoshop. Данный графический редактор обладает гармоничным сочетанием функциональности и простоты использования для рядового пользователя, но в данной программе невозможно работать со сложными инструментами по обработке изображения (например, анализ изображения путём построения математической зависимости (функции) или же интегральной обработкой изображений);
  • высокой стоимостью профессиональных программ обработки визуальной информации. Если программное обеспечение качественно, то цена на него крайне высока, вплоть до отдельных функции того или иного набора программ. На графике ниже представлена зависимость цены/качества простых аналогов программы.

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

Программа работает с преобразованиями типа бинаризации, яркости, контраста изображения и т.д. Принцип действия программы продемонстрирован на примере анализа сверхпроводящих материалов.

При создании композиционных сверхпроводников на основе Nb3Sn варьируется объемное соотношение бронзы и ниобия, размер и количество волокон в нем, равномерность их распределения по сечению бронзовой матрицы, наличие диффузионных барьеров и стабилизирующих материалов. При заданной объемной доле ниобия в проводнике увеличение количества волокон приводит, соответственно, к уменьшению их диаметра. Это ведет к заметному возрастанию поверхности взаимодействия Nb / Cu-Sn, что в значительной степени ускоряет процесс нарастания сверхпроводящей фазы. Такое увеличение количества сверхпроводящей фазы при повышении числа волокон в проводнике обеспечивает возрастание критических характеристик сверхпроводника. В связи с этим необходимо наличие инструмента для контроля объемной доли сверхпроводящей фазы в конечном продукте (композиционном сверхпроводнике).

При создании программы учитывалась важность проведения исследований материалов, из которых создаётся сверхпроводящие кабели, так как при неправильном соотношении ниобия к бронзе возможен взрыв проводов, а, следовательно, людские жертвы, денежные затраты и потеря времени. Данная программа позволяет определить качество проводов на основе химическо физического анализа объекта.

Блок-диаграмма программы


Описание этапов исследования.

1 этап. Пробоподготовка: резка композиционного сверхпроводника на электроэрозионном станке; запрессовка образца в пластмассовую матрицу; полировка образца до зеркального состояния; травление образца для выделения волокон ниобия на бронзовой матрице. Получены образцы запрессованных композиционных сверхпроводниковых образцов;

2 этап. Получение изображений: получение металлографических изображений на сканирующем электронном микроскопе.

3 этап. Обработка изображений: создание инструмента для определения объемной доли сверхпроводящей фазы на металлографическом изображении; набор статистически значимых данных на конкретном типе образцов. Созданы математические модели различных инструментов по обработке изображений; создана программная разработка для оценки объемной доли сверхпроводящий фазы; программа была облегчена путём соединения нескольких математических функций в одну; было получено среднее значение объемной доли волокон ниобия в бронзовой матрице 24.7±0,1 %. Низкий процент отклонения свидетельствует о высокой повторяемости структуры композиционного провода.

Электронномикроскопическое изображения композиционных сверхпроводников

Методы обработки изображений в программе.

  • Идентификация - распознается индивидуальный экземпляр объекта, принадлежащего к какому-либо классу.
  • Бинаризация – процесс перевода цветного (или в градациях серого) изображения в двухцветное черно-белое.
  • Сегментация - это процесс разделения цифрового изображения на несколько сегментов (множество пикселей, также называемых суперпикселями).
  • Эрозия – сложный процесс, при выполнении которого структурный элемент проходит по всем пикселам изображения. Если в некоторой позиции каждый единичный пиксел структурного элемента совпадет с единичным пикселом бинарного изображения, то выполняется логическое сложение центрального пиксела структурного элемента с соответствующим пикселом выходного изображения.
  • Дилатация - свертка изображения или выделенной области изображения с некоторым ядром. Ядро может иметь произвольную форму и размер. При этом в ядре выделяется единственная ведущая позиция, которая совмещается с текущим пикселем при вычислении свертки.

Формулы работы программы

Формула бинаризации (метод Оцу):

Формула эрозии:

Формула дилатации:

Схема дилатации и эрозии

Формулы сегментации порогами цвета:

Определение модуля градиента яркости для каждого пикселя изображения:

Вычисление порога:

Использованное оборудование

Интерфейс программы



Похожие публикации