我已经提取了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')
'列表'变量包含相应3个图像的HOG特征标签对。
如何将此变量转换为输入向量并将其传递给多层前馈神经网络(使用Pybrain创建)进行网络训练和分类?
使用反向传播算法,如果测试图像与训练集的功能匹配,则应将其归类为有效,否则无效。
如何使用PyBrain对测试图像进行分类?