Близорукий автопилот. Можно ли научить машину видеть по-человечески?
Компьютерное зрение лишено физиологических особенностей человека, оно хуже распознает изображения, что нередко приводит к авариям различной тяжести. О том, можно ли научить машину видеть по-человечески, «Новому проспекту» рассказала доцент кафедры инфокогнитивных технологий Московского политехнического университета Екатерина Пшехотская.
Машинное зрение перестало быть чем-то фантастическим, сегодня это довольно утилитарная, прикладная область, причем широко развивающаяся. Автоматизированный транспорт и в частности автопилоты, системы производственной безопасности — люди всё больше и больше в попытках избавиться от «человеческого фактора», надеются на машины. «Видящие» роботы появляются и в бытовой сфере, например роботы-пылесосы. В глобальном смысле все эти машины объединяет одно: они должны вовремя распознавать препятствия и на них реагировать. Но оказывается, что машинное зрение не всегда может адекватно это сделать.
Взять, например, целый ряд дорожно-транспортных происшествий с электрокарами «Тесла». В чем их причина? В том, что автопилот неадекватен. Машина попросту не умеет распознавать низкие или нечеткие объекты на дороге, особенно в условиях плохой видимости. Это человек, когда видит что-то непонятное, инстинктивно либо сбрасывает скорость, либо останавливается. У машин такого нет, логика искусственной системы бинарна: либо препятствие есть, либо его нет. В первом случае машина объезжает дерево или отбойник, во втором случае — врезается в него на полном ходу. Третьего не дано, опции «присмотреться» у искусственного интеллекта нет. То же самое на производстве: если система видит препятствие, она останавливает конвейер, кран, погрузчик и так далее, а если не видит, то никаких команд не дает.
Где же выход? Научить машину «осторожности», по крайней мере на данном этапе развития науки и технологий, нереально. Значит, нужно научить ее «видению», максимально приближенному к человеческому. Почему машинное зрение хуже распознает картинку? Потому что у компьютерного «глаза» нет физиологических особенностей, которые есть у человеческого органа. Это чистая физиология. Во-первых, рецепторы у человека находятся не в плоскости, а в полусфере, то есть область четкого зрения у человека более узкая. Из-за этого глаз начинает непроизвольно совершать разные движения, по которым можно отследить контуры объекта. Изображению достаточно быть векторным, то есть иметь опорные точки, которые человеческое воображение легко соединит между собой именно благодаря тому, что глаз человека постоянно движется.
Оптико-электронные системы компьютерного зрения устроены по-другому. Их светочувствительная матрица имеет плоскую, в большинстве случаев прямоугольную форму, при этом система линз не может постоянно двигаться, как человеческий глаз. Именно поэтому искусственный интеллект не способен прочертить воображаемые линии, чтобы связать между собой фрагменты геометрической иллюзии. Машинное зрение видит только реальное изображение, часто неполное, в то время как человек создает в воображении цельную картину, опираясь на очертания предмета.
Теоретически этот пробел можно компенсировать, если интегрировать в системы компьютерного зрения симуляцию человеческой физиологии и векторизацию изображения. Эти иллюзии будет проще распознавать, потому что мы будем иметь дело не с растровой картинкой, а с векторной. Можно будет работать с мнимыми изображениями, например для двух непараллельных отрезков строить продолжение и находить их точку пересечения на плоскости. А дальше машина учится, постоянно сравнивая эти изображения с уже имеющимися в библиотеке данных. Но это задача на будущее: всё зависит от данных обучающей выборки, от объемов выборки и от самой модели.
Точность распознавания изображений снижает вероятность аварий и катастроф. Например, если автопилот автомобиля или самолета не распознает объект с низкой контрастностью относительно фона, соответственно, он не успеет вовремя уклониться от препятствия, а, следовательно, риск катастрофы повышается.
Почему-то многие люди считают, что искусственный интеллект «умнее» человеческого. Может быть, где-то и так, но точно не в вопросах распознавания изображений. Уже сейчас можно сказать, что есть ряд ограничений, которые в этом деле не позволяют машине заменить человека. Например, системы машинного обучения не понимают, что они рисуют: если в обучающей выборке совсем нет ничего похожего, то система это и не нарисует. К тому же у таких систем часто отсутствует способность к абстракции, которая есть у человека, плюс оказалось, что трехмерное изображение гораздо сложнее синтезировать, подобные искусственные системы в основном работают с двухмерными изображениями. Наше исследование показало, что машина рисует то, на чём она обучалась. Если какое-то изображение содержится в обучающем наборе только в одной проекции, то система и будет рисовать только в этой проекции, она не будет его «переворачивать».
Еще один интересный вопрос: насколько хорошо машинное зрение распознаёт рисунки, которые сгенерированы другими машинами? Другими словами, насколько хорошо машина распознаёт машину? Возможно, она видит что-то, чего не видит человек? Ответы на эти вопросы помогут развитию популярного сейчас направления generative adversarial networks. Это алгоритм машинного обучения, построенный на взаимодействии двух нейронных сетей, одна из которых генерирует образцы, а вторая пытается отличить правильную картинку от неправильной. Это очень востребовано, так как именно обучающие выборки очень сильно влияют на качество модели и результаты. Поэтому все, работающие в машинном обучении, пытаются найти или создать хорошую обучающую выборку с разноплановыми данными, которая могла бы идеально обучить систему. Или наоборот обучить уже распознающую часть, это тоже интересная задача.