Изменения

Перейти к: навигация, поиск

Синтетические наборы данных

478 байт добавлено, 19:38, 24 января 2021
м
Нет описания правки
}}
Нередко возникают ситуации, когда получение реальных данных сложно или дорого, но при этом известны требования к таким объектам, правила создания и законы распределения. Как правило, это происходит, когда речь идёт о чувствительных персональных данных — например, информации о банковских счетахили медицинской информации. В таких случаях необходимые наборы данных можно [[Генерация объектов|программно сгенерировать]].
== Применение ==
Также применяется [[wikipedia:Data_augmentation|аугментация]] (англ. augmentation) — генерация наборов на основе имеющихся реальных данных. К имеющимся данным применяются различные способы искажения: например, для изображений могут использоваться различные геометрические преобразования, искажения цвета, кадрирование, поворот, добавление шума и иные. Для числовых данных могут использоваться такие искажения, как добавление объектов с усреднёнными значениями, смешивание с объектами из другого распределения, добавление случайных выбросов.
== Достоинства ==синтетических данных:
* Возможность генерации наборов данных практически любого размера.
* Повышение доступности больших объёмов данных.
== Недостатки ==В то же время, у синтетических данных есть и недостатки:
* Отсутствие универсального способа генерации, применимого для любых задач: в каждом конкретном случае необходимо дополнительное исследование требований, накладываемых на генерируемые данные.
В самом деле, получить реальные данные для такой задачи — фотографию и её же нечеткую копию — довольно затруднительно, а применение таких преобразований довольно легко автоматизируется. Таким образом, если исходные изображения достаточно хорошо описывали источник данных, то полученный датасет можно применять для обучения алгоритма восстановления изображений, устраняющего применённые преобразования.
Один из известных алгоритмов такого рода — TextSharpener<ref name="TextSharpener"/>. Этот алгоритм, разработанный в Университете Исландии и основанный на [[Сверточные нейронные сети|свёрточной нейронной сети]], позволяет убирать размытие текста на изображениях (см. рис. рисунок 1). Для подготовки набора данных, который подошёл для обучения такого алгоритма, хватило [https://github.com/gardarandri/TextSharpener/blob/master/generator/GenImages.py тривиального скрипта] на Python, генерирующего случайные прямоугольники и надписи на них, а затем размывавшего их.
[[Файл:Jefferson_Graham_on_Manhattan_Beach_Pier.jpeg|200px|thumb|left|Рис. Рисунок 2. Фотография, сделанная широкоугольной камерой<ref>https://commons.wikimedia.org/wiki/File:Jefferson_Graham_on_Manhattan_Beach_Pier.jpg — Retrieved January 24, 2020</ref>.]]
=== OmniSCV ===
Генератор изображений комнат OmniSCV<ref name="OmniSCV">OmniSCV — https://www.mdpi.com/1424-8220/20/7/2066/htm — Retrieved January 11, 2021</ref> используется при разработке роботов для обучения алгоритмов [[Компьютерное зрение|компьютерного зрения]] для устранения искажений широкоугольных объективов и неидеальных условий освещённости.
Генератор умеет симулировать различные варианты объективов — [[wikipedia:Equirectangular projection|равноугольные ]] и [[wikipedia:Cylindrical perspective|цилиндрические ]] панорамы, [[wikipedia:Fisheye lens|«рыбьи глаза» ]] и [[wikipedia:Catadioptric system|катадиоптрические системы]], а также сопровождать сгенерированные изображения комнат вспомогательной информацией об окружающем пространстве и параметрах используемой камеры.
Изображения этого набора данных генерируются с помощью графического движка Unreal Engine 4<ref name="ue">EpicGames. Unreal Engine 4 Documentation. — https://docs.unrealengine.com/en-US/index.html — Retrieved January 21, 2020</ref> и плагина UnrealCV. Каждое преобразование задаётся несложной функцией, связывающей координаты плоскости исходного изображения и луча, исходящего из окружающей среды. Например, для равноугольной проекции удобнее всего использовать сферические координаты: <tex>
С помощью двумерных аффинных преобразований сдвигается как фон, так и стулья — это позволяет эмулировать одновременно движение как стульев, так и «камеры». Авторы используют другой набор данных, MPI Sintel<ref name="sintel">Butler D. J., Wulff J., Stanley G. B., Black M.J. Anaturalistic open source movie for optical flow evaluation // ECCV, Part IV — Springer-Verlag, 2012 — с. 611–625</ref>, для получения информации об естественном распределении таких параметров, как начальные позиции объектов и параметры движения, и сохранении этого распределения.
[[Файл:Vc-clothes.png|200px400px|thumb|left|Рис. Рисунок 5. Пример данных набора VC-Clothes. В первой строке — фон, в каждой из следующих — один и тот же человек в разной одежде<ref name="VC-Clothes">VC-Clothes — https://wanfb.github.io/dataset.html — Retrieved January 11, 2020</ref>.]]
=== VC-Clothes ===
Набор данных VC-Clothes<ref name="VC-Clothes">VC-Clothes — https://wanfb.github.io/dataset.html — Retrieved January 11, 2020</ref> создан для разработки алгоритмов '''реидентификации''' — определения, действительно ли на двух изображениях один и тот же человек. Эти алгоритмы могут использоваться для нахождения людей на записях с камер, на пограничных пунктах и так далее. VC-Clothes представляет из себя сгенерированные изображения одинаковых людей в разной одежде и на разном фоне. Помимо реидентификации, этот датасет также может быть использован для решения задачи семантической [[Сегментация изображений|сегментации]], для отделения пикселей, соответствующих одежде, от пикселей, соответствующих лицу персонажа.
Для создания набора была использована известная компьютерная игра Grand Theft Auto V. Эта игра поддерживает детальную настройку внешнего вида персонажей, произвольные параметры окружающей среды (освещение, угол обзора) и большое количество встроенных сцен — множество улиц, зданий и других мест. При генерации фиксируется маршрут каждого персонажа и позиции камер. Не со всех ракурсов распознаётся непосредственно лицо (см. рис. рисунок 5), но человек вполне может быть распознан по полу, возрасту, фигуре, причёске и другим характеристикам. В итоге датасет включает 512 персонажей, 4 сцены и в среднем 9 изображений для каждого персонажа и каждой сцены.
[[Файл:SynthText-in-the-Wild.png|200px|thumb|right|Рис. 6. Пример изображения из набора SynthText in the Wild.]]

Навигация