Но когда появлялся нужный документ, свет, проникающий через карточку, полностью блокировался узором из черных точек на пленке. Эти мини-затмения означали, что свет не попадает на фотоэлемент, и это сигнализировало остальным частям машины и кассиру, что совпадение найдено.
Подход Голдберга требовал, чтобы кассиры заранее знали, какой именно символ они ищут, и имели карту, соответствующую ему. Несмотря на свою грубость, этот стиль подбора шаблонов стал доминирующим подходом на протяжении большей части истории искусственного зрения. Когда на сцене появились компьютеры, форма шаблонов перешла из физической в цифровую.
В компьютере изображение представлено в виде сетки значений пикселей (см. рис. 14). Каждое значение пикселя - это число, указывающее на интенсивность цвета в крошечной квадратной области изображения, которую оно представляет.3 В цифровом мире шаблон - это тоже просто сетка чисел, определяющая нужный шаблон. Так, шаблон для трех точек в форме треугольника может представлять собой сетку, состоящую в основном из нулей, за исключением трех точно расположенных пикселей со значением 1. В машине Голдберга роль света, проходящего через карточку-шаблон, в компьютере была заменена математической операцией: умножением. Если значение каждого пикселя на изображении умножить на значение в том же месте шаблона, результат может сказать нам, совпадает ли изображение.
Рисунок 14
Допустим, мы ищем улыбающееся лицо на черно-белом изображении (где черные пиксели имеют значение один, а белые - ноль). Имея шаблон лица, мы можем сравнить его с изображением путем умножения. Если на изображении действительно изображено искомое лицо, то значения, составляющие шаблон, будут очень похожи на значения на изображении. Поэтому нули в шаблоне будут умножены на нули в изображении, а единицы в шаблоне - на единицы в изображении. Сложив все полученные в результате умножения значения, мы получим количество черных пикселей, одинаковых в шаблоне и на изображении, которых в случае совпадения будет много. Если на полученном нами изображении будет хмурое лицо, то некоторые пиксели вокруг рта на изображении не будут совпадать с шаблоном. Там нули в шаблоне будут умножены на единицы в изображении, и наоборот. Поскольку произведение в этих местах пикселей будет равно нулю, сумма по всему изображению не будет такой большой. Таким образом, простая сумма произведений дает представление о том, насколько изображение соответствует шаблону.
Этот метод нашел широкое применение в самых разных отраслях. Шаблоны использовались для подсчета численности толпы путем поиска лиц на фотографии. Известные географические объекты также находили на спутниковых снимках с помощью шаблонов. Можно также отслеживать количество и модели автомобилей, проезжающих через перекресток. При подборе шаблонов нам нужно только определить, что мы хотим получить, а умножение подскажет, совпадает ли это.
* * *
Представьте себе стадион - такой же, как тот, где вы смотрите футбольный матч, - но на этом стадионе вместо кричащих болельщиков трибуны заполнены кричащими демонами. И кричат они не о футболистах на поле, а скорее об образе. Точнее, у каждого из этих демонов есть своя любимая буква алфавита, и когда он видит на поле что-то похожее на эту букву, он кричит. Чем громче крик, тем больше изображение на поле похоже на любимую букву демона. На небосклоне находится еще один демон. Этот демон не смотрит на поле и не кричит, а просто наблюдает за всеми остальными демонами на стадионе. Он находит демона, который кричит громче всех, и определяет, что изображение на поле должно быть любимой буквой этого демона.
Именно так Оливер Селфридж описал процесс подбора шаблонов на конференции 1958 года. Селфридж был математиком, компьютерщиком и помощником директора Линкольн-лабс в Массачусетском технологическом институте, исследовательского центра, занимавшегося вопросами применения технологий в сфере национальной безопасности. Сам Селфридж опубликовал не так много работ. Он также так и не закончил свою докторскую диссертацию (однако в итоге он написал несколько детских книг по адресу ; предположительно, в них было меньше демонов). Несмотря на отсутствие академических результатов, его идеи все же проникли в научное сообщество, во многом благодаря кругам, в которых он вращался. Получив степень бакалавра математики в Массачусетском технологическом институте в возрасте всего 19 лет, Селфридж получил консультацию в своей докторской работе от выдающегося математика Норберта Винера и поддерживал с ним связь. Селфридж также продолжал руководить Марвином Мински, выдающимся исследователем искусственного интеллекта из главы 3. А будучи аспирантом, Селфридж дружил с Уорреном Маккалохом и некоторое время жил с Уолтером Питтсом (вы наверняка помните эту пару нейробиотиков из главы 3). Селфриджу было полезно дать своим идеям повариться в этом социальном рагу из выдающихся ученых.
Чтобы сопоставить уникальную аналогию Селфриджа с концепцией подбора шаблонов, нужно просто представить, что каждый демон держит в руках свою сетку чисел, которая представляет собой форму его буквы. Они перемножают свою сетку с изображением, суммируют эти продукты (как описано выше) и кричат с громкостью, определяемой этой суммой. Селфридж не дает подробного объяснения, почему он решил дать такое демоническое описание визуальной обработки. Единственное, что он говорит по этому поводу, - это: "Мы не собираемся извиняться за частое использование антропоморфной или биоморфной терминологии. Они кажутся полезными словами для описания наших понятий".
Большая часть представлений в презентации Селфриджа была связана с тем, что подход к подбору шаблонов несовершенен. Демоны, каждый из которых по отдельности проверял, есть ли в поле зрения его любимая буква, были не очень эффективны. Каждый из них выполнял свои совершенно отдельные вычисления, но так не должно было быть. Многие фигуры, которые демон может искать в поисках своей буквы, используются и другими демонами. Например, и демон, предпочитающий букву "А", и демон, предпочитающий букву "Н", будут искать горизонтальную полоску. Так почему бы не ввести отдельную группу демонов, чьи шаблоны и крики соответствуют более базовым характеристикам изображения, таким как горизонтальные полосы, вертикальные линии, наклонные линии, точки и т. д. Тогда буквенные демоны будут просто слушать этих демонов, а не смотреть на сами изображения, и решать, как сильно кричать, в зависимости от того, кричат ли об основных формах их буквы.
Снизу вверх Селфридж определил новый стиль стадиона, который содержал три типа демонов: "вычислительные" (те, что смотрят на изображение и кричат об основных формах), "когнитивные" (те, что слушают вычислительных демонов и кричат о буквах) и "решающие" (те, что слушают когнитивных демонов и решают, какая буква присутствует). Селфридж дал название всей модели в целом - этой стопке вопящих демонов - Пандемониум5.
Если не принимать во внимание гнусную номенклатуру, интуиция Селфриджа в отношении обработки визуальной информации оказалась весьма