1 of 50

CV - 1: Основные задачи компьютерного зрения, наборы данных и инструменты работы с ними

Дмитрий Юдин

кандидат технических наук,

старший научный сотрудник AIRI,

заведующий лабораторией интеллектуального транспорта МФТИ

@yuddim

ИНСТРУКЦИИ

Вариант обложки 1

2 of 50

План занятий по направлению CV

01

CV - 1: Основные задачи компьютерного зрения, наборы данных и инструменты работы с ними

02

CV - 2: Программные инструменты для реализации нейросетевых моделей анализа изображений. Технология Docker

03

CV - 3: Методы обучения глубоких нейронных сетей для задач компьютерного зрения

04

CV - 4: Современные архитектуры глубоких нейронных сетей для классификации изображений и 3D облаков точек

05

CV - 5: Современные архитектуры глубоких нейронных сетей для сегментации изображений и 3D облаков точек

06

CV - 6: Современные архитектуры глубоких нейронных сетей для обнаружения двух- и трехмерных объектов

07

CV - 7: Современные архитектуры глубоких нейронных сетей для формирования векторных представлений объектов

08

CV - 8: Современные методы решения задачи ответов на вопросы по изображениям (VQA). Многомодальные и многозадачные модели

Пленарные лекции

+

Работа над проектами

+

Пример слайда с содержанием презентации.

ИНСТРУКЦИИ

3 of 50

Компьютерное зрение (computer vision) - это процесс обработки и распознавания визуальной информации с помощью вычислительных устройств

Техническое (машинное) зрение (machine vision) – процесс компьютерной обработки и анализа изображений или трехмерных облаков точек, полученных с помощью технических устройств и применяемый в промышленности и производстве.

Система технического зрения (machine vision system) (упрощенное понятие) – техническая система, содержащая модули или элементы, реализующие процесс компьютерной обработки и анализа визуальной информации

Цветное изображение

Трехмерное облако точек

4 of 50

Камера-обскура (лат. camera obscūra — «тёмная комната») — простейший вид устройства, позволяющего получать оптическое изображение объектов. Представляет собой светонепроницаемый ящик с отверстием в одной из стенок и экраном (матовым стеклом или тонкой белой бумагой) на противоположной стенке.

Ян Вермеер

(1632-1675)

- нидерландский художник-живописец

Упоминания о камере-обскуре встречаются ещё в V—IV веке до н. э. в Китае

Принцип был известен Аристотелю (384-322 до н.э.)

Помогала художникам: описана Леонардо да Винчи (1452-1519)

Задачи компьютерного зрения: немного истории

5 of 50

Задачи компьютерного зрения: немного истории

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

Видикон

Идею трубки с использованием внутреннего фотоэффекта выдвинул в 1925 году советский учёный Александр Чернышёв

Видикон диаметром 2/3 дюйма фирмы «Matsushita» (Panasonic)

Чем больше освещённость участка мишени, тем меньше электрическое сопротивление фотопроводника и тем быстрее происходит его разряд.

6 of 50

Задачи компьютерного зрения: немного истории

Матрица на основе приборов с зарядовой связью (ПЗС, CCD - матрица)

КМОП-матрицы (CMOS-матрицы)

1. фотоны света, прошедшие через объектив фотоаппарата;

2. микролинза субпикселя;

3. R — красный светофильтр субпикселя, фрагмент фильтра Байера;

4. прозрачный электрод из поликристаллического кремния или сплава индия и оксида олова;

5. оксид кремния

6. кремниевый канал n-типа: зона генерации носителей - зона внутреннего фотоэффекта;

7. зона потенциальной ямы (карман n-типа), где собираются электроны из зоны генерации носителей заряда;

8. кремниевая подложка p-типа.

Эквивалентная схема ячейки КМОП-матрицы: 1 — светочувствительный элемент (фотодиод); 2 — затвор; 3 — конденсатор, сохраняющий заряд с диода; 4 — усилитель; 5 — шина выбора строки; 6 — вертикальная шина, передающая сигнал процессору; 7 — сигнал сброса

Изобретёна в 1969 году Уиллардом Бойлом и 

Джорджем Смитом в Лабораториях Белла (AT&T Bell Labs).

2009 – Нобелевская премия по физике

1960-е – идея.

Реализована в 1993 году

к 2008 году КМОП стали практически альтернати-вой ПЗС.

7 of 50

Задачи компьютерного зрения: особенности светочувствительности сенсоров

Для выполнения большинства задач (например, по термографированию зданий) используют тепловизоры со спектральным диапазоном 7-14 микрометров. Источник

