Часть II • Введение в TensorFlow.js
5.
2.1. Задача обнаружения простых объектов
в синтезированных изображениях
Современные методики обнаружения объектов включают множество приемов,
неуместных в нашем начальном руководстве. Мы хотели бы показать сущность
обнаружения объектов и не увязнуть при этом в болоте технических нюансов. Для
этого мы создали задачу обнаружения простых объектов, включающую синтезиро
ванные изображения (рис. 5.13). Размерность этих синтезированных изображений —
224
×
224, а глубина представления цвета — 3 (RGBканалы), то есть они совпадают
со спецификациями входных данных модели MobileNet, лежащей в основе нашей
модели. Как демонстрирует пример на рис. 5.13, у всех изображений белый фон.
А роль объекта, который требуется обнаружить, играет либо равносторонний тре
угольник, либо прямоугольник. Если это треугольник, случайным образом варьи
руются размер и ориентация; если же объект — прямоугольник, случайным образом
варьируются высота и ширина. Если бы изображение состояло лишь из белого фона
и интересующего нас объекта, задача была бы слишком проста для демонстрации
возможностей нашей методики. Чтобы усложнить ее, мы будем случайным образом
вставлять в изображения определенное количество зашумляющих объектов —
по десять кругов и десять отрезков в каждое. Местоположения и размеры кругов
генерируются случайно, как и местоположения и длины отрезков. Часть этих за
шумляющих объектов может накладываться на целевой объект, частично закрывая
его. Цвета всех целевых и зашумляющих объектов выбираются случайным образом.
Полностью охарактеризовав входные данные, мы можем описать задачу для
модели, которую создадим и будем обучать. Ее выходной сигнал — пять чисел, раз
битых на две группы.
z
z
Первая группа содержит одно число, указывающее, чем является обнаруженный
объект — треугольником или прямоугольником (независимо от его расположе
ния, размера, ориентации и цвета).
z
z
Оставшиеся четыре числа составляют вторую группу и представляют собой коор
динаты прямоугольника, ограничивающего обнаруженный объект. Если точнее,
они представляют собой его координаты слева по оси
X
, справа по оси
X
, сверху
по оси
Y
и снизу по оси
Y
. См. пример на рис. 5.13.
В искусственных данных хорошо то, что: 1) автоматически известны истинные
метки и 2) можно сгенерировать столько данных, сколько нужно. При каждой ге
нерации изображения тип объекта и его ограничивающий прямоугольник автома
тически становятся нам известны из самого процесса генерации. Так что не нужно
тратить усилия на маркирование обучающих изображений. Рекомендуем вам хорошо
познакомиться с методикой этого весьма эффективного процесса, включающего
совместный синтез входных признаков и меток и используемого во множестве сред
тестирования и создания прототипов для моделей глубокого обучения. Однако об
учение моделей обнаружения объектов для реальных входных изображений требует
маркирования вручную реальных изображений. К счастью, уже существует множе
ство подобных маркированных наборов данных. Один из них — набор данных COCO
(Common Object in Context) (см.
http://cocodataset.org
).
Do'stlaringiz bilan baham: |