当前位置: 首页 > 专利查询>武汉大学专利>正文

一种隐私保护Canny边缘检测方法技术

技术编号:27688583 阅读:16 留言:0更新日期:2021-03-17 04:17
本发明专利技术提出了一种隐私保护Canny边缘检测方法。本发明专利技术包括:客户端、第一云服务器、第二云服务器、第三云服务器。客户端加密源图像,得到一个加密图像和一个偏移图像,分别发送给第一云服务器和第二云服务器;第一云服务器和第二云服务器分别对各自接收到的图像进行颜色空间转换、高斯滤波、梯度计算,并在第三云服务器的帮助下完成低阈值检验、非极大值抑制、高阈值检验、边缘连接、孤立点抑制,之后将两个加密结果图像返回给客户端;客户端解密得到Canny边缘检测的结果。本发明专利技术优点在于,在不泄露源图像的隐私信息给云服务器的条件下,实现对源图像的Canny边缘检测,且达到与OpenCV标准Canny边缘检测几乎完全一样的结果。

【技术实现步骤摘要】
一种隐私保护Canny边缘检测方法
本申请属于计算机图像处理、隐私保护计算领域,涉及一种隐私保护Canny边缘检测方法。
技术介绍
在云计算时代,使用云服务器处理海量数据变得越来越普遍,但是云服务器上的数据可能包含用户的隐私信息。隐私保护计算可以对加密的数据进行计算,并获得与数据未加密时一样的结果,从而可以有效保护用户隐私。边缘检测在图像处理和计算机视觉中起着至关重要的作用:一方面,它能分离图像中的对象与背景,从而保留重要的结构属性并减少冗余信息;另一方面,它是许多其他图像操作的预处理。在边缘检测中,Canny算子可以精确地定位边缘,并且不易受噪声影响,因此使用非常广泛。未来随着云计算技术发展,越来越多的计算任务将在云端进行。所以,设计针对Canny边缘检测的隐私保护计算方案非常重要。目前的隐私保护图像处理方案主要针对SIFT、SURF、HOG等数字特征。边缘是一种几何特征,与数字特征有很大不同:首先,边缘是用像素表示的,而数字特征是用数值表示的。在隐私保护计算中,数字特征只需要对数值进行加密,而边缘需要对每个像素的像素值和位置进行加密。目前针对数字特征的隐私保护计算方案使用数学加密算法或安全多方计算协议加密数字特征,但这些方法无法保证边缘的安全性。其次,边缘主要通过比较大小来检测,而数字特征主要通过计算得到。在操作数加密的情况下,计算的结果也是加密的,但比较大小的结果是非加密的。目前针对数字特征的隐私保护计算方案使用乱码电路、安全比较协议等对云服务器中的加密数据进行比较大小,比较之后会将结果直接泄露给云服务器,这对数字特征只会泄露关键点位置、梯度方向范围等信息,但是对于边缘则能让云服务器直接得到边缘检测的结果,这与隐私保护计算的目标不符。基于以上问题,本专利技术提出了一种隐私保护Canny边缘检测方法来解决在云服务器上进行Canny边缘检测过程中的隐私保护问题,主要包括边缘加密和比较结果加密的问题。
技术实现思路
:本专利技术目的是在云服务器对源图像进行Canny边缘检测的过程中保护图像的隐私信息不泄露,同时得到与没有隐私保护几乎完全一样的边缘检测结果。隐私信息包括源图像和检测到的边缘中的像素值和位置。本专利技术系统的技术方案为一种隐私保护Canny边缘检测系统,包括:客户端、第一云服务器、第二云服务器、第三云服务器;所述客户端分别与所述的第一云服务器、第二云服务器通过无线方式连接;所述第三云服务器分别与所述的第一云服务器、第二云服务器通过无线方式连接;假设源图像用S表示,高、低阈值分别用Ht和Lt表示。本专利技术的方法技术方案为一种隐私保护Canny边缘检测方法,包括以下步骤:步骤1:客户端生成一个与源图像行、列、通道数均相同的偏移图像,偏移图像中每个通道的像素值在一定范围内随机选择,利用源图像以及偏移图像生成加密图像;步骤2:第一云服务器和第二云服务器分别对各自接收到的图像进行颜色空间转换、高斯滤波、梯度计算;步骤3:第一云服务器、第二云服务器结合第三云服务器计算辅助矩阵和辅助参数;步骤4:第一云服务器和第二云服务器在第三云服务器的帮助下完成低阈值检验、非极大值抑制、高阈值检验;步骤5:第一云服务器和第二云服务器在第三云服务器的帮助下完成边缘连接和孤立点抑制;步骤6:第一云服务器和第二云服务器将加密的结果图像返回给客户端,客户端解密得到Canny边缘检测的结果;作为优选,步骤1所述源图像为S,其每一个像素值为:S(x,y,t)x∈[0,M-1],y∈[0,N-1],t∈[0,P-1]其中,S(x,y,t)表示源图像第x行第y列第t通道的像素值,M为源图像的行数,N为源图像的列数,P为源图像的通道数,对于RGB图像,P=3,对于灰度图像,P=1;步骤1所述偏移图像为B,其每一个像素值为:B(x,y,t)x∈[0,M-1],y∈[0,N-1],t∈[0,P-1]其中,M为偏移图像的行数,N为偏移图像的列数,P为偏移图像的通道数,B(x,y,t)表示偏移图像第x行第y列第t通道的像素值,即步骤1中所述偏移图像中每个通道的像素值,具体计算方法为步骤1中所述在一定范围内随机选择,选择在[0,213-1]范围内的随机整数作为每个通道的像素值;步骤1所述利用源图像以及偏移图像生成加密图像为:C=S+B其中,C为加密图像,其每一个像素值为:C(x,y,t)x∈[0,M-1],y∈[0,N-1],t∈[0,P-1]其中,M为加密图像的行数,N为加密图像的列数,P为加密图像的通道数,C(x,y,t)表示加密图像第x行第y列第t通道的像素值;客户端为高阈值Ht生成高阈值偏移量Hb,为低阈值Lt生成低阈值偏移量Lb,具体生成方法为选择在[0,215-1]范围内的随机整数作为Hb和Lb的值;客户端利用高阈值、低阈值、高阈值偏移量、低阈值偏移量分别计算加密高阈值、加密低阈值为:Hc=Ht+HbLc=Lt+Lb其中,Hc为加密高阈值,Lc为加密低阈值。客户端为云服务器生成一个梯度标志flag,标记每个像素的梯度如何计算;当flag为假时,梯度的计算方式为:G(x,y)=|Gx(x,y)|+|Gy(x,y)|其中,G为梯度图像,G(x,y)表示梯度图像第x行第y列的像素值,Gx为x方向梯度分量图像,Gx(x,y)表示x方向梯度分量图像第x行第y列的像素值,Gy为y方向梯度分量图像,Gy(x,y)表示y方向梯度分量图像第x行第y列的像素值,每个像素(x,y)的梯度G(x,y)由该像素的x方向梯度分量Gx(x,y)和y方向梯度分量Gy(x,y)的绝对值计算得到;当flag为真时,梯度的计算方式为:每个像素(x,y)的梯度G(x,y)由该像素的x方向梯度分量Gx(x,y)和y方向梯度分量Gy(x,y)的平方计算得到;客户端将加密图像C、加密高阈值Hc、加密低阈值Lc、梯度标志flag传输至第一云服务器;客户端将偏移图像B、高阈值偏移量Hb、低阈值偏移量Lb、梯度标志flag传输至第二云服务器。作为优选,若加密图像C和偏移图像B为RGB颜色空间的图像,第一云服务器和第二云服务器首先使用相同的转换公式将加密图像C和偏移图像B由RGB颜色空间转换到灰度空间,生成灰度加密图像Cgray和灰度偏移图像Bgray:Cgray=0.299·Cr+0.587·Cg+0.114·CbBgray=0.299·Br+0.587·Bg+0.114·Bb其中,为Cr、Cg、Cb分别为加密图像C中红、绿、蓝三种通道中的像素值组成的图像,Br、Bg、Bb分别为偏移图像B中红、绿、蓝三种通道中的像素值组成的图像;第一云服务器、第二云服务器使用相同的高斯卷积核分别对灰度加密图像Cgray和灰度偏移图像Bgray进行卷积,得到高斯加密图像CG和高斯偏本文档来自技高网
...

