Что является подходящей функцией извлечения для обнаружения объекта? - PullRequest
0 голосов
/ 14 февраля 2019

Здравствуйте, я работаю над проектом, который классифицирует объекты.Я использую MLP для этого проекта, он может классифицировать объект из 10 различных объектов.Однако моя точность составляет около 50%.Я хочу улучшить его, я использую 500.000 изображений в качестве набора данных, так что этого более чем достаточно.Прямо сейчас я использую необработанные изображения в качестве входных данных.Какой метод извлечения объектов подходит для этого проекта?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Низкая точность может или не может быть связана с извлечением признаков самостоятельно.Без этого я думаю, что ваша точность все еще низка, я думаю, что это также связано с тренировками или другими частями.Я не могу быть конкретным, так как вы не дали никаких подробностей.Также для CIFAR-10, я полагаю, вы используете набор данных toronto.edu, и он содержит 50.000 изображений, а не 500.000.Просто чтобы не было путаницы.Во всяком случае, для вашего вопроса есть много методов извлечения функций, но я бы использовал Canny Edge Detector.Шаги для этого: F

  • Сначала вы должны иметь изображения в шкале GRAY, я предполагаю, что ваши изображения RGB.В области обработки изображений есть много методов для преобразования rgb в серое изображение, однако вы можете выбрать метод, который также использует Photoshop.Этот метод преобразования умножает каждый канал на значение веса, которое человеческий глаз воспринимает свет.Серый = (Красный * 0,3 + Зеленый * 0,59 + Синий * 0,11) Примените его ко всем вашим 50 000 изображений и сохраните результаты в трехмерной матрице.
  • Медианная фильтрация: теперь после первого шага вам нужно избавиться отшум.Ваши изображения GRAYScale будут иметь шум перца и соли, этот шум может быть препятствием при обнаружении края объекта, чтобы удалить этот шум, используйте медианный фильтр.Когда мы используем медианный фильтр, мы можем получить хорошие результаты, устраняя локальные пики яркости на изображении, которые искажаются импульсными шумами и сохраняют границы и оттенки объекта на изображении.Информация об объекте на изображении до сих пор остается.Границы объекта идеально сглажены, и на него не влияет фильтр, что означает, что мы можем получить края объекта, не теряя никакой информации об объекте.

-Последний шаг: Обнаружение Canny Edge.Детектор краев Canny обычно принимает изображение в градациях серого в качестве входных данных и создает выходное изображение, показывающее местоположение интенсивности разрывов. Первое, что делает детектор краев Canny, - это использование гауссовой свертки для сглаживания входного изображения и удаленияшумы.Затем оператор первой производной применяется к сглаженному изображению, чтобы выбрать те области изображения, которые имеют высокие первые пространственные производные.Следующим шагом этого алгоритма является то, что он находит и величину градиента, и направление, вычисляя x-производную и y-производную, эти направления градиентов позволяют нам найти направление ребер.После нахождения направлений градиента детектор ребристых кромок выполняет немаксимальное подавление, что означает, что он отслеживает вершину гребней, которые поднимаются от кромок, и устанавливает эти гребни в ноль, создавая в результате тонкую линию.Другими словами, мы проверяем, является ли вычисленный градиент максимальным среди соседних точек, которые лежат в положительном и отрицательном направлениях градиента.Если градиент был максимальным, он будет считаться частью края, и наоборот.

Для суммирования используйте RBG для GREY, Median Filter и Canny Edge Detector.Обратите внимание, что этот процесс может занять более 5 минут для 50 000 изображений для обычного компьютера.Так что наберитесь терпения.С уважением.

0 голосов
/ 14 февраля 2019

Рассматривали ли вы вместо этого использование сверточной нейронной сети для этого проекта?CNN намного лучше в классификации изображений по сравнению с MLP.https://machinelearningmastery.com/when-to-use-mlp-cnn-and-rnn-neural-networks/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...