Опубликован: 30.05.2023 | Уровень: для всех | Доступ: свободно
Лекция 3:

Эволюция ИИ в процессе решения практических задач

 Соотношение понятий, связанных с термином "компьютерное зрение". Источник: [60]

Рис. 2.1. Соотношение понятий, связанных с термином "компьютерное зрение". Источник: [60]

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

Компьютерное зрение больше направлено на извлечение информации из изображений и делает акцент на анализе изображений 2Компьютерное зрение - это широкое понятие, которое включает еще и обработку видео, и 3D зрение, и computational imaging - технологию, в которой разрешающая способность достигается не за счет физики, но за счет математики и т. д. - Примечание научного редактора. Типовыми задачами компьютерного зрения являются классификация, детекция и сегментация, о которых пойдет речь далее в этой лекции.

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

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

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

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

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

Таблица 2.1. Сравнение технологий по типу данных на входе и выходе. Источник: [61]
Технология Вход Выход
Обработка сигналов Электрические сигналы Электрические сигналы
Обработка изображений Изображения Изображения
Компьютерное зрение Изображения Информация/ характеристики
Распознавание образов/ машинное обучение Информация/функции Информация
Машинное зрение Изображения Информация
Робототехническое зрение Изображения Физические действия

Для более подробного обсуждения технологии компьютерного зрения вернемся к теме возникновения и эволюции данных систем. Одна из первых работ, в которой упоминалось компьютерное распознавание изображений и звука, вышла в 1955 г. - профессор Массачусетского технологического института Оливер Селфридж опубликовал статью "Глаза и уши для компьютера". Работа, которую, несомненно, можно считать пионерской в области компьютерного зрения, мы уже упомянули в начале курса - это Персептрон Фрэнка Розенблата. Еще одним отцом компьютерного зрения называют Лоуренса Робертса (Lawrence Roberts), который в 1963 году опубликовал работу "Машинное восприятие трехмерных твердых тел", в которой обсуждались вопросы извлечения трехмерной информации об объектах из двухмерных фотографий. Лоуренс защитил в этой области диссертацию и уже в 1970 году читал в MIT курс по компьютерному зрению.

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

Одна из ранних прикладных задач компьютерного зрения - это оптическое распознавание символов OCR 4Optical Character Recognition . Различные реализации данного рода программ существовали задолго до бума глубокого обучения. Ранние версии OCR обучались на изображениях отдельных символов и должны были переобучаться при каждом изменении шрифта. В 1970-х годах уже упомянутый в курсе изобретатель Рэй Курцвейл 5Американский изобретатель и футуролог, создатель многочисленных систем распознавания речи. Известен научными технологическими прогнозами, учитывающими появление искусственного интеллекта и средств радикального продления жизни людей выпустил в продажу первый омнишрифтовой OCR, который мог обрабатывать текст, напечатанный практически любым шрифтом. В начале 90-х российские разработчики, впоследствии создавшие всемирно известную компанию ABBYY 6В то время компания еще называлась BIT Software , начали проект по созданию OCR-программы, которая позднее стала популярным продуктом FineReader. Другая отечественная компания - Cognitive Technologies - примерно в это же время разрабатывала свою систему оптического распознавания текстов OCR CuneiForm. Как коммерческий продукт эта программа появилась в 1993 году. В начале 2000-х годов оптическое распознавание символов стало доступно в Интернете в виде облачного сервиса.

Параллельно развивались также приложения для распознавания лиц при участии и финансировании военных ведомств. Например, в 1993 стартовал проект "Технология распознавания лиц (FERET)", который спонсировался правительством США, целью проекта было создание большой автоматической системы распознавания лиц для целей разведки, безопасности и правоохранительных органов. Проект преследовал задачи автоматизации процессов поиска по фотографиям с камер видеонаблюдения, контроль доступа к объектам и т. п. Примерно в это же время появились первые беспилотные системы управления автотранспортом. В 2003 году системы распознавания лиц стали использоваться в корпоративных приложениях.

В 2010-х годах в области распознавания и классификации изображений начался переход к методам глубокого обучения.

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

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

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

Для извлечения признаков применялись специальные алгоритмы, такие как, например, алгоритм SIFT 7Scale-Invariant Feature Transform - алгоритм масштабно-инвариантной трансформации признаков, созданный в 1999 году для выявления и описания локальных признаков в изображениях . Согласно методике применения алгоритма, сначала извлекаются и запоминаются в базе данных ключевые точки объектов из набора контрольных изображений, и далее новый объект распознается на основе этих данных путем сравнивания каждого признака из нового изображения с признаками из базы данных.

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