Как слабый искусственный интеллект применяется в повседневной жизни

Сохранить в закладки
8295
4
Сохранить в закладки

О компьютерном зрении и 3D-реконструкции в медицине, кинематографе и управлении автомобилем

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

В 1950 году Алан Тьюринг, а затем в 1980 году Джон Серль пытались формализовать понятие искусственного интеллекта. Серль ввел философские понятия «слабый искусственный интеллект» и «сильный искусственный интеллект». В наше время рассуждения о сильном искусственном интеллекте остаются уделом философов, они спорят о возможности или невозможности создания искусственного интеллекта, превосходящего человеческий или равного ему. Что же касается слабого искусственного интеллекта, его приложения уже вошли в нашу жизнь, технику, и мы постоянно видим вокруг себя его типичные проявления.

1. Для чего нужен искусственный интеллект

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

Говоря о слухе, в качестве примера можно привести речевые анализаторы. Siri в iPhone — это пример электронного уха, которое понимает вашу речь и знает, что вы сказали. В качестве аналога зрению человека (двум глазам и механизмам, которые существуют в мозге) можно привести целую отрасль компьютерной науки — компьютерное зрение. Оно решает все задачи, которые можно отнести к видимой действительности. Если у вас есть несколько изображений объекта, снятых с каким-то одним отличающимся параметром — это может быть угол поворота, освещение или что-то еще, — в этом случае задачей искусственноинтеллектуальных систем является восстановление трехмерной сцены, модели того объекта, который был снят. Это задачи, которые мы решаем каждый день. Например, мы смотрим куда-то и оцениваем расстояние до объектов, оцениваем их форму, замечаем выступающие части. Это то, что делает наш мозг в абсолютно фоновом режиме. Если это может делать мозг, почему это не может делать машина?

Зачем такое умение нужно техническим системам? Например, у вас есть мобильный робот, на который вы ставите камеру. Современные алгоритмы компьютерного зрения достаточно быстрые, то есть получение трехмерных данных по изображениям может занимать доли секунды. В этом случае можно говорить об алгоритмах сопоставления в реальном времени. Такой робот, оснащенный камерой, может в реальном времени не только сам себя навигировать в каком-то неизвестном ему пространстве, но и строить модель этого пространства и отправлять ее человеку.

Для чего это может быть нужно человеку? Если этот робот — батискаф, коптер или просто платформа с колесиками, то его можно отправить в труднодоступное место, например в радиационно зараженное или на Луну, и он будет формировать модель какого-то пространства при помощи алгоритмов без участия человека.

2. Как работает реконструкция по изображениям

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

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

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

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

3. Как работает компьютерное зрение

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

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

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

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

4. 3D-реконструкция в медицине

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

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

5. 3D-реконструкция в реставрации

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

6. Перспективы развития технологии

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

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

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

Над материалом работали

Читайте также

Внеси свой вклад в дело просвещения!
visa
master-card
illustration