翟雅萌 劉曉東 陳智元 田 麗
(1.大連交通大學(xué)電氣信息工程學(xué)院 大連 116028)(2.大連交通大學(xué)動(dòng)車運(yùn)用與維護(hù)工程學(xué)院 大連 116028)(3.大連交通大學(xué)機(jī)械工程學(xué)院 大連 116028)
基于圖像處理的智能無(wú)人收銀服務(wù)系統(tǒng)設(shè)計(jì)?
翟雅萌1劉曉東2陳智元3田 麗3
(1.大連交通大學(xué)電氣信息工程學(xué)院 大連 116028)(2.大連交通大學(xué)動(dòng)車運(yùn)用與維護(hù)工程學(xué)院 大連 116028)(3.大連交通大學(xué)機(jī)械工程學(xué)院 大連 116028)
超市排隊(duì)結(jié)算的漫長(zhǎng)等待不但造成顧客不滿情緒也給超市帶來(lái)潛在經(jīng)濟(jì)損失。智能無(wú)人收銀服務(wù)系統(tǒng)使用PLC作為主控制單元控制電機(jī)、投幣退幣以及智能防盜部分,LabVIEW圖像識(shí)別與處理商品二維碼信息,實(shí)現(xiàn)結(jié)算金額。該系統(tǒng)還可自定義商品二維碼,寫(xiě)入商品信息,定制個(gè)性化購(gòu)物向?qū)鍐巍2捎糜矌磐稁艡C(jī)實(shí)現(xiàn)投幣,步進(jìn)電機(jī)實(shí)現(xiàn)退幣功能,并有智能防盜功能,提供智能、安全、準(zhǔn)確、全面的結(jié)算環(huán)境,滿足社會(huì)需求的同時(shí)節(jié)能節(jié)時(shí),具有一定的社會(huì)價(jià)值和市場(chǎng)價(jià)值。
二維碼識(shí)別;運(yùn)動(dòng)控制;數(shù)據(jù)庫(kù);智慧城市
智能化系統(tǒng)是融合了通信技術(shù)、信息技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和自動(dòng)控制技術(shù),針對(duì)某一個(gè)方面的智能集合[1]。隨著信息技術(shù)的不斷發(fā)展,智能化逐漸滲透到各行各業(yè),并有向無(wú)人智能化發(fā)展的趨勢(shì)。
目前市場(chǎng)上大型超市都是靠收銀員來(lái)實(shí)現(xiàn)收銀工作,不但耗費(fèi)大量人力物力而且無(wú)法保障收銀的準(zhǔn)確性;其他的自助收銀系統(tǒng)則普遍有操作復(fù)雜、價(jià)格昂貴等缺點(diǎn)。
智能收銀臺(tái)是圖像處理技術(shù)與自動(dòng)化技術(shù)結(jié)合的體現(xiàn)。智能收銀臺(tái)與普通收銀臺(tái)相比,不僅具有傳統(tǒng)的掃描二維碼、計(jì)算商品總價(jià)的功能,更兼?zhèn)渚W(wǎng)絡(luò)通信、設(shè)備自動(dòng)化,提供一種集系統(tǒng)、結(jié)構(gòu)、服務(wù)、管理為一體的高效、便利的新購(gòu)買(mǎi)體驗(yàn),優(yōu)化人們的生活方式,幫助人們節(jié)省排隊(duì)結(jié)賬的時(shí)間,降低商場(chǎng)運(yùn)行成本,節(jié)省勞動(dòng)成本,甚至為各種能源費(fèi)用節(jié)約資金。本課題研發(fā)的基于虛擬儀器LabVIEW與可編程邏輯控制器PLC的智能收銀臺(tái),研發(fā)成功后可應(yīng)用于各型超市,具有一定的實(shí)用價(jià)值和市場(chǎng)前景。
本智能售貨機(jī)主要實(shí)現(xiàn)圖像處理,數(shù)據(jù)庫(kù)和運(yùn)動(dòng)控制三大部分功能,如圖1所示,其中圖像處理部分包括了圖像獲取與圖像識(shí)別。圖像獲取是通過(guò)攝像頭對(duì)傳送中的商品進(jìn)行動(dòng)態(tài)拍照,并同步識(shí)別。

