本發(fā)明涉及一種基于可見光隱形二維碼的傳輸與定位方法,屬于可見光隱形二維碼技術(shù)領(lǐng)域。
背景技術(shù):
傳統(tǒng)的gps定位技術(shù),用于室內(nèi)定位存在很大面積的盲區(qū),因此很多室內(nèi)定位技術(shù)相繼開發(fā)出來(lái),如基于藍(lán)牙、wifi的室內(nèi)定位技術(shù),其室內(nèi)定位的精準(zhǔn)性比gps定位技術(shù)要高很多,然而這些定位技術(shù)也存在很多弊端,其覆蓋面積小,抗干擾能力弱,保密性差,成本高等;因此室內(nèi)可見光定位技術(shù)很好的代替了這些定位技術(shù),成為一種新型的室內(nèi)定位技術(shù)。由于室內(nèi)本身有照明的需要,再利用led進(jìn)行室內(nèi)定位,其成本大大降低,成為一種高效節(jié)約資源的室內(nèi)定位技術(shù),并且受到廣泛的關(guān)注和研究。
傳統(tǒng)的二維碼雖然有信息容量大、編碼范圍廣、容錯(cuò)糾錯(cuò)功能強(qiáng)、成本低等優(yōu)點(diǎn),但是很多手機(jī)病毒以及釣魚網(wǎng)站也會(huì)加進(jìn)二維碼中,會(huì)導(dǎo)致很多垃圾信息生成,而且二維碼由于其特定的編碼格式,導(dǎo)致其格式單一;然而如果將本來(lái)應(yīng)用于照明的led按照一定的格式排列,那么可以解決照明的同時(shí),將信息隱含其led點(diǎn)陣中,這樣在大型商場(chǎng)既可以為顧客提供照明的同時(shí),也給顧客提供了信息篩選的功能,以及顧客定位的功能,這樣即節(jié)約了成本的同時(shí),也實(shí)現(xiàn)了功能的擴(kuò)展,使得led燈光擁有諸多功能。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是:提供一種基于可見光隱形二維碼的傳輸與定位方法,利用可見光的某種燈的排布,通過(guò)手機(jī)攝像頭讀出這種燈排布方式上隱藏的信息,在接收信息的同時(shí)實(shí)現(xiàn)室內(nèi)定位。
本發(fā)明為解決上述技術(shù)問(wèn)題采用以下技術(shù)方案:
一種基于可見光隱形二維碼的傳輸與定位方法,包括如下步驟:
步驟1,設(shè)定室內(nèi)需要照明區(qū)域的頂部為水平面,將室內(nèi)需要照明區(qū)域的頂部分成若干個(gè)大小相同的正方形小區(qū)域,在每個(gè)正方形小區(qū)域的四個(gè)角上設(shè)置數(shù)量相同、排布相同的led燈,在正方形小區(qū)域的剩余位置排布預(yù)設(shè)數(shù)量的led燈,并且將預(yù)設(shè)數(shù)量的led燈排布成非對(duì)稱形式的led點(diǎn)陣;
步驟2,將所有的led燈并聯(lián)在一起,設(shè)置固定頻率p,50hz<p<100hz,使所有l(wèi)ed燈按頻率p閃爍;設(shè)定led燈亮為1,滅為0,將每個(gè)正方形小區(qū)域led點(diǎn)陣中的led燈按照相同的順序從1開始編號(hào),并從編號(hào)1開始對(duì)每個(gè)led燈進(jìn)行賦值,則每個(gè)正方形小區(qū)域led點(diǎn)陣中l(wèi)ed燈的亮滅組成一串二進(jìn)制碼;同一時(shí)刻每個(gè)正方形小區(qū)域組成的二進(jìn)制碼各不相同,則每個(gè)正方形小區(qū)域?qū)?yīng)有兩串二進(jìn)制碼,將每串二進(jìn)制碼賦予不同的信息并制表存儲(chǔ);
步驟3,設(shè)置視頻錄制模塊的錄制頻率為p,利用視頻錄制模塊錄制某個(gè)正方形小區(qū)域led燈閃爍的視頻,錄制時(shí)間至少n個(gè)周期,n為大于等于10的整數(shù);將錄制好的視頻進(jìn)行切割,得到40*n張圖片,對(duì)每張圖片通過(guò)圖像處理以及機(jī)器學(xué)習(xí)算法,得到圖片上每盞led燈的亮滅狀態(tài),進(jìn)而還原出每張圖片對(duì)應(yīng)的二進(jìn)制碼,通過(guò)查表,得到二進(jìn)制碼對(duì)應(yīng)的信息并顯示;
步驟4,從步驟3切割得到的40*n張圖片中,隨機(jī)抽取一張圖片,根據(jù)圖片中四個(gè)角上led燈的曝光程度得到拍攝者相對(duì)于圖片的位置;根據(jù)圖片中l(wèi)ed點(diǎn)陣在圖片中的大小得到拍攝者與led點(diǎn)陣的距離;根據(jù)位置和距離得到拍攝者在室內(nèi)的方位,實(shí)現(xiàn)定位。
作為本發(fā)明的一種優(yōu)選方案,步驟3所述切割方法為mediametadataretriever類的getframeattime方法。
作為本發(fā)明的一種優(yōu)選方案,步驟3所述對(duì)每張圖片通過(guò)圖像處理以及機(jī)器學(xué)習(xí)算法,得到圖片上每盞燈的亮滅狀態(tài),還原出每張圖片對(duì)應(yīng)的二進(jìn)制碼的具體過(guò)程為:對(duì)每張圖片通過(guò)循環(huán)迭代得到每張圖片上每一盞led燈占有的像素值矩陣塊,再通過(guò)機(jī)器學(xué)習(xí)中的svm算法分出每張圖片上每一塊像素值矩陣塊的亮滅狀態(tài),按每盞led燈的編號(hào)還原出每張圖片的二進(jìn)制碼。
作為本發(fā)明的一種優(yōu)選方案,步驟4所述根據(jù)圖片中四個(gè)角上led燈的曝光程度得到拍攝者相對(duì)于圖片的位置的具體過(guò)程為:通過(guò)四個(gè)角上led燈的曝光程度,某個(gè)角上led燈曝光越大,則該角距離拍攝者越近,曝光越小,則距離越遠(yuǎn)。
作為本發(fā)明的一種優(yōu)選方案,步驟4所述根據(jù)圖片中l(wèi)ed點(diǎn)陣在圖片中的大小得到拍攝者與led點(diǎn)陣的距離的具體過(guò)程為:利用光線傳感器得到接收到的led點(diǎn)陣發(fā)出的光的強(qiáng)度rssi,根據(jù)光強(qiáng)與距離的公式計(jì)算拍攝者與led燈的距離。
本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
1、本發(fā)明方法可以解決在室內(nèi)如大型超市中,利用可見光的某種燈的排布,通過(guò)手機(jī)攝像頭讀出這種燈排布方式上隱藏的信息,同時(shí)通過(guò)圖像和機(jī)器學(xué)習(xí)方面的算法處理,實(shí)現(xiàn)簡(jiǎn)單的定位功能,在保證成本、節(jié)約資源等問(wèn)題的同時(shí),提出一種可行性的隱形二維碼傳輸與定位方案,在接收信息的同時(shí)實(shí)現(xiàn)室內(nèi)定位。
2、本發(fā)明只是將led點(diǎn)陣進(jìn)行簡(jiǎn)單的排布,用表存儲(chǔ)了點(diǎn)陣中蘊(yùn)含的信息,通過(guò)手機(jī)就可以實(shí)現(xiàn)室內(nèi)可見光定位、信息傳輸?shù)墓δ?,為室?nèi)可見光定位技術(shù)的應(yīng)用提出了技術(shù)可行性的一套方案。
附圖說(shuō)明
圖1是本發(fā)明一種基于可見光隱形二維碼的傳輸與定位方法的流程示意圖。
圖2是本發(fā)明實(shí)施例中室內(nèi)各正方形小區(qū)域led燈的排布框圖。
圖3(a)、圖3(b)是本發(fā)明實(shí)施例對(duì)視頻進(jìn)行切割得到的兩種解調(diào)示意圖。
圖4是本發(fā)明實(shí)施例通過(guò)svm將圖片進(jìn)行分類的燈光明暗的示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施方式,所述實(shí)施方式的示例在附圖中示出。下面通過(guò)參考附圖描述的實(shí)施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。
如圖1所示,為本發(fā)明一種基于可見光隱形二維碼的傳輸與定位方法的流程示意圖。在室內(nèi)可見光定位系統(tǒng)的發(fā)送端,將led燈按照?qǐng)D2的形式排布后,使得40盞led始終按照頻率p交替閃爍,形成一個(gè)led點(diǎn)陣,布置在大型超市的天花板上,提供照明、傳輸信息和定位的需要。
在室內(nèi)可見光定位系統(tǒng)的接收端,通過(guò)調(diào)節(jié)手機(jī)攝像頭的頻率,調(diào)節(jié)至發(fā)射頻率p,讀取led閃爍的視頻,拍攝的視頻要足夠長(zhǎng)(保證后續(xù)切割視頻能切出400幀圖片,這400張圖片就只有兩種狀態(tài)),將視頻按照頻率p進(jìn)行切割,切割出一幀一幀的圖片,取出400張圖片用于分類處理,通過(guò)機(jī)器學(xué)習(xí)的svm算法,將圖片進(jìn)行分類,使得每張圖片中每一盞led的亮或滅的信息得到(即1或0),再將圖片按順時(shí)針順序讀出,得到兩種40位二進(jìn)制數(shù),通過(guò)查表法查詢這兩種二進(jìn)制碼對(duì)應(yīng)的信息,完成信息傳輸功能;再選取400張圖片的其中1張,由于燈在排布時(shí),點(diǎn)陣的四個(gè)角上都有四盞全亮的led,我們可以通過(guò)圖像分析將拍攝者的方位確定出來(lái);由于拍攝者站在不同的角度拍攝led,那么點(diǎn)陣四個(gè)角上的led方塊會(huì)有不同的曝光度,在圖片中曝光大,即圖片相對(duì)亮的角,就是離拍攝者最近的角度,而相反角度則不一樣;再通過(guò)led點(diǎn)陣在圖片中的大小可以確認(rèn)點(diǎn)陣離拍攝者的距離,比如點(diǎn)陣占圖的面積大,那么拍攝者可能離點(diǎn)陣近,相反則遠(yuǎn),那么通過(guò)角度和距離,我們就可以大致得到消費(fèi)者的一個(gè)大概的位置,可以待圖像分析結(jié)束后,將大致的坐標(biāo)顯示在手機(jī)預(yù)先畫好的地圖上,完成定位的功能。
如圖2所示,在室內(nèi)安裝led燈時(shí),按照?qǐng)D2的排布方式進(jìn)行l(wèi)ed燈光的布置,若每一塊區(qū)域都按照?qǐng)D2的方式安置led燈,則每一塊區(qū)域都可以存放大量的信息存放在隱形二維碼中,因?yàn)槊勘K燈都有亮和滅兩種情況,若建立一張表將40盞led(除四個(gè)角之外)所有亮滅(亮表示1,滅表示0)的排列組合都記錄下來(lái),那么將會(huì)形成2的40次冪種情況,這樣足以將一個(gè)超市有的信息都存進(jìn)隱形二維碼中;例如超市中需要表示生鮮區(qū)以及生鮮區(qū)內(nèi)所有物品的信息需要用隱形二維碼表示,那么可以用01110101001101110011000101100110來(lái)表示生鮮區(qū)這三個(gè)字,存入表中,再將其相反的二進(jìn)制即10001010110010001100111010011001來(lái)表示生鮮區(qū)中各類物品的信息,魚6元/斤蟹30元/斤魷魚12元/斤。這樣在led隱形二維碼發(fā)射端只需調(diào)制所有的燈以并聯(lián)形式連接,將燈統(tǒng)一調(diào)制100hz一下的某一頻率,記錄為p,使得所有的led統(tǒng)一以頻率p來(lái)閃爍,而每一盞燈都是以第一個(gè)字符串表示的二進(jìn)制碼初始化燈的狀態(tài),如第一盞燈第一個(gè)狀態(tài)是亮。
待安裝好調(diào)制的led后,當(dāng)在室內(nèi)掃碼時(shí),用手機(jī)攝像頭拍攝某塊led點(diǎn)陣,錄制一段led閃爍的視頻,將手機(jī)攝像頭的錄制頻率調(diào)到和之前調(diào)制燈的頻率一致保持p,保證錄制的時(shí)間可以滿足led燈閃爍10個(gè)周期得到400幀以上的視頻,將錄制好的視頻進(jìn)行切割,按燈光閃爍頻率p來(lái)切割視頻,可以切割出一幀一幀的圖片,這里應(yīng)該有400張圖片以上,但是這400張圖片的狀態(tài)只有兩種形態(tài),如圖3(a)、圖3(b)所示,將這400張圖片通過(guò)圖像處理將每張圖像切割成圖4的形態(tài),將每一盞燈的像素值通過(guò)歸一化處理后再進(jìn)行機(jī)器學(xué)習(xí)算法分類出亮滅的狀態(tài),為每一盞燈賦值(亮表示1,滅表示0),再按照起始點(diǎn)按順時(shí)針讀出相應(yīng)點(diǎn)陣的隱含的二進(jìn)制碼,再通過(guò)查表的方法將二進(jìn)制碼對(duì)應(yīng)的文字信息得到,顯示在手機(jī)上,即實(shí)現(xiàn)了隱形二維碼攜帶信息傳輸?shù)墓δ堋?/p>
當(dāng)通過(guò)視頻切割,得到400張圖片時(shí),通過(guò)隨機(jī)任意選擇一張照片,由于led燈在排布時(shí),點(diǎn)陣的四個(gè)角上都有四盞全亮的led,用來(lái)區(qū)別拍攝者的方向,我們可以通過(guò)圖像分析將拍攝者的方位確定出來(lái);由于拍攝者站在不同的角度拍攝led,那么點(diǎn)陣四個(gè)角上的led方塊會(huì)有不同的曝光度,在圖片中曝光大,即圖片相對(duì)亮的角,就是離拍攝者最近的角度,而相反角度則不一樣;再通過(guò)led點(diǎn)陣在圖片中的大小可以確認(rèn)點(diǎn)陣離拍攝者的距離,比如點(diǎn)陣占圖的面積大,那么拍攝者可能離點(diǎn)陣近,相反則遠(yuǎn),那么通過(guò)角度和距離,我們就可以大致得到消費(fèi)者的一個(gè)大概的位置,可以待圖像分析結(jié)束后,將大致的坐標(biāo)顯示在手機(jī)預(yù)先畫好的地圖上。
本發(fā)明主要將led排布成某種點(diǎn)陣形式,形成隱形的二維碼,再通過(guò)手機(jī)攝像頭以及圖像處理的相關(guān)算法分析出具體的點(diǎn)陣隱含的信息,完成傳輸和定位兩大功能,在led本身實(shí)現(xiàn)照明功能外,不需要添加任何額外設(shè)備的開銷,盡可能在最簡(jiǎn)的情況下滿足信息傳輸和定位的需要。
以上實(shí)施例僅為說(shuō)明本發(fā)明的技術(shù)思想,不能以此限定本發(fā)明的保護(hù)范圍,凡是按照本發(fā)明提出的技術(shù)思想,在技術(shù)方案基礎(chǔ)上所做的任何改動(dòng),均落入本發(fā)明保護(hù)范圍之內(nèi)。