Зачем компьютеру зрение

Часть 1. История развития технологии компьютерного зрения

Юрий Морзеев

Немного теории

Приложения в области компьютерного зрения

Немного теории

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

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

Термин «компьютерное зрение» имеет много синонимов: машинное зрение, распознавание зрительных образов, анализ изображений и т.д. Однако смысл, скрывающийся за всеми этими определениями, один — это попытка научить компьютер видеть мир глазами человека, воспринимать его как человек и выполнять в связи с этим различные действия так же, как делал бы это человек, тем самым подменяя или полностью исключая последнего. Необходимость в этом возникает в ситуациях, связанных с риском для жизни, и бывает обусловлена особенностями человека как живого организма, которому свойственно быстро утомляться, пропускать через себя ограниченный объем информации, а также обрабатывать данные с относительно низкой скоростью. Процесс компьютерного зрения представляет собой сложную технологическую цепочку, включающую получение цифрового изображения, обработку изображения с целью выделения значимой информации на изображении и анализ этого предобработанного изображения для решения определенной задачи. Конечно, идеальным представляется создание универсальной самообучающейся системы, которая бы «росла» и «зрела» так же, как это с рождения происходит с любым человеком. Руководствуясь столь высокими целями, разработчики в области компьютерного зрения сегодня решают непростые задачи. Можно сказать, что область компьютерного зрения имеет недолгую по меркам фундаментальных наук, но очень бурную историю зарождения и развития.

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

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

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

Первый успех в области машинного зрения можно смело связать с разработкой психолога Корнеллской лаборатории аэронавтики Фрэнка Розенблатта — персептроном (от perception — восприятие). Персептрон был впервые смоделирован на универсальной ЭВМ IBM-740 в 1958 году. Аппаратный вариант персептрона — Mark I Perceptron был изготовлен в 1960 году и предназначался для распознавания зрительных образов. Его рецепторное поле состояло из 400 точек (матрица 20Ѕ20 элементов), и он был способен решать ряд несложных задач, в частности распознавать печатные буквы.

Исследования в области синтеза систем компьютерного зрения бурно развивались на протяжении 60-х годов по мере того, как расширялось использование вычислительных машин и становилась очевидной потребность в более быстрой и эффективной связи человека с ЭВМ. К началу 60-х годов задачи компьютерного зрения в основном охватывали область космических исследований, требовавших обработки большого количества цифровой информации. Запущенные в то время космические летательные аппараты передавали на Землю тысячи телевизионных изображений Земли, обратной стороны поверхности Луны. Полученные тогда цифровые изображения требовали удаления различного рода искажений, в частности оптических. Кроме того, эти изображения нуждались в обработке и анализе с целью решения различного рода навигационных задач — таких как определение места площадок, пригодных для посадки спускаемых космических аппаратов. Позднее, в 70-е годы, наряду с ростом разрешающей способности изображений в видимом спектре эта информация стала дополняться полученной в тепловизионном и других спектральных диапазонах частот, что позволяло проводить более глубокий анализ данных. Начали развиваться различные подходы к распознаванию объектов на изображении, например структурные, признаковые и текстурные.

80-е и 90-е годы ознаменовались появлением нового поколения датчиков двухмерных цифровых информационных полей различной физической природы. К ним можно отнести датчики, построенные на матрицах ПЗС (прибор зарядовой связи) и КМОП (комплементарный металл-оксид-полупроводник), датчики ночного видения, тепловизоры (датчики, воспринимающие инфракрасное излучение), лазерные локаторы и др. Развитие новых измерительных систем и методов регистрации двухмерных цифровых информационных полей в реальном масштабе времени позволило получать для анализа устойчивые во времени изображения, генерируемые этими датчиками. Совершенствование же технологий производства этих датчиков позволило существенным образом снизить их стоимость, а значит, значительно расширить область их применения. Рост быстродействия микропроцессоров, снижение цен на камеры и десятикратное увеличение полосы пропускания при передаче видео с помощью таких технологий, как USB 2, позволяют реализовать действующие в режиме реального времени алгоритмы машинного зрения на стандартных компьютерах. Использование машинного зрения на персональных компьютерах в сочетании с качественными средствами визуализации способно коренным образом изменить способ взаимодействия человека с компьютером и окружающим миром. Машинное зрение уже привлекает внимание исследователей, занимающихся разработкой передовых приложений для домашнего использования.

