Как добавить ndarray к другому ndarray - PullRequest
0 голосов
/ 18 февраля 2020

I sh, чтобы добавить массив в другой. Я пробовал разные методы, такие как добавление, расширение и даже vstack, но я постоянно получаю ошибки.

Проясняя свой проект, я использую Fa cenet для создания вложений лиц, обнаруженных из веб-камера. Вложения 128-мерные. Кроме того, я создал набор данных из 26 граней, которые загружаются как вложения одинаковой размерности.

Во-первых, вложения набора данных загружаются в переменную с именем Data_1. Позже это будет использоваться для создания графиков t-SNE для визуализации данных. Сюжет работает хорошо, но я хочу иметь возможность сравнить сравнение лица из моей веб-камеры с точками набора данных

Вот код:

def detembed():
    cam = cv2.VideoCapture(0)
    _,frame = cam.read()
    info = fd.detect_faces(frame)
    if info != []:
        for i in info:
            x,y,w,h = i['box']
            x,y = abs(x), abs(y)
            w,h = abs(w), abs(h)
            xx, yy = x+w, y+h
            #cv2.rectangle(frame, (x,y), (xx,yy), (0,0,255),2)
            face = frame[y:yy, x:xx]
            image = Image.fromarray(face)
            image = image.resize(size)
            arr = asarray(image)

            arr = arr.astype('float32')
            mean, std = arr.mean(), arr.std()
            arr = (arr - mean) / std
            samples = expand_dims(arr, axis=0)
            faces.append(samples)
        #cv2.imshow('Camera Feed', frame)

while True:
    detembed()
    embeddings = Data_1
    if not faces:
        continue
    else:
        for face in faces:
            embeds = facenet.predict(face)
            print(embeds.shape, embeddings.shape)
            embeds = expand_dims(embeds, axis=0)
            embeddings = np.concatenate((embeddings,embeds), axis = 0 )

    points = TSNE(random_state=seed).fit_transform(embeddings)

Я не хотел Заполните страницу кодом, но имейте в виду, что я пробовал различные методы (это конкатенация, добавление, расширение и вставка), но все безрезультатно. Большинство моих ошибок происходят с каким-то массивом, имеющим более высокий размер

ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension(s) and the array at index 1 has 3 dimension

Я надеюсь, что кто-то может мне помочь

...