【技术保护点】
1.一种基于隐私保护Canny边缘检测系统的边缘检测方法,其特征在于:/n所述隐私保护Canny边缘检测系统包括:客户端、第一云服务器、第二云服务器、第三云服务器;/n所述客户端分别与所述的第一云服务器、第二云服务器通过无线方式连接;/n所述第三云服务器分别与所述的第一云服务器、第二云服务器通过无线方式连接;/n所述边缘检测方法包括以下步骤:/n步骤1:客户端生成一个与源图像行、列、通道数均相同的偏移图像,偏移图像中每个通道的像素值在一定范围内随机选择,利用源图像以及偏移图像生成加密图像;/n步骤2:第一云服务器和第二云服务器分别对各自接收到的图像进行颜色空间转换、高斯滤波、梯度计算;/n步骤3:第一云服务器、第二云服务器结合第三云服务器计算辅助矩阵和辅助参数;/n步骤4:第一云服务器和第二云服务器在第三云服务器的帮助下完成低阈值检验、非极大值抑制、高阈值检验;/n步骤5:第一云服务器和第二云服务器在第三云服务器的帮助下完成边缘连接和孤立点抑制;/n步骤6:第一云服务器和第二云服务器将加密的结果图像返回给客户端,客户端解密得到Canny边缘检测的结果。/n

