问题描述
我有一些热图像,我想使用面部地标应用面部识别,我最初尝试使用 RGB 图像的形状预测器,但它无法检测热面部。我阅读了文档并遵循了一些教程,他们通常在 i-bug 数据集上进行训练,我认为 dlib 最初已经在 ibug 数据集上进行了训练。我最初尝试 dlib 函数 face_recognition_model_v1 如上所述但它不起作用,所以我认为我必须进行预测器形状训练。
我所做的是从我的数据集中抓取 12 个图像,并在这些图像上每 68 个关键点手动设置和标记。之后我下载了他们的 .xml 文件。
<?xml version='1.0' encoding='ISO-8859-1'?>
<?xml-stylesheet type='text/xsl' href='image_Metadata_stylesheet.xsl'?>
<dataset>
<name>dlib face detection dataset generated by ImgLab</name>
<comment>
This dataset is manually crafted or adjusted using ImgLab web tool
Check more detail on https://github.com/NaturalIntelligence/imglab
</comment>
<images>
<image file='irface_sub062_seq06_frm01108.png_lfb.png'>
<Box top='322' left='322' width='378' height='378'>
<label>landmarks</label>
<part name='0' x='339' y='414'/>
<part name='1' x='343' y='467'/>
<part name='2' x='355' y='519'/>
<part name='3' x='365' y='563'/>
<part name='4' x='390' y='599'/>
<part name='5' x='411' y='641'/>
<part name='6' x='443' y='669'/>
<part name='7' x='481' y='689'/>
<part name='8' x='525' y='692'/>
<part name='9' x='571' y='674'/>
<part name='10' x='611' y='644'/>
<part name='11' x='635' y='609'/>
<part name='12' x='654' y='573'/>
<part name='13' x='670' y='530'/>
<part name='14' x='680' y='495'/>
<part name='15' x='684' y='449'/>
<part name='16' x='684' y='400'/>
<part name='17' x='359' y='367'/>
<part name='18' x='383' y='354'/>
<part name='19' x='410' y='350'/>
<part name='20' x='439' y='353'/>
<part name='21' x='461' y='361'/>
<part name='22' x='555' y='361'/>
<part name='23' x='586' y='354'/>
<part name='24' x='618' y='351'/>
<part name='25' x='641' y='350'/>
<part name='26' x='661' y='363'/>
<part name='27' x='515' y='396'/>
<part name='28' x='515' y='430'/>
<part name='29' x='516' y='464'/>
<part name='30' x='515' y='492'/>
<part name='31' x='471' y='519'/>
<part name='32' x='489' y='522'/>
<part name='33' x='511' y='522'/>
<part name='34' x='536' y='522'/>
<part name='35' x='560' y='518'/>
<part name='36' x='400' y='410'/>
<part name='37' x='419' y='400'/>
<part name='38' x='441' y='394'/>
<part name='39' x='468' y='403'/>
<part name='40' x='443' y='413'/>
<part name='41' x='420' y='414'/>
<part name='42' x='561' y='402'/>
<part name='43' x='581' y='391'/>
<part name='44' x='606' y='394'/>
<part name='45' x='628' y='413'/>
<part name='46' x='604' y='413'/>
<part name='47' x='580' y='412'/>
<part name='48' x='446' y='575'/>
<part name='49' x='463' y='578'/>
<part name='50' x='472' y='550'/>
<part name='51' x='495' y='546'/>
<part name='52' x='524' y='550'/>
<part name='53' x='548' y='554'/>
<part name='54' x='562' y='557'/>
<part name='55' x='571' y='570'/>
<part name='56' x='564' y='571'/>
<part name='57' x='496' y='573'/>
<part name='58' x='515' y='574'/>
<part name='59' x='525' y='572'/>
<part name='60' x='494' y='581'/>
<part name='61' x='512' y='579'/>
<part name='62' x='526' y='579'/>
<part name='63' x='461' y='588'/>
<part name='64' x='492' y='595'/>
<part name='65' x='511' y='595'/>
<part name='66' x='529' y='595'/>
<part name='67' x='554' y='588'/>
</Box>
</image>
</images></dataset>
文档中的代码是 import os
import sys
import glob
import dlib
if len(sys.argv) != 2:
print(
"Give the path to the examples/faces directory as the argument to this "
"program. For example,if you are in the python_examples folder then "
"execute this program by running:\n"
" ./train_shape_predictor.py ../examples/faces")
exit()
faces_folder = sys.argv[1]
options = dlib.shape_predictor_training_options()
options.oversampling_amount = 300
options.nu = 0.05
options.tree_depth = 2
options.be_verbose = True
training_xml_path = os.path.join(faces_folder,"training_with_face_landmarks.xml")
dlib.train_shape_predictor(training_xml_path,"predictor.dat",options)
print("\nTraining accuracy: {}".format(
dlib.test_shape_predictor(training_xml_path,"predictor.dat")))
我想知道我应该如何使用图像和 .xml 文件进行训练?我的 .xml 路径实际上是 pythonProject/手动标记的,图像是 pythonProject/thermal-images
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)