8 of 50

Задачи компьютерного зрения: Получение (захват) цветных изображений. Фильтры Байера

Доктор Брайс Э. Байер (англ. Bryce Bayer), сотрудник компании Kodak, запатентовал предложенный им фильтр в 1976 г.

9 of 50

Задачи компьютерного зрения по получению изображений в космосе

Рост стоимости «Джеймса Уэбба» в начальный период разработки по сравнению с общим бюджетом NASA на астрофизику: За 1996-2021 гг его общая стоимость выросла почти до 10 миллиардов долларов.

10 of 50

Задачи компьютерного зрения идут из приложений

Анализ медицинских изображений

Беспилотные автомобили и умный город

Робототехника

Искусство

Анализ изображений в микробиологии

3D-реконструкция

Разведка полезных ископаемых в металлургии, нефте-газовой промышленности

|

|

|

|

|

По данным международных аналитических агентств marketsandmarkets.com, researchandmarkets.com

Анализ спутниковых и аэрофотоснимков

Биометрия

|

11 of 50

Задачи компьютерного зрения: тренды

Stanford University

SRI International

MIT

OpenAI

Harvard University

Partnership On AI

McKinsey Global Institute

12 of 50

Задачи компьютерного зрения: тренды

Федеральный проект «Искусственный интеллект» Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации

Дорожная карта развития

13 of 50

Улучшение изображение, в том числе задача суперразрешения

14 of 50

Синтез одиночных изображений и видео

15 of 50

Детектирование, классификация, сегментация, трекинг объектов на изображениях

16 of 50

Обнаружение, классификация, сегментация, трекинг объектов в 3D-пространстве

(6D Pose recognition)

17 of 50

Оптическое распознавание текста (optical character recognition, OCR)

Распознавание цифр, AT&T labs

http://www.research.att.com/~yann/

Распознавание автомобильных номеров и текста

http://en.wikipedia.org/wiki/Automatic_number_plate_recognition

Source: А. Конушин

18 of 50

Верификация и идентификация объектов (в частности для биометрии )

Идентификация по отпечаткам пальцев

Идентификация по радужной оболочке глаза

Идентификация по рисунку вен ладони

19 of 50

Ответы на вопросы по изображениям (Visual Question Answering)

20 of 50

Распознавание действий на видео (в том числе походки)

21 of 50

Построение карты и 3D-моделей объектов

22 of 50

О наборах данных

Где искать:

  • Научные публикации

  • Конкурсы и Benchmarks

  • Paperswithcode.com

https://paperswithcode.com/

  • Dataset search от Google

https://datasetsearch.research.google.com/

23 of 50

Универсальные наборы данных

  • Подборка наборов данных для распознавания изображений http://datasets.visionbib.com/
  • Наборы данных по типам задач распознавания изображений http://www.cvpapers.com/datasets.html
  • MS COCO (200000 размеченных полигонами изображений,

включающих 80 категорий объектов и 91 категорию вещей) 

  • ImageNet cодержит более 14 000 000 фотографий, относящихся

