ARToolKit 中的NFT 工具
这篇文章主要介绍Training ARToolKit Natural Feature Tracking (NFT) to Recognize and Track an Image这篇文章中提到的工具。
checkResolution
checkResolution 工具可以帮助ARToolKit 决定创建NFT 数据集时所需的原图像文件解析度。
操作总结
- 将要使用NFT跟踪的图像打印出来。
- 打印出一个ARToolKit 中标准的”Hiro”图案并将外面多余的部分剪掉。这个Hiro Marker可以以各种尺寸打印出来,40mm 是一个不错的选择。
- 链接你的摄像头并且运行终端窗口,输入下面的命令。
- Mac OS X/Linux: `./checkResolution` - Windows: `checkResolution.exe
它将提醒你输入Hiro marker的大小,如果打印时的大小为40mm,就输入40。
- 将摄像头对准打印出的要跟踪的图像,Hiro Marker 要放在其他Marker 的上面,摄像头的正中间。已跟踪的marker将用绿色边框标出,同时也有一个红色的十字在marker的中心点上,在屏幕的下方显示了垂直和水平两个方向的分辨率。
- 将摄像头移动到marker可以识别的最近距离和最远距离(同时也要保证Hiro marker大致处于摄像头图像的中心位置):
使用输出的数据
移动摄像头并观察DPI值将让你了解Training ARToolKit Natural Feature Tracking (NFT) to Recognize and Track an Image这篇文章中提到的制作电子版的特征图像材料所需的DPI(不推荐制作DPI高于打印版本的电子图像数据,通常来说是不高于150dpi)。同样值得一提的是,输出数据也有助于确定在将genImageSet 工具作为训练NFT数据集第一步时该工具所需的分辨率范围。
使用提示
确保摄像头捕捉时和应用中跟踪时拥有相同的帧尺寸;DPI的值依赖于摄像机的画面尺寸。尽管兆像素摄像头开始普遍应用,不过使用低分辨率高帧数的摄像头更好一些;640×480 分辨率对于大多数NFT 跟踪情况来说已经足够完美了。
键盘、鼠标控制
下面展示了使用checkResolution 工具时的所有鼠标和键盘操作:
按键 | 功能 |
---|---|
esc | 退出程序 |
1 | centered |
2 | are neat |
dispFeatureSet
dispFeatureSet 工具可以将已经训练好的NFT 数据集的特征点覆盖显示到原图像上。
使用方式:
./dispFeatureSet
-fset Show fset features.
-fset3 Show fset3 features.
进入dispFeatureSet 之后,你将看到所有覆盖了跟踪特征点的不同分辨率图像的列表。用来持续跟踪的特征点被红色方框标记了出来,同时用来识别这个图像和跟踪初始化的特征点被绿色十字标记出来。
dispImageSet
dispImageSet 可以查看已经压缩好的图像。
使用方式:
./dispImageSet [filename]
进入dispImageSet 之后, 不同分辨率的图像都会以列表形式展示到屏幕上。点击空格键来查看图像,或者点击esc间退出。
genTexData
genTexData 执行从一个JPEG格式的原图像文件训练出一个NFT数据集的工作。
使用方式:
./genTexData [filename]
-level=n
(n is an integer in range 0 (few) to 4 (many). Default 2.'
-sd_thresh=[sd_thresh]
-max_thresh=[max_thresh]
-min_thresh=[min_thresh]
-leveli=n
(n is an integer in range 0 (few) to 3 (many). Default 1.'
-feature_density=[feature_density]
-dpi=[dpi]
-max_dpi=[max_dpi]
-min_dpi=[min_dpi]
-background
Run in background, i.e. as daemon detached from controlling terminal. (Mac OS X and Linux only.)
-log=[path]
-loglevel=x
x is one of: DEBUG, INFO, WARN, ERROR. Default is INFO.
-exitcode=[path]
--help -h -? Display this help
操作样例
结束代码:
E_NO_ERROR = 0
E_BAD_PARAMETER = 64
E_INPUT_DATA_ERROR = 65
E_USER_INPUT_CANCELLED = 66
E_BACKGROUND_OPERATION_UNSUPPORTED = 69
E_DATA_PROCESSING_ERROR = 70
E_UNABLE_TO_DETACH_FROM_CONTROLLING_TERMINAL = 71
E_GENERIC_ERROR = 255
查看 Training ARToolKit Natural Feature Tracking (NFT) to Recognize and Track an Image 来了解更多关于NFT 数据集的信息。