Что касается непосредственно теории компьютерного зрения и ее приложений, то в настоящее время существует четкая граница между так называемым монокулярным и бинокулярным компьютерным зрением. К первой области относятся исследования и разработки в области компьютерного зрения, связанные с информацией, поступающей от одной камеры или от каждой камеры отдельно. Ко второй области относятся исследования и разработки, имеющие дело с информацией, одновременно поступающей от двух и более камер. Несколько камер в таких системах используются для измерения глубины наблюдения. Эти системы называются стереосистемами, а наука, которая их развивает, — стереофотограмметрией. Безусловно, информацию о глубине можно получить за счет использования специальных, так называемых активных, датчиков (то есть одновременно излучающих и принимающих сигнал), например таких, как локатор. Однако на практике все оказывается намного сложнее. Такие устройства могут применяться для оценки глубины лишь на небольших дальностях ввиду того, что на больших расстояниях их сигнал обладает свойством рассеивания. В этом плане гораздо надежнее и проще использовать так называемые пассивные датчики, способные только принимать излучаемый сигнал. В частности, к таким датчикам относят видеокамеры. Важно подчеркнуть тот факт, что камеры в стереосистемах должны быть специальным образом ориентированы в пространстве, чтобы полученные кадры можно было поставить во взаимооднозначное соответствие и сформировать объемное представление об объекте. Примерно то же самое происходит у человека. Наши глаза воспринимают объекты под разными углами, два независимых изображения анализируются мозгом, и в результате их сопоставления формируются образ предмета, его признаки и глубина изображения.

К настоящему моменту теория компьютерного зрения полностью сложилась как самостоятельный раздел кибернетики, опирающийся на солидную научную и практическую базу знаний. Ежегодно по данной тематике издаются сотни книг и монографий, проводятся десятки конференций и симпозиумов, выпускается различное программное и аппаратно-программное обеспечение. Существует ряд научно-общественных организаций, поддерживающих и освещающих исследования в области современных технологий, в том числе технологии компьютерного зрения. К ним, в частности, относятся SPIE (Международное сообщество по оптической инженерии), IEEE Computer Society (Institute of Electrical and Electronics Engineers), РОФДЗ (Общество содействия развитию фотограмметрии и дистанционного зондирования) и ряд других организаций.

В начало В начало

Приложения в области компьютерного зрения

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

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

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

Хочу теперь подробнее остановиться на ряде наиболее интересных из вышеперечисленных технологий.

Начнем со зрения роботов — с самой современной, передовой и инновационной технологии, которая подразумевает такое понятие, как интеллектуальный дом. Именно в этой области начинают активно применяться технологии компьютерного зрения с прицелом на недалекое будущее. Оборудуя роботов нового поколения мобильными камерами и алгоритмами стереовидения, многие компании работают над созданием интеллектуальных роботов, способных не только свободно ориентироваться в квартире и узнавать своих хозяев, но и выполнять определенные задачи по дистанционно подаваемым командам. Сейчас, безусловно, рано говорить, является ли прообразом будущего домашнего охранника собачка Aibo от Sony — это пока лишь простой электронный домашний питомец, который узнает мячик и играет с ним, а также требует заботы и внимания со стороны хозяев, чтобы вырасти хорошей собакой. Но уже очевидно, что телевизор вскоре будет, узнавая хозяина, включать его любимый канал. Робот-пылесос будет к вашему приходу чистить пол в квартире, ловко обходя все препятствия. Холодильник определит недостающие продукты по списку постоянных и закажет их по Интернету. А с помощью обычного сотового телефона, оборудованного камерой, можно будет без труда выяснить, где найти приглянувшийся товар. В этом плане весьма показательна прошедшая в конце марта нынешнего года в Японии выставка Robodex. В ней принимали участие 27 компаний, представивших на суд общественности более 70 новых моделей роботов. Наряду с роботами-охранниками и роботами-уборщиками на выставке было продемонстрировано большое количество человекообразных роботов. Кстати, в Японии существует поддерживаемая на государственном уровне специальная программа Humanoid Robotic Project, которая предусматривает разработку человекообразного робота. По мнению Хирохисы Хирукавы, исследователя из Национального института перспективных научных исследований и технологий, производство роботов в XXI веке может стать крупнейшей отраслью промышленности — подобно производству автомобилей в XX столетии. При этом уже к 2025-му, в крайнем случае к 2050 году стоит ожидать массового распространения роботов, служащих для выполнения домашних работ.