圖1 系統(tǒng)功能圖
本智能收銀臺(tái),在工作臺(tái)起始端沒(méi)有商品的時(shí)候,傳送帶是靜止不動(dòng)的。當(dāng)傳感器檢測(cè)到有商品放在傳送帶上時(shí),反饋給PLC,PLC帶動(dòng)電機(jī)旋轉(zhuǎn),電機(jī)帶動(dòng)傳送帶。使商品勻速通過(guò)攝像頭,并自動(dòng)裝袋。攝像頭抓拍到商品(含二維碼)的圖像后,通過(guò)圖像數(shù)據(jù)采集卡,將圖像信息傳遞給上位機(jī)。上位機(jī)對(duì)采集到的圖像進(jìn)行灰度變換、中值濾波等一些列預(yù)處理,再對(duì)圖像中二維碼信息進(jìn)行定位。根據(jù)一維二維碼編碼規(guī)則進(jìn)行算法設(shè)計(jì),使系統(tǒng)自動(dòng)對(duì)定位后獲得的二維碼進(jìn)行識(shí)別。由于所有商品信息已經(jīng)保存在數(shù)據(jù)庫(kù)中,通過(guò)匹配識(shí)別得到的二維碼,可以獲取商品名稱、單價(jià)等信息。當(dāng)商品全部傳遞完成后,所有商品匯集到工作臺(tái)最外端,自動(dòng)裝袋。傳感器反饋信息給上位機(jī),上位機(jī)停止傳送帶運(yùn)動(dòng)。由于二維碼具有數(shù)據(jù)存儲(chǔ)量大、保密性高、追蹤性高、抗損性強(qiáng)等特點(diǎn)[2]。本系統(tǒng)圖像識(shí)別二維碼而不是傳統(tǒng)的二維碼。實(shí)驗(yàn)中自主生成二維碼并進(jìn)行定義,可以將商品的價(jià)格近期變化、保質(zhì)期狀況、銷量、所屬種類等內(nèi)容寫(xiě)入其中,系統(tǒng)識(shí)別后及時(shí)反饋商品信息的同時(shí)也統(tǒng)計(jì)顧客的需求,為提供私人訂制的購(gòu)物向?qū)Т蛳禄A(chǔ)。
3.1 圖像的獲取
獲取二維碼圖像的方法一般有采用CCD或CMOS圖像傳感器、掃描儀、數(shù)碼相機(jī)等[3],本文為研究仿真方便,利用免驅(qū)VW攝像頭獲取二維碼圖像,例如圖2所示的程序。

圖2 圖像獲取與圖像識(shí)別子程序
要實(shí)現(xiàn)二維碼的識(shí)別,需要利用LabVIEW的vision工具包中的函數(shù)對(duì)圖像進(jìn)行處理。圖2所示為圖像識(shí)別子程序圖。啟動(dòng)攝像頭,并將圖像流保存在隊(duì)列中。
3.2 圖像的灰度處理
由攝像頭獲得的圖像一般是24位的RGB彩色圖像。將彩色圖像轉(zhuǎn)化成為灰度圖像的過(guò)程稱為圖像的灰度化處理。每個(gè)像素可用3個(gè)字節(jié)來(lái)表示,從而每一個(gè)像素點(diǎn)有1600多萬(wàn)(255×255×255)種顏色的變化范圍。灰度圖像是RGB3個(gè)分量相同的一種特殊的彩色圖像,每個(gè)像素的亮度用一個(gè)數(shù)值來(lái)表示,通常數(shù)值范圍在0~255之間,即可用一個(gè)字節(jié)來(lái)表示,0表示黑,255表示白,而其他表示灰度。所以先將圖像轉(zhuǎn)變成灰度圖像,可以減少后續(xù)的圖像處理計(jì)算量[4]。
灰度處理采用的是加權(quán)平均法進(jìn)行處理的。該方法是R、G、B給三個(gè)分量分配不同的權(quán)重后進(jìn)行加權(quán)平均。權(quán)重依據(jù)人眼對(duì)顏色的敏感程度由強(qiáng)到弱劃分:綠色,紅色,藍(lán)色。所以較合理的加權(quán)方式為

