ubuntu20+dlib19.22+0pencv4.5.0的机器视觉算法之路(三)

ubuntu20+dlib19.22+0pencv4.5.0的非特定目标识别之手势识别算法
项目简介:
该项目包括训练和识别过程。

(1) 找到 imglab 工具源码目录进行配置编译
imglab位于dlib源码包的tools里面。

cd tools/imglab/
cmake .
make

编译完成后将生成的 imglab 可执行文件,将其拷贝到样本照片所在目录。
(2) 在dlib源码包找到 examples/train_object_detector.cpp 样本训练工具,将其拷贝出来单独进行编译,并生成 train_object_detector 可执行文件

(3) 图像采集:
dlib 对样本照片并没有太多要求,会做二次处理,样本拍摄建议在光线充足的情况下完成采集,样本数量越多越好,并将拍好的照片统一放在一个目录,比如 img 下面等待处理。

(4) 生成 xml 描述文件:

./imglab -c data.xml img

(5) 生成 xml 描述文件:
手动标记检测目标或特征点。在弹出的图形化工具上面对需要检测的特征进行标记,通过 shift 选择识别对象,双击选中对象以后,右键可以标记特征点,标记完成点 File->save 保存结果到 xml 中。
ubuntu20+dlib19.22+0pencv4.5.0的机器视觉算法之路(三)
命令如下:

./imglab data.xml

如果要标记特征点,需要增加参数

./imglab mydataset.xml --parts "1 2 3 4 5 6 7 8 9 10"

打开 xml 可以查看目标或特征的标记坐标,同时还生成了一个 image_metadata_stylesheet.xsl 样式文件。

(6) 训练样本

./train_object_detector -tv data.xml

训练结束后会生成 object_detector.svm 模型序列,这个模型就可以用于对象检测了。

训练效果比较好的话,要求数据多,而且标记的特征点要多要好。

(7) 训练模型测试
一般先从训练样本中随便找张照片进行测试,测试如果能够成功找出目标后,再用于实际的目标识别:

./train_object_detector photo.png
上一篇:Ubuntu20安装ssh


下一篇:Ubuntu20 截屏编辑工具flameshot