二維碼,起源于汽車制造業(yè),是一種方形的矩陣型條形碼。它以黑白像素點(diǎn)的不同排列方式來(lái)存儲(chǔ)信息。與傳統(tǒng)的一維條碼相比,二維碼可以存儲(chǔ)更多的信息,并且占用的空間更小。
由于其高效、經(jīng)濟(jì)和易于掃描的特點(diǎn),二維碼被廣泛用于各種領(lǐng)域,從產(chǎn)品標(biāo)簽到廣告,再到電子票務(wù)和移動(dòng)支付,其應(yīng)用的范圍日益擴(kuò)大。目前已經(jīng)在各個(gè)領(lǐng)域得到廣泛的應(yīng)用。
盡管二維碼技術(shù)已經(jīng)相當(dāng)成熟,但在某些情況下,如內(nèi)容過(guò)多、圖像質(zhì)量低下、損壞或因過(guò)度曝光、不理想的掃描角度、遮擋物等外部因素影響,都可能使譯碼過(guò)程遇到困難,導(dǎo)致內(nèi)容不能正常分發(fā)。
傳統(tǒng)二維碼沒(méi)有預(yù)留品牌與美觀等設(shè)計(jì),以QRCode為例,對(duì)其的美化方式通常有,在二維碼的中心添加Logo,對(duì)內(nèi)容點(diǎn)進(jìn)行圓化,或者將二維碼耦合在圖像中。這種方式往往是以犧牲了二維碼自身的糾錯(cuò)冗余為代價(jià)的。使得譯碼難度變得更加大。
另一個(gè)問(wèn)題是安全隱患。因?yàn)閭鹘y(tǒng)二維碼的生成邏輯是開放的,惡意行為者開始利用其將病毒、惡意代碼或跟蹤器植入 用戶的設(shè)備中。或者通過(guò)二維碼來(lái)傳播謠言、敏感信息,此外偽造或篡改的二維碼也可能對(duì)用戶產(chǎn)生誤導(dǎo)、導(dǎo)致信息泄露等等。
譯碼是將二維碼用于信息分發(fā)、活動(dòng)倒流中十分重要的環(huán)節(jié),譯碼的成功與否,直接影響了活動(dòng)本身的分發(fā)結(jié)果。首先需要理解其背后的設(shè)計(jì)邏輯和原則。正如前文所言,傳統(tǒng)的QR碼已經(jīng)在全球范圍內(nèi)得到了廣泛的應(yīng)用,但隨著技術(shù)和業(yè)務(wù)的發(fā)展,在各方面都提出了新的要求和挑戰(zhàn),美觀性、安全行、高效性均有新的要求。百度專屬二維碼正是為了解決這些新需求而設(shè)計(jì)的。
1、美觀性:百度專屬碼的設(shè)計(jì)上留置Logo空間,更加容易的結(jié)合代表企業(yè)品牌形象的設(shè)計(jì)語(yǔ)言,擴(kuò)大品牌影響力,圓形的設(shè)計(jì)更具美感;
2、抗損壞:百度專屬碼的關(guān)鍵數(shù)據(jù)區(qū)域與有效信息區(qū)域均具備糾錯(cuò)能力,且部分關(guān)鍵區(qū)域進(jìn)行多次冗余設(shè)計(jì);
3、安全性:獨(dú)有的專屬碼生成和解析協(xié)議,有效控制專有碼生成渠道,防止通過(guò)二維碼來(lái)傳播黃反暴恐等信息;
4、容量可調(diào)整:百度專屬碼設(shè)計(jì)具備動(dòng)態(tài)擴(kuò)容機(jī)制,以適應(yīng)不同信息容量需要。
譯碼流程主要可以細(xì)分為以下幾個(gè)關(guān)鍵步驟:首先進(jìn)行關(guān)鍵定位點(diǎn)的識(shí)別,然后是元信息的提取和解析,接著是進(jìn)行協(xié)議的解析,緊接著是數(shù)據(jù)信息的解讀,最后完成bit信息的解碼。因?yàn)楸C艿脑颍@里僅針對(duì)技術(shù)方向進(jìn)行解析。
圖片
二維碼的關(guān)鍵定位點(diǎn)發(fā)現(xiàn),通常可以通過(guò)圖像處理技術(shù)實(shí)現(xiàn),例如使用邊緣檢測(cè)來(lái)找到二維碼的邊緣,再結(jié)合霍夫變換確定四個(gè)角和中心位置。考慮到不同的光線條件,自適應(yīng)閾值技術(shù)可以提高定位的準(zhǔn)確性,專屬碼中采用了識(shí)別特定模式的方式,并且結(jié)合了多種容錯(cuò)方式召回非標(biāo)準(zhǔn)碼;在定位點(diǎn)位置確定之后,可以以此建立二維碼坐標(biāo)系。進(jìn)而進(jìn)行后續(xù)的解碼過(guò)程。
元信息存儲(chǔ)在二維碼的特定預(yù)定位置。通過(guò)定位點(diǎn)的確定,構(gòu)建碼的坐標(biāo)系。進(jìn)而獲取到專屬碼的元信息。當(dāng)圖像出現(xiàn)畸變或損壞的情況下,就需要容錯(cuò)機(jī)制來(lái)輔助修復(fù)或跳過(guò)某些部分, 專屬碼在這個(gè)過(guò)程中主要采用了冗余以及糾錯(cuò)碼的引入。
協(xié)議解析也是非常關(guān)鍵的步驟。這一步是為了識(shí)別二維碼的格式和編碼規(guī)則。可以通過(guò)預(yù)定義的協(xié)議庫(kù)來(lái)幫助匹配和解析。當(dāng)然,為了適應(yīng)更多的格式,這部分被定義為可拓展,通過(guò)更新協(xié)議可以解析更多的碼。
對(duì)bit信息進(jìn)行解碼。這一步涉及到數(shù)據(jù)的二進(jìn)制形式。基本的邏輯運(yùn)算是主要工具,但為了提高解碼的準(zhǔn)確性,特別是在有噪聲或誤差的情況下,會(huì)加入一些糾錯(cuò)技術(shù),例如Hamming碼、Reed-Solomon碼等等;經(jīng)過(guò)相應(yīng)的糾錯(cuò)算法還原之后,就可以通過(guò)協(xié)議中預(yù)設(shè)的字符集將bit信息轉(zhuǎn)換成最終的字符串了。
除了上述的主要譯碼流程,為了提高譯碼效率和準(zhǔn)確性,我們采用了一些優(yōu)化策略。
經(jīng)過(guò)深入分析專屬碼的譯碼耗時(shí)主要分布在逐圈信息讀取以及對(duì)定位點(diǎn)的篩選重試過(guò)程中。
在專屬碼的解析過(guò)程中,因?yàn)榇嬖诙嗳π畔⒔馕觯鹑ψx取信息是一個(gè)相對(duì)耗時(shí)的過(guò)程,此處可以利用并行計(jì)算來(lái)加速讀取過(guò)程。讓多圈的讀取過(guò)程分布在多個(gè)核心運(yùn)行,提升譯碼效率。
為了快速確定二維碼的有效性,可以在定位點(diǎn)確定之后,建立坐標(biāo)系之后,立即進(jìn)行校驗(yàn),從而避免不必要的完整解碼過(guò)程。極大提升了干擾嚴(yán)重情況下的譯碼效率。
根據(jù)圖像的質(zhì)量和外部環(huán)境(如光線、攝像頭質(zhì)量等),動(dòng)態(tài)選擇或調(diào)整最合適的圖像處理算法和參數(shù)。對(duì)于在低光環(huán)境下拍攝的二維碼,選擇更為敏感的邊緣檢測(cè)算法。對(duì)于過(guò)曝光的二維碼,處理過(guò)程中會(huì)進(jìn)行相應(yīng)的抑制, 盡可能提升解析的分辨能力。
通過(guò)合理選擇和組合不同的糾錯(cuò)技術(shù)(如Hamming碼、Reed-Solomon碼),可以在確保解碼準(zhǔn)確性的同時(shí),盡量減少額外的計(jì)算量。百度專屬碼在生成過(guò)程中會(huì)進(jìn)行判定,選擇最佳的糾錯(cuò)方式。使得糾錯(cuò)能力最大化。
隨著機(jī)器學(xué)習(xí)和深度學(xué)習(xí)技術(shù)的發(fā)展,這些技術(shù)可以被用來(lái)優(yōu)化和提高譯碼過(guò)程的準(zhǔn)確性和效率。例如,訓(xùn)練一個(gè)深度神經(jīng)網(wǎng)絡(luò)來(lái)識(shí)別和糾正扭曲或部分損壞的二維碼。百度碼中的譯碼過(guò)程中應(yīng)用了深度學(xué)習(xí)技術(shù)去輔助確定專有碼的位置。
本文介紹了在譯碼視角中解析了百度碼的譯碼技術(shù),包括關(guān)鍵的譯碼流程,以及關(guān)鍵的優(yōu)化手段。百度碼目前已經(jīng)在高考等活動(dòng)中進(jìn)行應(yīng)用。
在未來(lái)的發(fā)展中,百度碼的譯碼技術(shù)將繼續(xù)升級(jí)和完善,以滿足更多場(chǎng)景的需求。百度碼的譯碼技術(shù)將在現(xiàn)有的基礎(chǔ)上不斷演進(jìn)和完善,以提供更為優(yōu)質(zhì)、便捷、安全的譯碼體驗(yàn),從而為人們的生活和工作帶來(lái)更多便利。
本文鏈接:http://www.www897cc.com/showinfo-26-16031-0.html一文搞定專屬碼的設(shè)計(jì)與開發(fā)
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com