如何利用Tim Cootes的am_tools工具标记图像

申明:利用am_tools,可以采用多种方式标记图像,本文介绍的只是其中最为便捷的一种,同时也是该工具作者Tim Cootes推荐的方式。
1.         下载am_tools
http://www.isbe.man.ac.uk/~bim/software/am_tools_doc/download_win.html
2.         假如需要对1.jpg,2.jpg,3.jpg,……,8.jpg共8幅图像进行标记(annotating),首先新建两个与am_tools工具“win_bin”目录平行的文件夹,分别命名为“images”和“points”,然后先将上述8个图像文件放在“images”文件夹中;新建一个名为“dummy.pts”的文件放在“points”文件中,文件内容如下:
version: 1
n_points: 2
{
0.0 0.0
1.0 1.0
}
3.         上述工作完成后,可以先对1.jpg图像进行标记,方法如下:在“win_bin”目录下建立一个名为“pantograph.smd”的文件,文件内容如下(文件内容可以根据应用需求进行修改)。
// Shape Model Data
model_name: pantograph
model_dir: ./
parts_file: pantograph
image_dir: ../images/
points_dir: ../points/
// Alternatives: radial,wolfson,sunras,bmp
// shape_aligner can be None, AlignCoG2D, AlignEuclid2D, ...
shape_aligner: AlignEuclid2D
shape_variant_maker: -
shape_modes:  { min: 0 max: 999 prop: 0.95 }
tex_modes:  { min: 0 max: 999 prop: 0.95 }
combined_modes:  { min: 0 max: 999 prop: 0.95 }
params_limiter: mdpm_box_limits
{
  sd_limits: 3
}
tex_params_limiter: mdpm_box_limits
{
  sd_limits: 3
}
shape_params_limiter: mdpm_box_limits
{
  sd_limits: 3
}
tex_params_pdf: axis_gaussian_builder
shape_params_pdf: axis_gaussian_builder
app_params_pdf: axis_gaussian_builder
n_pixels: 3000
colour: RGB // Alternatives: Grey,RGB,...
// Texture Sampler can be tri_raw, tri_edge...
tex_sampler: vapm_triangle_sampler<vxl_byte>
// tex_aligner can be None, AlignLinear1D, ...
tex_aligner: AlignLinear1D
// shape_wts define how to compute relative scaling of shape & tex.
// shape_wts can be `EqualVar', `EqualEffect',...
shape_wts: EqualVar
// point_finder defines point finder used for ASM search
point_finder: local_models
// tex_model defines type of model to represent texture statistics, eg: pca, pca+haar1d
tex_model: pca
// Image Pyramid Builder can be gauss_byte, gauss_float, grad_float ...
pyr_builder: GaussByte
points_pyr_builder: Same
max_im_pyr_levels: 5
 
// Levels of multi-res model to build :
min_level: 0
max_level: 4
 
// For ASM profile models :
g_in_len: 3
g_out_len: 3
g_width: 1
sample_int: 1
use_grad: 1
norm_grey: 1
restrict_points_to_parts: 0
 
default_image_pixel_size: 1
// Details of points : images
training_set:
{
  1.pts : 1.jpg
}
接着同样在“win_bin”目录下建立一个名为“training_first.bat”的批处理文件,内容为:
am_markup start pantograph
     紧接着双击该批处理文件,即可打开“am_markup”对1.jpg图像进行标记。另外,可以通过菜单【Props】-【Graphics】调整标记点的显示方式。标记完后,通过菜单项【File】-【Save Points As】对标记好的点进行保存,保存名称为1.pts,保存到“points”文件夹下;通过菜单项【File】-【Save Parts As】保存标记点路径(外廓),保存名称为pantograph.parts,保存到“win_bin”文件夹下。至此,完成了第一幅图像的标记。
4.         此时可以基于1.jpg图像的标记结果(训练结果),建立一个简单的AAM。方法为:首先在“win_bin”目录下建立一个名为“pantograph.aamprops”的文件,文件内容可以如下:
aam_type: basic_aam
am_name: pantograph
model_dir: ./
aam_name: pantograph
displacement_x: 2
displacement_y: 2
scaledisplacement_x: 0.1
scaledisplacement_y: 0.1
tex_displacement: 0.1
displacement_params: 0.5
n_per_eg: 3
max_n_samples: 8
5.         然后建立同样在“win_bin”目录下建立一个名为“build.bat”的批处理文件,内容为:
am_build_apm pantograph
am_build_aam pantograph
pause
紧接着双击该批处理文件,即可完成AAM的建立,会在“win_bin”目录下生成两个文件,分别是“pantograph.apm”和“pantograph.aam”。
6.         接下来将基于该图像的标记结果,逐个标记其他图像。在“win_bin”目录下建立一个名为“data_todo.smd”的文件,文件内容如下:
// List of images not included in pantograph.smd
model_name: pantograph
model_dir: ./
parts_file: pantograph
image_dir: ../images/
points_dir: ../points/
// Details of points : images
training_set:
{
  2.pts : 2.jpg
  3.pts : 3.jpg
  4.pts : 4.jpg
  5.pts : 5.jpg
  6.pts : 6.jpg
  7.pts : 7.jpg
  8.pts : 8.jpg
  dummy.pts : dummy.jpg
}
7.         在“win_bin”目录下建立一个名为“training_further.bat”的批处理文件,内容为:
am_markup pantograph
紧接着双击该批处理文件,即可打开“am_markup”,打开“am_markup”后,默认显示的是1.jpg图像和标记结果,此时需要打开菜单项【File】-【Load Image Set】载入之前建立的“data_todo.smd”文件,对“images”文件夹下未标记的图像进行标记。窗口左侧工具栏的“Move All”等按钮可以用来调整点的位置,顶部工具栏中的“+1>”等按钮可以用来标记下一幅图像,每一幅图像的标记点调整结束后,打开菜单项【Props】-【Search】-【Save,Add,Update】按钮对标记点自动保存到“points”文件夹下,同时“pantograph.smd”文件也会得到自动更新。
8.         所有图像标记结束后,可以按照步骤5建立更加完善的AAM。
9.         说明:按照/am_tools/doc/model_building_from_scratch.html 步骤进行
a)         其中“The first image previously marked and its model in yellow are displayed in the 新window”,我测试的时候不是黄色,而是绿色;
b)         “Create a dummy points file called "points/dummy.pts"”我的理解是在images文件中相应地也增加一个名为dummy.jpg的图像,然后在data_todo.smd文件的数据集最后一行加入dummy.pts : dummy.jpg,即将该数据作为标记图像结束的标志。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值