3.3 去除噪聲
在獲取圖像的過(guò)程中,由于環(huán)境的影響,可能會(huì)產(chǎn)生多種噪聲,如椒鹽噪聲、顆粒噪聲、高斯噪聲等。這些干擾噪聲如不經(jīng)過(guò)濾波處理,會(huì)對(duì)以后的圖像處理帶來(lái)影響。因此在進(jìn)行圖像邊緣檢測(cè)、圖像分割、特征提取之前采用快速而有效的方法去除圖像中噪聲的影響是圖像預(yù)處理的重要步驟。中值濾波是一種非線性信號(hào)處理方法,所對(duì)的中值濾波器也是一種非線性濾波器,在一定的條件下可克服如最小均方濾波、平均值濾波等線性濾波器所帶來(lái)的圖像細(xì)節(jié)模糊的問(wèn)題,而且對(duì)濾波脈沖干擾及圖像掃描噪聲最為有效,在實(shí)際運(yùn)算過(guò)程中并不需要圖像的統(tǒng)計(jì)特性[5]。中值濾波器是一種典型的低通濾波器,在去除圖像噪聲的同時(shí)能保護(hù)圖像邊緣。這點(diǎn)性質(zhì)很重要,因?yàn)槿魲l碼邊緣發(fā)生模糊,則對(duì)二維碼的定位和識(shí)別會(huì)產(chǎn)生很大影響,甚至導(dǎo)致識(shí)別錯(cuò)誤。
3.4 二維碼定位
已有的圖像處理方法大多是利用圖像亮度的一階導(dǎo)數(shù)在幅度上比指定的閾值大,或亮度的二階導(dǎo)數(shù)有零交叉來(lái)檢測(cè)邊緣。數(shù)字圖像處理中常見(jiàn)的圖像邊緣檢測(cè)的方法有 Sobel、Canny、Roberts、LoG算子等。通過(guò)Hough變換(公式如式(2))提取直線進(jìn)而確定邊界并定位二維碼位置。Hough變換通過(guò)從圖像空間到參數(shù)空間的映射關(guān)系將原始圖像空間的給定的曲線通過(guò)曲線表達(dá)形式變?yōu)閰?shù)空間的一個(gè)點(diǎn)[6]。這樣就把原始圖像中給定曲線的檢測(cè)問(wèn)題轉(zhuǎn)化為尋找參數(shù)空間中的峰值問(wèn)題。編寫(xiě)LABVIEW程序,實(shí)現(xiàn)對(duì)二維碼的定位。

自PLC問(wèn)世以來(lái),經(jīng)過(guò)20多年的發(fā)展,已經(jīng)成為工業(yè)控制類產(chǎn)品。它不僅有邏輯運(yùn)算、定時(shí)、計(jì)數(shù)等功能,還具有數(shù)字運(yùn)算、模擬調(diào)節(jié)、監(jiān)控、記錄、計(jì)算機(jī)接口、數(shù)據(jù)傳輸功能,而且還能進(jìn)行中斷控制、智能控制、過(guò)程控制、遠(yuǎn)程控制、向上能與上位機(jī)進(jìn)行通訊,向下能直接控制生產(chǎn)設(shè)備,可以通過(guò)下級(jí)PLC直接去控制執(zhí)行機(jī)構(gòu)[7~9]。它之所以高速發(fā)展,除了工業(yè)自動(dòng)化的客觀需求以外,還有許多有點(diǎn)。它能夠較好地解決工業(yè)控制普遍關(guān)心的可靠、安全、經(jīng)濟(jì)、靈活、經(jīng)濟(jì)等問(wèn)題。選擇大工計(jì)控PLC,通過(guò)實(shí)驗(yàn)可以實(shí)現(xiàn)商品傳送的運(yùn)動(dòng)控制。圖3為投幣計(jì)數(shù)程序。

圖3 投幣計(jì)數(shù)子程序
傳送帶的運(yùn)動(dòng)由直流電機(jī)帶動(dòng)PLC進(jìn)行控制。當(dāng)商品通過(guò)傳送帶上的攝像頭掃描后均置于該區(qū)域等待結(jié)算,在未結(jié)賬前,該區(qū)域取貨口的門(mén)是關(guān)閉狀態(tài),當(dāng)投幣結(jié)賬并找零后,電磁鐵開(kāi)門(mén),此時(shí)可以取物,當(dāng)傳感器檢測(cè)到商品均被取走后,電磁鐵復(fù)位,門(mén)再次關(guān)閉。在實(shí)際應(yīng)用中,商品的消磁也是在此系統(tǒng)中完成的。
傳送帶的運(yùn)動(dòng)由步進(jìn)電機(jī)帶動(dòng)PLC進(jìn)行控制。通過(guò)MC_PWM指令控制軸實(shí)現(xiàn)不同頻率的高速脈沖輸出功能,支持固定脈沖輸出和固定頻率輸出。該指令能輸出不同占空比的PWM脈沖,指令輸出后,軸從占空比0加速到設(shè)定Duty值,然后恒速運(yùn)動(dòng),到達(dá)位置后軸從設(shè)定占空比減速到0。加減速控制使用T曲線,如表2所示。整個(gè)加減速控制過(guò)程分“加速+勻速+減速”和“加速+減速”過(guò)程,勻速段占空比恒定輸出。

表2 I/O口分配
投幣器的信號(hào)線與PLC連接,當(dāng)有硬幣投入,經(jīng)投幣器識(shí)別為合格后開(kāi)始計(jì)數(shù)并送往緩存區(qū)累計(jì),每投幣一次,計(jì)數(shù)加一,以供計(jì)算顯示和找零。退幣系統(tǒng)由PLC和步進(jìn)電機(jī)、硬幣卡槽組成。當(dāng)顧客點(diǎn)擊找零,系統(tǒng)計(jì)算找零值后,根據(jù)找零數(shù)量,發(fā)送相應(yīng)個(gè)數(shù)的脈沖,步進(jìn)電機(jī)帶動(dòng)硬幣卡槽旋轉(zhuǎn)相應(yīng)角度,進(jìn)行退幣。
由于TCP通信能夠保證上位機(jī)和下位機(jī)的及時(shí)通信,以及數(shù)據(jù)的準(zhǔn)確不丟失[10~11]。所以選擇TCP通信協(xié)議。圖4是LabVIEW與PLC進(jìn)行TCP通訊的程序框圖。

圖4 TCP通信子程序
如圖4所示,在設(shè)置端口號(hào)以后,啟動(dòng)程序,程序首先會(huì)進(jìn)入偵聽(tīng)的循環(huán)中,只有當(dāng)上位機(jī)檢測(cè)到下位機(jī)的存在,并成功匹配上了,程序才會(huì)繼續(xù)執(zhí)行,收銀臺(tái)才能正常工作。
系統(tǒng)結(jié)合Access數(shù)據(jù)庫(kù),利用LabVIEW編程實(shí)現(xiàn)對(duì)消費(fèi)情況的保存、查詢和刪除功能。
啟動(dòng)程序,當(dāng)識(shí)別到有商品需要傳送和識(shí)別以后,傳送帶開(kāi)始運(yùn)動(dòng)。當(dāng)商品到達(dá)攝像頭可拍攝的范圍內(nèi),啟動(dòng)攝像頭,如圖5(a)所示。
系統(tǒng)對(duì)商品進(jìn)行拍照,識(shí)別出二維碼,并以表格的形式顯示在用戶交互界面5(b)中。當(dāng)確認(rèn)所有商品都已經(jīng)通過(guò)傳送帶,并被識(shí)別以后。系統(tǒng)會(huì)自動(dòng)計(jì)算商品總價(jià)格,并顯示在程序主界面的用戶清單中。用戶核對(duì)購(gòu)物信息以后,按照總價(jià)投幣。

