5 hyk_1996

尚未进行身份认证

我要认证

智能科学与技术

等级
TA的排名 5w+

数据结构和算法笔记(2)基础算法模板

有很多的基础算法经常会用到,但是又容易写错。而网上查到的实现又五花八门、良莠不齐,故在此整理记录。本文的目录如下:1.二分查找1.二分查找一个细节就是计算middle时,用 (left + right) / 2 容易数值溢出,所以改成 middle = left + (right - left) / 2.c++实现:#define LEFT_BOUND 0#def...

2020-02-07 00:18:17

基于深度学习的低光照图像增强方法总结(2017-2019)

之前在做光照对于高层视觉任务的影响的相关工作,看了不少基于深度学习的低光照增强(low-light enhancement)的文章[3,4,5,7,8,9,10],于是决定简单梳理一下。光照估计(illumination estimation)和低光照增强(low-light enhancement)的区别:光照估计是一个专门的底层视觉任务(例如[1,2,6]),它的输出结果可以被用到其它任务...

2019-08-15 16:29:21

编程时踩过的坑(主要是c++)

1.数值溢出存储数据时要考虑数值溢出的问题,选择合适的类型,特别要注意数值运算时的数值范围是否合适。比方说,如果使用了int类型,尽管数据本身没有超范围,但是在进行乘法计算时却可能会产生数值溢出。c++类型的数值范围速查表:Type Typical Bit Width Typical Range char 1byte -127 to 127 or 0 to ...

2019-07-17 14:49:53

数据结构和算法笔记(1)数论相关

