《深度学习与医学图像处理》阅读分享四——关键点检测
<div class='showpostmsg'> 本帖最后由 Zhao_kar 于 2024-5-7 22:58 编辑<p style="text-align: center;"><strong><span style="font-size:24px;">《深度学习与医学图像处理》阅读分享四——关键点检测</span></strong></p>
<p><span style="color:#1abc9c;">本节主讲关键点检测的模型</span></p>
<p><strong><span style="font-size:20px;">一、概念</span></strong></p>
<p>关键点检测是计算机视觉领域的一种技术,用于在图像或视频中定位和识别特定对象或特征的位置。这些对象或特征可以是人脸、人体关节点、车辆、物体等等。关键点通常是图像中的特定位置,比如人脸关键点可能包括眼睛、鼻子、嘴巴等部位的位置。</p>
<p>关键点检测的目标是确定这些关键点在图像中的精确位置。它可以应用于许多应用场景,如人脸识别、姿态估计、手势识别、行人检测等。在人工智能和机器学习的帮助下,现代关键点检测算法能够在不同的环境和复杂的场景中准确地检测和定位这些关键点。</p>
<p><strong><span style="font-size:20px;">二、坐标关键点检测和热图关键点检测</span></strong></p>
<p><strong>1、坐标关键点检测</strong>:</p>
<ul>
<li><strong>特点</strong>:在坐标关键点检测中,通常直接输出每个关键点的准确坐标。这意味着检测器会返回一系列点的(x, y)坐标,表示图像中每个关键点的位置。</li>
<li><strong>区别</strong>:相较于热图关键点检测,这种方法更加直接,输出结果更易理解。然而,它也需要更多的训练数据和更复杂的模型来学习关键点的准确位置。</li>
</ul>
<p><strong>2、热图关键点检测</strong>:</p>
<ul>
<li><strong>特点</strong>:热图关键点检测输出的是关键点位置的概率分布热图。这意味着对于每个关键点,检测器会生成一个与输入图像尺寸相同的热图,其中每个像素的值表示该像素处是关键点的概率。</li>
<li><strong>区别</strong>:相对于坐标关键点检测,热图关键点检测更加灵活,因为它可以处理不同尺寸的输入图像,并且可以检测到关键点的模糊位置。此外,热图关键点检测还可以利用一些后处理技术来提高关键点检测的准确性。</li>
</ul>
<p>综上,热图关键点模型效果更优,下面介绍几种基于热图的关键点模型</p>
<p> </p>
<p><strong><span style="font-size:20px;">三、CPM</span></strong></p>
<p>CPM指的是<strong>Convolutional Pose Machine(卷积姿势机器)</strong>。CPM是一种基于深度学习的方法,用于姿势估计和关键点检测。</p>
<p>CPM模型通常由多个卷积神经网络(CNN)阶段组成,每个阶段都负责在不同尺度上生成热图。<strong>第一个阶段处理输入图像,并生成初始热图</strong>,然后通过级联的阶段逐渐提高热图的分辨率和准确性。其中一个关键特点是通过级联的阶段来逐步提高姿势估计的精度。<strong>每个阶段都可以在之前阶段的输出基础上进行训练</strong>,使得模型能够逐渐细化关键点位置的估计。这种级联结构使得CPM在处理复杂姿势和场景时表现出色。</p>
<p>这里以书中给的图例为简单描述:<strong><span style="color:#c0392b;">一阶段中,图像先经过七个卷积层,三个池化层进行特征提取,P为关键点个数,然后在2阶段下,有两个输入,一个是第一阶段的特征输出,一个是原图像的特征提取,然后再通过五个卷积层进行融合和提取</span>。</strong>详见下图</p>
<p style="text-align: center;"><strong></strong></p>
<p><strong><span style="font-size:20px;">四、stack hourglass</span></strong></p>
<p>Stacked Hourglass是一种<strong>基于卷积神经网络(CNN)的姿势估计方法</strong>,它采用了Hourglass网络结构的堆叠。每个Hourglass模块由对称的上采样和下采样层构成,有助于捕捉不同尺度的特征并提高姿势估计的准确性。通过堆叠多个Hourglass模块,Stacked Hourglass能够逐步细化关键点位置的估计,取得优异的姿势检测效果。</p>
<p>首先主要包括四个部分:<span style="color:#c0392b;"><strong>下采样模块、沙漏模块、中间监督模块、关键点热力图 </strong></span></p>
<p style="text-align: center;"> </p>
<p>分别进行如下操作:<strong><span style="color:#c0392b;">降低图像分辨率,堆叠沙漏模块+引入中间监督模块,使得各个沙漏模块的输出均参与最终的损失计算,再利用计划函数将最后一个沙漏模块的输出结果转换为类别的概率值,生成关键点热力图。</span></strong></p>
<p>补充(各个模块):</p>
<ul>
<li>下采样模块是指在神经网络中的一种结构,用于将输入特征图的空间分辨率降低,同时增加特征图的通道数。这有助于提取更高级别的语义信息并减少计算量。通常通过池化层或者卷积层来实现。</li>
<li>沙漏模块是指沿着网络中间有多层的网络模块,形象地类似于一个沙漏,中间部分较窄,两边较宽。这种模块的设计目的是通过逐层的上采样和下采样来实现多尺度特征的融合,从而提高对目标的定位精度。</li>
<li>中间监督模块是指在网络的中间层添加监督信号,用于在训练过程中引导网络学习更好的特征表示。这种模块的存在有助于减轻梯度消失问题,并且可以加速训练过程。在姿势估计等任务中,中间监督模块通常用于在沙漏模块的不同层次上进行关键点位置的预测和监督。</li>
</ul>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>有点专业了,比如什么是<strong>初始热图</strong></p>
页:
[1]