более чем к 21 000 классам

  • CIFAR-10 cодержит 60 000 изображений, относящихся к 10 классам, размер фотографий - 32x32 пикселей
  • Pascal VOC 2012 cодержит более 11500 изображений с 20 классами объектами для задачи обнаружения и более 2900 изображений с 20 классами для задачи сегментации
  • Google Open Images Dataset (9 млн изображений для задачи обнаружения объектов [https://opensource.google.com/projects/open-images-dataset] и 1,7 млн изображений для задачи сегментации объектов [https://storage.googleapis.com/openimages/web/download.html])

24 of 50

Универсальные наборы данных: Google Open Images v6

● 16M boxes on 600 categories on 1.9M images

● 2,8M instance segmentations on 350 categories

● 59.9M image-level labels on 19,957 classes

● 3.3M annotations from 1,466 distinct relationship triplets:

  • particular relations (e.g. "beer on table"),
  • object properties (e.g. "table is wooden"),
  • human actions (e.g. "woman is jumping")

● Extension – 478K crowdsourced images with 6k+

categories

Источник: Machine Learning course at MIPT. week12_cv_intro_and_r-cnn https://ml-mipt.github.io/

25 of 50

Наборы данных для распознавания лиц

Набор данных идентификации и верификации

Количество людей

Кол-во изображений

Доступность

CASIA-WebFace

10 575

494 414

Public (on request)

VGGFace2

9 000+

3 300 000+

Public

MS-Celeb-1M-v1c

86 876

3 923 399

Public

Asian-Celeb

93 979

2 830 146

Public

LFW

5 749

13 233

Public

Megaface

672 000

4 700 000

Public

MSRA-CFW.

1 583

202 792

(non active)

Large-scale CelebFaces Attributes (CelebA) Dataset

10 177

202 599

Public

FaceScrub

530

100 000

Public (on request)

Набор данных распознавания пола и возраста

Кол-во изображений

Доступность

IMDb + WIKI Dataset

500k+

Public

Apparent age V2

8k

Public

UTKFace

23k

Public

IBM Research DiF dataset (Diversity in faces)

1000k

Public (on request)

FG-Net Dataset

1k

Public

26 of 50

Наборы данных для распознавания эмоций на лице

27 of 50

Наборы данных в области беспилотного транспорта

  • Waymo dataset - 1 Тб размеченных данных [https://waymo.com/open],

полученный с помощью автономных транспортных средств в США,

для задач 2D- и 3D детекции и трекинга объектах на изображениях и

облаках точек лидаров.

  • UDACITY - набор данных, полученный с беспилотных транспортных

средств [https://github.com/udacity/self-driving-car]

  • KITTI benchmark для детектирования объектов содержит 7481 изображение обучающей и 7581 изображение тестовой выборки. Для задач семантической сегментации (semantic segmentation) и сегментации объектов (instance segmentation) содержит 200 изображений обучающей и 200 изображений тестовой выборки
  • CityScapes – один из основных датасетов для сегментации изображений городской среды. Содержит 5000 изображений с разметкой высокого качества и 20000 среднего
  • Наборы данных для распознавания дорожных знаков: GTSDB (The German Traffic Sign Detection Benchmark), RTSD (Russian Traffic Sign Dataset), ICEVISION, Chinese Traffic Sign Database (CTSD), The European Dataset of Traffic signs, BelgiumTS Dataset, Mapillary Traffic Sign Dataset (100 000 изображений с высоким разрешением (52 000 полностью аннотированных, 48 000 частично аннотированных) с более 300 классов дорожных знаков с данными об ограничивающих прямоугольниках)
  • Наборы данных для распознавания дорожной разметки: CULane, Caltech Lanes, NEXET, DIML lane Benchmark , TuSimple Benchmark, The UAH Driveset, BDD100K, ApolloScape

28 of 50

Наборы данных в области беспилотного транспорта

  • Наборы данных для распознавания светофоров: LARA (LA Route Automatisee) Traffic Lights Recognition (TLR), LISA Traffic Light Dataset, VIVA (Vision for Intelligent Vehicles and Applications), WPI Traffic Light Dataset, Nexar Traffic Light Dataset, Bosch Small Traffic Lights Dataset, DriveU Traffic Light Dataset (DTLD)
  • Mapillary - 100,000 картинок в высоком разрешении для instance segmentation в разных странах, разных временах года и времен суток.
  • Audi
  • AppolloScape от Baidu
  • Ford https://avdata.ford.com/
  • Nuscenes - 1,400,000 кадров с камеры, 390,000 кадров с лидара, данные сняты в Бостоне и Сингапуре, 23 класса, есть разметка с 3D боксами https://www.nuscenes.org/
  • WiderPerson — это датасет для распознавания пешеходов на изображениях. Данные состоят из 13,382 изображений и 399,786 разметок. Разметка делится на пять категорий: пешеходы, водители, частично видимые люди, толпа и игнорируемые объекты https://neurohive.io/ru/datasety/widerperson-dataset-dlya-raspoznavaniya-peshehodov/
  • BOXY 200,000 картинок, 1,990,000 размеченных машин, при разных условиях (Солнце, дождь, сумерки, ночь, чистые автострады, интенсивное движение, пробки), машин размечены в 3D боксах https://boxy-dataset.com/boxy/
  • Upgreat-датасет c финальных заездов конкурса "Зимний город"  в 200 Гб от Starline (данные лидаров и бортовых камер) https://city.upgreat.one/final/#final-dataset

29 of 50

Библиотека изображений, недоступных для искусственного интеллекта

ImageNet-A (7500 обычных снимков, при распознавании которых нейросети ошибаются в 98 случаях из 100)

[Hendrycks D. et. al. Natural Adversarial Examples. 2019. https://arxiv.org/pdf/1907.07174.pdf]

30 of 50

Ошибки датасетов: Всегда нужна проверка вручную

Ошибки в наборе данных VIVA

31 of 50

Ошибки датасетов: Всегда нужна проверка вручную

32 of 50

Ошибки, вызванные неполнотой или некорректностью датасетов

33 of 50

Расширение (аугментация) наборов данных

  • Аугментация на основе аффинных, перспективных и эластичных преобразований
  • Аугментация на основе изменения характерных признаков данных
  • Аугментация вырезанием
  • Аугментация вставкой редких объектов
  • Аугментация специализированных наборов данных
  • Аугментация на основе генеративных состязательных нейронных сетей (GAN)
  • Автоматический подбор комбинации методов аугментации (Autoaugment)

Примеры открытых программных библиотек: ImageDataGenerator in Keras, Automold-Road-Augmentation-Library, Imgaug, Augmentor, Albumentations

34 of 50

Расширение (аугментация) наборов данных

  • Аугментация на основе аффинных, перспективных и эластичных преобразований

Квокка, или Короткохвостый кенгуру

35 of 50

Расширение (аугментация) наборов данных

  • Аугментация вырезанием

36 of 50

Расширение (аугментация) наборов данных

  • Аугментация на основе изменения характерных признаков данных

37 of 50

Расширение (аугментация) наборов данных

Загрязнение оптики (капли дождя, грязь - брызги) Spatter

Дефокусировка DefocusBlur

Искажения изображения в движении ZoomBlur, MotionBlur

Замерзание стекла Frost

38 of 50

Расширение (аугментация) наборов данных

Снег Snow Snowflakes

Туман, дым, сильная пыль Fog Clouds

Засветка RandomSunFlare

Дождь Rain

39 of 50

Расширение (аугментация) наборов данных

I. Anokhin et al. High-Resolution Daytime Translation Without Domain Labels https://arxiv.org/abs/2003.08791

Diagram of the Adaptive U-Net architecture: an encoder-decoder network with dense skip-connections and content-style decomposition (c, s)

HiDT learning data flow.

40 of 50

Многообразие инструментов ручной разметки изображений

LabelMe

- сегментация полигонами,

- классификация объектов

по различным категориям

Разработчик: MIT

VGG Image Annotator (VIA)

- детекция,

- сегментация полигонами,

- классификация объектов

по различным категориям

Разработчик: Visual Geometry Group, Oxford

http://www.robots.ox.ac.uk/~vgg/software/via/

41 of 50

Многообразие инструментов ручной разметки изображений

Label Studio�- детекция, сегментация, классификация, VQA,

- разметка аудиозаписей, данных NLP, временных рядов,

- веб интерфейсhttps://github.com/heartexlabs/label-studio

OpenCV/CVAT

- детекция в 2D и 3D,

- сегментация полигонами,

- классификация объектов

по различным категориям

- разметка видео

Разработчик: OpenCV Team

LabelImg

- детекция (самый быстрый

инструмент),

- классификация объектов

по различным категориям

Разработчик: Tzutalin

42 of 50

Многообразие инструментов ручной разметки изображений

LabelBox

- детекция,

- сегментация полигонами,

- классификация объектов по различным категориям,

- сегментация пикселей (с конца 2018 года)

Разработчик: Labelbox

Carla Simulator

- генерация эталонной сегментации

пикселей по 3D модели и карты глубин

Разработчик: CARLA Team

Supervisely

- разметка боксками и полигонами, автоматизированная сегментация,

- разметка видео,

- интеграция с обучением и тестированием

43 of 50

Многообразие инструментов ручной разметки изображений

Яндекс.Толока

- классификация объектов на изображении

Разработчик: Яндекс

https://toloka.yandex.ru/tasks

Сервис Azure Machine Learning

- Классификация и обнаружение объектов,

- Интеграция с обучением и тестированием алгоритмов

44 of 50

Многообразие инструментов ручной разметки изображений

Amazon SageMaker Ground Truth

- детекция,

- сегментация полигонами,

- классификация объектов по различным категориям,

- сегментация пикселей.

Разработчик: Amazon

https://docs.aws.amazon.com/ sagemaker/latest/dg/sms.html

Закрытые инструменты компаний,

разрабатывающих системы компьютерного зрения

- детекция,

- сегментация полигонами,

- классификация объектов

по различным категориям,

- сегментация пикселей.

45 of 50

Многообразие инструментов ручной разметки изображений

46 of 50

Инструменты разметки для распознавания трехмерных облаков точек

SUSTechPOINTS

47 of 50

Инструменты разметки для распознавания трехмерных объектов

Knossos

48 of 50

Инструменты разметки для распознавания трехмерных объектов

Semantic Segmentation Editor

49 of 50

Итеративное активное обучение на основе автоматизированной разметки

50 of 50

Artificial Intelligence�Research Institute

airi.net