【技术特征摘要】
1.一种基于隐私保护Canny边缘检测系统的边缘检测方法,其特征在于:
所述隐私保护Canny边缘检测系统包括:客户端、第一云服务器、第二云服务器、第三云服务器;
所述客户端分别与所述的第一云服务器、第二云服务器通过无线方式连接;
所述第三云服务器分别与所述的第一云服务器、第二云服务器通过无线方式连接;
所述边缘检测方法包括以下步骤:
步骤1:客户端生成一个与源图像行、列、通道数均相同的偏移图像,偏移图像中每个通道的像素值在一定范围内随机选择,利用源图像以及偏移图像生成加密图像;
步骤2:第一云服务器和第二云服务器分别对各自接收到的图像进行颜色空间转换、高斯滤波、梯度计算;
步骤3:第一云服务器、第二云服务器结合第三云服务器计算辅助矩阵和辅助参数;
步骤4:第一云服务器和第二云服务器在第三云服务器的帮助下完成低阈值检验、非极大值抑制、高阈值检验;
步骤5:第一云服务器和第二云服务器在第三云服务器的帮助下完成边缘连接和孤立点抑制;
步骤6:第一云服务器和第二云服务器将加密的结果图像返回给客户端,客户端解密得到Canny边缘检测的结果。


2.根据权利要求1所述的基于隐私保护Canny边缘检测系统的边缘检测方法,其特征在于:
步骤1所述源图像为S,其每一个像素值为:
S(x,y,t)
x∈[0,M-1],y∈[0,N-1],t∈[0,P-1]
其中,S(x,y,t)表示源图像第x行第y列第t通道的像素值,M为源图像的行数,N为源图像的列数,P为源图像的通道数,对于RGB图像,P=3,对于灰度图像,P=1;
步骤1所述偏移图像为B,其每一个像素值为:
B(x,y,t)
x∈[0,M-1],y∈[0,N-1],t∈[0,P-1]
其中,M为偏移图像的行数,N为偏移图像的列数,P为偏移图像的通道数,B(x,y,t)表示偏移图像第x行第y列第t通道的像素值,即步骤1中所述偏移图像中每个通道的像素值,具体计算方法为步骤1中所述在一定范围内随机选择,选择在[0,213-1]范围内的随机整数作为每个通道的像素值;
步骤1所述利用源图像以及偏移图像生成加密图像为:
C=S+B
其中,C为加密图像,其每一个像素值为:
C(x,y,t)
x∈[0,M-1],y∈[0,N-1],T∈[0,P-1]
其中,M为加密图像的行数,N为加密图像的列数,P为加密图像的通道数,C(x,y,t)表示加密图像第x行第y列第t通道的像素值;
客户端为高阈值Ht生成高阈值偏移量Hb,为低阈值Lt生成低阈值偏移量Lb,具体生成方法为选择在[0,215-1]范围内的随机整数作为Hb和Lb的值;
客户端利用高阈值、低阈值、高阈值偏移量、低阈值偏移量分别计算加密高阈值、加密低阈值为:
Hc=Ht+Hb
Lc=Lt+Lb
其中,Hc为加密高阈值,Lc为加密低阈值;
客户端为云服务器生成一个梯度标志flag,标记每个像素的梯度如何计算;
当flag为假时,梯度的计算方式为:
G(x,y)=|Gx(x,y)|+|Gy(x,y)|
其中,G为梯度图像,G(x,y)表示梯度图像第x行第y列的像素值,Gx为x方向梯度分量图像,Gx(x,y)表示x方向梯度分量图像第x行第y列的像素值,Gy为y方向梯度分量图像,Gy(x,y)表示y方向梯度分量图像第x行第y列的像素值,每个像素(x,y)的梯度G(x,y)由该像素的x方向梯度分量Gx(x,y)和y方向梯度分量Gy(x,y)的绝对值计算得到;
当flag为真时,梯度的计算方式为:



每个像素(x,y)的梯度G(x,y)由该像素的x方向梯度分量Gx(x,y)和y方向梯度分量Gy(x,y)的平方计算得到;
客户端将加密图像C、加密高阈值Hc、加密低阈值Lc、梯度标志flag传输至第一云服务器;
客户端将偏移图像B、高阈值偏移量Hb、低阈值偏移量Lb、梯度标志flag传输至第二云服务器。


3.根据权利要求1所述的基于隐私保护Canny边缘检测系统的边缘检测方法,其特征在于:
所述步骤2具体为:
若加密图像C和偏移图像B为RGB颜色空间的图像,第一云服务器和第二云服务器首先使用相同的转换公式将加密图像C和偏移图像B由RGB颜色空间转换到灰度空间,生成灰度加密图像Cgray和灰度偏移图像Bgray:
Cgray=0.299·Cr+0.587·Cg+0.114·Cb
Bgray=0.299·Br+0.587·Bg+0.114·Bb
其中,为Cr、Cg、Cb分别为加密图像C中红、绿、蓝三种通道中的像素值组成的图像,Br、Bg、Bb分别为偏移图像B中红、绿、蓝三种通道中的像素值组成的图像;
第一云服务器、第二云服务器使用相同的高斯卷积核分别对灰度加密图像Cgray和灰度偏移图像Bgray进行卷积,得到高斯加密图像CG和高斯偏移图像BG;
第一云服务器使用Sobel算子在x方向和y方向上的权重矩阵对高斯加密图像CG进行卷积,分别得到x方向加密梯度图像Cx和y方向加密梯度图像Cy;
第二云服务器使用Sobel算子在x方向和y方向上的权重矩阵对高斯偏移图像BG进行卷积,分别得到x方向梯度偏移图像Bx和y方向梯度偏移图像By。


4.根据权利要求1所述的基于隐私保护Canny边缘检测系统的边缘检测方法,其特征在于:
步骤3所述辅助矩阵包括:第一组辅助矩阵以及第二组辅助矩阵;
第一组辅助矩阵是源图像s经过颜色空间转换、高斯滤波、梯度计算后的梯度图像Gx和Gy的符号矩阵,包括第一符号矩阵α和第二符号矩阵β,其每一个元素(x,y)满足如下关系:






其中,α(x,y)为第一符号矩阵第x行第y列的元素值,β(x,y)为第二符号矩阵第x行第y列的元素值,Gx(x,y)为x方向梯度分量图像第x行第y列的像素值,Gy(x,y)为y方向梯度分量图像第x行第y列的像素值;
计算第一符号矩阵α的步骤如下:
步骤3.1:第一云服务器和第二云服务器首先进行像素重排序,两台云服务器生成相同的初始行号矩阵Rowsinitial和初始列号矩阵Colsinitial,其每一个元素(x,y)满足如下关系:
Rowsinitial(x,y)=x
Colsinitial(x,y)=y
x∈[0,M-1],y∈[0,N-1]
其中,Rowsinotial(x,y)表示初始行号矩阵第x行第y列的元素值,Colsinitial(x,y)表示初始列号矩阵第x行第y列的元素值,M为行号矩阵和列号矩阵的行数,N为行号矩阵和列号矩阵的列数;
两台云服务器使用相同的随机数种子迭代生成相同的随机整数,在每一轮迭代中,生成的随机数rand的范围为[0,Max],其中Max的初始值为M×N-1,两台云服务器利用随机数rand计算像素重排序后的行号row和列号col:
row=rand/N
col=rand%N
其中,N为行号矩阵和列号矩阵的列数,像素重排序后的行号row为随机数rand除以N的商,像素重排序后的列号col为随机数rand除以N的余数;
同时,两台云服务器利用Max计算像素重排序前的行号row_max和列号col_max:
row_max=Max/N
col_max=Max%N
其中,N为行号矩阵和列号矩阵的列数,像素重排序前的行号row_max为Max除以N的商,像素重排序前的列号col_max为Max除以N的余数;
两台云服务器将初始行号矩阵Rowsinitial和初始列号矩阵Colsinitial中的元素(row_max,col_max)和(row,col)进行替换;
每经过一轮迭代Max减少1,直到Max减小到1迭代结束,迭代结束后两台云服务器得到相同的行号矩阵Rows和列号矩阵Cols,其每一个元素(x,y)满足如下关系:
Rows(x,y)=x′
Cols(x,y)=y′
其中,Rows(x,y)表示行号矩阵第x行第y列的元素值,Cols(x,y)表示列号矩阵第x行第y列的元素值,x′为像素重排序后元素(x,y)的行号,y′为像素重排序后元素(x,y)的列号,利用行号矩阵Rows和列号矩阵Cols可以实现元素(x,y)和元素(x′,y′)之间的对应;
第一云服务器和第二云服务器利用行号矩阵Rows和列号矩阵Cols分别对x方向加密梯度图像Cx和x方向梯度偏移图像Bx进行像素重排序,假设经过像素重排序后,Cx和Bx中第x行第y列的像素值Cx(x,y)和Bx(x,y)分别被置换为第x′行第y′列的像素值Cx(x′,y′)和Bx(x′,y′);
步骤3.2:对于每一个像素(x′,y′),第一云服务器和第二云服务器分别按如下方式加密:
I1=r1·Cx(x′,y′)+r2
I2=r1·Bx(x′,y′)+r2
其中,Cx(x′,y′)是x方向加密梯度图像第x′行第y′列的像素值,Bx(x′,y′)是x方向梯度偏移图像第x′行第y′列的像素值,r1和r2是第一云服务器和第二云服务器利用随机数种子生成的随机整数,范围是[-215+1,0)∪(0,215-1],对于不同的像素(x′,y′),r1和r2的取值也不同;
第一云服务器将I1和发送给第三云服务器,第二云服务器将I2发送给第三云服务器;
步骤3.3:第三云服务器比较I1和I2,并按如下方式生成比较结果:



第三云服务器将O1发送给第一云服务器,将O2发送给第二云服务器;
步骤3.4:第一云服务器和第二云服务器分别按如下方式得到结果:






