6 MingChaoSun

尚未进行身份认证

我要认证

潜心技术,不离不弃!

等级
TA的排名 6k+

论文阅读记录: Automatic Image Colorization sig16

sig论文阅读记录Let there be Color!: Joint End-to-end Learning of Global and Local Image Priorsfor Automatic Image Colorization with Simultaneous Classification ( siggraph 2016 )

2016-06-03 16:26:16

CUDA编程(十)使用Kahan's Summation Formula提高精度

CUDA编程(十)使用Kahan’s Summation Formula提高精度之前我们用CUDA完成了矩阵乘法,但是当然会存在很多问题,除了速度问题,GPU浮点数运算的精度也很差,本篇博客从出现误差的原理(浮点数大数吃小数)分析,使用了Kahan's Summation Formula在一定程度上解决了CUDA运算float精度不够的情况。

2016-04-10 16:11:14

CUDA编程(九)并行矩阵乘法

CUDA编程(九)矩阵乘法在之前我们一直围绕着一个非常简单的求立方和的小程序学习CUDA,不过这个立方和的小程序没有什么实际意义,这篇博客我们用CUDA并行了矩阵乘法,问题也比较简单,基于上一个立方和程序的经验,完成这个程序也不算太难,但是运行结果存在很多问题,毕竟我们还没有开始优化,不过除了速度问题,GPU浮点数运算的精度也成了一个大问题,不过这些之后都会慢慢解决。

2016-04-09 17:44:16

CUDA编程(八)树状加法

CUDA编程(八)树状加法上一篇博客我们介绍了ShareMemory和Thread同步,最后利用这些知识完成了block内部线程结果的加和,减轻了CPU的负担,结果还是比较令人满意的,但是block的加和工作是使用一个thread0单线程完成的,这点还是有待改进的。那么这个单线程的加法部分如何解决呢?我们知道GPU上的程序只有并行才能发挥其优势,所以我们自然想到这个加法能不能并行呢?答案当然是可行的

2016-04-08 14:29:53

CUDA编程(七)共享内存与Thread的同步

CUDA编程(七)共享内存与Thread的同步在之前我们通过block,继续增大了线程的数量,结果还是比较令人满意的,但是也产生了一个新的问题,即,我们在CPU端的加和压力变得很大,所以我们想到能不能从GPU上直接完成这个工作。我们知道每个block内部的Thread之间是可以同步和通讯的,本篇我们将让每个block把每个thread的计算结果进行加和。所以本篇博客我们将研究CUDA架构中Threa

2016-04-07 19:28:49

CUDA编程(六)进一步并行

CUDA编程(六)进一步并行在上一篇博客中给大家介绍了一个访存方面非常重要的优化,我们通过使用连续的内存存取模式,取得了令人满意的优化效果,最终内存带宽也达到了GB/s的级别。之前也已经提到过了,CUDA不仅提供了Thread,还提供了Grid和Block,本篇博客通过使用block进行了进一步的并行,得到了比较令人满意的结果

2016-04-06 15:27:56

CUDA编程(五)关注内存的存取模式

CUDA编程(五)关注内存的存取模式除了通过Block继续提高线程数量来优化性能,这次想给大家先介绍一个访存方面非常重要的优化,同样可以大幅提高程序的性能,即通过尽可能的连续操作内存,减少内存存取方面的时间浪费。通过最终的结果我们可以看到,看似不起眼的一个小改进(尽可能的去连续操作内存),竟然有这近7倍的性能提升,所以希望大家记住这个优化。

2016-04-05 19:08:59

CUDA编程(四)并行化我们的程序

CUDA编程(四)并行化我们的程序 上一篇博客主要讲解了怎么去评估CUDA程序的表现,博客的最后我们计算了在GPU上单线程计算立方和的程序的内存带宽,发现其内存带宽的表现是十分糟糕的。 这篇博客主要讲解了怎么去使用Thread去简单的并行我们的程序,虽然我们的程序运行速度有了50甚至上百倍的提升,但是根据内存带宽来评估的话我们的程序还远远不够,甚至离1G/S的水平都还差不少,所以我们的优化路还有很长。

2016-03-31 19:00:15

CUDA编程(三)评估CUDA程序的表现

CUDA编程(三)评估CUDA程序的表现这篇博客主要讲解了怎么去获取核函数执行的准确时间,以及如何去根据这个时间评估CUDA程序的表现,也就是推算所谓的内存带宽,总的来说有了这些准备,我们接下来就可以去优化程序了,但是优化过程也是十分复杂与漫长的,这里同样介绍了一个优秀CUDA程序应具有的特征以及通常的优化步骤。

2016-03-31 13:37:08

CUDA编程(二) CUDA初始化与核函数

