Python: Как отправить дескрипторы HOG в качестве входного вектора в нейронную сеть, используя PyBrain

Я извлек особенности HOG и пометил их, чтобы сформировать обучающий набор, используя Python (Scikit-image & OpenCV).

Пользовательская функция Python - это compute_hog, а код приведен ниже:

# Function definition of 'compute_hog'
def compute_hog(imagename):
        image = color.rgb2gray(imagename)
        fd, hog_image = hog(image,orientations=8,pixels_per_cell=(16,16),cells_per_block=(1,1),visualise=True)
        return fd  # return the feature descriptors


# A sample training set with 3 images is created
list=[] # Create a 2D list with 3 rows
list.append([])
list.append([])
list.append([])


# call 'compute_hog' function and store the HOG descriptors in a 2D list
# For this example, I've used only 3 images
counter=0       
for imgs in lst:
    list[counter].append(compute_hog(imgs))
    counter=counter+1

# Assign labels to the corresponding 3 Features
list[0].append('Label1')
list[1].append('Label2')
list[2].append('Label3')

Переменная 'list' содержит пары меток объектов HOG для соответствующих 3 изображений.

Как преобразовать эту переменную во входной вектор и передать ее в многослойную прямую нейронную сеть (созданную с использованием Pybrain) для обучения сети и классификации?

Используя алгоритм обратного распространения, тестовое изображение должно быть классифицировано как действительное, если оно соответствует характеристикам обучающего набора, в противном случае оно недопустимо.

Как классифицировать тестовое изображение с помощью PyBrain?

0 ответов

Другие вопросы по тегам