Уверенность в распознавании лиц снижается при добавлении большего количества людей и изображений - PullRequest
0 голосов
/ 08 мая 2020

У меня есть проект распознавания лиц, который состоит из регистрации человека и последующего обучения модели. Когда все сделано, я вызываю сценарий распознавания для распознавания лица.

При регистрации я сначала обнаруживаю лица с помощью caffe model. Затем я использую распознаватель открытых лиц, чтобы извлечь вложение лица, а затем сохраняю все вложения лица в файле pickle. На тренировках я использую для тренировки ядро ​​rbf.

Допустим, у меня есть ниже набор данных людей, каждый из которых имеет 20 изображений

1. personA
        image1.jpg
        image2.jpg
        ...
        ...
        image20.jpg

2. personB
        image1.jpg
        image2.jpg
        ...
        ...
        image20.jpg

3. personC
        image1.jpg
        image2.jpg
        ...
        ...
        image20.jpg

4. personD
        image1.jpg
        image2.jpg
        ...
        ...
        image20.jpg

Если я прохожу тестовое изображение personC, я получаю результат распознавания как personC с уверенностью 92%. Теперь давайте, если я зарегистрирую больше людей, скажем, с 30-40 изображениями, то я вижу, что оценка уверенности человека C снижается до 64%, и я не уверен, почему это происходит. Ниже показано, как я обучаю модель:

params = {"C": [0.001, 0.01, 0.1, 1.0, 10.0, 100.0, 1000.0], "gamma": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]}
model = GridSearchCV(SVC(kernel="rbf", gamma="auto", probability=True), params, cv=3, n_jobs=-1)
model.fit(data["embeddings"], labels)

в приведенном выше коде, data["embeddings"] - это вложения лиц, а метки - это имена.

Итак, я заметил, что как только я начинаю добавлять все больше и больше людей с большим количеством изображений, уверенность людей, у которых есть меньше изображений, начинает снижаться. Это правда.? Есть ли кто-нибудь, кто сталкивался с подобными проблемами? Как я могу решить эту проблему.

1 Ответ

0 голосов
/ 08 мая 2020

В этом есть смысл.

Если у вас был только один человек / изображение в вашем наборе данных и вы обучили свою модель на нем, модель должна быть близка к 100% точности. Поскольку в модель добавлено больше лиц / лиц, возникает большая неопределенность в отношении того, кому принадлежит лицо.

По мере роста вашего набора данных ваша модель должна пытаться обобщить данные без чрезмерной подгонки. Возможно, что Person C похож на другого человека в вашем наборе данных. Также возможно, что ваша модель неправильный выбор, ваши гиперпараметры неверны или что-то настроено неправильно. Эту часть я не могу комментировать.

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

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

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