具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明,该方法一实施例的流程如图1所示。本发明基于深度学习实现的图像加密方法,包括如下步骤:
(1)步骤100获取足够数量的样本图像,图像可以从网络下载,也可以自行拍摄;
(2)步骤101对样本图像进行归一化处理,以256×256大小的输入图像为例,如果样本图像大于该尺寸,则进行随机裁剪得到,如果样本图像小于该尺寸,则进行等比例放大后再裁剪得到;
(3)步骤102对所述的图像加密网络(303)和解密网络(311)进行联合训练,该方法一实施例所构造的深度学习图像加密模型如图3所示,训练对每一批数据分两步交替进行:第一步,以256×256大小的图像为例,首先用随机生成的密钥(301)为种子生成32个8位伪随机整数序列,并展开成256位二进制序列,并如图2排列成一个16×16的位阵列单元(200),这样的阵列单元周期性排列组织成一个16×16的网格(201)可得到一个256×256大小的位平面P1(302)。P1(302)与明文图像(300)进行通道连接后输入到加密网络(303),加密网络(303)输出初步扩散图像(304),初步扩散图像(304)与相同密钥(309)生成的相同密码位平面P1’(310)进行通道连接后输入到解密网络(311),解密网络(311)输出解密图像(312),训练的目标是使解密图像(312)与明文图像(300)尽可能相同,同时使初步扩散图像(304)包含尽可能少的信息,这一步用于模拟拥有正确密钥的授权用户访问解密网络的情况;第二步,随机生成一对不相同的密钥k(301)和k’(309),分别以k(301)和k’(309)为种子,用第一步同样方法生成两个不同的密码位平面P1(302)和P1’(310),P1与明文图像(300)进行通道连接后输入到加密网络(303)得到初步扩散图像(304),P1’(310)与初步扩散密图像(304)进行通道连接后输入到解密网络(311)获得解密图像(312),训练的目标是使解密图像和初步扩散图像(304)均包含尽可能少的信息,用于模拟非授权用户访问解密网络的场合。当网络损失不再明显减小,则网络收敛,训练结束。
(4)步骤103用混沌映射基于用户密钥生成一个足够长的伪随机序列。首先基于逻辑混沌映射产生一个足够长的伪随机序列,将用户自定义的密钥k如式(1)归一化为实数r0∈[0,1.0]作为生成如式(2)所示的逻辑混沌序列ri(i=0,1,…,m)的初始条件,
r0=k/kmax mod 1.0 (1)
ri+1=u·ri·(1-ri),(i=0,1,…,m)u∈[3.97,4] (2)
其中kmax为密钥空间最大值,mod指实数取余操作,u为取值接近于4的实常数.对一幅n行n列的图像来说,式(2)需要迭代m=32+n2次来获得长度为m的实数序列,这个实数序列再用式(3)转换成8位整数序列:
zi=Round(ri·1016)mod 256 (3)
其中Round表示四舍五入取整,mod表示整数取余。
(5)步骤104将伪随机序列依次转化成一个密码位平面P1(302)和一个密码字节平面P2(305)。将步骤102生成的前面32个8位整数展开成256位二进制序列,并如图2排列成一个16×16的位阵列单元(200),将该单元周期性排列得到一个与图像大小相同的位平面P1(302),以256×256大小的图像为例,这样的阵列单元组织成一个16×16的网格(201)可得到一个256×256大小的位平面P1(302);剩下的n×n个整数则组织成与图像相同大小的整数平面P2(305)。
(6)步骤105将明文图像与根据用户密钥(301)生成的密码位平面P1(302)连接后输入训练好的加密网络(303)得到初步扩散图像(304)。
(7)步骤106将初步扩散图像(304)用基于用户密钥(301)生成的密码字节平面P2(305)运用混淆算法(306)得到最终的加密图像(307)。本发明提出两种可选的混淆算法:
第一种方法是将P2(305)与转化成整数的初始扩散图像Ien(304)进行逐元素按位异或,得到最终的加密图像I’en(307);
第二种方法采用串行混淆方式,将转化成整数的初步扩散图像Ien(304)与P2(305)都按行优先顺序展开成一个序列:
P2=[p1,p2,p3,…,pN] (4)
Ien=[e1,e2,e3,…,eN] (5)
Ien除第一个元素e1以外的所有元素都用于生成密文图像的第一个元素c1,如式(6)和(7).其中mod表示整数取余运算,bitxor表示按位异或。其他加密像素ci基于当前元素xi,前一个已加密元素ci-1与对应密码元素pi计算得到,如式(8).
c1=bitxor(x1,bitxor(s mod 256,p1)) (7)
ci=bitxor(xi,bitxor((ci-1+pi)mod 256,pi))i=2,3,…,N(8)
这些加密元素ci(i=1,2,3,…,N)按行顺序排列即可得到最终的加密图像I’en(307)。
(8)步骤107至108为解密过程,首先基于解密密钥(309)用步骤103和104所述的方式生成一个密码位平面P1’(310)和一个密码字节平面P2’(313),步骤107采用逆混淆算法(306)将加密图像I’en(307)恢复成初步扩散图像Ien(304)。根据混淆算法的不同分别用不同的逆混淆算法进行恢复:
第一种方法是将P2’(313)与加密图像I’en(307)进行逐元素按位异或,得到原来的初始扩散图像Ien(304);
第二种方法是串行混淆方式的恢复,除第一个元素以外的所有元素如式(9)解码,然后如式(6)将这些已恢复的元素累加,最后通过式(10)恢复出第一个元素。
eN-i=bitxor(cN-i,bitxor((cN-i-1+pN-i)mod 256,pN-i))i=0,1,…,N-2 (9)
e1=bitxor(c1,bitxor(s mod 256,p1)) (10)
这些恢复的元素ei(i=1,2,3,…,N)按行顺序排列即可得到混淆前的加密图像Ien(304)。
在这一步如果解密密钥(309)与加密密钥(301)不一致,则生成的P2’(313)与加密时的密码字节平面P2(305)不一致,将无法恢复出初步扩散图像Ien(304),只有解密密钥(309)与加密密钥(301)相同时才可以有效恢复Ien(304)。
(8)步骤108将恢复出来的初步扩散图像Ien(304)与根据解密密钥(309)生成的密码位平面P1’(310)通道连接后输入训练完成的解密网络(311)即可解密出原始图像(312)。这一步与步骤107一样,如果解密密钥(309)与加密密钥(301)不一致,则生成的P1’(310)与加密时的密码位平面P1(302)不一致,或者步骤107未能恢复出原来的初步扩散图像Ien(304),解密网络(311)无法从初步扩散图像Ien(304)解密出原始图像(312)。只有解密密钥(309)与加密密钥(301)相同时才可以有效解密图像。
本发明一实施例的加密网络和解密网络都采用了如图4所示的结构。加密网络和解密网络均以残差网络ResNet50作为骨干网构建,包含12个残差模块(401),输入首先经过卷积层(400)处理后进入由12个残差模块串接的深度网络,每个残差模块由2个卷积层构成,每个卷积层后由批量归一化(Batch Normalization)和激活层修正线性单元(ReLU)修正(402),所有残差模块均没有池化层;残差模块的残差连接(Skip Connection)采用空洞卷积(Dilated/Atrous Convolution)进行处理(403),第9个(404)和第10个(405)残差模块采用系数为3的空洞卷积,第8个(406)和第11个(407)残差模块采用系数为2的空洞卷积,其他残差模块的残差连接系数为1即普通卷积层处理。加密网络和解密网络采用多尺度融合的策略,网络的第3个和第6个残差模块后对特征图进行系数为2的下采样(408)以得到不同尺度的特征,并把第5个、第9个和最后一个残差模块的输出引出,用反卷积进行放大因子分别为2(409)、4(410)和4(411)的上采样,使从3个分支引出的特征图与输入图像大小一致后进行通道连接(412)实现多尺度融合,连接后的特征图再经过一个卷积层(413)得到初步扩散图像(加密网络)或解密图像(解密网络)。加密网络和解密网络的输入可4通道(彩色图像加密)或2通道(灰度图像加密),输出均为3通道(彩色图像加密)或单通道(灰度图像加密)。
加密网络和解密网络的联合训练分两步交替进行,在第一步,同一个密码位平面P1(302)分别与明文图像(300)或初步扩散图像(304)进行通道连接后输入到加密网络(303)或解密网络(311),训练的目标是最小化解密图像(312)与明文图像(300)之间的差异,并最大化初步扩散图像(304)的信息熵;然而,因为初步扩散图像的信息熵是不可微的,不能直接用它作为损失函数来训练网络至收敛,因此,我们定义了一个基于像素熵的损失函数来指导网络训练。如果一幅图像每个像素包含较少信息的话,则这幅图像本身包含的信息量也较少,这样,定义加密网络的损失函数如式(11):
其中ε是一个正的常数,基于式(11)右侧后半部分最小值确定,以免损失函数为负,因为右侧后半部分最小值为-ln2=-0.693,ε设置为略大于0.693即可。ei∈[0,1]是初步扩散图像第i个像素的值,N是图像的总像素数量。
第一步训练解密网络(311)的损失函数基于均方误差(MSE)和结构相似度(SSIM)确定,如式(12):
Lde1=MSE(x,y)+α[1-SSIM(x,y)] (12)
其中α为调节MSE和SSIM在损失中所起作用的权重,可根据经验设置,本发明设置为0.1。x指原始明文图像,y指解密得到的图像。MSE和SSIM的定义如式(13)和(14):
其中xi和yi分别指x和y的第i个像素值;μx和μy分别指图像x和y的均值;σx和σy分别指图像x和y的方差;σxy指x和y的协方差;τ1,τ2,τ3和τ4是小的正常数以免分母为0产生的不稳定。
在第二步,用于加密的密钥(301)与用于解密密钥(309)不一致,这样输入到加密网络密码位平面P1(302)与输入到解密网络(303)的密码位平面P1’(310)也不一致。在这种情况下,我们期望解密网络(311)输出的解密图像(312)包含尽可能少的信息量,同加密网络类似,可基于平均像素熵定义解密网络,如式(15)
其中di∈[0,1]为解密图像的第i个像素值,其他含义同式(11)。
对每一批训练数据,首先随机生成两个不相同的密钥k≠k’,并以它们为种子生成伪随机数扩展成两个位平面P1和P1’。在第一步,P1与明文图像(300)通道连接输入加密网络(303),同时P1与初步扩散图像(304)通道连接输入到解密网络(311),用Adam算法对网络参数进行优化,最小化如式(16)所示的损失函数L1:
L1=Len+Lde1 (16)
其中Len仅在加密网络(303)中反向传播,Lde1则在解密网络(311)和加密网络(303)中反向传播。
在第二步,P1与明文图像(300)通道连接输入加密网络(303),同时P1’与初步扩散图像(304)通道连接输入到解密网络(311),用Adam算法对网络参数进行优化,最小化如式(17)所示的损失函数L2:
L2=Len+Lde2 (17)
其中Len仅在加密网络(303)中反向传播,Lde2则在解密网络(311)和加密网络(303)中反向传播。训练完成后,网络可被拥有加密密钥的授权用户用于加密和解密,未拥有正确密钥的非授权用户则无法有效从加密图像解密出明文图像。
本发明将深度学习卷积神经网络(DCNN)用于图像加密,并用后续的混淆算法增强加密图像的安全性,安全高效。该DCNN只需要一次训练,便可被拥有不同密钥的不同用户所使用,网络模型的结构和参数均可公开,只要用户密钥未泄漏的,加密图像就是安全的,因此本方法符合柯克霍夫原则。
本发明可以对彩色或灰度图像进行加密,以下给出了4种不同的具体实施方式:
实施例1
(1)准备训练数据。
准备足够数量的训练样本(训练集数据可自己采集创建或从互连网下载一些已公开的图像数据集,如ImageNet等),并将所有图像转换成灰度图像,所有图像归一化256×256大小,归一化的方法如下:对于短边大于256的图像,直接进行随机裁剪得到,对于短边小于256的图像,先将图像等比例放大至短边为256,再进行随机裁剪得到。
(2)联合训练加密网络和解密网络
将准备好的训练数据分批输入加密网络和解密网络进行训练,对每一批数据,先随机生成两个不相同的密钥k≠k’,以密钥为种子生成包含32个整数的伪随机序列,每个整数展开成8位二进制数,得到256位二进制数,再按图2所示扩展成256×256大小的位平面,以k和k’为种子分别生成两个不同的位平面P1和P1’,位平面数据转换成实数形式,训练图像输入网络之前也转换成0到1之间的实数。然后分两步交替优化网络参数:第一步,将每一个训练样本都与P1进行通道连接形成2通道的数据输入结构如图4所示的加密网络,加密网络输出单通道的加密图像,该输出再与同一个位平面P1通道连接形成2通道的数据输入结构如图4所示的解密网络,解密网络输出单通道的解密图像,以式(16)和式(12)描述的损失函数分别作为加密网络和解密网络的损失对整个网络进行联合训练;第二步,将每一个训练样本都与P1进行通道连接形成2通道的数据输入结构如图4所示的加密网络,加密网络输出单通道的加密图像,该输出再与另一个位平面P1’通道连接形成2通道的数据输入结构如图4所示的解密网络,解密网络输出单通道的解密图像,以式(17)和式(12)描述的损失函数分别作为加密网络和解密网络的损失对整个网络进行联合训练。所有训练数据以上述两步交替进行训练,直至网络收敛。
(3)用训练好的加密网络对灰度图像进行加密
将上一步训练完成的网络及参数保存,单独用加密网络进行图像加密,用逻辑混沌映射基于用户密钥生成256×256大小的一个位平面P1和一个字节平面P2,将图像转换成0到1之间的实数,图像若为256×256大小,则与P1通道连接输入加密网络,将加密网络的输出先截断为0到1之间的实数,即小于0的值设置为0,大于1的值设置为1,然后所有值乘以255并转换成整数形式,将该整数图像与P2进行逐像素按位异或得到最终的加密灰度图像。图像若不为256×256大小,可将图像分割为若干个256×256大小的子图分别进行加密,最后不足256行或256列的子图可填0扩充成256×256大小再进行加密。
(4)用训练好的解密网络对灰度加密图像进行解密
用逻辑混沌映射基于解密密钥生成256×256大小的一个位平面P1和一个字节平面P2。图像若为256×256大小,首先用P2与加密图像进行逐像素按位异或恢复出初步扩散图像,将该图像像素除以255转换成0到1之间的实数,将与同样转换成实数形式的P1通道连接后输入解密网络,解密网络的输出截断为0到1之间的实数,所有值乘以255并转成整形即可得到解密图像。图像若不为256×256大小,可将图像分割为若干个256×256大小的子图分别进行解密。解密时用户密钥如与加密密钥不一致,将无法有效解密出原图像。
实施例2
(1)准备训练数据。
准备足够数量的训练样本(训练集数据可自己采集创建或从互连网下载一些已公开的图像数据集,如ImageNet等),并将所有图像转换成灰度图像,所有图像归一化256×256大小,归一化的方法如下:对于短边大于256的图像,直接进行随机裁剪得到,对于短边小于256的图像,先将图像等比例放大至短边为256,再进行随机裁剪得到。
(2)联合训练加密网络和解密网络
将准备好的训练数据分批输入加密网络和解密网络进行训练,对每一批数据,先随机生成两个不相同的密钥k≠k’,以密钥为种子生成包含32个整数的伪随机序列,每个整数展开成8位二进制数,得到256位二进制数,再按图2所示扩展成256×256大小的位平面,以k和k’为种子分别生成两个不同的位平面P1和P1’,位平面数据转换成实数形式,训练图像输入网络之前也转换成0到1之间的实数。然后分两步交替优化网络参数:第一步,将每一个训练样本都与P1进行通道连接形成2通道的数据输入结构如图4所示的加密网络,加密网络输出单通道的加密图像,该输出再与同一个位平面P1通道连接形成2通道的数据输入结构如图4所示的解密网络,解密网络输出单通道的解密图像,以式(16)和式(12)描述的损失函数分别作为加密网络和解密网络的损失对整个网络进行联合训练;第二步,将每一个训练样本都与P1进行通道连接形成2通道的数据输入结构如图4所示的加密网络,加密网络输出单通道的加密图像,该输出再与另一个位平面P1’通道连接形成2通道的数据输入结构如图4所示的解密网络,解密网络输出单通道的解密图像,以式(17)和式(12)描述的损失函数分别作为加密网络和解密网络的损失对整个网络进行联合训练。所有训练数据以上述两步交替进行训练,直至网络收敛。
(3)用训练好的加密网络对灰度图像进行加密
将上一步训练完成的网络及参数保存,单独用加密网络进行图像加密,用逻辑混沌映射基于用户密钥生成256×256大小的一个位平面P1和一个字节平面P2,将图像转换成0到1之间的实数,图像若为256×256大小,则与P1通道连接输入加密网络,将加密网络的输出先截断为0到1之间的实数,即小于0的值设置为0,大于1的值设置为1,然后所有值乘以255并转换成整数形式,将该整数图像基于P2按式(6)、式(7)和式(8)描述的方法进行逐像素串行混淆,得到最终的加密灰度图像。图像若不为256×256大小,可将图像分割为若干个256×256大小的子图分别进行加密,最后不足256行或256列的子图可填0扩充成256×256大小再逐一加密。
(4)用训练好的解密网络对灰度加密图像进行解密
用逻辑混沌映射基于用户密钥生成256×256大小的一个位平面P1和一个字节平面P2。图像若为256×256大小,首先用P2与加密图像进行按式(9)、式(6)和式(10)描述的逆混淆算法恢复出初步扩散图像,将该图像像素除以255转换成0到1之间的实数,将与同样转换成实数形式的P1通道连接后输入解密网络,解密网络的输出截断为0到1之间的实数,所有值乘以255并转成整形即可得到解密图像。图像若不为256×256大小,可将图像分割为若干个256×256大小的子图分别进行解密。解密时用户密钥如与加密密钥不一致,将无法有效解密出原图像。
实施例3
(1)准备训练数据。
准备足够数量的训练样本(训练集数据可自己采集创建或从互连网下载一些已公开的图像数据集,如ImageNet等),并将所有图像转换成灰度图像,所有图像归一化512×512大小,归一化的方法如下:对于短边大于512的图像,直接进行随机裁剪得到,对于短边小于512的图像,先将图像等比例放大至短边为512,再进行随机裁剪得到。
(2)联合训练加密网络和解密网络
将准备好的训练数据分批输入加密网络和解密网络进行训练,对每一批数据,先随机生成两个不相同的密钥k≠k’,以密钥为种子生成含32个整数的伪随机序列,每个整数展开成8位二进制数,得到256位二进制数,再周期排列扩展成512×512大小的位平面,以k和k’为种子分别生成两个不同的位平面P1和P1’,位平面数据转换成实数形式,训练图像输入网络之前也转换成0到1之间的实数。然后分两步交替优化网络参数:第一步,将每一个训练样本都与P1进行通道连接形成2通道的数据输入结构如图4所示的加密网络,加密网络输出单通道的加密图像,该输出再与同一个位平面P1通道连接形成2通道的数据输入结构如图4所示的解密网络,解密网络输出单通道的解密图像,以式(16)和式(12)描述的损失函数分别作为加密网络和解密网络的损失对整个网络进行联合训练;第二步,将每一个训练样本都与P1进行通道连接形成2通道的数据输入结构如图4所示的加密网络,加密网络输出单通道的加密图像,该输出再与另一个位平面P1’通道连接形成2通道的数据输入结构如图4所示的解密网络,解密网络输出单通道的解密图像,以式(17)和式(12)描述的损失函数分别作为加密网络和解密网络的损失对整个网络进行联合训练。所有训练数据以上述两步交替进行训练,直至网络收敛。
(3)用训练好的加密网络对彩色图像进行加密
将上一步训练完成的网络及参数保存,单独用加密网络进行图像加密,用逻辑混沌映射基于用户密钥生成512×512大小的一个位平面P1和一个字节平面P2,将图像转换成0到1之间的实数,图像若为512×512大小,则首先将彩色图像分离为RGB三通道,每个通道与P1通道连接输入加密网络,将加密网络的输出先截断为0到1之间的实数,即小于0的值设置为0,大于1的值设置为1,然后所有值乘以255并转换成整数形式,将该整数图像基于P2进行逐像素按式(6)、式(7)和式(8)描述的方法进行串行混淆,得到最终的加密图像通道,再将加密的RGB三通道合并得到加密的彩色图像。图像若不为512×512大小,可将图像分割为若干个512×512大小的子图分别进行加密,最后不足512行或512列的子图可填0扩充成512×512大小再逐一加密。
(4)用训练好的解密网络对彩色加密图像进行解密
用逻辑混沌映射基于用户密钥生成512×512大小的一个位平面P1和一个字节平面P2。图像若为512×512大小,首先将图像分离成三个独立的通道,再用P2与各通道进行按式(9)、式(6)和式(10)描述的逆混淆算法恢复出初步扩散图像通道,将所有像素除以255转换成0到1之间的实数,与同样转换成实数形式的P1通道连接后输入解密网络,解密网络的输出截断为0到1之间的实数,所有值乘以255并转成整形即可得到解密图像通道,将解密出来的RGB三通道合并得到解密的彩色图像。图像若不为512×512大小,可将图像分割为若干个512×512大小的子图分别进行解密。解密时用户密钥如与加密密钥不一致,将无法有效解密出原图像。
实施例4
(1)准备训练数据。
准备足够数量的训练样本(训练集数据可自己采集创建或从互连网下载一些已公开的图像数据集,如ImageNet等),所有图像归一化256×256大小,归一化的方法如下:对于短边大于256的图像,直接进行随机裁剪得到,对于短边小于256的图像,先将图像等比例放大至短边为256,再进行随机裁剪得到。
(2)联合训练加密网络和解密网络
将准备好的训练数据分批输入加密网络和解密网络进行训练,对每一批数据,先随机生成两个不相同的密钥k≠k’,以密钥为种子生成32个整数伪随机序列,每个整数展开成8位二进制数,得到256位二进制数,再按图2所示扩展成256×256大小的位平面,以k和k’为种子分别生成两个不同的位平面P1和P1’,位平面数据转换成实数形式,训练图像输入网络之前也转换成0到1之间的实数。然后分两步交替优化网络参数:第一步,将每一个彩色训练样本都与P1进行通道连接形成4通道的数据输入结构如图4所示的加密网络,加密网络输出3通道的加密图像,该输出再与同一个位平面P1通道连接形成4通道的数据输入结构如图4所示的解密网络,解密网络输出3通道的解密图像,以式(16)和式(12)描述的损失函数分别作为加密网络和解密网络的损失对整个网络进行联合训练;第二步,将每一个训练样本都与P1进行通道连接形成4通道的数据输入结构如图4所示的加密网络,加密网络输出3通道的加密图像,该输出再与另一个位平面P1’通道连接形成4通道的数据输入结构如图4所示的解密网络,解密网络输出3通道的解密图像,以式(17)和式(12)描述的损失函数分别作为加密网络和解密网络的损失对整个网络进行联合训练。所有训练数据以上述两步交替进行训练,直至网络收敛。
(3)用训练好的加密网络对彩色度图像进行加密
将上一步训练完成的网络及参数保存,单独用加密网络进行图像加密,用逻辑混沌映射基于用户密钥生成256×256大小的一个位平面P1和一个字节平面P2,将图像转换成0到1之间的实数,图像若为256×256大小,则与P1通道连接输入加密网络,将加密网络的输出先截断为0到1之间的实数,即小于0的值设置为0,大于1的值设置为1,然后所有值乘以255并转换成整数形式,将该整数图像所有通道分别与P2进行逐像素按位异或得到最终的加密彩色图像。图像若不为256×256大小,可将图像分割为若干个256×256大小的子图分别进行加密,最后不足256行或256列的子图可填0扩充成256×256大小。
(4)用训练好的解密网络对彩色加密图像进行解密
用逻辑混沌映射基于用户密钥生成256×256大小的一个位平面P1和一个字节平面P2。图像若为256×256大小,首先用P2与加密图像的各通道进行逐像素按位异或恢复出初始扩散图像,将该图像像素除以255转换成0到1之间的实数,将与同样转换成实数形式的P1通道连接后输入解密网络,解密网络的输出截断为0到1之间的实数,所有值乘以255并转成整形即可得到解密图像。图像若不为256×256大小,可将图像分割为若干个256×256大小的子图分别进行解密。解密时用户密钥如与加密密钥不一致,将无法有效解密出原图像。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。