Глубокое обучение может автоматически обрабатывать облака точек для широкой области значений приложений 3-D обработки изображений. Облака точек обычно исходят от 3-D сканеров, таких как лидар или Kinect® устройств. Они имеют приложения в навигации и восприятии робота, оценке глубины, стерео-видении, наблюдении, классификации сцен и в передовых системах помощи драйверу (ADAS).
В целом первые шаги для использования данных облака точек в рабочем процессе глубокого обучения:
Импорт данных облака точек. Используйте datastore, чтобы сохранить большой объем данных.
Опционально увеличьте данные.
Закодируйте облако точек в формат, подобный изображению, соответствующий MATLAB®- рабочие процессы глубокого обучения.
Можно применить те же подходы глубокого обучения к классификации, обнаружению объектов и семантической сегментации с помощью данных облака точек, что и при использовании регулярных данных с сетчатыми изображениями. Однако сначала необходимо закодировать неупорядоченную, нерегулярно сетчатую структуру данных облака точек и лидара в регулярную сетчатую форму. Для некоторых задач, таких как семантическая сегментация, требуется некоторая постобработка на выходе сетей, основанных на изображениях, в порядок для восстановления структуры облака точек.
В порядок работы с данными облака точек в рабочих процессах глубокого обучения сначала прочтите необработанные данные. Рассмотрите использование datastore для работы с и представления наборов данных, которые являются слишком большими, чтобы помещаться в памяти за один раз. Поскольку глубокое обучение часто требует больших объемов данных, хранилища данных являются важной частью рабочего процесса глубокого обучения в MATLAB. Для получения дополнительной информации о хранилищах данных смотрите Datastores for Глубокое Обучение (Deep Learning Toolbox).
Пример Import Point Cloud Data For Deep Learning импортирует большой набор данных облака точек, а затем конфигурирует и загружает datastore.
Точность и успех модели глубокого обучения зависят от больших аннотированных наборов данных. Использование увеличения для создания больших наборов данных помогает уменьшить сверхподбор кривой. Сверхподбор кривой происходит, когда система классификации ошибает шум в данных для сигнала. Добавляя дополнительный шум, увеличение помогает модели сбалансировать точки данных и минимизировать ошибки. Увеличение может также добавить робастность преобразованиям данных, которые могут быть недостаточно хорошо представлены в исходных обучающих данных (для примера вращения, отражения, перемещений). И путем уменьшения сверхподбора кривой увеличение часто может привести к лучшим результатам на стадии вывода, что делает предсказания исходя из того, что глубокая нейронная сеть было обучаема обнаруживать.
Пример Augment Point Cloud Data For Deep Learning настраивает основной конвейер увеличения рандомизированных данных, который работает с данными облака точек.
Чтобы использовать облака точек для обучения с рабочими процессами глубокого обучения на основе MATLAB, данные должны быть закодированы в плотный, подобный изображению формат. Densification или voxelization является процессом преобразования нерегулярной, неуправляемой формы данных облака точек в плотную, подобную изображению форму.
Пример Encode Point Cloud Data For Deep Learning преобразует данные облака точек в плотную сетчатую структуру.
После того, как вы закодировали данные облака точек в плотную форму, можно использовать данные для основанной на изображениях классификации, обнаружения объектов или семантической задачи сегментации с помощью стандартных подходов глубокого обучения.
Пример Train Classification Network для классификации объекта в 3-D Point Cloud предварительно обрабатывает данные облака точек в вокселизированную кодировку, а затем использует подобные изображению данные с простой 3-D сверточной нейронной сетью, чтобы выполнить классификацию объектов.
bboxcrop
| bboxresize
| bboxwarp
| pcbin
| pcread