demi的博客

OpenGL——可编程管线基础光照的实现

在OpenGL中创建 基础光照 ,主要的工作将模型中的法线信息和法线空间运算矩阵传入到shader中。另一方面,LightDir,ViewDir通常是在shader中从引擎参数获取的,为了简化光照模型的实现,这里我们可以在shader中写死。至于经典的 ambient+diffuse+specular 光照原理,不是本文的重点,就在shader中一笔带过了。

原理

通过函数

glm::mat4 normalMatrix = glm::inverseTranspose(s_shaderData.model);

可以获取当前模型的法线矩阵。用来将法线信息从模型坐标转换为世界坐标。这个矩阵是随着模型的Transform改变而改变的,因此需要在Render时动态计算。

实现

在 基础光照 中,数据传递没什么特殊的,将Normal信息作为attribute传递到shader,将NormalMatrix作为uniform传递到shader。

扫盲 | 新能源汽车的分类

新能源汽车目前已经越来越普及,对于外界所提到的纯电动车、插电式混合动力、增程式混合动力等等类型的新能源车仍困惑不已,它们到底有何区别,各自有何优势或不足呢?

扫盲 | 新能源汽车的分类

上面这张图如果您还没有完全看懂的话,别着急,下面的文章将进一步帮助我们扫盲!

1、电池动力汽车(BEV)

6 种激活函数核心知识点,请务必掌握!

作者:红色石头

我们知道,神经网络模型中,各隐藏层、包括输出层都需要激活函数(Activation Function)。我们比较熟悉的、常用的激活函数也有 ReLU、Sigmoid 等等。但是,对于各个激活函数的选取方法、区别特点还有几点需要特别注意的地方。今天红色石头就和大家一起来总结一下常用激活函数 Sigmoid、tanh、ReLU、Leaky ReLU、ELU、Maxout 的关键知识点。

1、为什么需要激活函数

神经网络单个神经元的基本结构由线性输出 Z 和非线性输出 A 两部分组成。如下图所示:

图像处理算法——边缘检测

图像处理领域中涉及很多特征,角点特征,边缘特征,形状特征,纹理特征,颜色特征,直方图统计特征等等(还有很多^_^)。这些特征有些是比较底层的特征,如角点特征,边缘特征,颜色特征等,有些则是较为高层的特征,如形状特征,纹理特征,直方图统计特征。

这里我们主要谈论底层特征中的边缘特征,提取这些特征的手段叫作边缘特征提取或叫作边缘检测。边缘检测常用的算子中分为一阶检测算子和二阶检测算子,这里提及的算子有些类似数学中的微分的概念(要有一定的数学基础哦)。边缘检测的另外一种形式也被成为相位一致性,这个概念我到后面再谈及,有了这个概念之后帮助我们从图像频域分析边缘提取这一过程。

Unity资源解决方案之AssetBundle

1、什么是AssetBundle

AssetBundle是Unity pro提供的一种用来存储资源的文件格式,它可以存储任意一种Unity引擎能够识别的资源,如Scene、Mesh、Material、Texture、Audio、noxss等等,同时,AssetBundle也可以包含开发者自定义的二进制文件,只需要将自定义文件的扩展名改为.bytes,Unity就可以把它识别为TextAsset,进而就可以被打包到AssetBundle中。Unity引擎所能识别的资源我们称为Asset,AssetBundle就是Asset的一个集合。

AssetBundle的特点:
压缩(缺省)、动态载入、本地缓存;

2、AssetBundle VS Resource

深入了解云威胁以及保护措施

据有关报告显示,公共云、私有云和混合云的风险差异很大。在向云数据和服务迈进的过程中,许多公司都在重新思考他们的网络安全方法。他们需要云安全策略吗?云安全策略有什么不同?而最近的一些调查揭示了安全战略是如何变化的,更重要的一点是,它们应该如何改变。本文将讲述有关执行成功的云安全策略所需的工具、信息和组织结构的建议。

在云中放置更多IT基础架构在某些方面更安全一些。例如,您可以合理的确定系统正在运行补丁的最新版本。云服务提供商也在构建新的功能,例如使用机器语言进行异常检测。但是同时,它也带来了新的风险,其中一些是误解如何管理云安全的结果。

重要的是要了解公司的云IT战略——无论是混合型、私有托管型还是公共型,都影响其网络安全战略和战术的执行。

什么是云安全风险?

来自云安全提供商Alert Logic的数据显示了与本地数据中心相比,每种形式的云环境的风险性质和数量。在18个月的时间里,该公司分析了来自3,800多家客户的147 PB的数据,以对安全事件进行量化和分类。在此期间,它发现了超过220万个真正的安全事件。

如何成为一名黑客(网络安全从业者)——网络攻击技术篇之网络嗅探

上次我们了解了黑客是如何为一次攻击做准备,今天我们正式进入攻击阶段,一起来学习一下如何进行网络嗅探,以获取关于目标主机所在网络的具体状况,并学习如何防范网络嗅探。

1、网络嗅探的原理

网络攻击者如果能够通过网络嗅探工具获得目标计算机网络传输的数据包,就可以通过对数据包按照协议进行还原和分析,从而获取目标计算机传输的大量信息。因此,网络嗅探技术是一种威胁性极大的非主动类信息获取攻击技术。

对目标计算机的网络进行嗅探可以通过Sniffer类工具(即网络嗅探器)来完成。利用这种工具,可以监视网络的状态、数据流动情况以及网络上传输的信息。如果信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行数据包的嗅探和获取。将网络嗅探设备或网络嗅探主机的网络接口设置为监听模式,便可以将网上传输的信息截获。攻击者常常利用网络嗅探技术截获网络中传输的用户远程登录的用户名和口令。网络管理员也常利用网络嗅探工具抓取网络中传输的各类数据,从而深入分析网络性能和故障,包括计算机之间的异常通信、不同网络协议的通信流量、每个数据包的源地址和目的地址等。从网络嗅探工具获取的数据包中,可以分析出非常详细的信息。

机器学习项目失败的9个原因,你中招了吗?

本文总结了数据科学项目失败的最常见原因,希望能够帮助你避免陷阱。

1. 问错了问题

如果你问了错问题,你将会得到错误的答案。比如金融业中的欺诈识别问题,这个问题最初可能是“这个特定的交易是否存在欺诈”。为了确定这一问题,你将需要一个包含欺诈和非欺诈交易示例的数据集。这个数据集可以在一组专门负责侦测欺诈行为的专家(SME)的帮助下生成。但是,由于专家们依据的是过去对欺诈行为的认识进行的标记,用该数据集训练的模型只会捕获符合旧模式欺诈,而对于新兴的欺诈方式,这一模型将无法识别。如果将问题改为“这个交易是否反常”,它只需寻找不符合“正常”签名的交易,依靠人类进一步分析预测的欺诈交易以验证模型结果即可。但这种方法的副作用是,它很可能会比以前的模型产生更多的误报。

2. 试图用它来解决错误的问题

我们经常会忽视一个问题:我们费尽心思解决了一个问题,但是解决后是否能实现我们的目的。比如,你想出了用人工智能开发出一个将人的全身照传上网站就能根据提醒量身定做一套合身的衣服的项目。完成这个项目我们需要完成以下任务:

Android 音视频开发(一) : 通过三种方式绘制图片

想要逐步入门音视频开发,就需要一步步的去学习整理,并积累。本文是音视频开发积累的第一篇。 对应的要学习的内容是:在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 View。

1. ImageView 绘制图片

这个想必做过Android开发的都知道如何去绘制了。很简单:

Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg");
imageView.setImageBitmap(bitmap);

很轻松,在界面上看到了我们绘制的图片。

2. SurfaceView 绘制图片

这个比 ImageView 绘制图片稍微复杂一点点:

解开三个误区,LoRa已从事实上成为主流物联网制式

近日,物联网产业又爆出猛料。LoRa 联盟(LoRa Alliance)和腾讯日前共同宣布,腾讯已在最高层面加入LoRa联盟,这将进一步加快LoRaWAN技术的采用。这是继阿里巴巴、中国联通与Semtech合作以及Google加入LoRa联盟之后LoRa领域迎来的又一重要事件。继阿里巴巴之后,腾讯宣布加入LoRa联盟,无疑对于LoRa技术在中国加速发展提供了巨大的驱动力。

伴随着物联网产业的快速发展,阿里巴巴、Google、腾讯等巨头的站台,国内外大量LoRa应用的商用,让LoRa已经从事实上已经成为了主流物联网络制式之一。

本文就通过解读LoRa制式的三个误区,让你了解一个更加真实的LoRa网络和应用场景。

误区一:物联网存在统一标准吗?

多年以来,业界已经习惯于人联网的标准化与统一化,顺其自然地将这种“非此即彼”的“人联网”选择理念沿用于物联网LPWAN市场。其实LoRa与NB-IoT、e-MTC都属于LPWAN网络,拥有互补的技术能力以及应用场景。从技术本身出发,下图是NB-IoT与LoRa的技术对比。