[Алгоритмы, Обработка изображений, Машинное обучение] Сегментация данных с видеокамеры
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
ВведениеВ современном мире задача сегментации как оказалось решается на раз-два, хотя я думал что это что-то сложное и удивительное. Все что нужно, это прочитать пару статей, установить определенные библиотеки и разметить данные, на все про все нужно пару часов времени, кроме создания тестовой выборки. Разметка данныхДанный шаг в реализации сегментации кадров видеопотока один из наиболее трудозатратных с точки зрения работы человека.Для этого необходимо использовать специальные программы для разметки кадров видеопотока. Просто открываем данной программой нужный видеофайл, и размечаем кадры, предварительно создав классы на которые мы будем сегментировать изображения. В моем ознакомительном примере, кадры делятся на следующие классы (Автомобиль, Дорога, Пешеходный переход, Газон, Здания, Люди, Тротуар, Дорожная разметка). На самом деле, такие позиции как дорога, строения, газоны, тротуары и т.д. можно не распознавать, так как камера в данном случае жестко зафиксирована и поэтому данные области всегда будут находиться в одном и том же месте.
Рис. 1 Программа разметки кадров видеопотокаТренировка нейросети для сегментации изображенийДанный шаг в реализации сегментации кадров видеопотока один из наименее трудозатратных с точки зрения работы человека (если не учитывать проектирование архитектуры нейросети, но есть заранее сформированные архитектуры обеспечивающие хорошие результаты).Все что необходимо это запустить процесс тренировки на заранее подготовленной обучающей выборке.Использование натренированной сети для сегментации изображенийПоследний шаг, это использование натренированной сети. Рассмотрим результат тренировки на 4 кадрах видеопотока (да, да, да ... выборка очень маленькая, но задача факультативная, чтобы посмотреть как работает, а не создание массового продукта) и 60 эпох тренировки используя архитектуру сети DeepLab v3+ (основанная на ResNet-18). Результат приведен на Рис. 2.Таким образом, как видно в данном примере, сегментировать изображения сейчас максимально просто и быстро, вся проблема упирается только в очень трудоёмкую часть создания обучающей выборки. Рассмотрим как можно дальше использовать результат сегментации изображений с камеры установленной во дворе дома.
Рис. 2 Использование быстронатреннированной нейросети для сегментации изображений Использование результатов сегментацииДанную камеру можно использовать в качестве анализатора пробок на дороге, для этого можно создать маску (Рис. 3 и 4), в пределах которой анализируется количество присутствующих машин.
Рис. 3 Создание маски для интересующего участка дороги
Рис. 4 Созданная маска интересующего участка дорогиТаким образом, нам необходимо сегментировать изображение только на интересующем участке (Рис. 5 и 6).
Рис. 6 Сегментация интересующего участка дорогиДля упрощения задачи подсчета количества автомобилей, можно просто считать количество пикселей дороги и автомобилей, и по процентному соотношению выставлять бальное значение индекса загруженности (Рис. 7 и 9). Дополнительно рассмотрим случай когда дорога сильно загружена (Рис. 8).В случае когда дорога свободна процент загруженности составил 3%, а когда дорога загружена процент загруженности составил 54%. Это связано с тем что автомобили вблизи камеры имеют большее количество пикселей, чем автомобили вдали от камеры. Для решения этой задачи, необходимо ввести веса пикселей, пиксели вблизи должны иметь меньший вес, чем пиксели в дали. Таким образом получится довольно простой и довольно качественный детектор загруженности дороги.
Рис. 7 Процентное соотношение площади автомобилей к площади дороги и ее элементов составляет ~3%
Рис. 8 Анализ загруженности дороги в загруженное время
Рис. 9 Процентное соотношение площади автомобилей к площади дороги и ее элементов составляет ~54%Дополнительные варианты использования результатов сегментацииДополнительно по результатам сегментации данных можно определять количество свободных парковочных мест, записать время въезда и выезда автомобилей на территорию жилого комплекса и многое другое. В общем идей может быть масса (накидайте вариантов в комментариях), и можно делать действительно интересные вещи за один вечер, но все упирается в создание больших обучающих выборок для первоклассного качества сегментации.ВыводВ настоящее время создавать какие-либо системы анализа и наблюдения не так сложно как может показаться, в данной схеме наиболее сложная и трудозатратная часть работы это создание обучающей выборки. Скорее всего в ближайшее время появятся сервисы (возможно они уже есть, если есть напишите в комментарии), где будут нанимать сотрудников для создания обучающих выборок наподобие Яндекс.Еда и Яндекс.Такси, где люди сидя дома будут зарабатывать в свободное время. Зато небольшие компании смогут размещать задание и за относительно небольшую сумму денег, они смогут создавать огромные тестовые выборки и получать наиболее качественные нейросети для сегментации и классификации данных. Ну и учитывая что занейросетить можно все что угодно, то я боюсь представить какие интересные вещи будут появляться, когда обучающие выборки будут создаваться очень быстро. Просто когда обучающие выборки создает один человек, время ее создания может растянуться на неделю, или даже на месяцы, а когда будет вариант распаралелить на сотню, или тысячи человек, тогда обучающие выборки будут создаваться за день, а то и менее.P.S. Если кто знает, каким софтом можно максимально просто записывать видеопоток с ютуб стрима?) Просто камеры пишут данные в циклический буфер (последние 12 часов) в виде ютуб стрима, таким образом формируется видеонаблюдение, где каждый житель дома может просмотреть последние 12 часов.
===========
Источник:
habr.com
===========
Похожие новости:
- [Python, Программирование, Машинное обучение] Определяем пол и возраст по фото
- [Математика, Машинное обучение, Исследования и прогнозы в IT, Софт] Российские разработчики представили конструктор FEDOT для создания математических моделей
- [Разработка веб-сайтов, Работа с иконками, Обработка изображений, Go] Создание изображений в runtime (favicon, watermark, нарезка картинок) #golang
- [Высокая производительность, Алгоритмы, Lua] How to build a high-performance application on Tarantool from scratch
- [Машинное обучение, Искусственный интеллект] В МТИ разработали когнитивную модель SSUP, которая учится пользоваться инструментами, как человек
- [Python, GitHub, Машинное обучение, Читальный зал, Natural Language Processing] Ваш pet-project будет доволен. Как вдохнуть жизнь в свои наработки
- [Машинное обучение, Искусственный интеллект] В Google обучили нейросеть писать стихотворения в стиле известных поэтов
- [Машинное обучение] Как распознать реальное лицо от ложного при распознавании лиц
- [Программирование, Алгоритмы, DIY или Сделай сам] Определяем язык текста. Сложный случай
- [Python, Машинное обучение, Разработка под Windows, Голосовые интерфейсы] Пишем голосового ассистента на Python
Теги для поиска: #_algoritmy (Алгоритмы), #_obrabotka_izobrazhenij (Обработка изображений), #_mashinnoe_obuchenie (Машинное обучение), #_segmentatsija (сегментация), #_segmentirovanie (сегментирование), #_raspoznavanie_obrazov (распознавание образов), #_obrabotka_izobrazhenij (обработка изображений), #_algoritmy (
Алгоритмы
), #_obrabotka_izobrazhenij (
Обработка изображений
), #_mashinnoe_obuchenie (
Машинное обучение
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:07
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
ВведениеВ современном мире задача сегментации как оказалось решается на раз-два, хотя я думал что это что-то сложное и удивительное. Все что нужно, это прочитать пару статей, установить определенные библиотеки и разметить данные, на все про все нужно пару часов времени, кроме создания тестовой выборки. Разметка данныхДанный шаг в реализации сегментации кадров видеопотока один из наиболее трудозатратных с точки зрения работы человека.Для этого необходимо использовать специальные программы для разметки кадров видеопотока. Просто открываем данной программой нужный видеофайл, и размечаем кадры, предварительно создав классы на которые мы будем сегментировать изображения. В моем ознакомительном примере, кадры делятся на следующие классы (Автомобиль, Дорога, Пешеходный переход, Газон, Здания, Люди, Тротуар, Дорожная разметка). На самом деле, такие позиции как дорога, строения, газоны, тротуары и т.д. можно не распознавать, так как камера в данном случае жестко зафиксирована и поэтому данные области всегда будут находиться в одном и том же месте. Рис. 1 Программа разметки кадров видеопотокаТренировка нейросети для сегментации изображенийДанный шаг в реализации сегментации кадров видеопотока один из наименее трудозатратных с точки зрения работы человека (если не учитывать проектирование архитектуры нейросети, но есть заранее сформированные архитектуры обеспечивающие хорошие результаты).Все что необходимо это запустить процесс тренировки на заранее подготовленной обучающей выборке.Использование натренированной сети для сегментации изображенийПоследний шаг, это использование натренированной сети. Рассмотрим результат тренировки на 4 кадрах видеопотока (да, да, да ... выборка очень маленькая, но задача факультативная, чтобы посмотреть как работает, а не создание массового продукта) и 60 эпох тренировки используя архитектуру сети DeepLab v3+ (основанная на ResNet-18). Результат приведен на Рис. 2.Таким образом, как видно в данном примере, сегментировать изображения сейчас максимально просто и быстро, вся проблема упирается только в очень трудоёмкую часть создания обучающей выборки. Рассмотрим как можно дальше использовать результат сегментации изображений с камеры установленной во дворе дома. Рис. 2 Использование быстронатреннированной нейросети для сегментации изображений Использование результатов сегментацииДанную камеру можно использовать в качестве анализатора пробок на дороге, для этого можно создать маску (Рис. 3 и 4), в пределах которой анализируется количество присутствующих машин. Рис. 3 Создание маски для интересующего участка дороги Рис. 4 Созданная маска интересующего участка дорогиТаким образом, нам необходимо сегментировать изображение только на интересующем участке (Рис. 5 и 6). Рис. 6 Сегментация интересующего участка дорогиДля упрощения задачи подсчета количества автомобилей, можно просто считать количество пикселей дороги и автомобилей, и по процентному соотношению выставлять бальное значение индекса загруженности (Рис. 7 и 9). Дополнительно рассмотрим случай когда дорога сильно загружена (Рис. 8).В случае когда дорога свободна процент загруженности составил 3%, а когда дорога загружена процент загруженности составил 54%. Это связано с тем что автомобили вблизи камеры имеют большее количество пикселей, чем автомобили вдали от камеры. Для решения этой задачи, необходимо ввести веса пикселей, пиксели вблизи должны иметь меньший вес, чем пиксели в дали. Таким образом получится довольно простой и довольно качественный детектор загруженности дороги. Рис. 7 Процентное соотношение площади автомобилей к площади дороги и ее элементов составляет ~3% Рис. 8 Анализ загруженности дороги в загруженное время Рис. 9 Процентное соотношение площади автомобилей к площади дороги и ее элементов составляет ~54%Дополнительные варианты использования результатов сегментацииДополнительно по результатам сегментации данных можно определять количество свободных парковочных мест, записать время въезда и выезда автомобилей на территорию жилого комплекса и многое другое. В общем идей может быть масса (накидайте вариантов в комментариях), и можно делать действительно интересные вещи за один вечер, но все упирается в создание больших обучающих выборок для первоклассного качества сегментации.ВыводВ настоящее время создавать какие-либо системы анализа и наблюдения не так сложно как может показаться, в данной схеме наиболее сложная и трудозатратная часть работы это создание обучающей выборки. Скорее всего в ближайшее время появятся сервисы (возможно они уже есть, если есть напишите в комментарии), где будут нанимать сотрудников для создания обучающих выборок наподобие Яндекс.Еда и Яндекс.Такси, где люди сидя дома будут зарабатывать в свободное время. Зато небольшие компании смогут размещать задание и за относительно небольшую сумму денег, они смогут создавать огромные тестовые выборки и получать наиболее качественные нейросети для сегментации и классификации данных. Ну и учитывая что занейросетить можно все что угодно, то я боюсь представить какие интересные вещи будут появляться, когда обучающие выборки будут создаваться очень быстро. Просто когда обучающие выборки создает один человек, время ее создания может растянуться на неделю, или даже на месяцы, а когда будет вариант распаралелить на сотню, или тысячи человек, тогда обучающие выборки будут создаваться за день, а то и менее.P.S. Если кто знает, каким софтом можно максимально просто записывать видеопоток с ютуб стрима?) Просто камеры пишут данные в циклический буфер (последние 12 часов) в виде ютуб стрима, таким образом формируется видеонаблюдение, где каждый житель дома может просмотреть последние 12 часов. =========== Источник: habr.com =========== Похожие новости:
Алгоритмы ), #_obrabotka_izobrazhenij ( Обработка изображений ), #_mashinnoe_obuchenie ( Машинное обучение ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:07
Часовой пояс: UTC + 5