【发布时间】:2021-07-25 09:51:51
【问题描述】:
我问了很多,但我非常坚持这个......
我有这部分代码用于使用 SIFT 提取特征,我正在尝试调整它以基于 VGG16 模型提取特征。
无论我怎么努力,我都无法通过,总是出现错误。
因此,如果有人可以帮助获得这些功能,以便之后将其用于聚类。
这是带有 SIFT 的代码:
# identification of key points and associated descriptors
import time, cv2
sift_keypoints = []
temps1=time.time()
sift = cv2.xfeatures2d.SIFT_create(500)
for image_num in range(len(list_photos)) :
if image_num%100 == 0 : print(image_num)
image = cv2.imread(path+list_photos[image_num],0) # convert in gray
image = cv2.GaussianBlur(image,(7,7),cv2.BORDER_DEFAULT) #apply gaussianblur filter
# image = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
res = cv2.equalizeHist(image) # equalize image histogram
kp, des = sift.detectAndCompute(res, None)
sift_keypoints.append(des)
sift_keypoints_by_img = np.asarray(sift_keypoints)
sift_keypoints_all = np.concatenate(sift_keypoints_by_img, axis=0)
这是我如何将它用于我的集群:
from sklearn import cluster, metrics
# Determination number of clusters
k = int(round(np.sqrt(len(sift_keypoints_all)),0))
print("Nombre de clusters estimés : ", k)
print("Création de",k, "clusters de descripteurs ...")
# Clustering
kmeans = cluster.MiniBatchKMeans(n_clusters=k, init_size=3*k, random_state=0)
kmeans.fit(sift_keypoints_all)
我应该怎么做才能使用 VGG 模型提取特征?
谢谢
【问题讨论】:
标签: python conv-neural-network feature-extraction sift vgg-net