create_ocr_class_svm(算子)
create_ocr_class_svm - 使用支持随机向量机制创建OCR分类器。
create_ocr_class_svm(:: WidthCharacter,HeightCharacter,Interpolation,Features,Characters,KernelType,KernelParam,Nu,Mode,Preprocessing,NumComponents:OCRHandle)
描述
create_ocr_class_svm创建一个使用支持随机向量机制(SVM)的OCR分类器。 OCR分类器的句柄在OCRHandle中返回。
有关SVM如何工作的说明,请参阅create_class_svm。 create_ocr_class_svm使用Mode给出的分类模式创建SVM以进行分类。 SVM的特征向量的长度(create_class_svm中的NumFeatures)由用于OCR的特征确定,这些特征在特征中传递。这些功能如下所述。在create_class_svm中使用KernelType,KernelParam和Nu对内核进行参数化。 SVM的类的数量(create_class_svm中的NumClasses)是根据要在OCR中使用的字符的名称确定的,这些字符在字符中传递。如create_class_svm所述,参数Preprocessing和NumComponents可用于指定数据的预处理(即,特征向量)。为了数值稳定性,通常可以将预处理设置为“标准化”。为了加快分类时间,可以使用’principal_components’或’canonical_variates’,因为可以显着减少输入特征的数量而不会降低识别率。
用于分类的特征由特征确定。功能可以包含一个功能名称元组。这些特征名称中的每一个导致为分类器计算一个或多个特征。一些特征名称计算灰度值特征(例如,‘pixel_invar’)。由于分类器需要恒定数量的特征(输入变量),因此要分类的字符将转换为标准大小,该大小由WidthCharacter和HeightCharacter确定。用于变换的插值由插值确定。它与affine_trans_image中的含义相同。应该选择插值,使得在变换中不会出现混叠效应。对于大多数应用,应使用Interpolation =‘constant’。应该注意的是,变换后的字符的大小不会选择得太大,因为分类器的泛化属性可能对大尺寸变坏。特别地,对于大尺寸,如果使用灰度值特征,则小的分割误差将对计算的特征具有大的影响。这是因为分割错误将改变区域的最小包围矩形,因此角色的缩放与训练集中的字符不同。在大多数应用中,应使用6x8到10x14之间的大小。
参数功能可以包含以下用于字符分类的功能名称。
‘default’
选择’ratio’和’pixel_invar’。
‘pixel’
字符的灰度值(WidthCharacter x HeightCharacter特征)。
‘pixel_invar’
具有灰度值最大缩放的字符的灰度值(WidthCharacter x HeightCharacter特征)。
‘pixel_binary’
作为二进制图像的字符区域缩放为WidthCharacter x HeightCharacter(WidthCharacter x HeightCharacter特征)的大小。
‘gradient_8dir’
在角色图像上计算渐变。梯度方向被离散化为8个方向。根据这些离散化的方向将振幅图像分解为8个通道。从每个通道提取5x5网格上的25个样本。这些样本用作特征(200个特征)。
‘projection_horizontal’
灰度值的水平投影(参见gray_projections,HeightCharacter特征)。
‘projection_horizontal_invar’
灰度值的最大缩放水平投影(HeightCharacter特征)。
‘projection_vertical’
垂直投影灰度值(参见gray_projections,WidthCharacter特征)。
‘projection_vertical_invar’
灰度值的最大缩放垂直投影(WidthCharacter特征)。
‘ratio’
角色的宽高比(1个特征)。
“anisometry’”
角色的反分析(参见偏心,1个特征)。
‘width’
在将字符缩放到标准大小之前字符的宽度(不是缩放不变的,请参见smallest_rectangle1,1个特征)。
‘Hight’
在将字符缩放到标准大小之前字符的高度(不是缩放不变的,请参见smallest_rectangle1,1个特征)。
‘zoom_factor’
字符与WidthCharacter和HeightCharacter的值之间的大小差异(不是缩放不变的,1个特征)。
‘foreground’
前景中像素的分数(1个特征)。
‘foreground_grid_9’
在角色的最小封闭矩形内的3x3网格中前景中像素的分数(9个特征)。
‘foreground_grid_16’
在角色的最小封闭矩形内的4x4网格中的前景中的像素分数(16个特征)。
‘compactness’
角色的紧凑性(见紧凑性,1个特征)。
“convexity”
角色的凸性(见凸性,1个特征)。
‘moments_region_2nd_invar’
角色的标准化第二个时刻(参见moments_region_2nd_invar,3个特征)。
‘moments_region_2nd_rel_invar’
角色的标准化第二个相对时刻(参见moments_region_2nd_rel_invar,2个特征)。
‘moments_region_3rd_invar’
角色的标准化第3个时刻(参见moments_region_3rd_invar,4个特征)。
‘moments_central’
角色的标准化中心矩(参见moments_region_central,4个特征)。
‘moments_gray_plane’
归一化灰度值矩和灰度值平面的角度(参见moments_gray_plane,4个特征)。
“phi”
角色的方向(角度)(参见elliptic_axis,1个特征)。
‘num_connect’
连接组件的数量(请参阅connect_and_holes,1功能)。
‘num_holes’
孔数(参见connect_and_holes,1个特征)。
‘COOC’
二元共生矩阵的值(参见gen_cooc_matrix,12个特征)。
‘num_runs’
由高度标准化的区域中的运行次数(1个特征)。
‘chord_histo’
每行运行的频率(HeightCharacter功能)。
创建分类器后,使用trainf_ocr_class_svm对其进行训练。在此之后,可以使用write_ocr_class_svm保存分类器。或者,可以在训练之后立即使用分类器来使用do_ocr_single_class_svm或do_ocr_multi_class_svm对字符进行分类。
SVM和多层感知器(MLP)的比较(参见create_ocr_class_mlp)通常表明SVM通常在训练时更快,特别是对于大型训练集,并且实现比MLP略高的识别率。 MLP在分类方面更快,因此应该优先考虑时间关键应用。请注意,本指南假定参数的最佳调整。
并行
多线程类型:可重入(与非独占运算符并行运行)。
多线程范围:全局(可以从任何线程调用)。
没有并行化处理。
此运算符返回句柄。请注意,即使将此句柄类型的实例用作输入参数,也可以由特定运算符更改该句柄类型的实例的状态。
参数
WidthCharacter(input_control)整数→(整数)
矩形的宽度,分割字符的灰度值被缩放到该矩形。
默认值:8
建议值:1,2,3,4,5,6,7,8,9,10,11,12,14,16,20
典型值范围:4≤WidthCharacter≤20
HeightCharacter(input_control)整数→(整数)
矩形的高度,分割字符的灰度值被缩放到该矩形的高度。
默认值:10
建议值:1,2,3,4,5,6,7,8,9,10,11,12,14,16,20
典型值范围:4≤HeightCharacter≤20
Interpolation(input_control)字符串→(字符串)
用于缩放字符的插值模式。
默认值:‘常数’
值列表:‘bilinear’,‘constant’,‘nearest_neighbor’,‘weighted’
Features(input_control)字符串(-array)→(字符串)
用于分类的功能。
默认值:‘默认’
值列表:‘anisometry’,‘chord_histo’,‘compactness’,‘convexity’,‘cooc’,‘default’,‘foreground’,‘foreground_grid_16’,‘foreground_grid_9’,‘gradient_8dir’,‘height’,'moments_central ',‘moments_gray_plane’,‘moments_region_2nd_invar’,‘moments_region_2nd_rel_invar’,‘moments_region_3rd_invar’,‘num_connect’,‘num_holes’,‘num_runs’,‘phi’,‘pixel’,‘pixel_binary’,‘pixel_invar’,‘projection_horizontal’, ‘projection_horizontal_invar’,‘projection_vertical’,‘projection_vertical_invar’,‘ratio’,‘width’,‘zoom_factor’
Characters(input_control)字符串数组→(字符串)
要读取的字符集的所有字符。
默认值:[‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’]
KernelType(input_control)string→(string)
内核类型。
默认值:‘rbf’
值列表:‘linear’,‘polynomial_homogeneous’,‘polynomial_inhomogeneous’,‘rbf’
KernelParam(input_control)real→(真实)
内核函数的附加参数。
默认值:0.02
建议值:0.01,0.02,0.05,0.1,0.5
Nu(input_control)real→(真实)
SVM的正则化常数。
默认值:0.05
建议值:0.0001,0.001,0.01,0.05,0.1,0.2,0.3
限制:(Nu> 0.0)&&(Nu <1.0)
Mode(input_control)string→(string)
SVM的模式。
默认值:‘one-versus-one’
价值清单:‘一对多’,‘一对一’
Preprocessing(input_control)字符串→(字符串)
用于变换特征向量的预处理类型。
默认值:‘normalization’
值列表:‘canonical_variates’,‘none’,‘normalization’,‘principal_components’
NumComponents(input_control)整数→(整数)
预处理参数:已转换要素的数量(对于Preprocessing ='none’和Preprocessing =‘noalization’)。
默认值:10
建议值:1,2,3,4,5,8,10,15,20,30,40,50,60,70,80,90,100
限制:NumComponents> = 1
OCRHandle(output_control)ocr_svm→(整数)
处理OCR分类器句柄。