本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其是一種基于機器視覺的數(shù)據(jù)安全傳輸方法。
背景技術(shù):
現(xiàn)代通信的數(shù)據(jù)傳輸,從傳輸媒體介質(zhì)上可以分為有線傳輸和無線傳輸,從傳輸方向上可以分為單向傳輸和雙向傳輸。無論是利用有線的電纜、光纜的數(shù)據(jù)傳輸,還是無線的Wifi和移動通信基站的數(shù)據(jù)傳輸,都具有較高的隱蔽性。不為人眼、人耳所能夠直接感知,同時也具有較高的傳輸速度,再加上需要信號握手等原因,也普遍采用的是雙向通信方式。
其中的雙向傳輸,導(dǎo)致了黑客攻擊的可能。而高效方便的傳輸,又導(dǎo)致了數(shù)據(jù)泄密的高效和方便性。對于部分?jǐn)?shù)據(jù)較為機密的政府、軍隊、商業(yè)公司核心數(shù)據(jù)網(wǎng)絡(luò),均采用了內(nèi)網(wǎng)隔離的管理手段以阻止黑客從網(wǎng)絡(luò)上發(fā)起的攻擊。
同時,內(nèi)外網(wǎng)的數(shù)據(jù)不可能絲毫不交流,處于內(nèi)外網(wǎng)之間的業(yè)務(wù)部門,經(jīng)常需要在內(nèi)外網(wǎng)之間單向復(fù)制數(shù)據(jù)。目前常用的技術(shù)手段有兩種:一種是刻錄光盤,一種是采用特殊的U盤就行數(shù)據(jù)復(fù)制。前者產(chǎn)生了大量的耗材浪費,U因為會交叉插拔,也產(chǎn)生了病毒感染的可能。另外,還有若干安全網(wǎng)關(guān)等產(chǎn)品,理論上是實現(xiàn)了數(shù)據(jù)的安全傳輸,但畢竟有有線或者無線網(wǎng)絡(luò)連接,使得有心做數(shù)據(jù)竊取和網(wǎng)絡(luò)攻擊的內(nèi)部人員,總能做得比較隱蔽和方便。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是:提供了一種基于機器視覺的數(shù)據(jù)安全傳輸方法,它能夠提高方便性不損失安全性,或者在略微損失安全性的前提下有效提高方便性,以克服現(xiàn)有技術(shù)不足。
本發(fā)明是這樣實現(xiàn)的:基于機器視覺的數(shù)據(jù)安全傳輸裝置,該裝置包括發(fā)送端與接收端;發(fā)送端包括具有編碼功能的發(fā)送處理器及具有圖像展示功能的顯示器;接收端包括具有圖像采集功能的攝像頭及具有數(shù)據(jù)解碼的功能的接收處理器。
基于機器視覺的數(shù)據(jù)安全傳輸方法,包括如下步驟:
1)將待傳輸?shù)臄?shù)據(jù)進行編碼,發(fā)送端通過發(fā)送處理器將待傳輸?shù)臄?shù)據(jù)編碼為具有高信息密度的圖像,所述的高信息密度是指相對于用圖像傳遞信息的文本圖像或者QR二維碼圖像而言,至少比這兩者高5倍以上,將編碼好的圖像通過顯示器進行顯示;
2)接收端的攝像頭采集發(fā)送端的顯示器上所顯示的圖像信息并發(fā)送至接收處理器,接收處理器將采集的圖像信息經(jīng)過解碼還原為原始數(shù)據(jù)。
將編碼好的圖像采用畸變矯正與白平衡處理。
所述的數(shù)據(jù)編碼具體是:將數(shù)據(jù)編碼為色塊圖像,色塊圖像中的每個顏色塊對應(yīng)了數(shù)據(jù)二進制流中的k個位;將圖像文件切割為發(fā)送端顯示屏的屏幕能夠一次展示,接收端攝像頭能夠一幀捕獲的大小,使其形成一幀以上連續(xù)圖像。
在每個色塊圖像中還加入了4個尺度不變的圖像特征點和一組紅藍綠黑白的5個白平衡及曝光度矯正色塊,以便數(shù)據(jù)接收端準(zhǔn)確把握數(shù)據(jù)的位置,和白平衡及曝光度矯正;具體包括消除畸變與消除色差和曝光不穩(wěn)定的影響:
消除畸變:先利用圖像快速模板匹配算法,得到采集圖像中4個畸變矯正標(biāo)記的位置,再利用四點求透視變換矩陣T,然后利用T的逆矩陣T-1,和已知的發(fā)送端色塊和畸變矯正點的相對位置關(guān)系,求出每個色塊的位置;
消除色差和曝光不穩(wěn)定的影響:利用5個白平衡及曝光度矯正色塊,得到圖像的對每種顏色的曝光范圍,進行圖像的實時曝光度矯正和白平衡矯正。
當(dāng)收到一個文件的所有數(shù)據(jù)塊以后,利用文件頭信息中的文件校驗信息,對文件進行校驗,如果文件完整,則報告用戶文件可用,否則請求用戶重傳此文件。
本發(fā)明對應(yīng)數(shù)據(jù)的傳輸方向,本裝置有兩種傳送模式:單向傳輸和雙向傳輸。選用單向傳輸模式,可以減少一套顯示器和攝像頭的硬件連接,可以獲得更高的數(shù)據(jù)安全性,但也犧牲一定便利性和傳輸速率。如果選用雙向傳輸模式,內(nèi)外網(wǎng)的數(shù)據(jù)仍然沒有物理電纜的連接或者wifi數(shù)據(jù)的鏈接,仍然可以保證高度的安全性。
與現(xiàn)有的技術(shù)相比,本發(fā)明利用顯示器、攝像頭和機器視覺算法復(fù)合協(xié)同工作,實現(xiàn)了數(shù)據(jù)的有效及安全傳輸,相對于已有內(nèi)部網(wǎng)絡(luò)和公有網(wǎng)絡(luò)的數(shù)據(jù)交換的軟硬件解決方案,本發(fā)明能夠提高方便性不損失安全性,或者在略微損失安全性的前提下有效提高方便性。與現(xiàn)有的QR二維碼等二維碼不同的是,1、顯示載體不一樣,本發(fā)明只能采用顯示器作為顯示載體,不印刷或打印。2、設(shè)計的應(yīng)用場景不一樣,本發(fā)明為安全傳輸數(shù)據(jù)而設(shè)計,對數(shù)據(jù)的傳輸率有一定要求,目前在自然工作環(huán)境下,可以達到每秒100KB以上,而二維碼掃描器,對于含有二維碼的視頻,一般需要若干秒才能穩(wěn)定識別出一組一般為十幾到幾十個字節(jié)的編碼。3、技術(shù)手段上有若干不同,比如二維碼的識別只采用了兩種顏色,對彩色信息并不依賴,也不需要做相應(yīng)的偏色矯正處理。本發(fā)明簡單易行,成本低廉,使用效果好。
附圖說明
附圖1為本發(fā)明的原理圖;
附圖2為本發(fā)明的實施例中接收端攝像頭捕獲到的圖像;
附圖3為本發(fā)明的實施例中接收端畸變校正后的圖像
附圖4為本發(fā)明的定位標(biāo)記及色差和曝光不穩(wěn)定消除標(biāo)記。
具體實施方式
下面結(jié)合附圖對本發(fā)明作進一步的詳細說明,但不作為對本發(fā)明的任何限制
本發(fā)明的實施例:基于機器視覺的數(shù)據(jù)安全傳輸裝置,該裝置包括發(fā)送端與接收端;發(fā)送端包括具有編碼功能的發(fā)送處理器及具有圖像展示功能的顯示器;接收端包括具有圖像采集功能的攝像頭及具有數(shù)據(jù)解碼的功能的接收處理器。
基于機器視覺的數(shù)據(jù)安全傳輸方法,
數(shù)據(jù)發(fā)送端的流程和圖像結(jié)構(gòu)設(shè)計為:
1)數(shù)據(jù)文件載入。從存儲器、網(wǎng)絡(luò)中獲取數(shù)據(jù),文件大小不限制,也不必一次載入內(nèi)存。
2)文件頭信息編碼。也就是用默認的編碼方式告訴接收端:接下來將發(fā)送怎樣屬性的文件(或文件夾)內(nèi)容,包括文件夾的組織結(jié)構(gòu)、文件的大小、文件名、修改、時間、只讀、可執(zhí)行等屬性。
3)數(shù)據(jù)片段切割。將文件切割為發(fā)送端屏幕能夠一次展示,接收端攝像頭能夠一幀捕獲的大小。
4)數(shù)據(jù)片段編碼。我們可以用多種方法將每個片段的數(shù)據(jù)編碼成一幀圖像:一種實施方法是用一幀圖像中包含若干顏色塊,每個顏色塊對應(yīng)了數(shù)據(jù)二進制流中的k個位。當(dāng)k=1時,表示1個顏色塊對應(yīng)1個位,則位的值0和1對應(yīng)顏色塊的黑和白;當(dāng)k=2時,表示1個顏色塊2位,可以選用黑、紅、綠和藍對應(yīng)編碼00/01/10和11;當(dāng)k>2時,需要更加小心選取易于分別,不容易混淆的顏色值。最后我們還將數(shù)據(jù)校驗和糾錯位也納入編碼中,根據(jù)用戶需求,可以選擇使用求和校驗或者CRC循環(huán)冗余校驗及糾錯。另外一種實施方法是在上述方法基礎(chǔ)上,在有效數(shù)據(jù)的色塊中間插入矯正色塊,可以改善光照不均勻帶來的問題。再例如,我們可以將待發(fā)送數(shù)據(jù)每兩個字節(jié)看成UNICODE16編碼,則可以將數(shù)據(jù)變成字符圖案組成的圖像,解碼端用OCR技術(shù)可以解碼恢復(fù)出數(shù)據(jù),字符方法比色塊方法的一個好處是對圖像畸變、平移,有較好的穩(wěn)定性,缺點是對解碼端運算性能要求較高。綜上所述,將數(shù)據(jù)變換為圖像,再將圖像變換回數(shù)據(jù)的方案具有多種,本發(fā)明主要要求保護的是整體實施框架,不局限于具體的圖像編碼方案。
5)數(shù)據(jù)片段展示。在這個階段,數(shù)據(jù)編碼而成的圖像,被顯示在屏幕中間,并加上了延時控制,以契合數(shù)據(jù)接收端的視頻采集幀率。另外,在數(shù)據(jù)片段周圍,我們還加上了4個尺度不變的圖像特征點和一組紅藍綠黑白的色塊,以便數(shù)據(jù)接收端準(zhǔn)確把握數(shù)據(jù)的位置,和白平衡及曝光度矯正。
數(shù)據(jù)接收端的流程為:
1)開啟攝像頭。設(shè)置到1080x1920以上的分辨率,每秒30幀以上的圖像采集幀率;
2)捕獲圖像。這里捕獲到的圖像,除了文件數(shù)據(jù)塊對應(yīng)的顏色塊,還包括了4個畸變矯正標(biāo)記,5個白平衡及曝光度矯正色塊。
3)消除畸變。利用已有方法公開的圖像快速模板匹配算法,得到采集圖像中4個畸變矯正標(biāo)記的位置,利用用已有方法公開的四點求透視變換矩陣T,然后利用T的逆矩陣T-1,和已知的發(fā)送端色塊和畸變矯正點的相對位置關(guān)系,求出每個色塊的位置。
4)消除色差和曝光不穩(wěn)定的影響。利用5個固定色塊中的紅藍綠色塊和黑白色塊,得到圖像的對每種顏色的曝光范圍,進行圖像的實時曝光度矯正和白平衡矯正。
5)解碼一幀。將所有色塊對應(yīng)的二進制流組合在一起,得到一幀數(shù)據(jù),并將這幀數(shù)據(jù)進行解讀,如果是文件頭信息編碼,則創(chuàng)建相應(yīng)的文件。如果是文件塊數(shù)據(jù),則向已經(jīng)創(chuàng)建好的文件中以追加模式寫入該文件塊。
6)文件完成校驗。當(dāng)收到一個文件的所有數(shù)據(jù)塊以后,利用文件頭信息中的文件校驗信息,對文件進行校驗,如果文件完整,則報告用戶文件可用,否則請求用戶重傳此文件。
本實施例中,要輸出的是一個文本文件,文件名是PatentDemo.txt,文件內(nèi)容是文本:"Hello world!\r\nfrom貴州大學(xué)程欣宇",含回車換行符用UTF-8字符編碼成十六進制數(shù)據(jù)流是:“48 65 6C 6C 6F 20 77 6F 72 6C 64 21 0D 0A 66 72 6F 6D 20 B9 F3 D6 DD B4 F3 D1 A7 B3 CC D0 C0 D3 EE”;
實施例中傳輸文件按如下協(xié)議:數(shù)據(jù)類型(8位)+文件名長度(8位)+文件名UTF8字節(jié)流+文件長度(32位)+文件內(nèi)容。則上面的文件傳輸,按2bits一個色塊,編碼的前面20個色塊為:
00(黑)00(黑)00(黑)00(黑),表示數(shù)據(jù)類型為文件類型(類型0)。
00(黑)00(黑)11(藍)10(紅),表示文件名長度為14。
01(綠)01(綠)00(黑)00(黑),表示文件名的第一個字節(jié)是80,也就是字母P的ASCII編碼。
01(綠)10(紅)00(黑)01(綠),表示文件名的第二個字節(jié)是97,也就是字母a的ASCII編碼。
11(藍)10(紅)01(綠)00(黑),表示文件名的第三個字節(jié)是11(藍)6,也就是字母t的ASCII編碼。
后面的顏色塊編碼方法以此類推,這個例子僅舉例說明一種可選的數(shù)據(jù)到圖案的編碼方案,專利使用者可以自行選用或者設(shè)計其它的數(shù)據(jù)到圖案的編解碼方法。
以上所述,僅是本發(fā)明的較佳實例而已,并非對本發(fā)明做任何形式上的限制,任何未脫離本發(fā)明技術(shù)方案內(nèi)容,依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。