Другое весьма распространенное направление, можно сказать — ветеран на рынке систем компьютерного зрения, охватывает системы автоматизации обработки информации, поступающей от видеокамер. Яркий пример — системы, обнаруживающие и декодирующие информацию, содержащуюся в штриховых кодах. Думаю, что с штрих-кодовой информацией и внешней стороной ее декодирования сталкивались при совершении покупок в крупных супермаркетах многие из читателей. Ассортимент современного супермаркета составляет от 5 до 50 тыс. наименований товаров, в зависимости от размеров магазина. Координирование в таком объеме — задача трудоемкая, практически невыполнимая при отсутствии системы автоматизированного учета и управления. Символика современного двухмерного штрих-кода допускает хранение до 150 байт, 250 алфавитно-цифровых символов или 366 цифр. Это осуществляется выбором одной из трех модификаций кода: байтовый, текстовый или цифровой. Текстовый код поддерживает печатные ASCII-символы с кодами от 32 до 126 включительно, а также некоторые контрольные символы. Байтовый предусматривает использование всех 256 возможных 8-битовых величин. Этот набор включает все ASCII-символы от 0 до 127 включительно, а также национальные символы. Помимо супермаркетов алгоритмы обнаружения и декодирования штрих-кодовой информации могут использоваться в системах автоматической сортировки корреспонденции, автоматического учета и поиска товара на складах, хранения персональной информации для систем авторизации и для решения многих других задач.

Процессы идентификации личности вызывают значительный интерес на протяжении многих десятилетий. И это не удивительно, ведь человек неизменно стремился защититься от посягательств на свое жилище, средство передвижения, благосостояние, интеллектуальную собственность и т.п. В последнее время, особенно в связи с трагическими сентябрьскими событиями 2001 года в США, наблюдается новый подъем интереса к таким системам. К наиболее известным системам идентификации относят следующие: системы охраны и контроля доступа, системы предупреждения преступлений и идентификации преступников, системы ограничения доступа, системы учета и сбора статистики посетителей, системы идентификации удаленных пользователей и пользователей Internet, верификация кредитных карточек, криминалистическая экспертиза, контроль времени посещения и т.д. Основные пути и способы решения этих задач лежат в области разработки так называемых биометрических систем. В биометрических системах распознавания источником информации измеряемой, идентифицируемой величины служит совокупность биометрических характеристик человека. В качестве биометрической характеристики человека могут выступать его голос, почерк, отпечатки пальцев, геометрия кисти руки, рисунок сетчатки или радужной оболочки глаза, лицо и даже его ДНК. От выбранной биометрической характеристики зависят особенности системы идентификации в целом. Можно назвать еще ряд причин, серьезно повышающих значимость биометрических систем. В частности, речь идет о повышении требований к функциональным возможностям автоматических систем безопасности, расположенных в общественных местах (вокзалы, аэропорты, супермаркеты и т.п.), что связано с необходимостью выполнять управляемые действия в реальном времени. Придание этих функциональных возможностей биометрическим системам зависит от успехов в области цифровой техники и методов цифровой обработки информации.

