deep learning: heat Map

2024-06-11 04:32
文章标签 map deep learning heat

本文主要是介绍deep learning: heat Map,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 reference: http://blog.csdn.net/liyaohhh/article/details/50990927

图像的heatMap是什么,一副图片的heatmap可以帮助我们在上面检测到想要的object,如下左图所示:
               可以直接的看到,人脸的的区域有红色区域,这个时候呢用sliding window在图片上进行检测,对于每一个窗口里面的object进行识别,就是检测这个window里面的object是不是红色的区域,是的话就是检测的到的人脸啦。这里我们首先看一下我们程序的结果: 右上方的图片最后的那个区域就是哦我们想要的,那个红色的区域就是我们想要的。
  具体的做法就是先在classification net上进行pre-train,之后去掉softmax层,改全部的fc层改成卷积层,如何该呢,参考这个链接,代码如下:
[python]  view plain copy
在CODE上查看代码片 派生到我的代码片
  1. def convert_full_conv(model_net,model_params,model_net_fc,model_params_fc):  
  2.     //原有的全连接层  
  3.      params = ['fc6''fc7']  
  4.      params_fc =  ['fc6-conv''fc7-conv']  
  5.     //加载原有的classification net  
  6.     net = caffe.Net(model_net, model_params, caffe.TEST)  
  7.     //提取fc层中的最后的两个fc层作为一个字典{layerName:(c*w*h,b)}  
  8.     fc_params = {pr: (net.params[pr][0].data, net.params[pr][1].data) for pr in params}  
  9.     //加载fc-conv net  
  10.     net_fc = caffe.Net(model_define_fc, model_weight, caffe.TEST)  
  11.     //fc-conv参数  
  12.     conv_params = {pr: (net_fc.params[pr][0].data, net_fc.params[pr][1].data) for pr in params_fc}  
  13.     //把fc层的后面的三个参数flat,也就是相乘  
  14.     for pr, pr_conv in zip(params, params_fc):  
  15.        conv_params[pr_conv][0].flat = fc_params[pr][0].flat  
  16.        conv_params[pr_conv][1][...] = fc_params[pr][1]  
  17.     net_fc.save(model_weight_fc)  
  18.     print 'convert done!'  
  19.     return net_fc  
     之后把原来的那张图片输入网络,就会得到最终的heatmap,之所以有那么多的heatmap是因为对图片进行了不同程度的放缩。

这篇关于deep learning: heat Map的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050197

相关文章

Go语言利用泛型封装常见的Map操作

《Go语言利用泛型封装常见的Map操作》Go语言在1.18版本中引入了泛型,这是Go语言发展的一个重要里程碑,它极大地增强了语言的表达能力和灵活性,本文将通过泛型实现封装常见的Map操作,感... 目录什么是泛型泛型解决了什么问题Go泛型基于泛型的常见Map操作代码合集总结什么是泛型泛型是一种编程范式,允

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

Java中List转Map的几种具体实现方式和特点

《Java中List转Map的几种具体实现方式和特点》:本文主要介绍几种常用的List转Map的方式,包括使用for循环遍历、Java8StreamAPI、ApacheCommonsCollect... 目录前言1、使用for循环遍历:2、Java8 Stream API:3、Apache Commons

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

Collection List Set Map的区别和联系

Collection List Set Map的区别和联系 这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否

OpenStack离线Train版安装系列—10.控制节点-Heat服务组件

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减

Map

Map 是 Java 中用于存储键值对的集合接口。以下是对 Map 的详细介绍: 特点 键值对存储:每个元素包含一个键和一个值。 键唯一:键不能重复,但值可以重复。 无序/有序:根据具体实现,键值对的顺序可能无序(如 HashMap)或有序(如 TreeMap、LinkedHashMap)。 主要实现类 HashMap 基于哈希表,无序存储。 允许一个 null 键和多个 null 值。

Java中集合类Set、List和Map的区别

Java中的集合包括三大类,它们是Set、List和Map,它们都处于java.util包中,Set、List和Map都是接口,它们有各自的实现类。Set的实现类主要有HashSet和TreeSet,List的实现类主要有ArrayList,Map的实现类主要有HashMap和TreeMap。那么它们有什么区别呢? Set中的对象不按特定方式排序,并且没有重复对象。但它的有些实现类能对集合中的对