In [1]:
from keras.layers import Input, Dense, Convolution2D, MaxPooling2D, UpSampling2D
from keras.models import Model
from keras.callbacks import TensorBoard
from keras.models import model_from_json
from keras.models import load_model
from keras import regularizers
import os
from os import listdir
from os.path import isfile, join
import numpy as np
from matplotlib import pyplot as plt
import cv2
import scipy.misc
from scipy import spatial
from PIL import Image
%matplotlib inline
In [21]:
# load json and create model
json_file = open('../model.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
# load weights into new model
loaded_model.load_weights("model_dae.h5")
print("Loaded model from disk")
loaded_model.compile(loss='binary_crossentropy', optimizer='adagrad')
img = plt.imread('/home/arvind/MyStuff/Desktop/Manatee_dataset/cleaned_data/test/op_U3850_B.jpg.tif')
img = cv2.imread('/home/arvind/MyStuff/Desktop/Manatee_dataset/cleaned_data/test/op_U3850_B.jpg.tif')
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img[img<100] = 20
img[img>=100] = 0
plt.imshow(img)
plt.show()
X = np.array([img])
X = X.astype('float32')#/ float(np.max(X))
X = np.reshape(X, (len(X), 224, 224, 1))
#X_ = np.array([np.invert(img)])
#X_ = X.astype('float32')#/ float(np.max(X_))
#plt.imshow(img)
#X_ = np.reshape(X_, (len(X_), 224, 224, 1))
#score = loaded_model.evaluate(X_, X_, verbose=0)
pred = loaded_model.predict(X, verbose=0)[0]
#pred = pred * 255.
plt.imshow(pred.reshape((224,224)))
Out[21]:
In [5]:
img = Image.open(mypath+filen)
img = np.asarray(img, dtype=np.uint8)
img = cv2.imread(mypath+filen)
img = cv2.cvtColor(i, cv2.COLOR_BGR2GRAY)
img[img<200] = 1
img[img>=200] = 0
#img = np.invert(img.T)
images1=[]
images1.append(np.array([img]))
images_train = np.array(images1)
images_train = images_train.astype('float32')#/ float(np.max(images_train))
json_file = open('../model.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
# load weights into new model
loaded_model.load_weights("model_right.h5")
print("Loaded model from disk")
loaded_model.compile(loss='binary_crossentropy', optimizer='adagrad')
X = images_train
#X = X.astype('float32') / float(np.max(X))
X = np.reshape(X, (len(X), 224, 224, 1))
#X_ = np.array([np.invert(img)])
#X_ = X_.astype('float32') / float(np.max(X_))
#plt.imshow(img)
#X_ = np.reshape(X_, (len(X_), 224, 224, 1))
#score = loaded_model.evaluate(X_, X_, verbose=0)
plt.imshow(loaded_model.predict(X, verbose=0)[0].reshape((224,224)))
In [41]:
predicted_label
Out[41]:
In [8]:
input_img = Input(shape=(224, 224,1))
#plt.imshow(loaded_model.predict(X_).reshape(224,224))
x = Convolution2D(16, 3, 3, activation='relu', border_mode='same', input_shape=(224,224,1), weights=loaded_model.layers[1].get_weights())(input_img)
x = MaxPooling2D((2, 2), border_mode='same')(x)
x = Convolution2D(8, 3, 3, activation='relu', border_mode='same', weights=loaded_model.layers[3].get_weights())(x)
x = MaxPooling2D((2, 2), border_mode='same')(x)
x = Convolution2D(8, 3, 3, activation='relu', border_mode='same', weights=loaded_model.layers[5].get_weights())(x)
encoded = MaxPooling2D((4, 4), border_mode='same')(x)
model = Model(input_img, encoded)
#model.compile(loss='binary_crossentropy', optimizer='adagrad')
model.load_weights('modelnew1.h5', by_name=True)
#print score
predicted_label = model.predict(X_, verbose=0).flatten()
img = plt.imread('/home/arvind/Desktop/Manatee_dataset/cleaned_data/train/op_U1150.jpg.tif')
X_ = np.array([np.invert(img)])
X_ = X_.astype('float32') / float(np.max(X_))
X_ = np.reshape(X_, (len(X_), 224, 224, 1))
predicted_label1 = model.predict(X_, verbose=0)
In [42]:
1 - spatial.distance.cosine(predicted_label, predicted_label1)
In [43]:
img = plt.imread('/home/arvind/Desktop/Manatee_dataset/cleaned_data/train/op_U3427.jpg.tif')
X = np.array([img])
X = X.astype('float32') / float(np.max(X))
X = np.reshape(X, (len(X), 224, 224, 1))
X_ = np.array([np.invert(img)])
X_ = X_.astype('float32') / float(np.max(X_))
X_ = np.reshape(X_, (len(X_), 224, 224, 1))
predicted_label2 = model.predict(X_, verbose=1)
In [16]:
1 - spatial.distance.cosine(np.invert(np.array(predicted_label)), np.invert(np.array(predicted_label2)))
In [17]:
a = (predicted_label[predicted_label.astype(int)>0]).flatten()
b = (predicted_label2[predicted_label2.astype(int)>0]).flatten()
a = a[:min(len(a), len(b))]
b = b[:min(len(a), len(b))]
In [18]:
1 - spatial.distance.cosine(a,b)
In [53]:
mypath = '/home/arvind/MyStuff/Desktop/Manatee_dataset/cleaned_data/train/'
files = [f for f in listdir(mypath) if isfile(join(mypath, f))]
images = []
masks = np.zeros((224,224))
for filen in files:
# img = cv2.imread(mypath+filen)
img = cv2.imread(mypath+filen)
#img = np.asarray(img, dtype=np.uint8)
#img = np.invert(img)
masks += img[:,:,2]/255.
images.append(np.array([img]))
images_train = np.array(images[:-100])
images_test = np.array(images[-100:])
images_train = images_train.astype('float32')# /255.# / float(np.max(images_train))
images_test = images_test.astype('float32')# -np.mean(images_test) # /255.# / float(np.max(images_test))
%matplotlib
In [56]:
i = np.copy(images_train[2][0])
i = cv2.cvtColor(i, cv2.COLOR_BGR2GRAY)
#_,i = cv2.threshold(i.astype('uint8'), 0, 1, cv2.THRESH_BINARY+cv2.THRESH_OTSU)
i[i<200] = 1
i[i>=200] = 0
#i[masks>100] = 1
plt.imshow(i)
Out[56]:
In [69]:
np.average(masks)
Out[69]:
In [16]:
input_img = Input(shape=(224, 224,1))
x = Convolution2D(16, 3, 3, activation='relu', border_mode='same', input_shape=(224,224,1))(input_img)
x = MaxPooling2D((2, 2), border_mode='same')(x)
x = Convolution2D(8, 3, 3, activation='relu', border_mode='same')(x)
x = MaxPooling2D((2, 2), border_mode='same')(x)
x = Convolution2D(8, 3, 3, activation='relu', border_mode='same', activity_regularizer=regularizers.activity_l1(10e-5))(x)
encoded = MaxPooling2D((2, 2), border_mode='same')(x)
model = Model(input_img, encoded)
model.compile(loss='binary_crossentropy', optimizer='adagrad')
model.load_weights('model_dae.h5', by_name=True)
#model.load_weights('modelnew1.h5', by_name=True)
#print score
predicted_label = model.predict(X, verbose=0)
In [17]:
img = cv2.imread('/home/arvind/MyStuff/Desktop/Manatee_dataset/cleaned_data/test/op_U3996_B.jpg.tif')
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img[img<100] = 20
img[img>=100] = 0
plt.imshow(img)
plt.show()
X = np.array([img])
X = X.astype('float32')#/ float(np.max(X))
X = np.reshape(X, (len(X), 224, 224, 1))
predicted_label1 = model.predict(X, verbose=0)
predicted_label1 = predicted_label1[0]
In [18]:
plt.imshow(np.sum(predicted_label1, axis=2))
Out[18]:
In [18]:
#img = cv2.imread('/home/arvind/MyStuff/Desktop/Manatee_dataset/cleaned_data/train/op_U3427.jpg.tif')
img = cv2.imread('/home/arvind/MyStuff/Desktop/Manatee_dataset/cleaned_data/train/op_U065.jpg.tif')
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img[img<100] = 20
img[img>=100] = 0
plt.imshow(img)
plt.show()
X = np.array([img])
X = X.astype('float32')#/ float(np.max(X))
X = np.reshape(X, (len(X), 224, 224, 1))
predicted_label2 = model.predict(X, verbose=0)
predicted_label2 = predicted_label2[0]
In [19]:
plt.imshow(np.sum(predicted_label2, axis=2))
Out[19]:
In [20]:
1 - spatial.distance.cosine(predicted_label1.flatten(), predicted_label2.flatten())
Out[20]:
In [ ]: