文章来源:互联网 发布时间:2023-03-21 16:40:00
今天给各位分享extrinsics的知识,其中也会对extrinsic是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,如果有不同的见解与看法,请积极在评论区留言,现在开始进入正题!
我在学习Substrate的过程,发现有两处需要特别花心思看,一个是
Substrate Frame介绍 和 Substrate术语解释 ,这两处是Substrate进阶的一个基础,比如你得理解它可能有哪些功能模块以及它的一些术语(比如Extrinsics)这些。
Author,node,actor和identity都是一个意思,表示区块的生产者。
Event状态转换的标志
Call允许被已发布函数调用的函数
origin函数调用的源头
Voting两原则:为所有人投票严格等价于没有投票;为一个人投反对票等于为其他所有人投赞成票
Authority:和actors,keys以及identieis同义,管理网络共识。AuthorityID用于标识Authorities。 在一个POS链里面,authorities由权益推荐/投票系统决定。
Authorities和validators似乎差不多。但是validators可以包括在平行链的维护者,范围更大一些。一般说来,Authoriteis通常是validators的一部分。
Aura实际是Authority round(轮流坐庄的意思),通过一个authorities列表,轮流发布区块,能够长时间在线的authorities就是honest authorities。
Aurand是Aura的变体,每个回合(round)通过抖动随机选择一个,增加安全性。
Extrinsics是Substrate中的一个专有名词,特指包含在区块链上的外部信息,主要有两种类型: transactions和inherents。trasactions就是交易,多方签名以及网络广播。inherents是不需要签名的,是由足够多的validator同意认为是正确的东西。transaction很好理解,在bitcoin和ethereum上面分布比较广泛,但是inherent确是substrate比较好的东西。比如有个timestamp inherent,就是用来设置区块timestamp的东西,没有一个签名用来认证这个东西合理,并且因为认证从而获得收入。换句话说,inherent是substrate真正区别于其他区块链,也能够成为blockchain as world computer的原因。
Executive模块是substrate的编排模块,把外界的调用转发到某个pallet里面。
Aura模块扩展了aura共识算法,可以用于定制
authority disvcovery是被core/authority-discovery所用,用于提取验证人相关信息,包括用于签发和验证消息。
authorship用于跟踪当前区块的维护者和最近的数块。
babe用于扩展babe共识,
balance用于处理账户和账户的余额。
collective还不明白。
contracts提供了部署和执行webassembly合约的功能。
democracy提供了一个投票系统
elections phragmem是一个投标选举模块
elections是根据股权关系进行投票的一个模块
EVM是以太坊虚拟机模块
Example是一个pallet的简单示意模型,用于展示概念,API等
Finality Tracker用于追踪最后一个确定性块。
Generic Asset用于处理账户和资产余额。
Grandpa用于扩展Grandpa共识并且管理共识验证人。
im-online用于验证人发送心跳交易
indices用于为账户创建序号(地址的简写)
membership用于管理AccountID的关系
offences用于追踪报告的违法行为
random-collective-flip用于产生随机中子数
scored-pool维护一个成员的积分池,可以拿到最高积分的成员入口。
session模块允许管理验证人的会话钥匙,一个session是指一个固定的验证人集合。如果验证人有变化,session结束。
staking模块用于管理资产。
sudo模块用于由单账户执行一些需要root执行或者委托其他账户执行的函数。
timestamp模块用于获取或者设置链上时间。
transaction-payment用于计算交易费用的基础逻辑。
treasure模块提供了由股份持有者管理的容器(pot)
一直在做图像处理,也经常听到相机内参相机外参,我却没深入理解什么是相机内外参,什么是相机标定。
1、 相机内参数 是与相机自身特性相关的参数,比如相机的焦距、像素大小等;
摄像机 内参矩阵 反应了相机自身的属性,各个相机是不一样的,需要标定才能知道这些参数。作用:告诉我们摄像机坐标的点在1的基础上,是如何继续经过摄像机的镜头、并通过针孔成像和电子转化而成为像素点的。
摄像机内参 (Camera Intrinsics) 矩阵:(需要注意的是,真实的镜头还会有径向和切向畸变,而这些畸变是属于相机的内参的)
? ? ? ? ? ?fx???s??? x0
??? K =? 0??? fy?? y0
? ? ? ? ? ? 0???0??? 1
其中,fx,fy为焦距,一般情况下,二者相等,x0、y0为主点坐标(相对于成像平面), s为坐标轴倾斜参数,理想情况下为0 。
内参矩阵的参数含义:
f:焦距,单位毫米
dx:像素x方向宽度,单位毫米,1/dx:x方向1毫米内有多少个像素(dx、dy为一个像素的长和高)
f/dx:使用像素来描述x轴方向焦距的长度
f/dy:使用像素来描述y轴方向焦距的长度
u0,v0,主点的实际位置,单位也是像素(原点的平移量)
2、 相机外参数 是在世界坐标系中的参数,比如相机的位置、旋转方向等。相比于不变的内参,外参会随着相机运动发生改变。
摄像机的旋转平移属于外参,用于描述相机在静态场景下相机的运动,或者在相机固定时,运动物体的刚性运动。因此, 在图像拼接或者三维重建中,就需要使用外参来求几幅图像之间的相对运动,从而将其注册到同一个坐标系下面来 。(最近我在研究多幅图像的图像拼接)
摄像机 外参矩阵 :包括旋转矩阵和平移矩阵。作用:告诉我们现实世界点(世界坐标)是怎样经过旋转和平移,然后落到另一个现实世界点(摄像机坐标)上。
旋转矩阵和平移矩阵共同描述了如何把点从世界坐标系转换到摄像机坐标系。
旋转矩阵 :描述了世界坐标系的坐标轴相对于摄像机坐标轴的方向
平移矩阵:描述了在摄像机坐标系下,空间原点的位置
摄像机 外参(Camera Extrinsics) 矩阵:
其中, R是旋转矩阵,t是平移向量.
3、相机标定(或摄像机标定):一句话就是世界坐标到像素坐标的映射,其中世界坐标是人为定义的。
相机标定的目的是确定相机的一些参数的值。通常,这些参数可以建立定标板确定的三维坐标系和相机图像坐标系的映射关系,换句话说,?你可以用这些参数把一个三维空间中的点映射到图像空间,或者反过来。相机需要标定的参数通常分为内参和外参两部分。
标定就是已知标定控制点的世界坐标和像素坐标我们去解算这个映射关系,一旦这个关系解算出来了我们就可以由点的像素坐标去反推它的世界坐标,当然有了这个世界坐标,我们就可以进行测量等其他后续操作了。上述标定又被称作隐参数标定,因为它没有单独求出相机的内部参数,如相机焦距,相机畸变系数等。
一般来说如果仅仅只是利用相机标定来进行一些比较简单的视觉测量的话,那么就没有必要单独标定出相机的内部参数了。至于相机内部参数如何解算,相关论文讲的很多。
在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。
无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此,做好相机标定是做好后续工作的前提,提高标定精度是科研工作的重点所在。
4、畸变(distortion)是对直线投影(rectilinear projection)的一种偏移。简单来说直线投影是场景内的一条直线投影到图片上也保持为一条直线。畸变简单来说就是一条直线投影到图片上不能保持为一条直线了,这是一种光学畸变(optical aberration),可能由于摄像机镜头的原因。
? ? ?畸变矩阵:告诉我们为什么像素点并没有落在理论计算该落在的位置上,还产生了一定的偏移和变形!!!
参考链接:
计算机视觉-相机内参数和外参数_liulina603的专栏-CSDN博客_相机参数
旋转矩阵(Rotate Matrix)的性质分析 – caster99 – 博客园 (cnblogs.com)
SLAM入门之视觉里程计(2):相机模型(内参数,外参数) – Bromxc_icv – 博客园 (cnblogs.com)
都看完了嘛?相信现在您对extrinsics有一个初级的认识了吧!也可以收藏tp钱包页面获取更多extrinsic是什么意思知识哟!区块链、虚拟币,我们是认真的!