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