Практический пример машинного обучения: автоматизированная фотография Google Clips

Google машинное обучение искусственный интеллект TensorFlow

Автор: Асим Агарвала, руководитель и исследователь команды Clips Content

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

- Henri Cartier-Bresson

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

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

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

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

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

Научитесь распознавать необычные моменты

Как научить алгоритм распознавать смешные моменты? Как и в большинстве задач машинного обучения, мы начинаем с набора данных. Сначала представьте различные сценарии применения Clips и создайте на их основе набор данных, состоящий из тысяч видео. В то же время мы также позаботились о том, чтобы эти наборы данных охватывали широкий спектр этнических, гендерных и возрастных групп. Затем мы наняли профессиональных фотографов и видеоредакторов, чтобы тщательно изучить видео и выбрать лучшие короткие клипы. Эти методы предварительной обработки предоставляют примеры, которые может эмулировать наш алгоритм. Однако обучить алгоритм исключительно на субъективном выборе профессионалов непросто, нужны плавные градиенты меток, чтобы научить алгоритм распознавать качество контента (от «идеального» до «плохого»).

Чтобы решить эту проблему, мы использовали другой подход к сбору данных с целью создания непрерывной оценки качества для всего видео. Мы разделяем каждое видео на короткие клипы (аналогично тому, что захватывает Clips), затем случайным образом выбираем пары клипов и просим людей-оценщиков выбрать клипы, которые им нравятся.

Причина такого подхода попарного сравнения, а не прямой оценки видео оценщиками, заключается в том, что гораздо проще выбрать лучшее из двух, чем ставить конкретные оценки. Мы обнаружили, что оценщики были очень последовательны при сравнении попарных сравнений, но более расходились при прямой оценке. Имея достаточно клипов для попарного сравнения для любого данного видео, мы можем вычислить непрерывную оценку качества для всего видео. В ходе этого процесса мы собрали более 50 миллионов клипов для парного сравнения из более чем 1000 видеороликов. Если полагаться только на рабочую силу, эта работа будет чрезвычайно тяжелой.

Модель качества клипов для поездов

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

Чтобы определить метки контента в обучающих данных, мы использовали технологию машинного обучения Google на базе Google Image Search и Google Фото, которая может идентифицировать более 27 000 различных меток, описывающих объекты, понятия и действия. Нам, конечно, не нужны были все теги, и мы не могли вычислить их все на устройстве, поэтому профессиональных фотографов попросили выбрать несколько сотен тегов, которые, по их мнению, наиболее важны для прогнозирования «интересности» фотографии. Мы также добавили теги, наиболее связанные с показателем качества оценщика.

С этим подмножеством меток нам нужно разработать компактную и эффективную модель для прогнозирования меток для любого заданного изображения на устройстве при строго ограниченном энергопотреблении и тепловыделении. Работа представляет собой непростую задачу, поскольку методы глубокого обучения, лежащие в основе компьютерного зрения, часто требуют мощных настольных графических процессоров, а алгоритмы, работающие на мобильных устройствах, сильно отстают от современных на настольных компьютерах или в облаке. Чтобы обучить это на модели на стороне устройства, мы сначала собрали большое количество фотографий и снова использовали мощную серверную модель распознавания Google, чтобы предсказать достоверность каждого из вышеперечисленных «интересных» тегов. Затем мы обучили модель содержимого изображений MobileNet (ICM) для имитации предсказаний серверной модели. Эта компактная модель способна идентифицировать самые интересные элементы на фотографии, игнорируя при этом нерелевантный контент.

Последним шагом является использование 50 миллионов клипов для парного сравнения в качестве обучающих данных для прогнозирования показателя качества входной фотографии с использованием содержимого фотографии, предсказанного ICM. Оценка рассчитывается с помощью модели кусочно-линейной регрессии, преобразуя выходные данные ICM в оценку качества кадра. Мгновенная оценка — это среднее значение оценок качества кадров в видеоклипе. Учитывая набор попарных сравниваемых клипов, наша модель вычисляет, что предпочтительный для человека видеоклип должен иметь более высокую мгновенную оценку. Цель обучения модели — сделать ее прогнозы как можно более совместимыми с парными сравнениями людей.

Иллюстрация процесса обучения для получения оценок качества кадра. Модель кусочно-линейной регрессии сопоставляет вложения ICM с оценками качества кадров, а мгновенная оценка представляет собой среднее значение всех оценок качества кадров в видеоклипе. Видеоклипы, предпочитаемые людьми, должны иметь более высокую мгновенную оценку.

В ходе этого процесса мы обучаем модель, сочетающую технологию распознавания изображений Google с интеллектом людей, оценивающих контент (50 миллионов комментариев об интересе к контенту).

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

управление камерой

Основываясь на этой мощной модели прогнозирования «интересности» сцены, камера Clips может решать, какие моменты снимать в режиме реального времени. Его алгоритм управления камерой следует следующим трем принципам:

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

  2. избегать избыточности: мы не хотим, чтобы клипы захватили все моменты сразу, игнорируя все остальное. Поэтому наш алгоритм объединяет эти моменты в визуально похожие группы и ограничивает количество коротких клипов в каждом кластере.

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

Справедливость в машинном обучении

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

в заключении

Большинство алгоритмов машинного обучения основаны на объективных оценках характеристик, таких как определение того, есть ли на фотографии кошка. В нашем случае наша цель состоит в том, чтобы зафиксировать более неуловимую и субъективную особенность оценки того, интересна ли отдельная фотография. Поэтому мы внедряем в Google Clips искусственный интеллект, сочетая объективное, смысловое наполнение фотографий с субъективными предпочтениями человека. Кроме того, клипы предназначены для совместной работы с людьми, а не автономно; чтобы получить хороший снимок, фотографу все равно нужно иметь чувство кадра и убедиться, что камера нацелена на интересный контент. Мы в восторге от производительности Google Clips и с нетерпением ждем продолжения улучшения алгоритма для захвата «идеального» момента!

Спасибо

Алгоритм, описанный в этой статье, был задуман и реализован многочисленными инженерами, исследователями и другими специалистами Google. Изображение Лиора Шапира. Также спасибо Лиору и Джастону Пейну за видеоконтент.

Пожалуйста, нажмитечитать оригинал, см. все ссылки на эту статью.