Graph Convolutional Neural Networks for Web-Scale Recommender Systems abstract introduction related work method problem setup model architecture Forward propagation algorithm Importance-based neighborhoods Stacking convolutions model training Multi-GPU training with large minibatches Producer-consumer minibatch construction. Sampling negative items Node Embeddings via MapReduce 总结 abstract 在大规模数据上使用GCN做数据挖掘
introduction a random-walk-based GCN–PinSage 处理 3 billion nodes and 18 billion edges的图 为了在大规模图上运行,使用了On-the-fly convolutions;Producer-consumer minibatch construction; Efficient MapReduce inference 同时,使用的减少网络的复杂度的方法:Constructing convolutions via random walks;Importance pooling 使用Curriculumtraining来学习 related work method GCN的方法:一个节点可以形成一个local network,对很多个节点的local network进行GCN,这样,GCN网络的权重被每个network共享。
【fishing-pan:https://blog.csdn.net/u013921430 转载请注明出处】 前言 在实际的拍照过程中,常常会遇到,光线不足的情况。这时候单反用户一般会调大感光度,调大光圈,以让照片整体更清晰,更亮。那么如果照片已经被拍的很暗了,怎么办呢?这时候我们可以利用算法来提升图像整体的光照情况,让图像更清晰。
2013年这篇《Adaptive Local Tone Mapping Based on Retinex for High Dynamic Range Images》发表在了IEEE上,如题目所说,文章提到将高动态图像在低动态范围显示设备上进行显式时,会面临信息丢失的问题。因此结合传统的CENTER/SURROUND RETINEX 技术提出了全局自适应和局部自适应的HDR实现过程,对HDR image 进行色调映射。而文中的全局自适应方法对于低照度图像具有很好的照度提升效果。作者将他的Matlab脚本上传到了Github,有兴趣的可以点击这里去查看。
全局自适应原理 全局自适应方法的原理很简单,就是两个公式;
L
g
(
x
,
y
)
=
l
o
g
(
L
w
(
x
,
y
)
/
L
w
ˉ
+
1
)
l
o
g
(
L
w
m
a
x
/
L
w
ˉ
+
1
)
L_{g}(x,y)=\frac{log(L_{w}(x,y)/\bar{L_{w}}+1)}{log(L_{wmax}/\bar{L_{w}}+1)}
Lg(x,y)=log(Lwmax/Lwˉ+1)log(Lw(x,y)/Lwˉ+1)
上述式子中,
L
g
计算机视觉算法在图像识别方面的一些难点:
1)视角变化:同一物体,摄像头可以从多个角度来展现;
2)大小变化:物体可视的大小通常是会变化的(不仅是在图片中,在真实世界中大小也是由变化的);
3)形变:很多东西的形状并非一成不变,会有很大变化;
4)遮挡:目标物体可能被遮挡。有时候只有物体的一部分(可以小到几个像素)是可见的; 5)光照条件:在像素层面上,光照的影响非常大;
6)背景干扰:物体可能混入背景之中,使之难以被辨认;
7)类内差异:一类物体的个体之间的外形差异很大,如椅子。这一类物体有许多不同的对象,每个都有自己的外形
人脸识别算法主要包含三个模块:
人脸检测(Face Detection):确定人脸在图像中的大小和位置,也就是在图像中预测anchor;
人脸对齐(Face Alignment):它的原理是找到人脸的若干个关键点(基准点,如眼角,鼻尖,嘴角等),然后利用这些对应的关键点通过相似变换(Similarity Transform,旋转、缩放和平移)将人脸尽可能变换到标准人脸;
人脸特征表征(Feature Representation):它接受的输入是标准化的人脸图像,通过特征建模得到向量化的人脸特征,最后通过分类器判别得到识别的结果。关键点是怎样得到不同人脸的有区分度的特征,比如:鼻子、嘴巴、眼睛等。
早期算法:
子空间(线性降维)
PCA(主成成分分析) :尽量多地保留原始数据的保留主要信息,降低冗余信息;
LDA(线性判别分析):增大类间差距,减小类内差距。
非线性降维: 流形学习、加入核函数。
ICA(独立成分分析):比PCA效果好,比较依赖于训练测试场景,且对光照、人脸的表情、姿态敏感,泛化能力不足。
HMM(隐马尔科夫) : 和前面这些算法相比,它对光照变化、表情和姿态的变化更鲁棒。
早期:数据和模型结构;
后期:loss,从而得到不同人脸的有区分度的特征。
常用算法总结 计算机视觉中的相关算法的源代码
计算机视觉常用算法博客
特征提取(找到若干个关键点)
(1) SIFT (尺度不变特征变换) 具有尺度不变性,可在图像中检测出关键点。
(2) SURF(加速稳健特征,SIFT加速版)
核心:构建Hessian矩阵,判别当前点是否为比邻域更亮或更暗的点,由此来确定关键点的位置。
优:特征稳定;
缺:对于边缘光滑的目标提取能力较弱。
(3) ORB 结合Fast与Brief算法,并给Fast特征点增加了方向性,使得特征点具有旋转不变性,并提出了构造金字塔方法,解决尺度不变性. ORB算法的速度是sift的100倍,是surf的10倍。 经显示观察到,ORB算法在特征点标记时数量较少,如图:
SIFT、SURF、ORB实现
(4) FAST角点检测
FAST的方法主要是考虑像素点附近的圆形窗口上的16个像素
如果要提高检测速度的话,只需要检测四个点就可以了,首先比较第1和第9个像素,如果两个点像素强度都在中心像素强度t变化范围内(及都同中心点相似),则说明这不是角点,如果接下来检测第5和13点时,发现上述四点中至少有三个点同中心点不相似,则可以说明这是个角点。
非极大值抑制:如果存在多个关键点,则删除角响应度较小的特征点。
(5) HOG (方向梯度直方图)
(6) LBP(局部二值特征)论述了高维特征和验证性能存在着正相关的关系,即人脸维度越高,验证的准确度就越高。
(7)Haar
人脸识别相关论文阅读 ICCV2017开放论文
一文带你了解人脸识别算法演化史!
美颜是个常见的话题,暗藏了一个基础性的问题,什么是美,也就是人像之审美。
中国人审美的标准:
1,面部轮廓——“三庭五眼”;
2,人脸正中垂直轴上——“四高三低”;
3,人脸正中水平轴上——“丰”;
4,五官精致
符合上述三个条件,即中国人眼中的美貌了。
下面我们来具体分析:
①三庭五眼
世界各国普遍认为“瓜子脸、鹅蛋脸”是最美的脸形,从标准脸形的美学标准来看,面部长度与宽度的比例为1.618∶1,也就是黄金分割比例。
我们中国人所谓的三庭五眼,是人的脸长与脸宽的一般标准比例,从额头顶端发际线到眉毛、从眉毛到鼻子、从鼻子到下巴,各占1/3,这就是“三庭”;脸的宽度以眼睛的宽度为测量标准,分成5个等份,这就是“五眼”,具体如下图所示:
②四高三低
所谓“四高”是指:
第一高点,额部;
第二个高点,鼻尖;
第三高点,唇珠;
第四高点,下巴尖;
所谓“三低”是指:
第一低,两个眼睛之间,鼻额交界处必须是凹陷的;
第二低,在唇珠的上方,人中沟是凹陷的,美女的人中沟都很深,人中脊明显;
第三低,在下嘴唇唇的下方,有一个小小的凹陷;
“四高三低”在头侧面相上最明确,如下图所示:
③“丰”字审美
“丰”是指人脸正中横轴上符合“丰”字审美准则。在人的面部上画上一个“丰”字,来判断美丑。先作面部的中轴线,再通过太阳穴(颞部)作一条水平线,通过两侧颧骨最高点作一条平行线,再通过口角到下颌角作一条平行线。形成一个“丰”字。在“丰”字的三横上面,颞部不能太凹陷,也不能太突起;如下图所示:
④五官精致
五官精致包含一下几个方面:
1、眼睛美:
双眼对称,眼窝深浅适中
2、鼻子美:
鼻根与双眼皮位置等高
3、耳廓美:
双耳对称,大小及形态相同
4、口唇美:
上唇下1/3部微向前翘
5、牙齿美:
静止状态时上前牙覆盖下前牙形1/3;正中上前牙与面形相同,牙齿整齐,洁白;微笑时露出双侧尖牙;
上面这些就是我们东方人所认为的貌美审美观,也是本人根据网络资源所做的一些总结。当然这只是一种大众认可,而并非所有人。对于真正的美女,不单单是这些内容,还要有形体与身材的审美等。
本文这里给大家普及的内容,主要是作为美颜算法研究的知识储备,所谓知己知彼,只有我们更了解什么是美,那么,我们的美颜算法才能更上一层楼!
对噪声数字图像处理之前,必须首先了解数字图像中噪声的来源,产生机理及噪声的数学模型。系统的分析了CCD相机成像过程中的噪声组成,指出数字图像中主要的噪声种类包括模式噪声、暗电流噪声、光子噪声、读出噪声、热噪声、以及量化噪声,以下对各个噪声做具体说明。 (1)模式噪声在数字图像成像过程中形成,相机传感器通过感知光子的强度和数量,转换为一定对应强度关系的电信号,在此过程中,受现代工艺水平的限制,还无法做到所有感光元件性能绝对一致统一,形成了图像获取过程中的噪声。
(2)暗电流噪声指在没有入射光照条件下,对MCP两端施加电压信号,通道中输出的反向电流,可看作背景白噪声「sod,暗电流噪声对工作温度和制造工艺敏感,在低温条件下可忽略不计。
(3)光子噪声指光子的离散性或粒子性所引起的噪声,即便光照功率恒定,每一时刻到达传感器的光子数量也是随机的,这种数量的变动造成了光子噪声。
(4)读出噪声包括读出电路中各种电子元气件所具有的固有噪声和电路设计中引入的噪声。
(5)热噪声存在于所有电子元器件及传输介质中,任何的放大电路都存在热噪声,减少热噪声最好的方法就是将电路至于极低的温度环境下,这在现实应用中是不可能实现的。
(6)量化噪声是由于数字图像是经过模数电路量化转换的,在采样过程中存在信息的损失和近似误差。
图像噪声降低了图像的视觉效果,影响和限制了后续其它图像处理算法的妙果,图像去噪己经成为图像处理领域中必不可少的一环。
题目描述
原题来自:POJ 3417
Dark 是一张无向图,图中有 N 个节点和两类边,一类边被称为主要边,而另一类被称为附加边。Dark 有 N–1 条主要边,并且 Dark 的任意两个节点之间都存在一条只由主要边构成的路径。另外,Dark 还有 M条附加边。
你的任务是把 Dark 斩为不连通的两部分。一开始 Dark 的附加边都处于无敌状态,你只能选择一条主要边切断。一旦你切断了一条主要边,Dark 就会进入防御模式,主要边会变为无敌的而附加边可以被切断。但是你的能力只能再切断 Dark 的一条附加边。
现在你想要知道,一共有多少种方案可以击败 Dark。注意,就算你第一步切断主要边之后就已经把 Dark 斩为两截,你也需要切断一条附加边才算击败了 Dark。
输入格式
第一行包含两个整数 N 和 M;
之后 N–1 行,每行包括两个整数 A 和 B表示 A 和 B 之间有一条主要边;
之后 M 行以同样的格式给出附加边。
输出格式
输出一个整数表示答案。
主要边是原图的一棵生成树,附加边是图中的非树边。
对于每条非树边(x,y),它会和树上x到y的路径构成一个环,当第一步切断x到y路径中的一条边时,第二步就需要切断非树边(x,y),才能保证原图不联通。
但我们第二步只能切断一条边啊,所以如果第一步的路径对应的要切断两条或以上的非树边,就没有办法了。
所以我们枚举每条非树边(x,y),把x到y路径上所有边的边权+1,对于每条树边,如果边权为0,则切断它之后原图已经不联通,第二条边随便切一条,共m种方案。如果边权为1,则第二步必须切断对应的那条边,方案数1,如果边权大于2则没有方案。
这个边权我们可以利用树上差分来维护,对于非树边(x,y),令结点x和y的点权加1,lca(x,y)的点权减2,这样每个点子树的点权和就是该点到它的父亲的边的边权。证明就不详细讲了。
代码:
#include #include #include #include #include #define maxn 100010 #define maxm 500010 using namespace std; int head[maxn],f[maxn][30],dep[maxn],cnt,num[maxn],fr[maxm],t[maxm],ff[maxn]; struct edge { int next; int to; }e[maxm]; void insert(int u,int v) { e[++cnt].
我们常说的HDR(High dynamic range)指的是HDRI(HDR image),如下图所示,是前处理的HDR技术。由于常用的显示器(手机、平板、电视)亮度不够而无法显示高动态范围信号,ISP合成的HDR数据需进行tone mapping后才能在8bit或10bit显示设备上显示。 因此从显示的角度来讲,由于亮处不够亮(1000nits以上),暗处不够暗(0.01nits以下),已经不属于HDR了。 真正意义上是HDR,HDR system指能将相机捕捉的动态范围从源端传到终端显示,并且没有动态范围衰减包括sensor输出,前处理,编码传输,解码显示,如下图所示,关键技术是transfer functions(OETF/EOTF)的设计和优化。 高动态、宽色域、高分辨率、高帧率、高位宽电视能呈现更真实的画面,使得高亮处更亮,暗处更暗,亮暗极限对比度更高,同时,能提供丰富的亮暗区域细节。 人眼可以感知很宽的动态范围,而一般的sensor很难做到,自然场景的的亮度范围如下图所示,典型范围在0-10000nits,人眼可以毫不费劲的同时观察亮暗场景,而sensor在一次曝光中很难做到,当然,现在也有些相机可以做到,比如SONY F65,单次曝光,输出16bit线性RAW数据。 对于一般的Camera,可通过调整曝光参数,光圈大小,来捕捉不同亮度范围的图像,如下图所示。 更高的亮度,可以呈现更多的色彩,因此对于高动态数据,需要使用更宽的色域(颜色体积),比如2020色域,如下图所示,目前支持HDR功能的电视,大多使用2020色域,许多影院的设备能支持DCI P3色域,也有些手机、笔记本可支持到DCI P3,比如Galaxy S8,iMac pro。 BT.709 35.9% of CIE 1931 可显示CIE 1931色度图中的35.9% DCI P3 53.6% BT.2020 75.8% 支持HDR功能的显示设备,往往能够显示高位宽、广色域的数据,目前主要有两种HDR标准:HDR10、HLG,由于tone mapping技术的多样性,诞生了多种HDR标准,常见的显示HDR技术: 1. HDR10 2015年8月开始正式采用,该标准使用2020色域、10bit位宽、ST2084(PQ曲线)作为传递函数。 2. HLG Hybrid Log-Gamma标准由英国BBC和日本NHK共同提出,该标准采用HLG曲线作为传递函数,曲线低端与Gamma曲线相同,因此,在显示要求不是很高的场合,可以兼容现有的SDR电视,这也是该标准提出来的初衷。 3. Dolby vision 该标准由Dolby实验室提供,使用ST2084曲线作为传递函数,10bit/12bit位宽,2020色域,相比于HDR10的static metadata,Dovi使用的是Dynamic metadata,会根据场景信息对显示效果进行优化,现已被众多电视和机顶盒产品商用,需要说明的是,使用Dovi技术的产品需要Dolby授权,每台电视收取不超过3$的授权费。 4. HDR10+ 该标准由SAMSUNG和AMAZON共同提取,使用PQ曲线编码,HDR10+完全兼容HDR10,只不过使用Dynamic metadata,tone mapping曲线为Bezier曲线。 该标准是一个免版税的开放标准。 5. SL-HDR1 由STM、Philips和Technicolor共同提出,使用Dynamic metadata,兼容SDR电视
参考资料: [1] https://en.wikipedia.org/wiki/High-dynamic-range_video [2] https://en.wikipedia.org/wiki/Gamut [3] Recommendation ITUt R BT.2100t 0 (07/2016), “Image parameter values for high dynamic range television for use in production and international programme exchange” [4] https://en.
Colorization and Color Transfer(图像上色和颜色迁移)
Semantic Colorization with Internet Images, Chia et al. SIGGRAPH ASIA 2011 Color Harmonization, Cohen-Or, Sorkine, Gal, Leyvand, and Xu. Web Page Computing the alpha-Channel with Probabilistic Segmentation for Image Colorization, Dalmau-Cedeno, Rivera, and Mayorga Bayesian Color Constancy Revisited, Gehler, Rother, Blake, Minka, and Sharp Color2Gray: Salience-Preserving Color Removal, Gooch, Olsen, Tumblin, and Gooch Color Conceptualization, Hou and Zhang Light Mixture Estimation for Spatially Varying White Balance, Hsu, Mertens, Paris, Avidan, and Durand.
ArcGIS教程之DEM(高程)的应用(坡度坡向、提等高线) 发布时间:2018-01-17 版权:
相关教程:
DEM水文分析(一)
Arcgis下DEM水文分析(二)
DEM的应用包括:坡度:Slope、坡向:Aspect、提取等高线、算地形表面的阴影图、可视性分析、地形剖面、水文分析等,其中涉及的知识点有:
a)掌握根据DEM 计算坡度、坡向的方法。
b)理解基于DEM数据进行水文分析的基本原理。
c)利用ArcGIS的提供的水文分析工具进行水文分析的基本方法和步骤。
第一步:需要的工具
1. BIGEMPA地图下载器(全能版已授权) 下载地址:http://download.bigemap.com/bmsetup.rar
2. Global Mapper 14. 下载地址:Global Mapper 14.1汉化版.rar
3. ARCGIS下载地址:http://www.bigemap.com/helps/doc2018011754.html
第二步骤:通过BIGEMAP下载高程数据
1. 启动BIGEMAP地图下载器软件,查看左上角是否显示【已授权:所有地图】,如果没有该显示,请联系我们的客服人员。如下图所示:
2. 选择左上角属性选项,选择【高程】,如下图:
3. 选在你要的区域,双击下载,如下图所示:
4. 选择下载的级别,建议尽量下载16级的,16级为最好级别。如果16级不能勾选,请选择下载小一点的范围,高程为矢量数据,超过20M大小,一般电脑都很难处理生成的等高线。下载之后的数据为tiff格式,实际为dem高程数据。
6. 启动安装好的Global Mapper软件,启动中文版在安装好的目录下有个chs或则chinese的启动图标,如下图所示:
7. 将下载好的高程数据(下载目录下的后缀为tiff格式)拖入到global mapper中,如下图所示:
修改下载的高程数据的投影为【UTM】
在Global mapper中选择:工具->设置,弹出对话框,如下:
然后另存为【DEM】格式,如下图:
在弹出的对话框中选择【DEM】格式,如下图:
点击【确定】,保存。
DEM应用之坡度:Slope
打开ArcMap软件,选择添加按钮,将刚才保存的DEM文件打开,如下图:
在ArcMap中,需要打开【扩展模块】功能,如下图:
弹出的对话框中勾选所有选项,如下图:
点击【关闭】。
2) 在【ArcToolbox】中,执行命令[3D Analyst工具]——[栅格表面]——[坡度], 如下图所示,指定各参数:
执行后,得到坡度栅格Slope_tingri1:坡度栅格中,栅格单元的值在[0 -82] 度间变化,如下图:
右键点击图层[Slope_TinGrid],执行[属性命令],设置图层[符号系统],重新调整坡度分级。将类别调整为5,点[分类]按钮,用手动分级法,将中断值调整为:8,15,25,35,90。
确定后,如下:
【下面计算剖面曲率】
在【ArcToolbox】中,执行命令[3D Analyst工具]——[栅格表面]————[坡度]。按如下所示,指定各参数。得到剖面曲率栅格:[Slope _Slope],如下图:
DEM应用之坡向:Aspect
打开【ArcToolbox】,执行命令[3D Analyst工具]——[栅格表面]——[坡向],按下图所示,指定各参数:
执行结果为(得到坡向栅格:[Aspect_tgrid]):
【以下计算平面曲率】:
在【ArcToolbox】中,执行命令[3D Analyst工具]——>[栅格表面]——>[坡度],按下图所示,指定各参数,按下图所示指定各参数:
什么是坏点 坏点的定义:在数码相机上,坏点指无法正确捕捉光线的感光组件单元,若感光元件出现坏点,会直接造成成像的暇疵。LCD的坏点包括亮点、暗点与色点三类,感光元件与LCD相似,也存在这三类坏点。
引起坏点的原因:
(1)工艺 : (a)在sensor 的制作过程中有灰尘等引起。
(b)电子产品的寿命影响有限,导致会随着使用时间增加而引起坏点。
(2)noise :(a)sensor gain 增大
(b)温度增高等
坏点分为静态坏点和动态坏点:
静态坏点: 不会随着时间、增益等改变,从sensor 制造时因为工艺等产生的坏点。
动态坏点: 因为增益、温度等引起的坏点,会随着时间变化而改变。
类型:hot pixel、dead pixel、weak pixel
hot pixel : 比周围点亮很多的坏点 。
dead pixel: 比周围点暗很多的坏点。
weak pixel:没有提供一个正确的像素值,但是并没有比周围点特别亮或者特别暗的像素。
坏点和噪点的区别 图像的噪点是由扫描仪或数码相机的感光元件和图像处理电路产生图像时造成的亮度或颜色信息的随机变化。
以下是噪点与坏点的区别对比:
噪点 坏点
位置 随机 固定
颜色 随机 暗点和亮点固定,色点不固定
亮度 随机 暗点和亮点固定,色点不固定
受温度影响 是 否
受感光度影响 非常明显 亮点和色点受轻微影响
受曝光时间影响 明显 亮点和色点受轻微影响
坏点校正过程 识别坏点 ISP支持高中低端不同的sensor,不同级别的sensor特点不同。
高端sensor分辨率高,在制造出厂时,已经通过测试知道了坏点的位置。
低端sensor分辨率低,而且一般会有大量的坏点(defects),而且在出厂时,一般没有测试坏点位置,需要通过ISP来设别这些坏点。
另一个问题是,对于热噪点(hot pixel),持续时间长,密度甚至可达5%,对于高分辨率的sensor来说,坏点个数就非常多。而且,这种坏点是实时变化的。
识别方法:
在RGB Bayer域上做5×5的评估,取在评估窗内偏离度超过阈值的点为坏点。一个典型的简单方法:
avg=sum(*)
dif=(次max点 – 次min点)