Как принять решение о типе фигуры (квадрат или круг) на бинарном изображении? Приветствую. Имеется массив нулей и единиц представляющий бинарное изображение. На нем могут быть изображены геометрические фигуры. Пример:
000000000000000
000111111000000
000111111000000
000111111000000
000111111000000
000111111000000
000111111000000
000000000000000
Нужно идентифицировать квадраты и окружности. На данный момент реализована разметка фигур и сбор параметров характеризующих геометрическую фигуру:Подсчитаны моменты для рядов и столбцов фигуры(Если моменты примерно равны то это симметричная фигура)Отношение расстояний между центроидом фигуры и максимально удаленной точкой периметра и минимально удаленной точкой периметра (Если примерно равно 1.41 то это квадрат)Подсчитана компактность (circularity) Харалика (параметр растет с приближением формы фигуры к окружности)
На основании этих параметров принимается решение простым деревом решений "Если-то-иначе". Подскажите, есть ли более красивые методы принятия решения о типе фигуры? Сейчас в тренде нейросети и различные автоматы но я, к сожалению, совсем не знаком с этой темой. Сомнения о правильности возникли из-за доп. условия в задаче: необходимо вывести вероятность правильности принятого решения, а метод с деревом решений не представляет такую возможность.

21 Авг 2019 в 06:31
226 +1
0
Ответы
1

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

Вы также можете использовать методы глубокого обучения для предсказания вероятности принятого решения. Например, вы можете использовать softmax слой на выходе вашей модели, чтобы получить вероятности принадлежности к каждому классу (квадрат или круг).

Если вы не знакомы с нейронными сетями, вам может потребоваться изучить основы глубокого обучения и tensorflow/keras (популярные библиотеки для создания нейронных сетей в Python). Также вы можете обратиться к специалистам в области машинного обучения или даже обратиться за консультацией к онлайн-курсам или учебным материалам.

Нейронные сети могут предложить более точные и элегантные решения для вашей задачи, а также предоставить возможность получить вероятности принятых решений.

20 Апр в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 076 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир