15. Многогранные объекты
В идеальном случае изображение многогранного объекта состоит из некоторого числа областей одинаковой яркости, соответствующих граням объекта. Такое изображение содержит много избыточной информации, и его удобно описывать с помощью рисунка. Линейный рисунок можно получить после выделения краев на изображении по схеме, описанной в гл. 8. В этой главе обсуждается, как интерпретировать линейные рисунки сцен, содержащих один или несколько многогранников. В такой задаче есть два аспекта. Первый заключается в определении того, какие области на изображении связаны друг с другом в том смысле, что соответствуют граням одного многогранника. Мы разработаем методы маркировки, которые будут использовать предварительно скомпилированные таблицы непротиворечивой маркировки узлов, т. е. точек, в которых сходятся линии.
Второй аспект заключается в восстановлении трехмерной информации в вершинах, ребрах и гранях объектов. В качестве вспомогательного средства используется градиентное пространство, введенное ранее при обсуждении полутоновых изображений. Оказывается, что использование только одного линейного рисунка не обеспечивает достаточных ограничений для полного воссоздания трехмерной формы. Привлечение информации о яркости каждой области снимает возможные двусмысленности. Глава заканчивается кратким обсуждением простой замкнутой системы глаз — рука, использующей механический манипулятор для построения копии конструкции из детских кубиков.
15.1. Линейные рисунки сцен, составленных из многогранников
Пусть нам известно, что в некоторой конкретной обстановке мы видим лишь объекты, ограниченные плоскими гранями (гладкие криволинейные поверхности отсутствуют). В таком случае многое упрощается. Вероятно, наиболее важным является тот факт, что многогранник можно удобно представить в компьютере. Можно, например, задать координаты вершин и указать, какие вершины связаны между собой. С другой стороны, можно задать уравнения плоских граней вместе с указанием о том, какая часть линии их пересечения принадлежит объекту. Имеется много путей представления многогранных объектов с использованием
вершин, ребер и граней. Здесь важным моментом является то, что нет необходимости привлекать какую-либо аппроксимацию, обычную при работе с криволинейными поверхностями.
Плоские грани одинаково ориентированы вдоль всей поверхности. Первое допущение состоит в том, что такая грань отображается в область постоянной яркости на изображении. Ребра объектов, соответствующие разрыву в ориентации поверхности, всегда порождают разрыв яркости. Этот разрыв существует вдоль линии изображения, являющейся проекцией ребра. Таким образом, изображение можно представить в виде коврика из многоугольных областей, каждая из которых имеет свою яркость.
Можно было бы ожидать, что методы выделения краев и прослеживания линий будут хорошо работать при построении линейного рисунка по изображению. Однако на практике области редко имеют постоянную яркость и разрывы яркости между областями могут размываться шумами. Полученные таким образом линейные рисунки несовершенны, но пока мы будем предполагать, что они таковыми являются.
Ненадолго сменим тему и рассмотрим вопрос, поднятый ранее, когда мы выразили беспокойство по поводу оценки качества работы схем сегментирования и выделения краев. Эти опасения были связаны с отсутствием ясного представления о том, каким должен быть хороший результат работы каждой из этих двух систем, когда они имеют дело с произвольными изображениями. В случае когда сцены составлены из многогранников, вопрос ясен: определитель сегментов сцен должен найти набор областей, соответствующий граням многогранников, а определитель краев — восстановить набор линий, соответствующих ребрам. Неочевидно, какой должна быть схема сегментирования или каким должен быть определитель краев, когда речь идет о сценах, составленных не из многогранников.