圖5 程序運(yùn)行界面
為了確保每次消費(fèi)都有記錄,方便商場(chǎng)對(duì)商品進(jìn)行管理,程序在運(yùn)行的同時(shí)會(huì)自動(dòng)將時(shí)間和商品信息進(jìn)行保存。基于數(shù)據(jù)庫(kù)存儲(chǔ)的信息,系統(tǒng)可以進(jìn)行分析統(tǒng)計(jì),得出顧客喜愛(ài)商品的類型等信息,并給出一個(gè)推薦的購(gòu)物清單,為顧客的下一次購(gòu)物提供參考。可以實(shí)現(xiàn)全程無(wú)人參與的智能收銀功能。
本系統(tǒng)實(shí)現(xiàn)了:1)使用Labview對(duì)二維碼識(shí)別,擴(kuò)大識(shí)別碼中商品信息的存儲(chǔ),開(kāi)闊購(gòu)物視野。2)創(chuàng)建數(shù)據(jù)庫(kù)存儲(chǔ)購(gòu)物信息,分析整合后個(gè)性化定制不同顧客的推薦購(gòu)物清單。3)顯示界面簡(jiǎn)潔易操作,適合各年齡段的顧客自助操作結(jié)算。4)自制退幣系統(tǒng)及智能防盜系統(tǒng),可以將通過(guò)攝像頭的商品聚集在一起,方便裝袋拿走的同時(shí)提供一個(gè)更加安全安心的購(gòu)物環(huán)境。基本可以實(shí)現(xiàn)全程無(wú)人參與的智能收銀功能。
在物聯(lián)網(wǎng)急速發(fā)展的時(shí)代背景下,實(shí)現(xiàn)智能無(wú)人的收銀流程,在滿足節(jié)時(shí)節(jié)能的基礎(chǔ)上,還開(kāi)闊購(gòu)物視野,提高購(gòu)物結(jié)算的準(zhǔn)確性、安全性,極大程度上滿足人們?cè)谶@一領(lǐng)域的需求,具有一定的市場(chǎng)前景。
[1]李立峰.基于二維碼識(shí)別技術(shù)的電子簽到模塊設(shè)計(jì)[J].微型電腦應(yīng)用,2012,28(7):34-37.LI Lifeng.The Modern Check-in System Based on Two-Dimensional Bar Code[J].Microcomputer Applications,2012,28(7):34-37.
[2]李杏華,宋曉甲,劉碩.基于嵌入式圖像采集處理系統(tǒng)的二維碼識(shí)別[J].傳感器與微系統(tǒng),2010,29(12):73-75.LI Xinghua,SONG Xiaojia,LIU Shuo.Recognition of two-dimensional code based on embedded image acquisition and processing system[J].Transducer and Microsystem Technologies,2010,29(12):73-75.
[3]徐丹,謝小杰,吳俊.基于二維碼技術(shù)的自動(dòng)化倉(cāng)庫(kù)管理系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2013,41(12):2020-2023.XU Dan,XIE Xiaojie,WU Jun.Design of Automatic Warehouse Management System Based on Two-dimensional Code Technology[J].Computer and Digital Engineering,2013,41(12):2020-2023.
[4]于英政,許宏麗.基于QR二維碼的多級(jí)融合加密算法的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2014(12):2362-2364.YU Yingzheng,XU Hongli.Design and Development of Multilevel Fusion Encryption Algorithm Based on QR Two-dimensional Code[J].Computer and Digital Engineering,2014(12):2362-2364.
[5]蒲東兵,趙大偉,趙東來(lái),等.一種快速車牌定位算法[J].微型電腦應(yīng)用,2010,26(4):42-44.PU Dongbin,ZHAO Dawei,ZHAO Donglai,et al.A New Fast License Plate Location Algorithm[J].Microcomputer Applications,2010,26(4):42-44.
[6]蔡學(xué)森,戴金波,李曉寧.中值濾波與均值濾波法在條形碼去噪中的應(yīng)用[J].長(zhǎng)春師范大學(xué)學(xué)報(bào),2008,27(8):40-42.CAI Xuesen,DAI Jinbo,LI Xiaoning.Median Filter Method and Average Value Filter Method in the Application of Bar Code Demising[J].Journal of Changchun Normal University(Natural Science),2008,27(8):40-42.
[7]韓寶林.可編程序控制器PLC在工業(yè)控制中的應(yīng)用[J].工業(yè),2016(7):00206-00206.HAN Baolin.The Industrial applications based on PLC[J].
Industry,2016(7):00206-00206.
[8]潘勇,高俊雄,王耘波.PLC的應(yīng)用和發(fā)展[J].計(jì)算機(jī)與數(shù)字工程,2007,35(2):76-78.PAN Yong.Application Status Quo and Development Trend of PLC[J].Computer and Digital Engineering,2007,35(2):76-78.
[9]王林,張宗喜,牛秦洲.基于西門(mén)子S7-300 PLC裝卸機(jī)械自控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2012,40(4):123-125.WANG Lin,ZHANG Zongxi,NIU Qinzhou.Design of Automatic Control System of Handling Machinery Based on Siemens S7-300 PLC[J].Computer and Digital Engineering,2012,40(4):123-125.
[10]趙政春,鄧曙光,譚躍.基于LABVIEW的數(shù)據(jù)采集與分析系統(tǒng)[J].計(jì)算機(jī)與數(shù)字工程,2010,38(5):81-83.ZHAO Zhenchun,DENG Shuguang,TAN Yue.Data Collection and Analysis System Based on LABVIEW[J].Computer and Digital Engineering,2010,38(5):81-83.
[11]欒秀春,吳祥成.基于S7-200 PLC接口設(shè)備的虛擬儀器數(shù)據(jù)采集系統(tǒng)[J].應(yīng)用科技,2011,38(10):29-32.LUAN Xiuchun,WU Xiangcheng.Virtual instrument data acquisition system based on the interface device S7-200 PLC[J].Applied Science and Technology,2011,38(10):29-32.
Design of Intelligent Unmanned Cashier Service System Based on LabVIEW and PLC
ZHAI Yameng1LIU Xiaodong2CHEN Zhiyuan3TIAN Li3
(1.Electrial Department,Dalian Jiaotong University,Dalian 116028)
(2.High Speed Train Department,Dalian Jiaotong University,Dalian 116028)
(3.Mechanical Department,Dalian Jiaotong University,Dalian 116028)
The long waiting in line in supermarket not only make the customer discontent but also brings the potential economic loss to the supermarket.The intelligent unmanned service cashier system uses PLC as the main control unit controls the motor,transmission,intelligent coin billing system and anti-theft part.LabVIEW can identify the two-dimensional code and deal with the product information,calculate the money and settle the accounts.The system also can write the product information into the two-dimensional code,give custom personalized shopping list.Using a coin machine implementation collect coins,stepper motor support the change back part,with intelligent anti-theft function,give the custom a intelligent,safe,comprehensive environment to meet the needs of the community demond while at the same time saving energy.This system has certain social value and market prospect.
two-dimensional code identification,movement control,database,smart city
TN913.5
10.3969/j.issn.1672-9722.2017.10.031
Class Number TN913.5
2017年4月11日,
2017年5月29日
翟雅萌,女,碩士,研究方向:列車網(wǎng)絡(luò)控制。陳智元,男,碩士,研究方向:嵌入式技術(shù)。田麗,女,碩士,研究方向:信號(hào)與信息處理、機(jī)械故障診斷。