最近在刷编程题,发现了许多杂七杂八的知识点,稍微归类并记录下来方便后续查阅。本文的目录如下:1.组合数 2.快速幂 3.大数取模(乘法逆元和费马小定理) 4.菲波拉契数列1.组合数的求法组合数,为了方便也写作C(n, k),表示从n个不同元素中取出k (k≤n)个元素的所有组合的个数。我们知道存在公式C(n, k) = [n*(n-1)*(n-2)*.....

2019-07-10 17:44:44

PyTorch中的padding(边缘填充)操作

简介我们知道,在对图像执行卷积操作时,如果不对图像边缘进行填充,卷积核将无法到达图像边缘的像素,而且卷积前后图像的尺寸也会发生变化,这会造成许多麻烦。因此现在各大深度学习框架的卷积层实现上基本都配备了padding操作,以保证图像输入输出前后的尺寸大小不变。例如,若卷积核大小为3x3,那么就应该设定padding=1,即填充1层边缘像素;若卷积核大小为7x7,那么就应该设定padding=...

2019-07-02 16:16:58

人体解析任务 和 Look into Person数据集 (附源码分享)

人体解析任务人体解析(human parsing),属于语义分割任务的子任务,旨在对人类图像进行像素级的是细粒度分割(例如,划分出身体部位和服装)。根据不同的场景,又可以分为单人人体解析(single-person human parsing)和多人人体解析(multi-person human parsing,或者 instance-level human parsing)。除此之外,按照处...

2019-06-14 15:38:37

python列表的三种拷贝方式的性能分析

对于一个很大的列表,如果要对其进行复制,那么有三种方式可以选择。第一种是直接用for循环复制,第二、第三种则是使用python自带的copy和deepcopy方法。copy和deepcopy的区别在于,copy仅仅对被复制对象本身的值进行复制,而deepcopy则还会对被复制对象的所有子对象进行递归和拷贝。举例来说,如果一个字典里的value里包含了列表,那么在复制这个字典时,deepco...

2019-04-26 12:56:09

LaTeX 系列(2) —— 中文支持

本文内容基于 Ubuntu16.04 和 TexLive 2018.对于完整安装的TexLive2018, 应该是已经包含了中文支持的,使用 xeCJK 宏包即可。我们可以测试一下以下代码:\documentclass{article}\usepackage{xeCJK}% use buildin Chinese font in linux\setCJKmainfont{We...

2019-04-20 18:23:55

Domain Adaptation through Synthesis for Unsupervised Person Re-identification 论文笔记

这篇文章来自ECCV2018. 主要针对无监督的行人再识别任务,首先用3D引擎和环境渲染技术构建了一个多光照条件的虚拟行人数据集,接着用该合成数据集和其它大型真实数据集合并,共同预训练了一个模型。由于涵盖了各种光照情况,该模型具有良好的泛化性能。为了进一步提升无监督性能,该文章提出了一种域自适应技术(有约束的cycleGAN),选择和目标域的光照情况最相似的那些合成图像,迁移到目标域上,再利用迁移...

2019-02-22 17:13:25

损失函数SSIM (structural similarity index) 的PyTorch实现

SSIM介绍结构相似性指数(structural similarity index,SSIM), 出自参考文献[1],用于度量两幅图像间的结构相似性。和被广泛采用的L2 loss不同,SSIM和人类的视觉系统(HVS)类似,对局部结构变化的感知敏感。SSIM分为三个部分:照明度、对比度、结构,分别如下公式所示:将上面三个式子汇总到一起就是SSIM:其中,上式各符号分...

2019-02-21 20:56:33

PyTorch的可重复性问题 (如何使实验结果可复现)

由于在模型训练的过程中存在大量的随机操作,使得对于同一份代码,重复运行后得到的结果不一致。因此,为了得到可重复的实验结果,我们需要对随机数生成器设置一个固定的种子。许多博客都有介绍如何解决这个问题,但是很多都不够全面,往往不能保证结果精确一致。我经过许多调研和实验,总结了以下方法,记录下来。全部设置可以分为三部分: 1. CUDNNcudnn中对卷积操作进行了优化,牺牲了精度来...

2018-11-20 20:53:12

网络调参时踩过的坑(长期更新)

1.学习率大小的设置一般情况下,当网络收敛到一定程度时,loss曲线的变化不明显,并出现上下的小幅度波动,这时候可以考虑调小学习率,帮助网络进一步收敛到最优值。如下图所示:但有些情况,网络看似收敛了,但实际上是到了某些平坦的曲面,离最优值还有一段距离。典型的loss curve如下图所示:可以观察到,曲线还在非常稳定地缓慢下降,并且没有上下波动。这时不要误以为网络已经收敛,而要...

2018-09-15 16:35:07

卷积神经网络的权值初始化方法

卷积层:normal 从均值为0,方差为1的高斯分布中采样,作为初始权值。PyTorch中的相关函数如下:torch.nn.init.normal_(tensor, mean=0, std=1)kaiming_normal 由FAIR的大牛Kaiming He提出来的卷积层权值初始化方法,目的是使得每一卷积层的输出的方差都为1,具体数学推导可以参考论文[1]. 权值的初始化方...

2018-08-28 14:07:56

Linux Ubuntu 笔记(长期更新)

软链接、硬链接:前者相当于快捷方式,后者则相当于重新拷贝了一次。软链接命令:ln -s /home/sb/a /home/sb/b注意!删除软链接时,注意rm a 和 rm -r a/的区别,后者会将源文件夹也删除,血的教训。批删除文件:sudo find . -name 'xxx.tmp' | xargs sudo rm -rf支持通配符和正则表达式。...

2018-08-17 14:20:03

ICCV2015论文翻译 Scalable Person Re-identification: A Benchmark

网页的排版效果不好,可以从以下链接下载pdf版本:https://download.csdn.net/download/hyk_1996/10602389 Scalable Person Re-identification: A Benchmark可拓展的行人重识别:一个基准 摘要这篇论文贡献了一个新的用于行人重识别领域的高质量数据集,称为“Market-1501”.一...

2018-08-14 10:20:27

行人重识别 MSMT17数据集描述

        最近的CVPR2018会议上,提出了一个新的更接近真实场景的大型数据集MSMT17,即Multi-Scene Multi-Time,涵盖了多场景多时段。 早期数据集的缺点(1)和实际的监控网络相比,数据集中行人和摄像头的数目不多;(2)大多数数据集仅覆盖单一场景;(3)时间跨度短,没有显著的光照变化;(4)行人检测器有昂贵的人工标注或过时的DPM模型实现。...

2018-08-12 16:52:04

论文笔记的格式

关于阅读文献    采用三步走的方法,而不是逐字逐句的全文阅读。第一步阅读让你对文献的主要想法有一个了解,判断该文献是否值得阅读(自己掌握的知识是否足够理解该文献);第二步阅读文献内容,而不是细节,做文献调研的话,到这一步就足够了;第三步是深入理解细节,以期望能够复现论文结果。    第一步,快速浏览,从而获得对文献的一个全局的把握,需要仔细地阅读文章标题、摘要、导论,以及各章节的标题。这...

2018-07-23 13:20:47

2017 深度学习语义分割指南

A 2017 Guide to Semantic Segmentation with Deep LearningSasank Chilamkurthy | July 5, 2017At Qure, we regularly work on segmentation and object detection problems and we were therefore interested ...

2018-07-18 13:53:04

PyTorch踩过的坑(长期更新,转载请注明出处)

最近在知乎看到有人转载了这里的内容,提醒一下,欢迎转载,但是请注明出处,谢谢。1. nn.Module.cuda() 和 Tensor.cuda() 的作用效果差异无论是对于模型还是数据,cuda()函数都能实现从CPU到GPU的内存迁移,但是他们的作用效果有所不同。对于nn.Module:model = model.cuda()model.cuda()上面两句能...

2018-06-27 10:43:48

LaTeX 系列(1) —— 介绍、安装和使用

撰写学术论文,经常会听人提到的一个排版工具就是LaTeX,于是今天就来入坑学习一下这个神奇的工具。本文主要基于Windows系统,先简单体验一下。介绍TeX是一个排版工具,然后LaTeX是基于TeX的宏集。基于TeX的各种衍生实在是太多了,这篇博客有一个很好的介绍。我们要记住的就是,宏集(LaTeX、plain TeX)相当于编程语言,引擎相当于编译器(XeTeX、pdfTeX). 发行版就是一个...

2018-06-16 13:58:23

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。