Модели Computer Vision, обучаемые на опенсорсных массивах данных
Computer Vision (CV) — одна из самых увлекательных тем в сфере искусственного интеллекта (Artificial Intelligence, AI) и машинного обучения (Machine Learning, ML). Это важная часть многих современных конвейеров AI/ML, преобразующая практически все отрасли и позволяющая компаниям осуществлять революцию в работе машин и бизнес-систем.
В науке CV многие десятилетия была уважаемой областью computer science, и за многие годы в этой сфере было проведено множество исследований по её совершенствованию. Однако революцию в ней совершило недавно начавшееся применение глубоких нейросетей, ставшее стимулом ускорения её развития.
Существует множество разнообразных областей применения CV, например:
- Беспилотные автомобили.
- Анализ медицинских изображений и диагностика.
- Распознавание и понимание сцен.
- Автоматическая генерация описаний изображений.
- Маркировка фотографий/лиц в соцсетях.
- Безопасность жилища.
- Выявление дефектов в производственных отраслях и контроль качества.
В этой статье мы расскажем о некоторых из самых популярных и эффективных датасетов, используемых в сфере глубокого обучения (Deep Learning, DL) для обучения современных систем ML под задачи CV.
Выбирайте опенсорсные массивы данных внимательно
Обучение компьютеров на изображениях и видеофайлах — это серьёзная операция, требующая больших объёмов данных. Одиночный файл изображения — это многомерная многомегабайтная цифровая сущность, содержащая лишь крошечную долю информации в контексте всей задачи «интеллектуального анализа изображений».
В отличие от него таблица с данными розничных продаж того же размера может обеспечить гораздо бОльшую ценность для алгоритма ML ценой тех же затрат на вычислительное оборудование. Об этом стоит помнить при обсуждении данных и вычислительных ресурсов, необходимых для современных конвейеров CV.
Поэтому почти всегда сотен (и даже тысяч) изображений недостаточно для обучения высококачественной модели ML для задач CV. Почти во всех современных системах CV используются сложные архитектуры моделей глубокого обучения, но если им не предоставить достаточное количество тщательно подобранных примеров (размеченных изображений), они останутся недостаточно согласованными. Поэтому всё чаще для надёжных, обобщаемых, качественных систем глубокого обучения требуются миллионы тщательно отобранных изображений.
Кроме того, задача выбора и сбора массива данных для обучения в аналитике видео может быть ещё более сложной задачей, учитывая динамичность видеофайлов и кадров, полученных из множества видеопотоков.
В этой статье мы перечислим некоторые из самых популярных массивов (состоящих как из статических изображений, так и из видеоклипов).
Популярные опенсорсные массивы данных для моделей Computer Vision
Не все массивы данных одинаково подходят для всех типов задач CV. Существуют следующие распространённые задачи CV:
- Классификация изображений.
- Распознавание объектов.
- Сегментация объектов.
- Аннотирование множественных объектов.
- Подбор подписей к изображениям.
- Определение позы человека.
- Аналитика видеокадров.
Мы представим список популярных опенсорсных массивов данных, относящихся к большинству этих категорий.
ImageNet (самый известный)
ImageNet — это развивающийся исследовательский проект по созданию легкодоступной базы изображений для исследователей всего мира. Наверно, это самый известный массив изображений, считающийся золотым стандартом для исследователей и студентов.
Этот проект был организован в ответ на постоянную потребность в новых данных для сферы исследований изображений и зрения. Он упорядочен в соответствии с иерархией WordNet. Каждая существенная концепция в WordNet, которая может быть описана несколькими словами или фразами, называется «множеством синонимов», или «synset». В WordNet находится более 100 тысяч synset. ImageNet нацелен на то, чтобы накопить в среднем по 1000 изображений для иллюстрирования каждого synset.
ImageNet Large Scale Visual Recognition Challenge (ILSVRC) — это международное ежегодное соревнование, оценивающее алгоритмы (созданные командами из университетов или из корпоративных исследовательских групп) по крупномасштабному распознаванию объектов и классификации изображений. Одна из высокоуровневых задач соревнования — возможность сравнивать прогресс исследователей в распознавании широкого ассортимента объектов при помощи дорогостоящих проектов по разметке. Ещё одна задача заключается в измерении прогресса computer vision в крупномасштабном индексировании изображений. Это одно из самых обсуждаемых соревнований во всей сфере машинного обучения.
CIFAR-10 (для начинающих)
Это коллекция изображений, обычно используемая для обучения алгоритмов машинного обучения и компьютерного зрения новичками в данной отрасли. Также это один из самых популярных массивов данных в исследованиях машинного обучения для быстрого сравнения алгоритмов, поскольку он отражает слабые и сильные места конкретной архитектуры, не накладывая при этом дополнительных требований на процесс обучения и подстройки гиперпараметров.
Массив содержит 60000 цветных изображений размером 32×32 в 10 разных классах. Классами являются самолёты, легковые автомобили, птицы, кошки, олени, собаки, лягушки, лошади, корабли и грузовики.
MegaFace и LFW (распознавание лиц)
Labeled Faces in the Wild (LFW) — это база данных фотографий лиц, предназначенная для изучения задачи неограниченного распознавания лиц. Она содержит 13233 изображений 5749 людей, скачанных и распознанных из веба. В качестве дополнительной задачи исследователи ML могут использовать 1680 человек с двумя или более отдельными фотографиями. Это публично доступный бенчмарк для верификации лиц, также называемой сопоставлением пар (для него требуется не менее двух изображений одного человека).
MegaFace — это крупномасштабный опенсорсный массив данных для обучения распознаванию лиц, являющийся одним из самых важных бенчмарков коммерческих задач распознавания лиц. В нём содержится 4753320 лиц 672057 человек и он хорошо подходит для обучения больших инфраструктур глубокого обучения. Все изображения получены из Flickr (массив данных Yahoo) и имеют лицензию Creative Commons.
IMDB-Wiki (идентификация гендера и возраста)
Один из крупнейших опенсорсных массивов данных изображений лиц с метками гендера и возраста для обучения. Суммарно в нём находится 523051 изображение лиц, 460723 изображения — это лица 20284 знаменитостей с IMDB, а 62328 — с Википедии.
MS Coco (распознавание и сегментирование объектов)
COCO, или Common Objects in COntext — это крупный массив данных для распознавания, сегментации и создания подписей к объектам. Массив данных содержит фотографии 91 легкоузнаваемый тип объектов и 2,5 миллиона размеченных экземпляров на 328 тысячах изображений. Кроме того, он содержит ресурсы для более сложных задач CV, в том числе многообъектной разметки, аннотирования масками сегментации, создания подписей к изображениям и распознавания ключевых точек. Также он имеет хорошую поддержку интуитивно-понятного API, помогающего в загрузке, парсинге и визуализации аннотаций в COCO. API поддерживает множество форматов аннотаций.
MPII Human Pose (определение поз)
Этот массив данных используется для определения артикулированных человеческих поз. Он состоит из приблизительно 25 тысяч изображений, содержащих более 40 тысяч людей с аннотированными суставами тела. Каждое видео извлечено из видео YouTube и снабжено информацией о предыдущем и последующем неразмеченном кадре. В целом массив охватывает 410 действий человека, а каждое изображение дополнено меткой действия.
Flickr-30k (создание подписей к изображениям)
Этот корпус создания подписей к изображениям состоит из собранных краудсорсингом 158915 подписей, описывающих 31783 изображений. Это расширенная версия массива Flickr 8k. В новых изображениях и подписях упор делается на людях, участвующих в повседневных действиях и событиях.
20BN-SOMETHING-SOMETHING (видеоклипы человеческих действий)
Этот массив данных является крупной коллекцией плотно размеченных видеоклипов, в которых люди выполняют заданные простые действия с повседневными объектами. Он был создан множеством краудсорсеров, что позволяет моделям ML развить тонкое понимание простых действий, происходящих в физическом мире.
Вот примеры распространённых человеческих действий, хранящихся в этом массиве данных:
Barkley DeepDrive (для обучения беспилотного транспорта)
Массив данных Berkeley DeepDrive , созданный Калифорнийским университетом в Беркли, состоит из более чем 100 тысяч видеоклипов с разнообразными типами аннотаций, в том числе ограничивающими прямоугольниками, областями, пригодными для движения транспорта, разметки на уровне изображений, дорожной разметки и полнокадровой сегментации экземпляров объектов. Кроме того, в этом массиве данных присутствует большое разнообразие географических, природных и погодных условий.
Он крайне полезен для обучения надёжных моделей для беспилотного транспорта, ведь автомобили меньше будут смущать постоянно меняющиеся дорожные условия.
Подходящее оборудование и бенчмарки для этих массивов данных
Не нужно говорить, что для создания высококачественной системы ML или бизнес-решения этих массивов недостаточно. Для получения оптимального решения любой научной или бизнес-задачи нужна комбинация правильно выбранного массива данных, оборудования для обучения, продуманной подстройки и стратегии бенчмаркинга.
Именно поэтому для обеспечения нужной производительности почти всегда с этими массивами данных используют высокоскоростные GPU.
GPU разрабатывались (в основном с расчётом на отрасль видеоигр), чтобы справляться с высокой параллельностью вычислений, для которых используются тысячи крошечных вычислительных ядер. Также они обладают большой пропускной способностью памяти для обработки быстрого потока данных (от вычислительного модуля в кэш, а потом в медленную основную память и обратно), необходимого для этих вычислений при обучении нейросети в течение тысяч эпох. Благодаря этому они идеально подходят для работы с вычислительной нагрузкой задач computer vision.
Однако на рынке присутствует множество вариантов GPU и это может запутать обычного пользователя. Чтобы помочь покупателю в этом вопросе, за многие годы было опубликовано несколько хороших стратегий бенчмаркинга. Хороший бенчмарк должен учитывать множество вариаций (a) архитектуры глубокой нейросети (deep neural network, DNN), (б) GPU, и (в) популярных массивов данных (наподобие тех, что мы рассмотрели в предыдущем разделе).
Например, в этой превосходной статье рассматриваются следующие аспекты:
- Архитектура: ResNet-152, ResNet-101, ResNet-50 и ResNet-18
- GPU: EVGA (non-blower) RTX 2080 ti, GIGABYTE (blower) RTX 2080 ti и NVIDIA TITAN RTX
- Массивы данных: ImageNet, CIFAR-100 и CIFAR-10.
Кроме того, для хорошего бенчмарка следует учитывать множество параметров производительности.
Параметры производительности
Существует три основных индекса:
- SECOND-BATCH-TIME: время завершения второго пакета обучения. Это число замеряет производительность до того, как GPU нагреется. По сути, он замеряет производительность без теплового тротлинга.
- AVERAGE-BATCH-TIME: среднее время пакета после 1 эпохи в ImageNet или 15 эпох в CIFAR. Этот параметр учитывает тепловой тротлинг.
- SIMULTANEOUS-AVERAGE-BATCH-TIME: среднее время пакета после 1 эпохи в ImageNet или 15 эпох в CIFAR при одновременной работе всех GPU. Этот показатель измеряет влияние теплового тротлинга в системе, вызванного суммарным теплом, излучаемым всеми GPU.
Какие наборы данных с открытым исходным кодом лучше всего подходят для ваших моделей компьютерного зрения?
В этой статье мы обсудили необходимость доступа к высококачественным крупномасштабным наборам данных для обучения сложных моделей DNN, которые постепенно становятся повсеместными в приложениях компьютерного зрения.
Мы привели примеры нескольких наборов данных с открытым исходным кодом, которые широко используются для различных типов задач CV — классификации изображений, оценки позы, подписи к изображениям, автономного вождения, сегментации объектов и т. д.
Наконец, мы также коснулись необходимости сочетания этих наборов данных с надлежащим оборудованием и стратегиями сравнительного анализа, чтобы обеспечить их оптимальное использование в коммерческих и научно-исследовательских целях.
Если у вас есть какие-либо вопросы, не стесняйтесь обращаться к нам или используйте раздел комментариев ниже.