def test_custom_recognition_full_model_resnet_multi(): try: keras.backend.clear_session() except: None predictor = CustomImagePrediction() predictor.setModelPath(os.path.join(main_folder, "data-models", "idenprof_full_resnet_ex-001_acc-0.119792.h5")) predictor.setJsonPath(model_json=os.path.join(main_folder, "data-json", "idenprof.json")) predictor.loadFullModel(num_objects=10) images_to_image_array() result_array = predictor.predictMultipleImages(sent_images_array=all_images_array) assert isinstance(result_array, list) for result in result_array: assert "predictions" in result assert "percentage_probabilities" in result assert isinstance(result["predictions"], list) assert isinstance(result["percentage_probabilities"], list) assert isinstance(result["predictions"][0], str) assert isinstance(result["percentage_probabilities"][0], str)
def test_custom_recognition_model_resnet_multi(): predictor = CustomImagePrediction() predictor.setModelTypeAsResNet() predictor.setModelPath( os.path.join(main_folder, "data-models", "idenprof_resnet.h5")) predictor.setJsonPath( model_json=os.path.join(main_folder, "data-json", "idenprof.json")) predictor.loadModel(num_objects=10) images_to_image_array() result_array = predictor.predictMultipleImages( sent_images_array=all_images_array) assert isinstance(result_array, list) for result in result_array: assert "predictions" in result assert "percentage_probabilities" in result assert isinstance(result["predictions"], list) assert isinstance(result["percentage_probabilities"], list) assert isinstance(result["predictions"][0], str) assert isinstance(result["percentage_probabilities"][0], str)
text = pytesseract.image_to_string(value, config='') st.write("The text detected is") st.write(text) st.markdown("-----------------------------------") st.title("Results") if runResults == True: if predicitions is not 0: prob = round(float(probabilities[0])) if prob > threshold: st.write("The image ", singlePicTest, " has a head unit", "with a ", prob, "probability.") os.chdir(videopath) if run == "Run Entire Video": results_array = prediction.predictMultipleImages(finalpicnames, result_count_per_image=2) dfyy = pd.DataFrame(results_array, columns=['HeadUnit', 'Probability', 'Frame']) save_results = [] count = -1 for i in results_array: headunit, prob = i["predictions"], i["percentage_probabilities"] for idx in range(len(headunit)): # print(pred[idx] , " : " , prob[idx]) if (headunit[idx] == "HeadUnit"): count += 1 save_results.append((headunit[idx], prob[idx], count)) df = pd.DataFrame(save_results, columns=['HeadUnit', 'Probability', 'Frame'])
from imageai.Prediction.Custom import CustomImagePrediction from os import listdir, getcwd #Searches for trained models models = listdir("data/models") #If no model exists, raise an error if len(models) < 2: #(2 because .gitignore always exists at the folder) raise Exception("No trained model found") models.sort(reverse=True) bestModel = models[0] prediction = CustomImagePrediction() prediction.setModelTypeAsResNet() prediction.setModelPath(f"data/models/{bestModel}") prediction.setJsonPath("data/json/model_class.json") prediction.loadModel(num_objects=2) #Searches for files to predict filenames = listdir("predictFiles") filenames.remove(".gitignore") filepaths = ["predictFiles/" + filename for filename in filenames] results = prediction.predictMultipleImages(filepaths) for filename, result in zip(filenames, results): print(f"{filename}: {result['predictions'][0]} ({result['percentage_probabilities'][0]}% certainty)")
def detection(num): bound = [] index = [] main_index = [] ls = [] img = [] res = [] item = '' classes = [] count = 0 counter = [] execution_path = os.getcwd() model_name = os.listdir('Dataset/models/') model_name.sort() a = model_name[len(model_name) - 1] prediction = CustomImagePrediction() prediction.setModelTypeAsResNet() prediction.setModelPath( os.path.join(execution_path, 'Dataset/models/' + str(a))) prediction.setJsonPath( os.path.join(execution_path, 'Dataset/json/model_class.json')) prediction.loadModel(num_objects=num) for i in os.listdir(execution_path + '/Dataset/train'): classes.append(i) count = count + 1 os.chdir(os.getcwd() + '/images/crop') exec_path = os.getcwd() counter = [0] * count try: duck = os.listdir('.') duck.sort() res = prediction.predictMultipleImages(duck, result_count_per_image=1) for each_result in res: predictions, percentage_probabilities = each_result[ "predictions"], each_result["percentage_probabilities"] img.append(predictions) for j in range(0, len(img)): for k in range(0, count): if "['" + str(classes[k]) + "']" == str( img[j]) or '["' + str(classes[k]) + '"]' == str( img[j]): counter[k] = counter[k] + 1 for j in range(0, count): for k in range(0, len(img)): if "['" + str(classes[j]) + "']" == str(img[k]): index.append(k) main_index.append(index) index = [] for i in range(0, count): for j in range(0, counter[i] - 1): if main_index[i][j] + 1 != main_index[i][j + 1]: bound.append(str(classes[i])) os.chdir(execution_path) counter.insert(0, str(datetime.datetime.now())[:-10]) try: if bound != []: with open('Bound_Error.csv', 'w') as csv_file: writer = csv.writer(csv_file, delimiter=',') writer.writerow(bound) else: os.remove('Bound_Error.csv') except: print('No error in placement ') with open("Results.csv", "a") as csv_file: writer = csv.writer(csv_file, delimiter=',') writer.writerow(counter) except Exception as e: print(e) print('Unknown object detected')
os.path.join(execution_path, "model_ex-091_acc-0.925676.h5")) prediction.setJsonPath(os.path.join(execution_path, "model_class.json")) prediction.loadModel(num_objects=13) # for single image # predictions, probabilities = prediction.predictImage(os.path.join(execution_path, "test_image/22.jpg"), result_count=5) # # for eachPrediction, eachProbability in zip(predictions, probabilities): # print(eachPrediction , " : " , eachProbability) # end # for multiple image all_images_array = [] for filename in glob.glob('E:/Python Code/CarLogo/venv/test_image/*.jpg'): im = Image.open(filename) all_images_array.append(im) i = 0 results_array = prediction.predictMultipleImages(all_images_array, result_count_per_image=1, input_type='array') for each_result in results_array: predictions, percentage_probabilities = each_result[ "predictions"], each_result["percentage_probabilities"] for index in range(len(predictions)): print(predictions[index], " : ", percentage_probabilities[index]) print("-----------------------") plt.imshow(np.asarray(all_images_array[i])) plt.show() i = i + 1