Предсказание метки класса для одного изображения в классификации изображений - PullRequest
0 голосов
/ 24 января 2020

Я занимаюсь разработкой Stati c Распознавания жестов рук с использованием нейронных сетей глубокого обучения. Я начал с этой реализации на kaggle - https://www.kaggle.com/ranjeetjain3/deep-learning-using-sign-langugage/notebook#Sign -Language. Точность этого выглядит очень высокой, но когда я пытаюсь сделать прогноз для пользовательских изображений, я получаю неправильные результаты. Как новичок ie, я сомневаюсь в своей интерпретации и нуждаюсь в помощи.

Ниже приведен мой код с предсказанием:

import matplotlib.image as mpimg 
import matplotlib.pyplot as plt 

# Read Images 
infer_image = mpimg.imread('D:\\Mayuresh\\DL using SL MNIST\\input\\infer\\7.png') 
plt.imshow(infer_image) 

# Resizing before the prediction
infer_image = np.resize(infer_image, (28,28,1))
infer_image_arr = np.array(infer_image)
infer_image_arr = infer_image_arr.reshape(1,28,28,1)

# Prediction
y_pred = model.predict_classes(infer_image_arr)
print(y_pred)

# Dictionary for translation
my_dict2 = {
    0: 'a',
    1: 'b',
    2: 'c',
    3: 'd',
    4: 'e',
    5: 'f',
    6: 'g',
    7: 'h',
    8: 'i',
    9: 'k',
    10: 'l',
    11: 'm',
    12: 'n',
    13: 'o',
    14: 'p',
    15: 'q',
    16: 'r',
    17: 's',
    18: 't',
    19: 'u',
    20: 'v',
    21: 'w',
    22: 'x',
    23: 'y'
}

my_dict2[int(y_pred)]

Может ли кто-то предложить необходимые изменения или фрагмент для прогнозирования жест рукой для одного изображения?

Ответы [ 2 ]

0 голосов
/ 17 февраля 2020

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

. Я бы порекомендовал использовать this , где вы можете запустить видеопоток, и обучающие изображения будут автоматически принято за жесты. Вы также можете выбрать количество классов, которые вы хотите. Это может улучшить вашу производительность. Или же вы можете использовать оригинальный код Emojinator , который может обнаружить 13 жестов рук

0 голосов
/ 26 января 2020

Я предполагаю, что вы ничего не тренировали для своего проекта и использовали веса нейронной сети, указанные на сайте Kaggle.

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

Похоже, что сеть, которую вы используете, перенастроена на набор данных MNIST. Поэтому, когда вы даете другое изображение, оно дает плохие результаты.

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

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