其中,α(x′,y′)为第一符号矩阵第x′行第y′列的元素值;
步骤3.5:第一云服务器和第二云服务器用行号矩阵Rows和列号矩阵Cols恢复第一符号矩阵α中元素的顺序,即α中第x′行第y′列的元素值α(x′,y′)被置换为第x行第y列的元素值α(x,y),于是第一符号矩阵α在第一云服务器和第二云服务器上生成;
以上步骤组成了第一符号矩阵α的安全计算协议,其中步骤3.1、步骤3.5为像素重排序的步骤,步骤3.2至步骤3.4为安全比较协议的步骤,且安全比较协议只针对单个元素,第一符号矩阵α中的所有元素使用SIMD并行执行安全比较协议;
第二符号矩阵β的安全计算协议与第一符号矩阵α的安全计算协议相同,也要用到像素重排序和安全比较协议,只是y方向加密梯度图像Cy和y方向梯度偏移图像By分别替换上述步骤中的x方向加密梯度图像Cx和x方向梯度偏移图像Bx;
第二组辅助矩阵包括x方向乘积矩阵xMul1和xMul2,以及y方向乘积矩阵yMul1和yMul2,这些矩阵只在flag为真时计算;
对于每一个元素(x,y),这些乘积矩阵分别满足如下关系:
xMul1(x,y)+xMul2(x,y)=Cx(x,y)·Bx(x,y)
yMul1(x,y)+yMul2(x,y)=Cy(x,y)·By(x,y)
其中,xMul1(x,y)表示x方向第一乘积矩阵第x行第y列的元素值,xMul2(x,y)表示x方向第二乘积矩阵第x行第y列的元素值,Cx(x,y)表示x方向加密梯度图像第x行第y列的像素值,Bx(x,y)表示x方向梯度偏移图像第x行第y列的像素值,yMul1(x,y)表示y方向第一乘积矩阵第x行第y列的元素值,yMul2(x,y)表示y方向第二乘积矩阵第x行第y列的元素值,Cy(x,y)表示y方向加密梯度图像第x行第y列的像素值,By(x,y)表示y方向梯度偏移图像第x行第y列的像素值;
计算x方向乘积矩阵xMul1和xMul2的步骤如下:
步骤3.6:第一云服务器和第二云服务器生成相同的行号矩阵Rows和列号矩阵Cols,分别对x方向加密梯度图像Cx和x方向梯度偏移图像Bx进行像素重排序,假设经过像素重排序后,Cx和Bx中第x行第y列的像素值Cx(x,y)和Bx(x,y)分别被置换为第x′行第y′列的像素值Cx(x′,y′)和Bx(x′,y′);
步骤3.7:对于每一个像素(x′,y′),第一云服务器和第二云服务器分别按如下方式加密:
I1=r1·Cx(x′,y′)
I2=r2·Bx(x′,y′)
其中,Cx(x′,y′)是x方向加密梯度图像第x′行第y′列的像素值,Bx(x′,y′)是x方向梯度偏移图像第x′行第y′列的像素值,r1和r2是第一云服务器和第二云服务器利用随机数种子生成的随机整数,范围是[-215+1,0)∪(0,215-1],且对于不同的像素(x′,y′),r1和r2的取值不同;
第一云服务器和第二云服务器分别将I1和I2发送给第三云服务器;
步骤3.8:第三云服务器按如下方式生成结果:
O1=I1·I2-r3
O2=r3
其中,r3是第三云服务器产生的随机整数,其绝对值的范围是(0,229-1],其符号与I1·I2相同;
第三云服务器将O1和O2分别发送给第一云服务器和第二云服务器;
步骤3.9:第一云服务器和第二云服务器分别按如下方式得到结果:
xMul1(x′,y′)=O1/(r1·r2)
xMul2(x′,y′)=O2/(r1·r2)
其中,xMul1(x′,y′)为x方向第一乘积矩阵第x′行第y′列的元素值,xMul2(x′,y′)为x方向第二乘积矩阵第x′行第y′列的元素值;
步骤3.10:第一云服务器和第二云服务器用行号矩阵Rows和列号矩阵Cols恢复x方向第一乘积矩阵xMul1和x方向第二乘积矩阵xMul2中元素的顺序,即xMul1和xMul2中第x′行第y′列的元素值xMul1(x′,y′)和xMul2(x′,y′)分别被置换为第x行第y列的元素值xMul1(x,y)和xMul2(x,y),于是x方向第一乘积矩阵xMul1在第一云服务器上生成,x方向第二乘积矩阵xMul2在第二云服务器上生成;
以上步骤组成了x方向乘积矩阵xMul1和xMul2的安全计算协议,其中步骤3.6、步骤3.10为像素重排序的步骤,步骤3.7至步骤3.9为安全乘法协议的步骤,且安全乘法协议只针对单个元素,x方向乘积矩阵xMul1和xMul2中的所有元素使用SIMD并行执行安全乘法协议;
y方向乘积矩阵yMul1和yMul2的安全计算协议与x方向乘积矩阵xMul1和xMul2的安全计算协议相同,也要用到像素重排序和安全乘法协议,只是y方向加密梯度图像Cy和y方向梯度偏移图像By分别替换上述步骤中的x方向加密梯度图像Cx和x方向梯度偏移图像Bx;
步骤3所述辅助参数包括低阈值乘积lMul1和lMul2,以及高阈值乘积hMul1和hMul2,这些参数同样只在flag为真时计算,满足如下关系:
lMul1+lMul2=Lc·Lb
hMul1+hMul2=Hc·Hb
其中,lMul1为低阈值第一乘积,lMul2为低阈值第二乘积,Lc为加密低阈值,Lb为低阈值偏移量,hMul1为高阈值第一乘积,hMul2为高阈值第二乘积,Hc为加密高阈值,Hb为高阈值偏移量;
低阈值乘积lMul1和lMul2的计算过程如下:
第一云服务器和第二云服务器分别按如下方式加密:
I1=r1·Lc
I2=r2·Lb
其中,Lc为加密低阈值,Lb为低阈值偏移量,r1和r2是第一云服务器和第二云服务器利用随机数种子生成的随机整数,范围是(0,215-1];
第一云服务器和第二云服务器分别将I1和I2发送给第三云服务器;
第三云服务器按如下方式生成结果:
O1=I1·I2-r3
O2=r3
其中,r3是第三云服务器产生的随机整数,其范围是(0,231-1];
第三云服务器将O1和O2分别发送给第一云服务器和第二云服务器;
第一云服务器和第二云服务器分别按如下方式得到结果:
lMul1=O1/(r1·r2)
lMul2=O2/(r1·r2)
其中,lMul1为低阈值第一乘积,lMul2为低阈值第二乘积;
以上步骤组成了低阈值乘积lMul1和lMul2的安全计算协议,采用了安全乘法协议,但是没有采用像素重排序和SIMD;
高阈值乘积hMul1和hMul2的安全计算协议与低阈值乘积lMul1和lMul2的安全计算协议相同,也要用到安全乘法协议,只是加密高阈值Hc和高阈值偏移量Hb分别替换上述步骤中的加密低阈值Lc和低阈值偏移量Lb。


