Одной из самых влиятельных технологий, изменивших ход истории в прошлом столетии, была технология камеры: это было началом того, что наши машины начали видеть. Фотография позволила нам запечатлеть лучшие и худшие моменты в истории, что дало возможность осознавать, размышлять и действовать. Сила и влияние фотографии только усилились с появлением телефонов с камерами в начале 2000-х. Внезапно миллионы людей получили возможность задокументировать все, от ужасов жизни при диктаторах до первых шагов своего ребенка, прямо в кармане. Несколько лет спустя, с ростом мобильного интернета и социальных сетей, у нас не только появился способ документировать свою жизнь, но и появилась возможность кричать об этом (почти) всему миру. Мы увидели силу всего этого еще в 2011 году во время Арабской весны, когда миллионы угнетенных людей на Ближнем Востоке использовали свои телефоны с камерами и учетные записи Facebook для свержения многочисленных могущественных авторитарных режимов.

Сегодня почти половина населения мира имеет доступ к смартфону и подключению к Интернету, и от Snapchat до YouTube почти весь контент, который мы потребляем ежедневно, является визуальным. 60 миллионов фотографий загружаются в Instagram каждый день, а 300 часов видео загружаются на YouTube каждую секунду (да... каждую секунду). И по мере того, как мы движемся в еще более взаимосвязанный мир с Интернетом вещей, в «вещах» вокруг нас появляется еще больше камер. Что все это значит? Это означает, что облако заполняется эксабайтами (1000000 ТБ) визуальных данных, которые ждут, чтобы их использовали для получения ценной информации, которая может решить многие мировые проблемы (звучит знакомо, верно?). Только подумайте об этом, если одно изображение стоит тысячи слов, то как много мы можем узнать о мире, анализируя триллионы изображений?

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

Зрение — это уникальная человеческая способность, которая позволяет нам идентифицировать и обрабатывать то, что мы видим вокруг себя, и действовать в соответствии с этим. Тогда что такое искусственный визуальный интеллект? Вспомните распознавание лиц Facebook или впечатляющую технологию автопилота Tesla. Проще говоря, искусственный визуальный интеллект дает компьютеру возможность видеть и понимать окружающий мир. Да, это довольно круто, но только Цукерберг и Маск могут делать это правильно, зачем мне вообще использовать эту технологию?

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

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

Одним из самых основных вариантов использования компьютерного зрения является классификация, когда вы хотите классифицировать содержимое изображения как одно или другое (есть ли на этом изображении яблоко или апельсин). Моделью машинного обучения называется нейронная сеть, которая будет использовать несколько тысяч существующих изображений яблок и апельсинов, чтобы узнать корреляции между пикселями на изображении и определить, яблоко это или апельсин. Но для этого помимо довольно мощной машины нужно хорошо разбираться в машинном обучении, а также иметь большой набор данных, содержащий изображения яблок и апельсинов. Это очень захватывающая технология с большим потенциалом, и я определенно рекомендую вам изучить ее на собственном опыте, особенно если вы любите информатику и математику. Но если вы хотите быстро добавить компьютерное зрение в свои проекты, то лучший вариант — Google Vision API.

API или интерфейс прикладного программирования — это сервис, который позволяет системам обмениваться информацией друг с другом. В случае Vision API вы передаете свое изображение/видео на сторону Google, а затем Google пропустит ваше изображение через свой алгоритм Computer Vision и вернет список меток и оценок достоверности от 0 до 1 (насколько уверенно применима ли эта метка к это изображение), как показано выше.

Это чрезвычайно мощное решение, поскольку оно позволяет быстро интегрировать компьютерное зрение в ваши проекты, не беспокоясь ни о каких «лежачих полицейских», о которых я упоминал ранее. Поскольку у Google есть практически все изображения и видео в Интернете, у него есть один из самых больших наборов данных изображений и видео. У Google также есть множество мощных центров обработки данных, поэтому вычислительная мощность также не является проблемой, и, наконец, некоторые из самых талантливых инженеров уже создали модель видения, так что вам не нужно об этом беспокоиться. Вам может быть интересно, не раздает ли Google все это бесплатно, если это так, не волнуйтесь, хорошие ребята из Google позволят вам бесплатно попробовать сервис для первых 1000 запросов в месяц (достаточно для экспериментов). и после этого они берут несколько долларов за каждую 1000 запросов, которые вы делаете.

После того, как у вас есть метки и оценки достоверности из Vision API, сложная работа с машинным обучением завершена, поэтому вам просто нужно выяснить, что вы хотите сделать, и соответствующим образом манипулировать данными. Когда я впервые использовал Google Vision для одного из своих проектов, я хотел определить, содержит ли изображение какую-либо электронику или нет. Поэтому я попробовал кучу возможных изображений электроники с помощью Google Vision и составил полный список всех возможных меток, которые он может вернуть. Затем я построил базовый алгоритм, который будет принимать любые метки ответов Google Vision для любого заданного изображения и проверять, есть ли общие метки между исчерпывающим списком и ответом. Затем алгоритм будет выполнять базовую операцию линейных комбинаций, где он будет вычислять сумму оценок достоверности общих меток и делить на количество общих меток, чтобы получить окончательную оценку достоверности от 0 до 1, содержит ли изображение электронику. или нет.

Понятно, что это не самое элегантное решение проблемы, но в то время у меня не было ресурсов с точки зрения данных или знаний ML, чтобы построить и обучить собственную модель, и это решение просто работает. Я использовал решение Google, потому что его довольно легко настроить и использовать, но если вам нужны такие функции, как аутентификация по лицу, вы также можете попробовать IBM Watson, Microsoft Azure или Amazon Rekognition (самый мощный из всех) . Другим очень многообещающим решением является движок Google Auto ML, который все еще находится на стадии альфа-тестирования, но, по сути, механизм Auto ML добавляет больше возможностей для настройки для создания собственных моделей поверх существующего сервиса Google. С Auto ML я мог бы создать свою собственную модель, используя ресурсы Google, без необходимости настраивать Джерри собственное решение.

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

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