这次给大家介绍CUDA的初始化和如何在显卡上运行程序,即先将数据从内存复制到显存,再写好运算的核函数,之后用CUDA调用核函数,完成GPU上的计算,之后将结果复制回内存,释放掉显存的整个过程。

2016-03-30 19:39:10

CUDA编程(一)第一个CUDA程序

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

2016-03-28 22:52:04

高斯滤波

高斯滤波图像滤波之高斯滤波(Gauss filter)概述:高斯滤波:高斯滤波在图像处理概念下,将图像频域处理和时域处理相联系,作为低通滤波器使用,可以将低频能量(比如噪声)滤去,起到图像平滑作用。高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤

2016-02-04 14:49:35

图像平均及其在降噪方面的应用

图像平均及其在降噪方面的应用图像平均以及图像平均在应对椒盐/高斯/相机噪声方面的对比分析概述:图像平均操作是减少图像噪声的一种简单方式。我们可以简单地从图像列表中计算出一幅平均图像。假设所有的图像具有相同的大小,我们可以将这些图像简单地相加,然后除以图像的数目,来计算平均图像。算法步骤:对列表中的数字图像进行图像平均的处理顺序如下:a.输入或者获取文件名列表

2016-02-03 11:02:34

高斯噪声

高斯噪声图像噪声之高斯噪声(gauss noise)概述:高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声与椒盐噪声相似(Salt And Pepper Noise),高斯噪声(gauss noise)也是数字图像的一个常见噪声。椒盐噪声是出现在随机位置、噪点深度基本固定的噪声,高斯噪声与其相反,是几乎每个点上都出现噪声、噪点深度随机的噪声。算法步骤:通过概率论里关于正态分布的有关知

2016-02-02 21:34:49

椒盐噪声

椒盐噪声图像噪声之椒盐噪声(Salt And Pepper Noise)概述:椒盐噪声(salt & pepper noise)是数字图像的一个常见噪声,所谓椒盐,椒就是黑,盐就是白,椒盐噪声就是在图像上随机出现黑色白色的像素。椒盐噪声是一种因为信号脉冲强度引起的噪声,产生该噪声的算法也比较简单。算法步骤:我们使用信噪比(Signal NoiseRate)衡量图像噪声,图象的信噪比应该等于信号与噪声

2016-02-02 11:25:07

Android的logger机制分析

分析安卓的Logger机制一、概述Logger机制是在Android系统中提供的一个轻量级的日志系统,这个日志系统是以驱动程序的形式在内核空间实现的,在用户空间分别提供了Java接口和C/C++接口来使用这个日志系统,使用的接口取决于编写的是Android应用程序还是系统组件。下面我准备从应用开发和源码分析两部分来分析安卓的Logger机制。二、从Andro

2016-01-31 21:33:56

图像直方图与直方图均衡化

图像直方图与直方图均衡化图像直方图以及灰度与彩色图像的直方图均衡化图像直方图:概述:图像的直方图用来表征该图像像素值的分布情况。用一定数目的小区间(bin)来指定表征像素值的范围,每个小区间会得到落入该小区间表示范围的像素数目。图像直方图图形化显示不同的像素值在不同的强度值上的出现频率,对于灰度图像来说强度范围为[0~255]之间,对于RGB的彩色图像可以独立显示三种颜色的图像直方图。同时直方图是用

2016-01-29 12:47:11

python图像数组操作与灰度变换

Python图像数组操作使用python以及numpy通过直接操作图像数组完成一系列基本的图像处理numpy简介:NumPy是一个非常有名的 Python 科学计算工具包,其中包含了大量有用的工具,比如数组对象(用来表示向量、矩阵、图像等)以及线性代数函数。数组对象可以实现数组中重要的操作,比如矩阵乘积、转置、解方程系统、向量乘积和归一化。这为图像变形、对变化进行建模、图像分类、图像聚类等提供了基础

2016-01-27 11:03:32

python基本图像操作

Python基本图像操作使用python进行基本的图像操作与处理前言:与早期计算机视觉领域多数程序都是由 C/C++ 写就的情形不同。随着计算机硬件速度越来越快,研究者在考虑选择实现算法语言的时候会更多地考虑编写代码的效率和易用性,而不是像早年那样把算法的执行效率放在首位。这直接导致近年来越来越多的研究者选择 Python 来实现算法。今天在计算机视觉领域,越来越多的研究者使用 Python 开展研

2016-01-26 14:01:25

XAMPP端口占用问题的解决

前几天用XAMPP的时候突然报了下面的错误,没办法启动。错误:17:05:33 [Apache] Error: Apache shutdown unexpectedly.17:05:33 [Apache] This may be due to a blocked port, missing dependencies, 17:05:33 [Apache] improper privilege

2015-12-29 07:07:23

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!