Я обучил свою собственную модель с моим собственным набором данных изображений для распознавания объектов на изображении, но, похоже, он не распознает все объекты. У меня есть только 2 объекта (изображения разных способов, которыми человек печатает определенную c букву алфавита). Например, буква «а» и буква «о», как показано ниже.
![The letter 'o'](https://i.stack.imgur.com/JPEeF.png)
Когда я запускаю тестовый код для образца рукописного текста, в определенной степени это делает скажите, какой процент точности он имеет, но без ограничительных рамок. Это изображение рукописного текста:
![Hand written text](https://i.stack.imgur.com/QwrZa.jpg)
Это вывод, который я получаю:
Я использую imageai для обучения пользовательской модели. Мне интересно, можно ли использовать эту обученную модель для запуска обнаружения нескольких объектов на рукописном изображении и, возможно, показать ограничивающие рамки?
Вот как выглядит мой рабочий каталог, если он предоставляет дополнительную помощь:
![Working directory](https://i.stack.imgur.com/iEkxN.png)
А вот мой код для обучения модели (custom_detector.py):
from imageai.Prediction.Custom import ModelTraining
# Instanciating the model
model_trainer = ModelTraining()
model_trainer.setModelTypeAsResNet()
# Setting our dataset directyory
model_trainer.setDataDirectory("characters")
# training the model
model_trainer.trainModel(num_objects=2, num_experiments=100, enhance_data=True, batch_size=10)
Это мой код для тестирования обученной модели ( test.py ):
from imageai.Prediction.Custom import CustomImagePrediction
import os
# get the working directory
execution_path = os.getcwd()
print(execution_path)
# instanciate prediction
prediction = CustomImagePrediction()
prediction.setModelTypeAsResNet()
# Set model path
prediction.setModelPath(os.path.join(execution_path, "characters", "models", "myModel.h5"))
# Set JSON path
# This is how the JSON file looks like:
#{
# "0" : "A",
# "1" : "O"
#}
prediction.setJsonPath(os.path.join(execution_path, "characters", "json", "model_class.json"))
# Initialize the number of objects you have retrained
prediction.loadModel(num_objects=2)
# run prediction
predictions, probabilities = prediction.predictImage(os.path.join(execution_path, "HandTextTest.jpg"), result_count=2)
# Print each prediction
for eachPrediction, eachProbability in zip(predictions, probabilities):
print(eachPrediction, " : ", eachProbability)
Любая помощь или совет будут высоко оценены.