Технология детектирования движения в поле зрения камеры, или motion detection, стала одной из первых коммерческих технологий на потребительском рынке Web-камер. Принцип работы технологии очень простой, поскольку предполагается, что камера неподвижна, а следовательно, неподвижен и фон. Движутся только объекты. (Хотя существуют и такие технологии, которые позволяют детектировать движущиеся объекты на движущемся фоне.) Замечательным достоинством данной технологии является ее полная инвариантность к освещенности и цветности. Потребительский рынок откликнулся на это развитием двух основных направлений. Первое породило новый вид человеко-машинных интерфейсов, при котором человек получил возможность управлять запуском различных информационных или других приложений бесконтактно (дистанционно). Наиболее увлекательные виды таких интерфейсов были разработаны для компьютерных игр, использующих в качестве входного сигнала информацию, поступающую от Web-камер. Участники этих игр должны совершать манипуляции в поле зрения камеры, управляя различными объектами, например простым движением руки подбрасывать мяч или играть в волейбол. Самым известным игровым пакетом с управлением играми через Web-камеру стал сборник игр от Reality Fusion, который поставлялся вместе с камерами фирмы Logitech. Второе направление связано с появлением новых функциональных возможностей систем безопасности. На первых порах задача сводилась к простому детектированию движущихся объектов. Уже в таком виде это важно для многих систем безопасности, когда в охранной зоне исключено какое бы то ни было движение. Более продвинутые системы подразумевают наличие в своем составе интеллектуальных детекторов движения, способных отличить движущегося человека от собаки, машины или дерева, раскачивающегося на ветру. На данный момент лишь немногие системы безопасности могут похвастаться такими возможностями, существенно их удорожающими. И это не удивительно, ведь наличие такой системы значительно облегчает работу охранников, физически не способных одновременно следить за десятком и более мониторов. Привлекая внимание охраны к определенному монитору и автоматически регистрируя охранное событие, такие системы резко повышают уровень безопасности охраняемого объекта.

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

Потребность в разработке систем распознавания буквенно-символьной информации документов — одна из первопричин развития всей теории и практики машинного зрения. На современном этапе развития науки и технологии эта область охватывает лингвистику, семантику, обработку текстов и систем оптического распознавания символов. Разрабатываемые программы позволяют автоматизировать ввод в компьютер текстов, таблиц, форм анкет и бланков, распознавать тексты, написанные печатными буквами от руки, или распознавать почерк автора, переводя рукописные материалы в электронный вид. В качестве входного источника информации в таких системах обычно выступает сканер или специальный электронный планшет, соединенный с компьютером. Процесс обработки информации обычно включает сканирование бумажных оригиналов, распознавание содержащейся информации, а также возможность проверки результатов распознавания оператором, проведение формального и логического контроля полученных данных на соответствие определенным правилам и сохранение результатов работы. Не углубляясь в подробности технологии, отмечу, что на рынке этого программного обеспечения уверенно доминируют компания ABBY с серией программ FineReader и FormReader и компания Cognitive Technologies с серией программ CuneiForm и CognitiveForms. Основные проблемы, которые стоят сейчас перед разработчиками подобных систем, — надежное распознавание буквенно-символьной информации при низком разрешении изображения, то есть количества пикселов, приходящихся на дюйм, а также надежное распознавание рукописных текстов. Но несмотря на сохраняющиеся проблемы, данную технологию можно считать окончательно сформировавшейся.

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

В заключение хочется еще раз вернуться к главному вопросу данной публикации: зачем компьютеру зрение? Современный пользователь персонального компьютера все чаще лицом к лицу сталкивается с различными приложениями в области компьютерного зрения: с системами авторизации и контроля доступа, системами диагностики и рядом других систем, делающих компьютер зрячим. Научить компьютер видеть мир — значит получить надежного помощника, денно и нощно занятого решением насущных задач. Например, на основе несложных алгоритмов и камеры можно создать надежную противоугонную систему для личного автомобиля, припаркованного у дома. Такая система выдержит любые происки ничего не подозревающего вандала. А можно написать screensaver, который будет «фотографировать» каждого, кто попытается подобрать к нему пароль. Да что говорить — это лишь малая толика того, на что способен «прозревший» компьютер!

КомпьютерПресс 5'2002