Компьютерное зрение — это подраздел глубокого обучения и искусственного интеллекта, в котором люди учат компьютеры видеть и интерпретировать окружающий мир.
Ограниченное восприятие человеческого зрения наряду с бесконечно меняющимся пейзажем нашего динамичного мира — вот что делает машинное зрение сложным по своей сути.
Краткая история компьютерного зрения
Компьютерное зрение началось с кошки. Двое шведских ученых, Хьюбел и Визель, поместили электрод в зрительную кору кошки. Ученые показали кошке серию изображений через проектор, надеясь, что ее мозговые клетки в зрительной коре начнут активироваться.
Вот только нейроны долгое время не желали посылать никаких импульсов, что, конечно, приводило исследователей в отчаяние. Момент озарения случился, когда слайд проектора был удален, и на стене появилась единственная горизонтальная линия света — нейроны сработали, издав потрескивающий электрический шум.
Ученые поняли, что ранние слои зрительной коры реагируют на простые формы, такие как линии и кривые, так же, как и ранние слои глубокой нейронной сети.
Однако до того, как на сцену вышел кошачий мозг, аналоговое компьютерное зрение началось еще в 1950-х годах в университетах, впервые занимавшихся искусственным интеллектом.
Как работает компьютерное зрение?
Вот простое представление, которое отвечает на этот вопрос на самом базовом уровне:
- Получение изображения.
Изображения, даже большие наборы, могут быть получены в режиме реального времени с помощью видео, фотографий или 3D-технологий для анализа.
- Обработка изображения.
Модели глубокого обучения автоматизируют большую часть этого процесса, но модели часто обучаются, сначала получая тысячу помеченных или предварительно идентифицированных изображений.
- Понимание образа.
Заключительный шаг – это этап интерпретации, на котором объект идентифицируется или классифицируется.
Однако в то время как эти три шага кажутся простыми, обработка и понимание изображения с помощью машинного зрения довольно сложны.
Изображение состоит из нескольких пикселей, причем пиксель — это наименьший квант, на который можно разделить изображение. Компьютеры обрабатывают изображения в виде массива пикселей, где каждый пиксель имеет набор значений, представляющих наличие и интенсивность трех основных цветов: красного, зеленого и синего. Все пиксели собираются вместе, чтобы сформировать цифровое изображение.
Таким образом, цифровое изображение становится матрицей, а компьютерное зрение становится исследованием матриц. В то время как простейшие алгоритмы компьютерного зрения используют линейную алгебру для управления этими матрицами, сложные приложения включают такие операции, как свертки с обучаемыми ядрами и понижение частоты дискретизации посредством объединения.
Ниже приведен пример того, как компьютер «видит» маленькое изображение.
Значения представляют собой значения пикселей в определенных координатах на изображении, где 255 представляет полную белую точку, а 0 представляет полную темную точку. Для больших изображений матрицы намного больше.
Хотя нам легко получить представление об изображении, взглянув на него, быстрый просмотр значений пикселей показывает, что пиксельная матрица не дает нам никакой информации об изображении. Поэтому компьютеру приходится выполнять сложные вычисления на этих матрицах и формулировать отношения с соседними пиксельными элементами только для того, чтобы сказать, что это изображение представляет собой лицо человека.
Проблемы технологии компьютерного зрения
Одной из самых больших проблем машинного зрения является непонимание того, как работает человеческий мозг и зрительная система человека.
У нас есть расширенное и сложное зрение, которое мы можем понять в очень молодом возрасте, но не можем объяснить процесс, с помощью которого мы можем понять, что мы видим. Кроме того, повседневные задачи, такие как переход улицы по пешеходному переходу, указание на что-то в небе, проверка времени на часах, требуют от нас достаточного знания об объектах вокруг нас, чтобы понимать, что нас окружает.
Такие аспекты весьма отличны от простого видения, но во многом неотделимы от него. Таким образом, моделирование человеческого зрения с помощью алгоритмов и математического представления требует идентификации объекта на изображении и понимания его присутствия и поведения.