5.根据权利要求1所述的基于隐私保护Canny边缘检测系统的边缘检测方法,其特征在于:
步骤4所述低阈值检验、非极大值抑制、高阈值检验三个操作连续执行,具体步骤如下:
步骤4.1:第一云服务器和第二云服务器生成相同的行号矩阵Rows和列号矩阵Cols,第一云服务器对x方向加密梯度图像Cx、y方向加密梯度图像Cy、第一符号矩阵α、第二符号矩阵β、x方向第一乘积矩阵xMul1、y方向第一乘积矩阵yMul1进行像素重排序,第二云服务器对x方向梯度偏移图像Bx、y方向梯度偏移图像By、第一符号矩阵α、第二符号矩阵β、x方向第二乘积矩阵xMul2、y方向第二乘积矩阵yMul2进行像素重排序,假设经过像素重排序后,Cx、Cy、Bx、By、α、β、xMul1、yMul1、xMul2、yMul2中第x行第y列的像素值Cx(x,y)、Cy(x,y)、Bx(x,y)、By(x,y)、α(x,y)、β(x,y)、xMul1(x,y)、yMul1(x,y)、xMul2(x,y)、yMul2(x,y)分别被置换为第x′行第y′列的像素值Cx(x′,y′)、Cy(x′,y′)、Bx(x′,y′)、By(x′,y′)、α(x′,y′)、β(x′,y′)、xMul1(x′,y′)、yMul1(x′,y′)、xMul2(x′,y′)、yMul2(x′,y′);
步骤4.2:对于每一个像素(x′,y′),当flag为假时,第一云服务器和第二云服务器分别按如下方式生成低阈值检验的输入:
I1=α(x′,y′)·Cx(x′,y′)+β(x′,y′)·Cy(x′,y′)-Lc
I2=α(x′,y′)·Bx(x′,y′)+β(x′,y′)·By(x′,y′)-Lb
其中,Cx(x′,y′)是x方向加密梯度图像第x′行第y′列的像素值,Cy(x′,y′)是y方向加密梯度图像第x′行第y′列的像素值,Bx(x′,y′)是x方向梯度偏移图像第x′行第y′列的像素值,By(x′,y′)是y方向梯度偏移图像第x′行第y′列的像素值,α(x′,y′)是第一符号矩阵第x′行第y′列的元素值,β(x′,y′)是第二符号矩阵第x′行第y′列的元素值,Lc是加密低阈值,Lb是低阈值偏移量;
当flag为真时,第一云服务器和第二云服务器分别按如下方式生成低阈值检验的输入:






