为热图像训练 dlib 自定义形状预测器

如何解决为热图像训练 dlib 自定义形状预测器

我有一些热图像,我想使用面部地标应用面部识别,我最初尝试使用 RGB 图像的形状预测器,但它无法检测热面部。我阅读了文档并遵循了一些教程,他们通常在 i-bug 数据集上进行训练,我认为 dlib 最初已经在 ibug 数据集上进行了训练。我最初尝试 dlib 函数 face_recognition_model_v1 如上所述但它不起作用,所以我认为我必须进行预测器形状训练。

我所做的是从我的数据集中抓取 12 个图像,并在这些图像上每 68 个关键点手动设置和标记。之后我下载了他们的 .xml 文件。

我有 12 个这样的 .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 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-