File size: 1,445 Bytes
8460a2a
 
 
 
 
 
 
 
 
 
 
 
 
 
3e96ee0
8460a2a
 
 
3e96ee0
8460a2a
 
 
3e96ee0
 
8460a2a
 
 
 
 
3e96ee0
 
8460a2a
 
 
 
 
 
 
3e96ee0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import tensorflow as tf
import numpy as np
import cv2

def euclidean_distance(vectors):
    squared_sum=np.sum(np.square(vectors[0]-vectors[1]),axis=-1,keepdims=True)
    return np.sqrt(np.maximum(squared_sum,1e-7))

def new_distance(vectors):
    return (vectors[0]*vectors[1]).sum(-1)

path="face_recognition/Models/mobilenet_basic_lfw/mobilenet_basic_lfw_model.h5"
# path="face_recognition/Models/keras_mobilenet_emore_adamw/keras_mobilenet_emore_adamw.h5"

model=tf.keras.models.load_model(path,compile=False)

x_input=tf.keras.layers.Input(shape=(112,112,3))
x_preprocess=tf.keras.layers.Lambda(lambda x:(x - 127.5) * 0.0078125)(x_input)
x=model(x_preprocess,training=False)
x=tf.keras.layers.Lambda(lambda x:tf.math.l2_normalize(x, axis=-1))(x)
model2=tf.keras.Model(x_input,x)
# model2.summary()
# model.save(path.rsplit("/",1)[0]+"/model.h5")
# print("model save to :\t",path.rsplit("/",1)[0]+"/model.h5")



img1=cv2.resize(cv2.imread("C:/Users/Home/Desktop/college stuff/vasu_dataset/all/priyanshi/7.jpg")[:,:,::-1],[112,112])[None]
img2=cv2.resize(cv2.imread("C:/Users/Home/Desktop/college stuff/vasu_dataset/all/shivansh/12.jpg")[:,:,::-1],[112,112])[None]
v1=(model.predict(img1,verbose=0))
v2=(model.predict(img2,verbose=0))


print("euclidean_distance:",euclidean_distance([v1,v2]))
print("new_distance:",new_distance([v1,v2]))
if(new_distance([v1,v2])[0]>0.2830035090446472):
    print("matching")
else:
    print("not matching")