立体视觉:合成数据集的解析和工具
点击上方“计算机视觉工坊”,选择“星标”
干货第一时间送达
作者丨HawkWang
来源丨计算摄影学
一. 背景
随着越来越多的领域引入了深度学习作为解决工具,大量的数据显然也就变得非常关键了。然而在相当长的时间里,立体匹配这个领域都缺乏大量的数据可以使用。我在文章74. 三维重建9-立体匹配5,解析MiddleBurry立体匹配数据集和75. 三维重建10-立体匹配6,解析KITTI立体匹配数据集介绍的两个著名的数据集MiddleBurry和KITTI都不是为了训练神经网络而制作——它们本身仅用于客观的衡量比较算法的质量。所以它们所包含的图像组数量都很有限。比如,MiddleBurry 2014年数据集就只有20组数据可用于训练算法。KITTI 2012, 194组训练图像, KITTI 2015, 200组训练图像。同时,这些数据集的场景都很有限,MiddleBurry的场景是在受控光照下实验场景。KITTI则主要集中在自动驾驶的公路场景,且其Ground Truth深度只占图像的50%左右。很显然,这样的数据集是不足以用于训练深度学习的网络模型的。
实际上,在很早期人们就在探索一个问题:可否通过数据合成,来生成大量双目数据呢?有了CG技术后,这似乎成了一件简单的事情。只要我们已知物体的3D模型,就可以在两个虚拟相机平面上投影模型,生成左图和右图。再由于可以知道3D模型和相机光心间的距离(深度),所以比较容易根据深度和视差的关系,得到视差图。
然而,早期因为数据合成的技术还不成熟,3D模型构建也很不容易,所以合成的数据非常简单、数据量很少。而且其中还包含很多和真实物理成像不一致的错误,这就导致无法将这些数据实际用于算法的进一步研究中。那么,有没有办法采用数据合成方式得到我们想要的有用的数据集呢?我今天就来介绍这方面的研究成果。
二. 由开源电影到科研数据集
技术永远是在不断前进的,早在2006年之前Blender基金会(Blender是著名的开源、免费3D制作工具)开启了一项开源电影项目,叫做Durian Open Source Movie Project(榴莲开源电影项目)。2006年该项目推出了第一部开源电影Elephants Dream,其中所有的内容都由Blender渲染而来。2008年则是第二部开源电影Big Buck Bunny,据说观看人次达到了百万,成为了开源电影史上的传奇。而今天我们要讲述的主角Sintel则是Blender基金会推出的第三部开源电影,它讲述了一个叫做Sintel的姑娘和她的幼龙朋友之间的故事。
Sintel制作过程中有很多有趣的故事,你可以从Blender Studio中查阅得到,你还可以在这里看到完整的电影:
https://studio.blender.org/films/sintel/?asset=1191
而对科学界而言最有意义的是,制作团队把电影制作所用的所有原始资料都开源了,这包括很重要的3D图形资源——这意味着研究者可以使用这些信息来重新渲染生成自己的数据集。而在艺术家的努力下,这部电影的场景非常自然、逼真,使得它的场景图像非常适合来做包括光流、立体匹配等在内的研究。
于是,2012年左右,美国华盛顿大学、佐治亚理工学院以及德国马克斯·普朗克智能系统研究所的一群学者利用Sintel的这些资源,制作了MPI Sintel数据集。由于原始电影资源特别丰富,有18000帧,所以作者们选择了其中很小一部分,包括35个场景中的1628帧——你看,尽管只是筛选了很小一部分,光从数量上讲就已经远远超过了KITTI和MiddleBurry数据集了。
一开始,数据集中只包含了光流信息,如下图所示。这里,图像帧是通过光线追踪方式得到的。由于任何一个场景点P在不同时刻的位置都是已知的,所以很容易跟踪它的投影点p在相邻帧的位置。将相邻帧的位置做差,就可以得到光流场。
后来,他们利用同样的资源构建了用于立体匹配研究的视差数据集,每组图像都包括了左图、右图、视差图、以及遮挡掩模。下面是几个例图:
正如前所说,整个MPI Sintel数据集包含了35个场景的1628帧。其中每个场景包含的帧数在20帧到50帧之间,帧率为24fps, 分辨率高达1024x436。包含时域连续的图像帧,这也是这个数据集非常好的一点:这意味着我们可以研究立体匹配算法在时域上的连续性。事实上,大多数立体匹配算法都缺乏时域平滑性,因为它们都是在离散的数据集上构建和验证的(包括MiddleBurry、KITTI),这意味着在连续帧上验证时经常会出现同一个场景的结果在时域上不连续,闪烁或抖动的现象。而MPI Sintel数据集使得验证算法的时域平滑性成为了可能。而且,这个数据集还包含了很多之前的数据集没有包含的视效,例如大气效果、目标运动和散焦模糊。场景跨越了各种各样的环境、角色和动作类型。可以在下面这个链接下载MPI Sintel 双目数据集:sintel.is.tue.mpg.de/stereo
三. MPI Sintel 数据集的制作经验
作者们在两篇文章中描述了MPI Sintel数据集的细节,以及制作过程中的经验总结:
这里面,作者提到,产生高质量的数据集有赖于两方面的信息,首先是Sintel的原始产品数据,它们描述了场景的3D几何信息、外观、以及场景的运动。然后是渲染的技术,它将产品数据转换为实际的视频帧。这两部分都需要根据数据生成的需要做相应的修改和适配。我挑重点的信息介绍一下。
3.1 对Sintel产品数据做的修改
原始的Sintel电影是为了艺术所诞生,因此它的最终渲染结果是为了艺术审美,而不是为了科学研究。这使得原始的结果不一定适应光流或立体匹配的研究,其中主要有两方面的问题:因光流场或视差图本身的限制而导致的问题, 以及因原始数据中包含的错误导致的问题。
因光流场或视差图本身的限制而导致的问题,是指光流或视差图无法表示半透明物体的光流场或视差。因为在光流场和视差图上,一个像素只能表示1个方向的运动或视差。但如果场景中有半透明的遮挡关系、或是1个像素包含了多个微小物体(例如头发)的投影、甚至因为要实现抗锯齿而使得1个像素包含了多个原始场景点的信息时,映射到同一个像素点的视差值或光流场都不再准确,它们只能表示某种加权平均结果。
比如下面这个原始场景,头发有大量的区域是前景背景融合而成的。从视效上讲当然很不错,但右边的光流场却可以看出大量头发的区域的光流场无法准确表达了。
作者们的解决方案也很粗暴直接,取消所有半透明的场景区域(比如边缘羽化或是玻璃),同时也禁用反锯齿特效。同时每根头发至少渲染为2个像素尺寸,避免单一光流场或视差像素需要表示多根头发丝的光流场或视差。如下图所示,从视效上看来不如原始渲染结果,但光流图中我们看到更多的头发部分表示了前景的运动。
因原始数据中包含的错误导致的问题
Sintel原始资源中还包含很多因为Blender软件或是艺术创作带来的问题,这些问题在观看电影是很难感知到,但却使得视频帧不符合物理规律,导致对应的光流场或视差图有错误。导致这些问题的因素有运动模糊、位移贴图导致的纹理错误、动画错误、多线程导致的图像内部各区域不一致现象、光晕特效等等。各种问题作者都做了针对性的处理。
3.2 对渲染系统所做的修改
与原始Sintel渲染过程一样,作者也是采用Blender来渲染场景和光流/视差图。这个过程使用了Blender的光线追踪引擎,以及一系列高级的计算机图形学技术,比如亚表面散射、全局光照、镜面反射着色器等等。我们需要记住的是尽管这些技术提供了很逼真的感知质量,但依然只是对真实世界的模拟。
这个过程中需要处理一些典型的问题。作者专门举了一个例子,如图所示。Blender在渲染管线中会计算光流,并且利用这个光流信息来制作运动模糊的效果。那么这个光流信息是否就可以作为我们数据集的一部分呢?
作者给出了否定的回答。这是因为, 当三维空间中的三角形投影到2D图像时,顶点由于有真实的3D/2D坐标,所以顶点的光流场肯定是没问题的。但是对于三角形内部的像素点,Blender却只是在2D图像上插值计算光流场,这就导致了误差。作者对Blender的渲染管线略作修改,在3D空间中进行插值来解决这个问题,使得最终的光流场更加的准确。
例图如下,左边是原始的2D插值得到的光流图,右边则是在3D空间插值后再投影得到的光流图,我们仔细看就会观察到两者的不同,右边要更加平滑一些。
作者还修改Blender,从而输出了3个不同阶段的渲染图像。首先是所谓的Albedo级,此时采用了平面平坦、无阴影的表面,且它具有时域恒定的反照率。然后是所谓的Clean级,包括平滑着色和镜面反射的照明来增加真实感。最后则是Final级,具有所有效果的完全渲染,包括运动模糊、景深模糊以及大气效果。
这有什么用处?不同阶段的图像给予算法不同的挑战难度,比如Albedo阶段我们可以用于测试算法的基础匹配性能,而Final级则验证了算法是否可以在极端苛刻的条件下也稳定的输出结果。
总而言之,MPI Sintel数据集的作者记录的经验对于之后很多用Blender自制数据集的团队来说都是非常宝贵的,当然其中Sintel项目留下来的开源产品资料则是重中之重。如果你也想自己试试渲染过程,现在可以登录Blender Studio,在这个链接下载到所有资料。注意Blender Studio现在登录是收费的,如果只是下载资料,你可以只付一个月的费用14.9欧元,其实也就一百多块钱,如果是连续包月就只需要9.9欧元。
这里登录Blender Studio后即可解锁下载资料
四. 更多合成数据集
MPI Sintel数据集的成功制作,加上资料的开放,引发了更多团队开始用Blender制作光流或视差数据集。其中使用比较多的有德国弗莱堡大学、慕尼黑工业大学的几位学者为了研究立体匹配、光流、场景流而制作的大型数据集。相关信息发布在下面这篇文章中
数据集可以从下面这个链接下载:https://lmb.informatik.uni-freiburg.de/resources/datasets/SceneFlowDatasets.en.html
这个数据集量非常大,包括了35000对立体帧,而其Ground Truth信息包括了光流场、视差图,以及视差变换图,还有其他如目标分割等信息。要知道我们刚刚说的MPI Sintel总共只有1628帧数据哦
这个数据集也是用Blender渲染得到的,除了每一时刻左右视图的图像,还提供了光流图、视差图、以及相邻时刻之间光流/视差变化。另外由于每个场景由多个物体模型组成,因此很容易将不同场景物体渲染为不同的索引,从而得到场景的分割掩码图。使得这个数据集还可以用于研究目标分割算法。另外,作者还提供了虚拟相机的内外参数,用于SfM等研究。与MPI Sintel一样,也提供了clean级和final级两个阶段的图像,为算法提供不同难度的挑战。
这个数据集主要由三部分组成。第一部分叫做FlyingThings3D,包含了25000对图像帧。作者从斯坦福大学的ShapeNet数据集中获得了35927个3D模型,然后从里面随机抽取一小部分,贴上随机的纹理,然后让相机和这些模型在场景中沿着设定好的路径移动。这样就形成了下面图中看起来比较杂乱的场景——虽然杂乱,但对算法来说却是有意义、可用于研究的。
第二部分很像MPI Sintel数据集,是从一个Blender渲染的开源电影Monkaa中获取原始产品数据,然后重新渲染而成。Monkaa是一个大约6分钟的短片,讲的是一只蓝色皮毛、粉红色脸的猴子的故事,画风很儿童。这里选择了8个场景共8591帧,在原始场景基础上稍加修改渲染而成。
第三部分驾驶数据集则是为了模仿KITTI数据集,所以构建的是驾驶场景。从前面所说的3D模型集中选择了汽车模型,同时又从一些3D模型库中获取了树的模型,并合成渲染而成。下面是渲染场景和KITTI数据集的对比。这里共选用了4392帧进入数据集。
总之,我们看到作者创建了一个35000帧的大型数据集。它可以用于研究立体匹配、单目深度,以及光流、场景流的生成问题,尤其特别适用于训练大型神经网络模型。在同一篇文章中,作者还专门训练了一个模型DispNetCorr1D,来验证效果。从下图中我们看到,这个模型的效果确实超越了当时的SOTA算法MC-CNN,并且比传统算法SGM要好太多。可见有了大型数据集后,我们马上就可以将某些问题的研究推进到以前难以企及的地步。
五. 更高级的数据集生成工具
我们现在看到,计算机图形学的发展可以和计算机视觉的发展相辅相成。前者可以为后者提供高质量的数据集。
当然后者也在促进前者的发展,比较典型的例子就是计算机视觉中的超分辨率算法和去噪算法现在已经应用到了计算机图形学的渲染过程中,这个话题我们以后再聊。总之,你现在可能会疑惑:难道我就想搞点数据,还得去把Blender学一遍吗?
现在我简单提一下两个更加强大的工具,它们是构建在Unreal Engine上的,能够自动的渲染场景,生成场景的深度图、分割图、以及左右视图。你根本不需要太多Unreal Engine的应用开发经验,就把这两个工具当普通软件使用即可。
第一个工具叫做AirSim,由微软推出,链接在这里:microsoft.github.io/Air。它能够生成无人机视角和公路驾驶视角的两类数据。下面是它的介绍视频:
无人机视角
公路驾驶视角
最有趣的是,你可以在AirSim的世界里面自己开车或者开无人机游荡,渲染出自己想要的场景。而控制方式可以像玩游戏一样,用RC遥控器或游戏方向盘:
你还可以通过编程去控制,AirSim专门提供了一个"计算机视觉模式",在这个模式下可以通过API控制渲染,生成特殊的数据集。
甚至还可以调整天气参数,生成不同的天气特效
如果你觉得第一个工具已经很惊艳了,那么我现在说的第二个工具就简直让人叹为观止!这个工具叫做Carla,是用于自动驾驶研究的开源工具。它也是基于Unreal Engine 4渲染的,但能够提供非常非常逼真的场景:
它很容易用于渲染场景的彩色视图、深度图以及分割图,我们可以通过下图看到效果非常自然逼真:
我再截取一点宣传片的片段给你看看,你就能感受到这个数据集生成工具的强大之处了。
先看看高仿真的自动驾驶场景:
再来看看单个或多个行人:
还有各种复杂的天气效果
看到这里,有没有心动啊,这两个工具不需要你学太多Blender/Unreal Engine的知识,只需要当成普通的软件使用,就可以很容易生成你自己的数据集了。当然,生成数据后进行必要的清洗是免不了的。
六. 总结
对于现代的立体匹配的研究来说,大量高质量的数据非常关键。以前大家经常采用的MiddleBurry、KITTI数据集,已经不足以用于训练高质量的立体匹配模型了。所以现在大家通常用这些经典数据集来验证算法的优劣,但训练算法却依赖于高质量的私有或公有的数据集。
今天我从MPI Sintel开始,给各位介绍了利用计算机图形学的工具渲染的高质量数据集。然后又介绍了两个让我深受震撼的工具AirSim及Carla。我越来越感到,计算机图形学、计算机视觉、计算摄影学几个学科在相互影响,相互促进。
对于我目前撰写的一系列跟立体匹配相关的文章而言,我觉得关于数据集和评价方法相关的信息已经介绍的足够了。接下来,我会介绍几个我认为非常值得学习的立体匹配算法。虽然立体匹配算法有很多,但学习了我说的几个算法后,已经足以让你了解全貌,并能自己进行进一步的研究和魔改出适合自己感兴趣的应用场景的最佳算法了。希望这一系列的文章能对你有所启发,感兴趣就顺手三连哦
七. 参考资料
开源电影Sintel的相关信息:studio.blender.org/film
MPI Sintel数据集官网:sintel.is.tue.mpg.de/,这里有数据集的介绍,也有论文的信息
SceneFlow数据集官网:lmb.informatik.uni-freiburg.de, 同样,这里有数据集的介绍,也有论文的信息
AirSim模拟器的官网:microsoft.github.io/Air
Carla模拟器的官网:carla.org/
本文仅做学术分享,如有侵权,请联系删文。
3D视觉工坊精品课程官网:3dcver.com
1.面向自动驾驶领域的多传感器数据融合技术
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
11.自动驾驶中的深度学习模型部署实战
12.相机模型与标定(单目+双目+鱼眼)
13.重磅!四旋翼飞行器:算法与实战
14.ROS2从入门到精通:理论与实战
15.国内首个3D缺陷检测教程:理论、源码与实战
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~
推荐阅读
-
立体视觉:合成数据集的解析和工具
-
NBT|45 单细胞轨迹推断方法、110 个实际数据集和 229 个合成数据集的比较
-
[姿势估计] 实践记录:使用 Dlib 和 mediapipe 进行人脸姿势估计 - 本文重点介绍方法 2):方法 1:基于深度学习的方法:。 基于深度学习的方法:基于深度学习的方法利用深度学习模型,如卷积神经网络(CNN)或递归神经网络(RNN),直接从人脸图像中学习姿势估计。这些方法能够学习更复杂的特征表征,并在大规模数据集上取得优异的性能。方法二:基于二维校准信息估计三维姿态信息(计算机视觉 PnP 问题)。 特征点定位:人脸姿态估计的第一步是通过特征点定位来检测和定位人脸的关键点,如眼睛、鼻子和嘴巴。这些关键点提供了人脸的局部结构信息,可用于后续的姿势估计。 旋转表示:常见的旋转表示方法包括欧拉角和旋转矩阵。欧拉角通过三个旋转角度(通常是俯仰、偏航和滚动)描述头部的旋转姿态。旋转矩阵是一个 3x3 矩阵,表示头部从一个坐标系到另一个坐标系的变换。 三维模型重建:根据特征点的定位结果,三维人脸模型可用于姿势估计。通过将人脸的二维图像映射到三维模型上,可以估算出人脸的旋转和平移信息。这就需要建立人脸的三维模型,然后通过优化方法将模型与特征点对齐,从而获得姿势估计结果。 特征点定位 特征点定位是用于检测人脸关键部位的五官基础部分,还有其他更多的特征点表示方法,大家可以参考我上一篇文章中介绍的特征点检测方案实践:人脸校正二次定位操作来解决人脸校正的问题,客户在检测关键点的代码上略有修改,坐标转换部分客户见上图 def get_face_info(image). img_copy = image.copy image.flags.writeable = False image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) results = face_detection.process(image) # 在图像上绘制人脸检测注释。 image.flags.writeable = True image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) box_info, facial = None, None if results.detections: for detection in results. for detection in results.detections: mp_drawing.Drawing.detection = 无 mp_drawing.draw_detection(image, detection) 面部 = detection.location_data.relative_keypoints 返回面部 在上述代码中,返回的数据是五官(6 个关键点的坐标),这是用 mediapipe 库实现的,下面我们可以尝试用另一个库:dlib 来实现。 使用 dlib 使用 Dlib 库在 Python 中实现人脸关键点检测的步骤如下: 确保已安装 Dlib 库,可使用以下命令: pip install dlib 导入必要的库: 加载 Dlib 的人脸检测器和关键点检测器模型: 读取图像并将其灰度化: 使用人脸检测器检测图像中的人脸: 对检测到的人脸进行遍历,并使用关键点检测器检测人脸关键点: 显示绘制了关键点的图像: 以下代码将参数 landmarks_part 添加到要返回的关键点坐标中。
-
反传销网8月30日发布:视频区块链里的骗子,币里的韭菜,杜子建骂人了!金融大V周召说区块链!——“一小帮骗子玩一大帮小白,被割韭菜,小白还轮流被割,割的就是你!” 什么区块链,统统是骗子 作者:周召(知乎金融领域大V,毕业于上海财经大学,目前任职上海某股权投资基金合伙人) 有人问我,区块链现在这么火,到底是不是骗局? 我的回答是: 是骗局。而且我并不是说数字货币是骗局,而是说所有搞区块链的都是骗局。 -01- 区块链是一种鸡肋技术 人类社会任何技术的发明应用,本质都是为了提高社会的生产效率。而所谓区块链技术本质不过是几种早已成熟的技术的大杂烩,冗余且十分低效,除了提高了洗钱和诈骗的效率以外,对人类社会的进步毫无贡献。 真正意义上的区块链得包含三个要素:分布式系统(包括记账和存储),无法篡改的数据结构,以及共识算法,三者互为基础和因果,就像三体世界一样。看上去挺让人不明觉厉的,而经过几年的瞎折腾,稍微懂点区块链的碰了几次壁后都已经渐渐明白区块链其实并没有什么卵用,区块链技术已经名存实亡,沦为了营销工具和传销组织的画皮。 因为符合上述定义的、以比特币为代表的原教旨区块链技术,是反效率的,从经济学角度来说,不但不是一种帕累托改进,甚至还可以说是一种帕累托倒退。 原教旨区块链技术的效率十分低下,因为要遍历所有节点,只能做非常轻量级的数据应用,一旦涉及到大量的数据传输与更新,区块链就瞎了。 一方面整条链交易速度会极慢,另一方面数据库容量极速膨胀,考虑到人手一份的存储机制,区块链其实是对存储资源和能源的一种极大的浪费。 这里还没有加上为了取得所谓的共识和挖矿消耗的巨大的能源,如果说区块链技术是屎,那么这波区块链投机浪潮可谓人类历史上最大规模的搅屎运动。 区块链也验证不了任何东西。 所谓的智能合约,即不智能,也非合约。我看有人还说,如果有了智能合约,就可以跟老板签一份放区块链上,如果明年销售业绩提升30%,就加薪10%,由于区块链不能篡改,不能抵赖,所以老板必须得执行,说得有板有眼,不懂行的愣一看,好像还真是那么回事。 但仔细一想,问题就来了。首先,在区块链上如何证明你真的达到了30%业绩提升?即便真的达到老板耍赖如何执行? 也就是说,如果区块链真这么厉害,要法院和仲裁干什么。 人类社会真正的符合成本效益原则的是代理制度。之前有人说要用区块链改造注册会计师行业,我不知道他准备怎么设计,我猜想他思路大概是这样的,首先肯定搞去中心化,让所有会计师到链上来,然后一个新人要成为注册会计师就要所有会计师同意并记录在链上。 那我就请问了,我每天上班累死累活,为什么还要花时间去验证一个跟我无关的的人的专业能力?最优做法当然是组织一个委员会,让专门的人来负责,这不就是现在注册会师协会干的事儿吗?区块链的逻辑相当于什么事情都要拿出来公投,这个绝对是扯淡的。 当然这么说都有点抬举区块链了,区块链技术本身根本没有判断是非能力,如果这么高级的人工智能,靠一个无脑分布式记账就能实现的话,我们早就进入共产主义社会了。 虽然EOS等数字货币采用了超级节点,通过再中心化的方式提高效率,有点行业协会的意思,是对区块链原教旨主义的一种修正,但是依然无法突破区块链技术最本质的局限性。有人说,私有链和联盟链是区块链技术的未来,也是扯淡,因为区块链技术没有未来。如果有,说明他是包装成区块链的伪区块链技术。 区块链所涉及的所有底层技术,不管是分布式数据库技术,加密技术,还是点对点传输技术等,基本都是早已存在没什么秘密可言的技术。 比特币系统最重要的特性是封闭性和自洽性,他验证不了任何系统自身以外产生的信息的真实性。 所谓系统自身产生的信息,就是数据库数据的变动信息,有价值的基本上有且只有交易信息。所以说比特币最初不过是中本聪一种炫技的产物,来证明自己对几种技术的掌握,你看我多牛逼,设计出了一个像三体一样的系统。因此,数字货币很有可能是区块链从始至终唯一的杀手应用。 比特币和区块链概念从诞生到今天已经快10年了,很多人说区块链技术在爆发的前夜,但这个前夜好像是不是有点过长了啊朋友,跟三体里的长夜有一拼啊。都说区块链技术像是90年代初的互联网,可是90年代初的互联网在十年发展后,已经出现了一大批伟大的公司,阿里巴巴在99年都成立了,区块链怎么除了币还是币呢? 正规的数字货币未来发展的形式无外乎几种,要么就是论坛币形式,或者类似股票的权益凭证等。问题是论坛币和股票之前,本来也都电子化了,区块链来了到底改变了什么呢? 所有想把TOKEN和应用场景结合起来的人最后都很痛苦,最后他们会发现区块链技术就是脱裤子放屁,自己辛苦搞半天,干嘛不自己作为中心关心门来收钱?最后这些人都产生了价值的虚无感,最终精神崩溃,只能发币疯狂收割韭菜,一边嘴里还说着我是个好人之类的奇怪的话。 因此,之前币圈链圈还泾渭分明,互相瞧不起,但这两年链圈逐渐坐不住了,想着是不是趁着泡沫没彻底破灭之前赶快收割一波,不然可能什么都捞不着了。 前段时间和一个名校毕业的链圈朋友瞎聊天,他说他们“致力于用区块链技术解决数字版权保护问题”,我就问他一个问题,你们如何保证你链的版权所有权声明是真实的,万一盗版者抢先一步把数据放在链上怎么办。他说他们的解决方案是连入国家数字版权保护中心的数据库进行验证…… 所以说区块链技术就是个鸡肋,研究到最后都会落入效率与真实性的黑洞,很多人一头扎进链圈后才发现,真正意义上的区块链技术,其实什么都干不了。 -02- 不是蠢就是坏的区块链媒体 空气币和区块链的造富神话,让区块链自媒体也开始迎风乱扭。一群群根本不知道区块链为何物的妖魔鬼怪纷纷进驻区块链自媒体战场,开始大放厥词胡编乱造。 任何东西,但凡只要和区块,链,分,分布式,记账,加密,验证,可追溯等等这些个关键词沾到哪怕一点点,这些所谓的区块链媒体人就会像狗闻到了屎了一样疯狂地把区块链概念往上套。 这让我想起曾经一度也是热闹非凡的物联网,我曾经去看过江苏一家号称要改变世界的“物联网”企业,过去一看是生产路由器的,我黑人问号脸,对方解释说没有路由器万物怎么互联,我觉得他说得好有道理,竟无言以对。 好,下面让我们进入奇葩共赏析时间,来看看区城链媒体经常有哪些危言耸听的奇谈怪论 区块链(分布式记账)的典型应用是*?? 正如前面所说,真正意义上的区块链分布式记账,不光包括“记”这个动作,还包括分布式存储和共识机制等。而*诞生远远早于区块链这个词的出现,勉强算是“分布式编辑”吧,就被很多区块链媒体拿来强行充当区块链技术应用的典范。 其实事实恰恰相反,*恰恰是去中心化失败的典范,现在如果没有精英和专业人士的编辑和维护,*早就没法看了。 区块链会促进社会分工?? 罗振宇好像就说过类似的话,虽然罗振宇说过很多没有逻辑的话,但这句话绝对是最没逻辑思维的。很多区块链自媒体也常常用这句话来忽悠老百姓,说分工代表效率提高社会进步,而区块链“无疑”会促进分工,他们的理由仅仅是分工和分布式记账都共用一个“分”字,就强行把他们扯到一起。 实际情况恰恰相反,区块链是逆分工的,区块链精神是号召所有人积极地参与到他不擅长也不想掺合的事情里面去。 区块链不能像上帝一样许诺他的子民死后上天国,只能给他们许诺你们是六度人脉中的第一级,我可以赚后面五级人的钱,你处于金字塔的顶端。
-
超级详细的计算机视觉数据集摘要(自动驾驶、SLAM、三维重建、立体视觉、深度估计)
-
在Java中,如何快速实现XML到JSON的转换? - 解析与生成指南:关键步骤包括解析XML、构造数据模型、转化为JSON。讲解如下:首先,利用JDOM库读懂XML文档,提取元素和属性;接着,基于这些信息设计适当的数据结构(如树形或网状结构);最终,运用Jackson库将数据结构顺利转存为JSON格式。同时,我们也讨论了何时选用JDOM和Jackson这类工具辅助转换过程。
-
12.GEO数据集的R语言差异分析和代码解析—1.数据下载和整理