Контроль размеров

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

Выделение контуров. В основе современной классической теории машинной обработки изображения лежит процедура, называемая выделением контуров. Перемещая «окно», состоящее из двух или четырех (как в данном примере) элементов, по изображению объекта, например узла болт—гайка (показан в значительно упрощенном виде), компьютер может «выявлять» изменения тона или цвета на краях, образующих контур объекта. На основе контура составляется «зарисовка» (т. е. своего рода эскиз) объекта. Далее характерные особенности зарисовок анализируются математически и окончательные описания объектов сравниваются с изображениями, ранее записанными в память компьютера. По результатам сравнения (совпадения или несовпадения) эталонного и анализируемого объектов производится идентификация последнего. Применение параллельных процессоров, способных выделять контуры изображений всего за несколько логических шагов (обрабатывая элементы отображения одновременно, а не поочередно), значительно ускорит выполнение подобных процедур. Специалисты университетского колледжа в Лондоне разработали систему CLIP (см. в тексте); она состоит из матрицы 96x96 работающих в параллель процессоров, которые осуществляют анализ изображений.
Автоматизированная система для оптических измерений параметров деталей (ACOMS) оснащена лазерным сканирующим устройством, которое проверяет до 1250 размеров заготовок блока цилиндров, выпускаемых фирмой «Камминс энджин». На выполнение такой процедуры система затрачивает 40 мин, тогда как человеку потребовалось бы 35 ч.
Действительно гибкая и универсальная система зрения должна хоть в какой-то степени обладать приспособляемостью и интеллектуальными возможностями зрительной системы человека. Именно данным обстоятельством объясняется тот факт, что разработка устройств, которые в полном смысле слова можно назвать искусственными органами зрения, стала одной из основных задач специалистов по искусственному интеллекту. В настоящее время результаты этих исследований только начинают внедряться в практическую робототехнику. Усилия ученых здесь сосредоточивались главным образом на так называемом анализе сцен; в соответствии с этим методом в память компьютера заносится ряд правил, которые позволяют идентифицировать разнообразные объекты на картине (сцене), введенной в ЭВМ с помощью видеокамеры. Однако первоочередная задача любой системы визуального восприятия состоит в таком представлении вводимой сцены, которое позволяет описать (или закодировать) ее в двоичной системе счисления, т. е. нулями и единицами, составляющими «родной язык» компьютера. Интересно, что здесь как раз и не возникает особых трудностей. Любое изображение в конечном итоге можно свести к матрице (сетке) элементов, или точек, изображения. В качестве примера назовем изображение на экране домашнего телевизора, которое' формируется с помощью именно такой матрицы. Другим примером могут служить книжные или журнальные иллюстрации. На самом примитивном черно-белом изображении каждому элементу можно поставить в соответствие одно численное значение: двоичная единица — для черного цвета и двоичный нуль — для белого.
Если для задания каждого вида отображения используется более одной цифры, то появляется возможность работать с полутонами (или, как говорят, «тонами серого»). Например, если элементы отображения кодируются двумя цифровыми разрядами, то это позволяет различать четыре уровня яркости: 00 — белый, 01 — светло-серый, 10 — темно-серый и 11 — черный. Введением дополнительных разрядов достигается еще более точное представление элементов отображения; при этом можно кодировать не только их яркость, но и цвет. Для высококачественного воспроизведения цветного изображения может потребоваться восемь или более разрядов в расчете на один элемент; этого достаточно, чтобы различать 28 (256) цветов. Однако даже если система работает только с простейшими черно-белыми изображениями, она должна обрабатывать огромные объемы информации. Изображение, подобное обычному телевизионному кадру, может состоять из 512 строк по 512 элементов в каждой. Если считать, что любой элемент изображения может быть либо черным, либо белым, то такой кадр будет содержать, говоря языком вычислительной техники, свыше четверти миллиона бит информации, или в четыре раза больше, чем можно записать в оперативную память персонального компьютера (как правило, ее емкость составляет 64 тыс. бит). В том случае, когда картина движется (лишь очень немногие задачи, которые пришлось бы решать роботам, связаны с восприятием стационарных изображений), становится необходимым осуществлять кадровую развертку, т. е. обновлять каждый элемент изображения 25 раз в секунду. Таким образом, если робот подключен к стандартной телевизионной камере, на которую поступает примитивное черно-белое изображение, то при необходимости интерпретировать «увиденное» в реальном времени (так же быстро, как это делает человек) робот должен обрабатывать 250 тыс. бит информации каждые 0,04 с.