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