自定义损失函数_实例讲解Keras自定义multi-loss函数

本文介绍了如何使用Tensorflow & Keras自定义multi-loss函数,以实现《Fine-Grained Head Pose Estimation Without Keypoints》论文中的人脸头部姿态估计。通过将角度分类和回归结合,建立多输出模型,利用ResNet50提取特征。自定义损失函数涉及分类概率的期望值转换和MSE损失,最终形成加权的multi-loss。
摘要由CSDN通过智能技术生成

本文以复现论文《Fine-Grained Head Pose Estimation Without Keypoints》为例说明如何使用Tensorflow & Keras自定义 multi-loss 函数。

论文地址:

https://arxiv.org/abs/1710.00925

复现代码:

https://github.com/Oreobird/tf-keras-deep-head-pose

一、原理简述

论文提出了一种无需人脸关键点的人脸头部姿态估计算法,通过训练一个multi-loss的卷积神经网络,该网络结合了分类和回归两种目标函数来预测3个人脸头部姿态角度(yaw,pitch 和 roll),网络结构比较简单,以ResNet50作为主干网络提取特征,然后分别对3个角度进行分类和回归,属于多输出模型,结构如下图所示:

42f1b63989b32ad88928fdf5260f4268.png

二、计算细节

(1)角度的分类定义

角度属于连续值,怎么转换为分类问题呢?作者使用了分箱的思想,将连续的角度值在[-99, 99]的范围内以 3 为间隔划分为66个区间,也就是66个类,如下图的例子,类别标签从0开始,-94度落在了第 1 类的范围内,所以分为第1类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值