怎么通俗地理解张量

Python016

怎么通俗地理解张量,第1张

对Gradle通俗的理解:

软件开发讲究代码复用,通过复用可以使工程更易维护,代码量更少..... 开发者可以通过继承,组合,函数模块等实现不同程度上的代码复用.但不知你有没有想过,软件开发也是一种工程作业,绝不仅仅是写代码,还涉及到工程的各种管理(依赖,打包,部署,发布,各种渠道的差异管理.....),你每天都在build,clean,签名,打包,发布,有没有想过这种过程,也可以像代码一样被描述出来, 也可以被复用.

最初使用的一只猫的图片进行了变换,因此叫猫脸变换

常见的图像预处理,使原本有意义的图像变为一张无意义的图像,一般称作二维猫脸变换

通常需要多次Arnold变换才可以达到目的

原理:

将各个像素点进行置换,像素值没有改变,只是位置进行了改变

本质上,满足矩阵行列式值为1的变换称作猫脸变换

特点:

周期性;若图像为方形,存在逆变换(因为矩阵满秩)

鲁棒性:

如果图像遭到破坏,解密后依旧可以恢复部分数据

二.过程

狭义猫脸变换 (N是正方形图像的边长):

分解步骤:

1.水平错切(x + y)

2.竖直错切(x + 2y)

3.取模(mod N)

狭义猫脸逆变换 :

当图片的长和宽相同时,猫脸变换具有逆变换

广义猫脸变换 :

广义猫脸逆变换:

问题(1):为什么猫脸变换可以做到置换?

置乱的实质是位置的映射,且映射一一对应

其之所以可以满足一一映射的关系,其原因是行列式表示了在二维坐标系下的映射关系,即可逆的线性变换,det值恒为1,保证了变换前后的面积(det值即表示面积的线性变化比例)相同,所以取模后不存在多对一映射的情况

问题(2):为什么猫脸变换具有鲁棒性?

因为猫脸变换中能量平均分布在整个图形内,部分损坏无法影响到整体图像的恢复

Python