其中,xMul1(x′,y′)为x方向第一乘积矩阵第x′行第y′列的元素值,xMul2(x′,y′)为x方向第二乘积矩阵第x′行第y′列的元素值,yMul1(x′,y′)为y方向第一乘积矩阵第x′行第y′列的元素值,yMul2(x′,y′)为y方向第二乘积矩阵第x′行第y′列的元素值,lMul1为低阈值第一乘积,lMul2为低阈值第二乘积;
第一云服务器和第二云服务器分别将I1和I2发送给第三云服务器;
步骤4.3:当flag为假时,第三云服务器按如下方式生成低阈值检验结果:



Rlow2(x′,y′)=r
当flag为真时,第三云服务器按如下方式生成低阈值检验结果:



Rlow2(x′,y′)=r
其中,Rlow1(x′,y′)为低阈值检验第一加密结果图像第x′行第y′列的像素值,Rlow2(x′,y′)为低阈值检验第二加密结果图像第x′行第y′列的像素值,r是第三云服务器产生的随机整数,范围是[0,255];
步骤4.4:对于每一个像素(x′,y′),第一云服务器按如下方式生成确定梯度方向的输入:
I1=β(x′,y′)·Cy(x′,y′)-α(x′,y′)·Cx(x′,y′)·tan22.5°+r1
I3=β(x′,y′)·Cy(x′,y′)-α(x′,y′)·Cx(x′,y′)·tan67.5°+r2
其中,Cx(x′,y′)是x方向加密梯度图像第x′行第y′列的像素值,Cy(x′,y′)是y方向加密梯度图像第x′行第y′列的像素值,α(x′,y′)是第一符号矩阵第x′行第y′列的元素值,β(x′,y′)是第二符号矩阵第x′行第y′列的元素值,r1和r2是利用随机数种子生成的随机整数,范围是[-215+1,0)∪(0,215-1],对于不同的像素(x′,y′),r1和r2的取值也不同;
第二云服务器按如下方式生成确定梯度方向的输入:
I2=β(x′,y′)·By(x′,y′)-α(x′,y′)·Bx(x′,y′)·tan22.5°+r1
I4=β(x′,y′)·By(x′,y′)-α(x′,y′)·Bx(x...

【专利技术属性】
技术研发人员:何发智李博文梁亚倩许黄心歆
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1