中國物品編碼中心 劉睿智 郝元 胡敏 苑靜 王惠永
商品條碼是用于標(biāo)識商品及其屬性的全球通用的條碼符號,包括零售商品、儲運包裝商品、物流單元、資產(chǎn)、服務(wù)關(guān)系、參與方位置等的編碼與條碼表示。商品條碼是商品包裝的重要組成部分,商品條碼被廣泛應(yīng)用于零售、流通倉儲、圖書、建筑、醫(yī)藥衛(wèi)生等行業(yè)。商品條碼的印制質(zhì)量關(guān)系到商品條碼在商品流通過程中識讀的準(zhǔn)確性和效率。
條碼是由條和空組成的,條、空的寬度不同,反射率也不同,空的反射率很高,條的反射率很低。條和空按照相應(yīng)的碼制規(guī)則排列組合,用于表示數(shù)字、字母或字符信息所形成的符號。
條碼的識讀是采用光電轉(zhuǎn)換原理進行的。不同顏色的物體,其反射率是不同的,條碼符號中的條單元反射率低,空單元的反射率高,條碼識讀器的光源通過光欄和第一個凸透鏡后,將光照射到條碼符號上,反射光會透過第二個凸透鏡并聚焦照射到光電轉(zhuǎn)換器上,光電轉(zhuǎn)換器接收到條空單元不同強度的反射光并將光信號進行光電轉(zhuǎn)換,轉(zhuǎn)換成相應(yīng)的電信號,電信號經(jīng)過放大、濾波和整形后最終形成方波信號。由于條和空的寬度不同,電信號持續(xù)的時間也不同,進而可以得到條單元和空單元的寬度。根據(jù)條單元和空單元的寬度及數(shù)量,按照相應(yīng)碼制的參考譯碼算法進行解碼,得到條碼符號中所表示的數(shù)字字母等信息,再通過數(shù)據(jù)接口將這些信息傳輸?shù)接嬎銠C中進行處理,就完成了條碼符號的整個識讀過程。
商品條碼符號的印制質(zhì)量是條碼能否被準(zhǔn)確、高效識讀的關(guān)鍵。掃描反射率曲線是沿掃描路徑,反射率隨線性距離(時間)變化的關(guān)系曲線,如圖1所示(見下頁)。通過條碼檢測儀掃描條碼符號中的條與空,獲得條碼符號的掃描反射率曲線并進行分析,從而得到評價商品條碼印制質(zhì)量的參數(shù),包括參考譯碼、光學(xué)特性參數(shù)、可譯碼度、Z尺寸、寬窄比、空白區(qū)寬度、條高、印刷位置等,見表1(見下頁)。其中,光學(xué)特性參數(shù)由五個參數(shù)組成,分別是:最低反射率、符號反差、最小邊緣反差、調(diào)制比和缺陷度。缺陷度是商品條碼質(zhì)量評價的重要參數(shù)。
表1 商品條碼印制質(zhì)量檢驗項目
圖1 掃描反射率曲線及其特征參數(shù)示意圖
整體閾值是區(qū)分條單元與空單元的反射率界限值,等于最高反射率與最低反射率之和的二分之一,在整體閾值以上的各區(qū)域被認為是空單元,在整體閾值以下的各區(qū)域被認為是條單元。
缺陷度用最大單元反射率非均勻度除以符號反差表示。ISO/IEC 15416:2016《信息技術(shù).自動識別和數(shù)據(jù)采集技術(shù).條碼符號印制質(zhì)量測試規(guī)范.一維條碼符號》中定義的單元反射率非均勻度(ERN)是指在掃描反射率曲線上,一個單元(包括空白區(qū))中反射率最高峰值與最低谷值之差,或經(jīng)過特定算法修正的最高峰值與最低谷值之差。單元反射率非均勻度是用于評價條碼中條單元出現(xiàn)脫墨,空單元或空白區(qū)出現(xiàn)污點等情況對條單元/空單元局部的反射率所造成影響的重要參數(shù),脫墨會導(dǎo)致在條單元的反射率曲線上出現(xiàn)峰;污點會導(dǎo)致在空單元的反射率曲線上出現(xiàn)谷。如果條單元中無峰或空單元中無谷時,其ERN為0。符號反差是反射率曲線上最高反射率和最低反射率之差。
缺陷度的影響因素包括條空單元中脫墨/污點的大小及對應(yīng)的反射率值、測量時的孔徑、條碼符號的符號反差等。當(dāng)測量孔徑保持不變時,脫墨或污損的面積越大,缺陷度數(shù)值就會越大;如果符號反差越小,則缺陷度會越大;條碼識讀器在掃描識讀的過程中的障礙就會越大,如圖2所示。當(dāng)脫墨/污點的大小大于測量直徑時,在掃描反射率曲線上脫墨/污點的部分達到整個空/條單元時,就會導(dǎo)致不能譯碼或譯碼錯誤的現(xiàn)象發(fā)生。
圖2 脫墨、污點及光孔直徑、最大反射率非均勻度、符號反差與缺陷度的關(guān)系圖
ISO/IEC 15416:2016與ISO/IEC 15416:2000相比,缺陷度的計算方法進行了改進,下面對改進前后的缺陷度計算方法分別進行分析。
改進前的缺陷度算法
改進前算法中的單元反射率非均勻度是掃描反射率曲線上條空單元(包括空白區(qū))中最高反射率與最低反射率的差值,若在條單元中無峰或空單元中無谷時,單元反射率非均勻度為0。取所有ERN中的最大值作為該次測量掃描反射率曲線的最大單元反射率非均勻度(ERNmax)。缺陷度用最大單元反射率非均勻度與符號反差的比值來表示,計算公式見公式(1)。
改進前的缺陷度算法示例
圖3是條碼符號某個條單元的反射率曲線示意圖,該單元最大反射率非均勻度為最高反射率即B點的反射率(RB=23%)與最低反射率即C點的反射率(RC=5%)之差。假定該單元ERN值為所有條空單元的ERN值的最大值,該條碼符號的缺陷度為公式(2):
圖3 條碼符號某個條單元的反射率曲線圖
改進后的缺陷度算法
改進后算法中ERN是指掃描反射率曲線上,一個單元(包括空白區(qū))中反射率最高峰值與最低谷值的差值,或經(jīng)過特定算法修正的最高峰值與最低谷值之差。當(dāng)條單元中無峰或空單元中無谷時,其ERN為0。取所有ERN中的最大值作為該次測量掃描反射率曲線的最大單元反射率非均勻度(ERNmax)。缺陷度的計算公式見公式(1)。
改進后算法中的單元反射率非均勻度的計算方法發(fā)生了改變。改進后單元反射率非均勻度的計算方法如下:
A)定義一個缺陷調(diào)整系數(shù)“c”其值為0.075。
B)計算條單元的ERN值
1)對條單元的各峰值分別做如下計算:
(1)定義峰值為Maximum:
(2)峰值左側(cè)的最低谷,定義為RminLeft;
(3)峰值右側(cè)的最低谷,定義為RminRight;
(4)計算Maximum – RminLeft得出ERNleft;
(5)計算Maximum – RminRight得出ERNright;
(6)取 ERNleft與ERNright的較小值作為 ERN';
(7)設(shè)置參數(shù)F,當(dāng) ERN'≥c,F(xiàn)取值為1;當(dāng)ERN'<c,F(xiàn)=ERN'/c;
(8)F乘以(ERNleft,ERNright)中較大值作為臨時的ERN值。
2)上述各峰值計算出的臨時ERN值的最大值,作為該單元的ERN值。
C)計算空單元的ERN值
1)對空單元的各谷值分別做如下計算:
(1)定義谷值為Minimum:
(2)谷值左側(cè)的最高峰,定義為RmaxLeft;
(3)谷值右側(cè)的最高峰,稱為RmaxRight;
(4)計算RmaxLeft– Minimum得出 ERNleft;
(5)計算RmaxRight– Minimum得出ERNright;
(6)取 ERNleft與ERNright的較小值作為 ERN';
(7)設(shè)置參數(shù)F,當(dāng) ERN'≥c,F(xiàn)取值為1;當(dāng)ERN'<c,F(xiàn)=ERN'/c;
(8)F乘以(ERNleft,ERNright)中較大值作為臨時的ERN值。
2)上述各谷值計算出的臨時ERN值的最大值,作為該單元的ERN值。
D)將所有條空單元的ERN值的最大值作為整個掃描反射率曲線的ERNmax。
改進后的缺陷度算法示例
改進后的缺陷度算法示例分為兩種情況:一種情況是計算得出的ERN'<c,F(xiàn)=ERN'/c,單元反射率非均勻度是一個單元內(nèi)(包括空白區(qū))經(jīng)過特定算法修正的最高峰值與最低谷值之差,見示例一;另一種情況是ERN'≥c,F(xiàn)=1,單元反射率非均勻度是指在一個單元內(nèi)(包括空白區(qū))最高峰值與最低谷值的差值,見示例二。
示例一:
以圖3為例,計算該條單元的單元反射率非均勻度和缺陷度。
A)定義缺陷調(diào)整系數(shù)“c”其值為0.075。
B)計算條單元的ERN值
1)對該條單元的峰值即B點做如下計算:
(1)定義峰值即B點反射率為RB即23%:
(2)峰值左側(cè)的最低谷即點A,定義為RA即20%;
(3)峰值右側(cè)的最低谷即點C,定義為RC即5%;
(4)計算RB– RA得出ERNA=3%;
(5)計算RB– RC得出ERNC=18%;
(6)取 ERNA與 ERNC的較小值即ERNA作為ERN’;
(7)0.03<0.075,則F=ERNA/c=0.03/0.075=0.4;
(8)F乘以 ERNC即 0.4×18%=0.072作為臨時的ERN值。
2)假定該峰值計算出的臨時ERN值為該條單元的ERN值。
C)假定該條單元的ERN值是所有條空單元ERN值中的最大值,整個掃描反射率曲線的ERNmax=0.072。
條碼符號的缺陷度計算公式為公式(3):
因此,當(dāng)ERN’<c時,算法改進后得到的ERNmax是算法改進前的F倍,又因為F<1,算法改進后得到的ERNmax小于算法改進前的值,如圖4所示(見下頁);算法改進前后SC值固定不變,在這種情況下,算法改進后得到的缺陷度比改進前小。
圖4 示例一中單元反射率非均勻度示意圖
示例二:
以圖5(見下頁)為例,計算該條單元的單元反射率非均勻度和缺陷度。
圖5 示例二中單元反射率非均勻度示意圖
A)定義缺陷調(diào)整系數(shù)“c”其值為0.075。
B)計算條單元的ERN值
1)對該條單元的峰值即B點做如下計算:
(1)定義峰值即B點反射率為RB即23%:
(2)峰值左側(cè)的最低谷即點A,定義為RA即10%;
(3)峰值右側(cè)的最低谷即點C,定義為RC即5%;
(4)計算RB– RA得出ERNA=13%;
(5)計算RB– RC得出ERNC=18%;
(6)取 ERNA與ERNC的較小值即 ERNA作為ERN';
(7)0.13>0.075,則F=1;
(8)F乘以ERNC即1×18%=0.18作為臨時的ERN值。
2)假定該峰值計算出的臨時ERN值為該條單元的ERN值。
C)假定該條單元的ERN值是所有條空單元ERN值中的最大值,整個掃描反射率曲線的ERNmax=0.18。
條碼符號的缺陷度計算公式為公式(4):
因此,當(dāng) ERN'≥c時,F(xiàn)=1,算法改進后得到的ERNmax等于算法改進前的值,如圖5所示;算法改進前后SC值固定不變。因此,這種情況下,算法改進前后計算得到的缺陷度相同。
當(dāng)條單元中出現(xiàn)微小的脫墨現(xiàn)象,脫墨處的反射率與一側(cè)的反射率差小于缺陷調(diào)整系數(shù)c時;或當(dāng)空單元出現(xiàn)微小的污損、油墨噪點現(xiàn)象,污損處的反射率與一側(cè)的反射率差小于缺陷調(diào)整系數(shù)c時,算法改進后計算得到的單元反射率非均勻度是改進前的F(F<1)倍,即算法改進后得到的單元反射率非均勻度小于改進前的。因此,改進后算法計算得出的缺陷度小于改進前的缺陷度。由此可見,改進后的缺陷度算法削減了微小的脫墨、污損、油墨噪點等現(xiàn)象帶來的單元反射率非均勻度,降低了缺陷度。
當(dāng)條單元中出現(xiàn)嚴(yán)重的脫墨現(xiàn)象,脫墨處的反射率與一側(cè)的反射率差大于缺陷調(diào)整系數(shù)c時;或當(dāng)空單元出現(xiàn)嚴(yán)重的的污損、油墨噪點現(xiàn)象,污損處的反射率與一側(cè)的反射率差大于缺陷調(diào)整系數(shù)c時,算法改進后計算得到的單元反射率非均勻度是改進前的F(F=1)倍,即算法改進后得到的單元反射率非均勻度等于改進前的。因此,改進后算法計算得出的缺陷度等于改進前的缺陷度。
綜上所述,缺陷調(diào)整系數(shù)“c”的設(shè)置能夠減少在條空邊緣的微小孔隙或者污點的影響,以消除測量的不穩(wěn)定性,使檢測儀忽略極小的反射率差對缺陷度計算產(chǎn)生的影響。缺陷度算法的改進僅對非常微小的脫墨、污損、油墨噪點等現(xiàn)象導(dǎo)致的單元反射率非均勻度有一定的削減作用,降低了缺陷度;對于嚴(yán)重的脫墨、污損、油墨噪點等現(xiàn)象導(dǎo)致的單元反射率非均勻度并無影響,缺陷度與改進前完全相同。