diff --git a/MLBD.pdf b/MLBD.pdf index 01aa4f9e744f154143544d16f2445624d75d3d60..74b86eb701abd55e1297f7c9bb027ac72e5ccc14 100644 Binary files a/MLBD.pdf and b/MLBD.pdf differ diff --git a/rapport.pdf b/rapport.pdf index f11c304bdf122248d465b48f15d85fe51ae6cb22..9579ea4fe39d22836be1fd211b88475a38fdbd7c 100644 Binary files a/rapport.pdf and b/rapport.pdf differ diff --git a/scripts/main.py b/scripts/main.py index 750738b5239437428dd467207fb89e4390bb44e7..c6beea6d8cb8b6a88b751221f96e52a9200332e7 100644 --- a/scripts/main.py +++ b/scripts/main.py @@ -127,20 +127,20 @@ unet_model.compile(optimizer='adam', loss=focal_loss(), metrics=['accuracy', 'me print("model compiled") -train_image_list = os.listdir('./image_resized/image') -test_image_list = os.listdir('./image_resized/masks') +train_image_list = os.listdir('../image_resized/image') +test_image_list = os.listdir('../image_resized/masks') number_of_image = sys.argv[1] if number_of_image == 'all': - train_image_list = os.listdir('./image_resized/image') - test_image_list = os.listdir('./image_resized/masks') + train_image_list = os.listdir('../image_resized/image') + test_image_list = os.listdir('../image_resized/masks') else: - train_image_list = os.listdir('./image_resized/image')[:int(number_of_image)] - test_image_list = os.listdir('./image_resized/masks')[:int(number_of_image)] + train_image_list = os.listdir('../image_resized/image')[:int(number_of_image)] + test_image_list = os.listdir('../image_resized/masks')[:int(number_of_image)] # np load the images and masks -train_image_list = [np.load('./image_resized/image/' + image) for image in train_image_list] -test_image_list = [np.load('./image_resized/masks/' + image) for image in test_image_list] +train_image_list = [np.load('../image_resized/image/' + image) for image in train_image_list] +test_image_list = [np.load('../image_resized/masks/' + image) for image in test_image_list] model_saver = keras.callbacks.ModelCheckpoint(model_save_path, verbose=1, save_best_only=False, save_freq='epoch') diff --git a/scripts/prepare.py b/scripts/prepare.py index a958a2f6565d9cdac5fa2905c397c3c75a0a1e4e..e258b87620738f0ccee948269fa90244e0305cfb 100644 --- a/scripts/prepare.py +++ b/scripts/prepare.py @@ -7,8 +7,8 @@ import shutil import sys # load dataset in AED/training_images -train_path = 'AED/training_images' -test_path = 'AED/test_images' +train_path = '../AED/training_images' +test_path = '../AED/test_images' train_image_list = os.listdir(train_path) test_image_list = os.listdir(test_path) @@ -28,8 +28,8 @@ train_masks = [] test_masks = [] # get the point for each image where elephant are located put in a mask -df_train_csv = pd.read_csv('AED/training_elephants.csv') -df_test_csv = pd.read_csv('AED/test_elephants.csv') +df_train_csv = pd.read_csv('../AED/training_elephants.csv') +df_test_csv = pd.read_csv('../AED/test_elephants.csv') def getCoordinatesFromImage(imageId): imageId = imageId.split('.')[0] @@ -90,25 +90,28 @@ def prepare_data(image_list, path): # count the number of white pixel in the mask => keep only the image with elephant nb_white_pixel = np.count_nonzero(mask_crop) if nb_white_pixel > 0: - np.save('./image_resized/image/' + str(image) + "_" + str(cpt), image_crop) - np.save('./image_resized/masks/' + str(image) + "_" + str(cpt), mask_crop) + np.save('../image_resized/image/' + str(image) + "_" + str(cpt), image_crop) + np.save('../image_resized/masks/' + str(image) + "_" + str(cpt), mask_crop) if firstTimeForImage: next_background = True firstTimeForImage = False elif next_background: - np.save('./image_resized/image/' + str(image) + "_" + str(cpt), image_crop) - np.save('./image_resized/masks/' + str(image) + "_" + str(cpt), mask_crop) + np.save('../image_resized/image/' + str(image) + "_" + str(cpt), image_crop) + np.save('../image_resized/masks/' + str(image) + "_" + str(cpt), mask_crop) next_background = False cpt += 1 print("Image " + str(image_counter) + " done") image_counter += 1 -shutil.rmtree('./image_resized/image') -shutil.rmtree('./image_resized/masks') +if os.path.exists('../image_resized/image'): + shutil.rmtree('../image_resized/image') -os.mkdir('./image_resized/image') -os.mkdir('./image_resized/masks') +if os.path.exists('../image_resized/masks'): + shutil.rmtree('../image_resized/masks') + +os.mkdir('../image_resized/image') +os.mkdir('../image_resized/masks') # prepare data diff --git a/scripts/pres.py b/scripts/pres.py index f9f5b07096ebc9d94477af4ded1f6e8488ed1a95..f9eb4a3fa2eae0a13a33f6c2f8e7e3e1e1898ddb 100644 --- a/scripts/pres.py +++ b/scripts/pres.py @@ -9,7 +9,7 @@ import cv2 # plot the image -train_path = 'AED/training_images' +train_path = '../AED/training_images' train_image_list = os.listdir(train_path) for image in train_image_list: diff --git a/scripts/testModel.py b/scripts/testModel.py index 87f310cc3b22ec156106554f1c963e6bd3f72c57..41b931874b6d31e90e5fc1007bed65d17122dde6 100644 --- a/scripts/testModel.py +++ b/scripts/testModel.py @@ -16,18 +16,18 @@ def focal_loss(gamma=2., alpha=.25): # model = keras.models.load_model('model_1000') -model = keras.models.load_model('model_1000', custom_objects={'focal_loss_fixed': focal_loss()}) +model = keras.models.load_model('../model_1000', custom_objects={'focal_loss_fixed': focal_loss()}) # test the model on an image and show the result # open the # load all image with numpy -image_list = os.listdir("./image_resized/image") -mask_list = os.listdir("./image_resized/masks") +image_list = os.listdir("../image_resized/image") +mask_list = os.listdir("../image_resized/masks") for i in range(len(image_list)): - image_list[i] = np.load(os.path.join("./image_resized/image", image_list[i])) - mask_list[i] = np.load(os.path.join("./image_resized/masks", mask_list[i])) + image_list[i] = np.load(os.path.join("../image_resized/image", image_list[i])) + mask_list[i] = np.load(os.path.join("../image_resized/masks", mask_list[i])) mask = model.predict(np.expand_dims(image_list[i], axis=0))