Что является лучшей альтернативой для классификации 128-мерного вектора. SVM или случайный лес? - PullRequest
0 голосов
/ 30 октября 2019

Справочная информация: в настоящее время я работаю над программным обеспечением для распознавания лиц, которое использует следующее: -Python -OpenVino Модель идентификации лица. Оптимизированная модель распознавания лица DLIB. В настоящее время у меня есть одно изображение лица с соответствующей меткой для каждого человека, и общее количество людей составляет около 6000.

Проблема: после передачи изображения лица человека в нейронную сеть DLIB выводРезультат получается в виде 128-мерного вектора (значений float64). Первый шаг - сохранить векторы известных изображений, у меня есть один для каждого человека (всего 6000). Следующим шагом является захват лиц в потоках веб-камеры и определение, принадлежит ли эта фотография известному человеку. Способ сделать это - сравнить сохраненные векторы с захваченным вектором. Наиболее разумный подход - использовать какой-то классификатор;пока я просто использую евклидово расстояние, но у меня нет хороших результатов. Для объема данных, которые у меня есть, и для проблемы, которую я выяснил, не могли бы вы порекомендовать хороший классификатор в этом случае. Будет ли лучше использовать SVM? или случайный лес? Важно отметить еще раз, у меня не много фотографий каждого человека, у меня есть только одна для каждой.

Спасибо, если у вас есть какие-либо вопросы, не стесняйтесь спрашивать.

1 Ответ

0 голосов
/ 30 октября 2019

Учитывая имеющиеся у вас ограничения данных, тренировка классификатора (SVM или Random Forest) может оказаться не лучшим подходом, поскольку любая модель машинного обучения требует, чтобы несколько экземпляров класса изучали что-то, что можно обобщить . В то время как обучение классификатору SVM класса 6000 будет большой проблемой, Случайный Лес может легко найти хитрость для точной классификации каждой выборки в обучающих данных путем генерации определенных деревьев, но может вообще не работать во время тестирования.

Я предлагаючто вы играете больше с несколькими метриками расстояния - возможно, пытаясь построить ваши точки в более низких измерениях и, возможно, искать измерения, которые являются более информативными при выполнении классификации. Деревья решений иногда также используются для выбора объектов, исходя из этого, вы, вероятно, можете выбрать несколько измерений и, возможно, затем использовать свой тип евклидова расстояния.

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

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