一種餐廳自動(dòng)結(jié)算方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明涉及一種餐廳自動(dòng)結(jié)算方法及系統(tǒng),方法包括:拍攝檢測(cè)區(qū)域中整體圖像,并通過(guò)圖像處理方法提取整體圖像輪廓;利用輪廓信息,通過(guò)圖像識(shí)別技術(shù)判斷檢測(cè)區(qū)域中是否有托盤(pán)及餐盤(pán)圖像,將其整體圖像及輪廓信息進(jìn)行存儲(chǔ);然后利用圖形學(xué)和圖像處理方法提取餐盤(pán)的輪廓及色調(diào)信息;將餐盤(pán)輪廓和色調(diào)信息與數(shù)據(jù)庫(kù)中的模板信息進(jìn)行匹配,得到餐盤(pán)輪廓的形狀及顏色;通過(guò)餐盤(pán)的形狀、顏色和菜肴價(jià)格的關(guān)聯(lián),得出菜肴總金額;系統(tǒng)包括:攝像頭、計(jì)算機(jī)、刷卡機(jī)和顯示器。本發(fā)明無(wú)需對(duì)餐盤(pán)進(jìn)行定制或改造,適用于任意形狀和材料的餐盤(pán),成本較低,高效快速,對(duì)餐盤(pán)之間的重疊、遮擋有一定的魯棒性,無(wú)需對(duì)就餐人員擺放餐盤(pán)的方式有特別要求。
【專(zhuān)利說(shuō)明】一種餐廳自動(dòng)結(jié)算方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及餐飲領(lǐng)域中的自動(dòng)結(jié)算技術(shù),特別是涉及一種餐廳自動(dòng)結(jié)算方法及系統(tǒng)。
【背景技術(shù)】
[0002]近年來(lái)眾多機(jī)關(guān)單位和高校等機(jī)構(gòu)通過(guò)自辦餐廳來(lái)解決員工或?qū)W生的就餐問(wèn)題,目前主流的做法是自主選擇,刷卡結(jié)算。但是由于就餐人員的增多,這給計(jì)費(fèi)終端帶來(lái)很大壓力,一方面,在消費(fèi)高峰期經(jīng)常因?yàn)榻Y(jié)算速度慢而導(dǎo)致排隊(duì)現(xiàn)象;另一方面,價(jià)格計(jì)算的準(zhǔn)確性也難以得到保證。
[0003]針對(duì)傳統(tǒng)人工結(jié)算方法出現(xiàn)的問(wèn)題,已有一些自動(dòng)結(jié)算系統(tǒng)被提出,主要有以下幾種:
[0004](1)基于條碼識(shí)別的結(jié)算方法
[0005]每個(gè)餐盤(pán)都貼有1個(gè)條碼標(biāo)簽,將條碼與相應(yīng)的菜價(jià)進(jìn)行關(guān)聯(lián),在計(jì)費(fèi)終端利用紅外或激光條碼掃描槍進(jìn)行讀取,得到相應(yīng)菜肴價(jià)格。但此方法的缺點(diǎn)是在結(jié)算時(shí)效率較低且條碼標(biāo)簽易損壞。
[0006](2)基于即10識(shí)別的結(jié)算方法
[0007]在餐盤(pán)制作時(shí),提前在餐盤(pán)內(nèi)部放置即10標(biāo)簽,將即10標(biāo)簽與菜價(jià)進(jìn)行關(guān)聯(lián),在計(jì)費(fèi)終端利用即10讀寫(xiě)器對(duì)餐盤(pán)即10標(biāo)簽進(jìn)行讀取,得到相應(yīng)菜肴價(jià)格。但此方法的缺點(diǎn)是餐盤(pán)需特殊定制,成本較高。
[0008](3)基于圖像識(shí)別的結(jié)算方法
[0009]現(xiàn)有的基于圖像識(shí)別的結(jié)算方法,將菜肴像素特征或餐盤(pán)形狀與菜價(jià)進(jìn)行關(guān)聯(lián),在計(jì)費(fèi)終端通過(guò)圖像識(shí)別方法,得到相應(yīng)菜肴價(jià)格。但此方法目前有的單純基于圖像顏色信息,易受光照等因素的影響;有的基于餐盤(pán)輪廓面積、周長(zhǎng)進(jìn)行形狀識(shí)別,對(duì)餐盤(pán)形狀提出了限制;同時(shí)上述方法只適用于餐盤(pán)之間無(wú)遮擋的情況,對(duì)餐盤(pán)之間重疊及遮擋情況的魯棒性很差,而且上述方法對(duì)餐盤(pán)及托盤(pán)圖像采集時(shí)借助于托盤(pán)檢測(cè)裝置或壓力傳感器等硬件設(shè)備,成本較高、系統(tǒng)較復(fù)雜。
【發(fā)明內(nèi)容】
[0010]本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種餐廳自動(dòng)結(jié)算方法及系統(tǒng),以完全自動(dòng)化的方式實(shí)現(xiàn)餐費(fèi)結(jié)算,無(wú)需對(duì)餐盤(pán)進(jìn)行定制或改造,適用于任意形狀和材料的餐盤(pán),成本較低;對(duì)餐盤(pán)之間的重疊、遮擋有一定的魯棒性,無(wú)需對(duì)就餐人員擺放餐盤(pán)的方式有特別要求,方便就餐人員,無(wú)需借助除攝像頭和計(jì)算機(jī)外其他硬件設(shè)備,高效快速、成本較低。
[0011]本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:提供一種餐廳自動(dòng)結(jié)算方法,包括以下步驟:
[0012](1)將托盤(pán)和餐盤(pán)的輪廓及顏色信息存入數(shù)據(jù)庫(kù),建立模板數(shù)據(jù)庫(kù);
[0013](2)將餐盤(pán)的形狀和顏色組合與菜肴價(jià)格進(jìn)行關(guān)聯(lián);
[0014](3)獲取在檢測(cè)區(qū)域中整體圖像,并提取整體圖像輪廓;
[0015](4)利用整體圖像輪廓信息,通過(guò)圖像識(shí)別技術(shù)判斷檢測(cè)區(qū)域中是否有托盤(pán)及餐盤(pán)圖像,并在檢測(cè)區(qū)域中有托盤(pán)及餐盤(pán)圖像時(shí)將其整體圖像及輪廓信息進(jìn)行存儲(chǔ);
[0016](5)利用模板數(shù)據(jù)庫(kù)中模板托盤(pán)輪廓信息,通過(guò)矩陣與操作去除整體圖像輪廓中托盤(pán)輪廓及托盤(pán)輪廓外圍的干擾輪廓,只保留托盤(pán)內(nèi)的輪廓數(shù)據(jù);提取完整的餐盤(pán)輪廓;對(duì)提取的各個(gè)餐盤(pán)輪廓進(jìn)行方向矯正;
[0017](6)在整體圖像!I通道中提取餐盤(pán)輪廓的色調(diào)信息;
[0018](7)將模板數(shù)據(jù)庫(kù)中的餐盤(pán)模板輪廓與檢測(cè)得到的輪廓依次進(jìn)行匹配,得到最匹配的輪廓形狀;根據(jù)餐盤(pán)輪廓圖像的色調(diào)信息識(shí)別出餐盤(pán)的顏色;將檢測(cè)到的各餐盤(pán)形狀和顏色對(duì)應(yīng)的菜肴價(jià)格輸出。
[0019]所述步驟(1)具體包括:將餐盤(pán)及托盤(pán)放置于檢測(cè)區(qū)域中,攝像頭進(jìn)行拍攝得到圖像,對(duì)圖像進(jìn)行顏色空間的轉(zhuǎn)換,將圖像轉(zhuǎn)換成!IV圖像,并完成!1、IV三通道的分離;采用定閾值式二值化法對(duì)3通道圖像進(jìn)行閾值操作得到二值圖像;對(duì)二值圖像進(jìn)行輪廓提取,得到餐盤(pán)和托盤(pán)的輪廓;對(duì)提取的各個(gè)輪廓進(jìn)行方向矯正;提取各餐盤(pán)和托盤(pán)輪廓圖像的色調(diào)通道像素信息,并將托盤(pán)和餐盤(pán)的輪廓及顏色信息存入數(shù)據(jù)庫(kù)建立模板數(shù)據(jù)庫(kù)。
[0020]所述步驟(3)包括對(duì)獲取的整體圖像數(shù)據(jù)進(jìn)行顏色空間的轉(zhuǎn)換,將如8圖像轉(zhuǎn)換成!IV圖像,并完成!1、3、V三通道的分離;采用定閾值式二值化法對(duì)3通道圖像進(jìn)行閾值操作得到二值圖像;對(duì)二值圖像進(jìn)行輪廓提取,得到整體圖像輪廓。
[0021]所述步驟(4)中在整體圖像輪廓中找面積最大的輪廓,對(duì)其做最小外接矩形;判斷最小外接矩形的長(zhǎng)、寬是否在閾值范圍內(nèi);若在閾值范圍內(nèi)將整體圖像信息及整體輪廓信息進(jìn)行存儲(chǔ)。
[0022]所述步驟(5)具體包括以下子步驟:
[0023](51)將加粗后的模板托盤(pán)輪廓和填充后的模板托盤(pán)輪廓與整體圖像輪廓進(jìn)行矩陣與操作,將整體圖像輪廓中的托盤(pán)輪廓和托盤(pán)外圍的干擾輪廓去除;
[0024](52)餐盤(pán)之間在遮擋和重疊的情況下,提取的輪廓是多個(gè)餐盤(pán)輪廓連接在一起形成的大輪廓,通過(guò)判斷輪廓是否平滑,區(qū)分所得輪廓是否為單獨(dú)完整餐盤(pán)輪廓或大輪廓;
[0025](53)當(dāng)所得輪廓為單獨(dú)完整輪廓時(shí),判斷完整餐盤(pán)輪廓的面積及長(zhǎng)短軸,去除菜肴干擾輪廓,執(zhí)行步驟(55);
[0026](54)當(dāng)所得輪廓為大輪廓時(shí),找到大輪廓中輪廓拐點(diǎn),利用拐點(diǎn)將輪廓截?cái)喑扇舾尚≥喞?;通過(guò)圖形學(xué)原理判斷,將屬于同一餐盤(pán)的小輪廓組合連接在一起;判斷組合后的輪廓面積及長(zhǎng)短軸,排除不合理組合輪廓和菜肴輪廓的干擾,形成較完整的餐盤(pán)輪廓,執(zhí)行步驟(55);
[0027](55)對(duì)得到的完整餐盤(pán)輪廓利用最小外接矩形進(jìn)行方向矯正。
[0028]所述步驟(51)包括以下子步驟:繪制圖像整體輪廓;利用最小外接矩形,定位整體輪廓中的托盤(pán)輪廓,將模板托盤(pán)輪廓進(jìn)行旋轉(zhuǎn)與平移,使模板托盤(pán)輪廓和被定位的托盤(pán)輪廓對(duì)齊;繪制對(duì)齊后的模板托盤(pán)輪廓的圖像,并進(jìn)行加粗;將整體輪廓圖像與模板托盤(pán)輪廓圖像進(jìn)行矩陣與操作,得到整體輪廓圖像中的托盤(pán)輪廓,將其在整體輪廓中去除;繪制填充后的模板托盤(pán)輪廓圖像,將輪廓內(nèi)部填充;將整體輪廓圖像與模板托盤(pán)輪廓填充圖像進(jìn)行矩陣與操作,得到整體輪廓圖像中托盤(pán)外圍的干擾圖像,然后將其在整體輪廓中去除。
[0029]所述步驟(52)包括以下子步驟:對(duì)輪廓進(jìn)行多邊形近似,得到一系列的近似多邊形的點(diǎn);歷遍多邊形上所有點(diǎn),求每一點(diǎn)與其相鄰前后兩點(diǎn)所形成線段的夾角,若夾角小于設(shè)定的閾值,則認(rèn)定此點(diǎn)為輪廓的拐點(diǎn),若輪廓中無(wú)拐點(diǎn),則判斷此輪廓平滑,為完整的一個(gè)餐盤(pán)輪廓,否則,判斷此輪廓不平滑,是多個(gè)餐盤(pán)輪廓形成的大輪廓。
[0030]所述步驟(54)中將屬于同一餐盤(pán)的小輪廓組合連接在一起時(shí)采用的組合策略為以長(zhǎng)度最長(zhǎng)的小輪廓為基準(zhǔn),依次判斷其他小輪廓是否與該小輪廓同屬于一個(gè)餐盤(pán)輪廓,將同屬于一個(gè)餐盤(pán)輪廓的小輪廓進(jìn)行連接組成較完整的餐盤(pán)輪廓;判斷形成的完整的餐盤(pán)輪廓的面積及長(zhǎng)短軸是否在閾值范圍內(nèi),若在范圍內(nèi)則認(rèn)為是合理組合輪廓;將合理組合輪廓進(jìn)行存儲(chǔ)并將其在小輪廓集合中刪除;然后在剩下的小輪廓集合中,重復(fù)上述步驟,直到所有小輪廓組合完畢。
[0031]判斷兩個(gè)小輪廓是否屬于一個(gè)餐盤(pán)輪廓的方法為:
[0032](^)通過(guò)距離計(jì)算,找出兩個(gè)距離最近的輪廓端點(diǎn),兩個(gè)輪廓端點(diǎn)分別屬于兩個(gè)不同的輪廓;
[0033](^)對(duì)兩個(gè)端點(diǎn)分別作過(guò)端點(diǎn)的輪廓切線,得到兩條直線;
[0034](0)當(dāng)兩條直線相交時(shí),計(jì)算兩條直線的交點(diǎn),每個(gè)端點(diǎn)與交點(diǎn)確定一條射線,射線的起點(diǎn)為交點(diǎn),經(jīng)過(guò)端點(diǎn),判斷兩個(gè)輪廓的質(zhì)心是否在兩條射線之間,若兩個(gè)輪廓的質(zhì)心都在兩條射線之間,則判斷兩個(gè)輪廓同屬于一個(gè)餐盤(pán)輪廓,否則,判斷不屬于一個(gè)輪廓;
[0035]((1)當(dāng)兩條直線平行時(shí),兩個(gè)距離最近的輪廓端點(diǎn)確定一條直線,判斷另外的兩個(gè)輪廓端點(diǎn)是否在直線異側(cè),若在異側(cè),則判斷兩個(gè)輪廓不屬于同一餐盤(pán)輪廓,否則,將兩個(gè)輪廓的四個(gè)端點(diǎn)依次連接成四邊形,判斷兩個(gè)輪廓的質(zhì)心是否都在四邊形之外,若兩個(gè)輪廓的質(zhì)心都在四邊形之外,則屬于一個(gè)餐盤(pán)輪廓,否則,不屬于同一個(gè)餐盤(pán)輪廓。
[0036]所述步驟(7)包括以下子步驟:
[0037](71)將餐盤(pán)輪廓與模板輪廓進(jìn)行對(duì)齊,計(jì)算餐盤(pán)輪廓中的各點(diǎn)到模板輪廓的最近距離;將各點(diǎn)得到的距離進(jìn)行求和并除以餐盤(pán)輪廓點(diǎn)數(shù),得到歸一化后的距離和;
[0038](72)比較餐盤(pán)輪廓與不同模板計(jì)算得到的距離和,得出最小距離和對(duì)應(yīng)的餐盤(pán)形狀;
[0039](73)將最小距離和與閾值進(jìn)行比較,若最小距離和大于閾值,則判定為干擾輪廓與模板的匹配結(jié)果,否則則判定為匹配;
[0040](74)對(duì)所有餐盤(pán)輪廓進(jìn)行匹配,直到所有餐盤(pán)輪廓都與各模板輪廓匹配完畢;
[0041](75)根據(jù)餐盤(pán)輪廓圖像的色調(diào)信息識(shí)別出餐盤(pán)的顏色;
[0042](76)將各檢測(cè)到的餐盤(pán)形狀、顏色對(duì)應(yīng)的菜肴價(jià)格輸出。
[0043]本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:還提供一種餐廳自動(dòng)結(jié)算系統(tǒng),包括攝像頭、計(jì)算機(jī)、刷卡機(jī)和顯示器,所述攝像頭、刷卡機(jī)、顯示器均與計(jì)算機(jī)相連;所述攝像頭設(shè)置在托盤(pán)檢測(cè)區(qū)域的上方,將獲取的在檢測(cè)區(qū)域中的整體圖像傳輸給計(jì)算機(jī);計(jì)算機(jī)對(duì)所獲得的整體圖像按上述餐廳自動(dòng)結(jié)算方法進(jìn)行處理,并將結(jié)果輸出至所述刷卡器和顯示器。
[0044]有益效果
[0045]由于采用了上述的技術(shù)方案,本發(fā)明與現(xiàn)有技術(shù)相比,具有以下的優(yōu)點(diǎn)和積極效果:本發(fā)明以完全自動(dòng)化的方式實(shí)現(xiàn)餐費(fèi)結(jié)算,無(wú)需對(duì)餐盤(pán)進(jìn)行定制或改造,適用于任意形狀和材料的餐盤(pán),成本較低;對(duì)餐盤(pán)之間的重疊、遮擋有一定的魯棒性,無(wú)需對(duì)就餐人員擺放餐盤(pán)的方式有特別要求,方便就餐人員;利用圖像識(shí)別技術(shù)自動(dòng)識(shí)別托盤(pán)及餐盤(pán)圖像進(jìn)行拍攝處理,無(wú)需借助除攝像頭和計(jì)算機(jī)外的其他硬件設(shè)備,高效快速、成本較低。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0046]圖1是本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖;
[0047]圖2是本發(fā)明的流程圖;
[0048]圖3是!^格式的整體圖像中3通道圖像;
[0049]圖4是3通道圖像進(jìn)行二值化處理后的圖像;
[0050]圖5是對(duì)整體圖像進(jìn)行輪廓提取后的圖像;
[0051]圖6是輪廓拐點(diǎn)示意圖;
[0052]圖7是輪廓最小外接矩形示意圖;
[0053]圖8-11是小輪廓組合示意圖。
【具體實(shí)施方式】
[0054]下面結(jié)合具體實(shí)施例,進(jìn)一步闡述本發(fā)明。應(yīng)理解,這些實(shí)施例僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的范圍。此外應(yīng)理解,在閱讀了本發(fā)明講授的內(nèi)容之后,本領(lǐng)域技術(shù)人員可以對(duì)本發(fā)明作各種改動(dòng)或修改,這些等價(jià)形式同樣落于本申請(qǐng)所附權(quán)利要求書(shū)所限定的范圍。
[0055]本發(fā)明提供了一種基于圖像處理及識(shí)別技術(shù)的餐廳自動(dòng)結(jié)算系統(tǒng),如圖1所示,系統(tǒng)包括攝像頭、計(jì)算機(jī)、刷卡機(jī)、顯示器,攝像頭、刷卡機(jī)、顯示器勻與計(jì)算機(jī)相連。攝像頭設(shè)置在檢測(cè)區(qū)域的上方,將拍攝圖像傳輸給計(jì)算機(jī)進(jìn)行處理,當(dāng)就餐人員持拖盤(pán)走到檢測(cè)區(qū)域時(shí),利用圖像識(shí)別技術(shù)自動(dòng)識(shí)別并存儲(chǔ)托盤(pán)及餐盤(pán)整體圖像及輪廓信息。計(jì)算機(jī)對(duì)所獲得的整體圖像及輪廓信息按特定的算法進(jìn)行處理和識(shí)別,區(qū)分不同形狀和顏色的餐盤(pán),得出每個(gè)餐盤(pán)對(duì)應(yīng)的菜價(jià),計(jì)算出托盤(pán)上所有餐盤(pán)對(duì)應(yīng)菜價(jià)的總和,將其傳輸給刷卡器,同時(shí)在顯示器上顯示相應(yīng)菜價(jià),提醒就餐人員刷卡。當(dāng)就餐人員刷卡后,刷卡機(jī)將信息反饋給計(jì)算機(jī),計(jì)算機(jī)記錄消費(fèi)情況。
[0056]本發(fā)明的一種餐廳自動(dòng)結(jié)算方法,流程圖如圖2所示,具體實(shí)施包括以下內(nèi)容:
[0057]步驟1,建立模板數(shù)據(jù)庫(kù)
[0058](1)通過(guò)攝像頭獲取托盤(pán)及餐盤(pán)的模板圖像數(shù)據(jù)。
[0059](2)對(duì)圖像進(jìn)行顏色空間的轉(zhuǎn)換,將如8圖像轉(zhuǎn)換成圖像。
[0060](3)提取圖像中的3通道圖像數(shù)據(jù)。
[0061](4)采用定閾值式二值化法對(duì)3通道圖像進(jìn)行閾值操作得到二值圖像。
[0062](5)對(duì)二值圖像進(jìn)行輪廓提取,將各餐盤(pán)和托盤(pán)的輪廓分別進(jìn)行標(biāo)示存儲(chǔ)。
[0063](6)對(duì)存儲(chǔ)的各模板輪廓進(jìn)行方向矯正。優(yōu)選地,利用輪廓的最小外接矩形對(duì)提取的各個(gè)輪廓進(jìn)行方向矯正:得到輪廓的最小外接矩形,以矩形中心為旋轉(zhuǎn)中心,以矩形長(zhǎng)軸與水平方向的夾角為旋轉(zhuǎn)角,對(duì)提取的輪廓圖像進(jìn)行旋轉(zhuǎn),得到矯正后的模板輪廓。
[0064](7)提取各餐盤(pán)和托盤(pán)輪廓圖像的(色調(diào))通道像素信息;
[0065](8)將托盤(pán)和各餐盤(pán)的輪廓及色調(diào)信息存入數(shù)據(jù)庫(kù)建立模板數(shù)據(jù)庫(kù)。
[0066]步驟2,關(guān)聯(lián)模板數(shù)據(jù)與菜肴價(jià)格
[0067]將每個(gè)餐盤(pán)樣本與當(dāng)日預(yù)售菜肴價(jià)格進(jìn)行對(duì)應(yīng),即餐盤(pán)的形狀和顏色與菜肴價(jià)格進(jìn)行關(guān)聯(lián)。
[0068]步驟3,攝像頭拍攝檢測(cè)區(qū)域整體圖像,傳輸給計(jì)算機(jī),通過(guò)一系列處理提取整體圖像輪廓。
[0069](1)攝像頭將拍攝的每幀圖像傳輸給計(jì)算機(jī)進(jìn)行處理。
[0070](2)對(duì)圖像進(jìn)行顏色空間的轉(zhuǎn)換,將如8圖像轉(zhuǎn)換成圖像。
[0071](3)提取!IV圖像中的3通道圖像數(shù)據(jù)。如圖3所示。
[0072](4)采用定閾值式二值化法對(duì)3通道圖像進(jìn)行閾值操作得到二值圖像。如圖4所不0
[0073](5)對(duì)二值圖像進(jìn)行輪廓提取。如圖5所示。
[0074]步驟4,利用輪廓信息,通過(guò)圖像識(shí)別技術(shù)判斷檢測(cè)區(qū)域中是否有托盤(pán)及餐盤(pán)圖像,將整體圖像及輪廓信息進(jìn)行存儲(chǔ)。
[0075](1)在整體輪廓中找面積最大的輪廓。
[0076](2)對(duì)面積最大輪廓做最小外接矩形。
[0077]⑶判斷最小外接矩形的長(zhǎng)、寬是否在閾值范圍內(nèi)。若在范圍內(nèi)則判斷檢測(cè)區(qū)域中已放置托盤(pán)及餐盤(pán),將整體圖像及整體輪廓進(jìn)行存儲(chǔ),方便進(jìn)行后續(xù)處理。
[0078]步驟5,對(duì)整體圖像輪廓進(jìn)行處理,提取餐盤(pán)輪廓
[0079](1)利用模板數(shù)據(jù)庫(kù)中托盤(pán)模板輪廓,通過(guò)矩陣與操作去除整體圖像輪廓中托盤(pán)輪廓及托盤(pán)輪廓外圍的干擾輪廓。只保留餐盤(pán)輪廓數(shù)據(jù)。優(yōu)選地,具體方法包括以下內(nèi)容:
[0080](^)繪制圖像整體輪廓,輪廓線寬度為1,圖像背景像素灰度值設(shè)為0,輪廓像素灰度值為255。
[0081](^)利用最小外接矩形,定位整體輪廓中的托盤(pán)輪廓,將模板托盤(pán)輪廓進(jìn)行旋轉(zhuǎn)與平移,使模板托盤(pán)輪廓與托盤(pán)輪廓對(duì)齊。
[0082](0)繪制對(duì)齊后的模板托盤(pán)輪廓的圖像,輪廓線的繪制寬度為15,圖像背景像素灰度值為0,輪廓像素灰度為255。
[0083]⑷將整體輪廓圖像與模板托盤(pán)輪廓圖像進(jìn)行矩陣與操作,得到整體輪廓圖像中的托盤(pán)輪廓,將其在整體輪廓中去除。
[0084](6)繪制填充后的模板托盤(pán)輪廓圖像,將輪廓內(nèi)部填充,圖像背景像素灰度值為255,輪廓及內(nèi)部像素灰度為0。
[0085]⑴將整體輪廓圖像與模板托盤(pán)輪廓填充圖像進(jìn)行矩陣與操作,得到整體輪廓圖像中托盤(pán)外圍的干擾圖像,然后將其在整體輪廓中去除。
[0086](2)餐盤(pán)之間在遮擋和重疊的情況下,提取的輪廓會(huì)連接在一起形成一個(gè)大輪廓。通過(guò)判斷輪廓是否平滑,區(qū)分所得輪廓是否為單獨(dú)完整餐盤(pán)輪廓或大輪廓。若為單獨(dú)完整輪廓執(zhí)行步驟(3),若為大輪廓執(zhí)行步驟(4)。
[0087]優(yōu)選地,具體判斷方法包括以下內(nèi)容:
[0088]⑷對(duì)輪廓進(jìn)行多邊形近似,得到一系列的近似多邊形的點(diǎn);
[0089](^)歷遍多邊形上所有點(diǎn),求每一點(diǎn)與其相鄰前后兩點(diǎn)所形成線段的夾角,提前給定一個(gè)角度閾值,若夾角小于閾值則認(rèn)定此點(diǎn)為輪廓的拐點(diǎn)。圖6中黑色的點(diǎn)為通過(guò)上述方法得到的拐點(diǎn)。
[0090]化)若輪廓中無(wú)拐點(diǎn),則判斷此輪廓平滑,為完整的一個(gè)餐盤(pán)輪廓。否則,判斷此輪廓不平滑,是多個(gè)餐盤(pán)輪廓形成的大輪廓。
[0091](3)判斷完整餐盤(pán)輪廓的面積及長(zhǎng)短軸,去除菜肴干擾輪廓
[0092](4)對(duì)餐盤(pán)之間遮擋和重疊情況下得到的大輪廓進(jìn)行處理:找到大輪廓中輪廓拐點(diǎn),將輪廓截?cái)喑扇舾尚≥喞煌ㄟ^(guò)圖形學(xué)原理判斷,將屬于同一餐盤(pán)的小輪廓組合連接在一起;判斷組合后的輪廓面積及長(zhǎng)短軸,進(jìn)一步排除不合理組合輪廓及菜肴輪廓干擾;形成較完整的餐盤(pán)輪廓。其中,不合理組合輪廓即是組合錯(cuò)誤的輪廓。優(yōu)選地,具體方法包括以下內(nèi)容:
[0093](^)利用得到的各個(gè)拐點(diǎn),將大輪廓截?cái)喑扇舾尚≥喞?br>
[0094](幻判斷這些小輪廓是否屬于同一餐盤(pán)輪廓,對(duì)小輪廓進(jìn)行組合,形成完整餐盤(pán)輪廓。
[0095]優(yōu)選地,采取的組合策略是以長(zhǎng)度最長(zhǎng)的小輪廓為基準(zhǔn),依次判斷其他小輪廓是否與其同屬于一個(gè)餐盤(pán)輪廓,將同屬于一個(gè)餐盤(pán)輪廓的小輪廓進(jìn)行連接組成較完整的餐盤(pán)輪廓;判斷形成的輪廓面積及長(zhǎng)短軸是否在閾值范圍內(nèi),進(jìn)一步排除不合理組合輪廓及菜肴輪廓干擾,若在范圍內(nèi)則認(rèn)為是合理組合輪廓;將合理組合輪廓進(jìn)行存儲(chǔ)并將其在小輪廓集合中刪除;然后在剩下的小輪廓集合中,重復(fù)上述步驟,直到所有小輪廓都組合完畢。
[0096]優(yōu)選地,判斷兩個(gè)小輪廓之間是否屬于同一個(gè)餐盤(pán)輪廓的具體方法包括以下步驟:
[0097]①通過(guò)距離計(jì)算,找出兩個(gè)距離最近的輪廓端點(diǎn),兩個(gè)輪廓端點(diǎn)分別屬于兩個(gè)不同的小輪廓。
[0098]②對(duì)兩個(gè)端點(diǎn)分別作過(guò)端點(diǎn)的輪廓切線,得到兩條直線。若兩條直線相交,計(jì)算兩條直線的交點(diǎn),然后執(zhí)行步驟③;若兩條直線平行執(zhí)行步驟④。
[0099]優(yōu)選地,可利用對(duì)小輪廓進(jìn)行多邊形近似,得到多邊形上的點(diǎn),由端點(diǎn)和其相鄰的多邊形點(diǎn)近似確定曲線切線。如圖8所示,輪廓上的黑點(diǎn)為近似多邊形上的點(diǎn),圖中的直線為近似曲線切線。
[0100]③每個(gè)端點(diǎn)與交點(diǎn)確定一條射線,射線的起點(diǎn)為交點(diǎn),經(jīng)過(guò)端點(diǎn)。判斷兩個(gè)輪廓的質(zhì)心是否在兩條射線之間,若都在范圍內(nèi),則判斷兩個(gè)輪廓同屬于一個(gè)餐盤(pán)輪廓,否則,判斷不屬于一個(gè)輪廓。判斷結(jié)束。示意圖如圖8所示,圖中最粗的兩個(gè)點(diǎn)為輪廓質(zhì)心。
[0101]④兩個(gè)距離最近的輪廓端點(diǎn)確定一條直線,判斷另外的兩個(gè)輪廓端點(diǎn)是否在直線異側(cè),若在異側(cè),則判斷兩個(gè)輪廓不屬于同一餐盤(pán)輪廓,判斷結(jié)束。示意圖如圖9所示。否貝I」,執(zhí)行步驟⑤。
[0102]⑤將兩個(gè)輪廓的四個(gè)端點(diǎn)依次連接成四邊形,判斷兩個(gè)輪廓的質(zhì)心是否都在四邊形之外,若滿足,則判斷同屬于一個(gè)餐盤(pán)輪廓,否則,判斷不屬于同一個(gè)餐盤(pán)輪廓。判斷結(jié)束。示意圖如圖10和圖11所示,其中,圖10為輪廓組合成立的示意圖;圖11為輪廓組合不成立的示意圖。
[0103](5)利用最小外接矩形對(duì)提取的各個(gè)餐盤(pán)輪廓進(jìn)行方向矯正:得到輪廓的最小外接矩形,以矩形中心為旋轉(zhuǎn)中心,以矩形長(zhǎng)軸與水平方向的角度為旋轉(zhuǎn)角,對(duì)提取的輪廓圖像進(jìn)行旋轉(zhuǎn),得到矯正后的模板輪廓。輪廓的最小外接矩形如圖7所示。
[0104]步驟6,提取餐盤(pán)輪廓圖像的色調(diào)信息
[0105]利用上步提取的餐盤(pán)輪廓,在整體圖像!I通道中提取餐盤(pán)輪廓的色調(diào)信息。
[0106]步驟7,匹配餐盤(pán),輸出支付價(jià)格
[0107](1)將餐盤(pán)輪廓與模板餐盤(pán)輪廓進(jìn)行對(duì)齊。
[0108](2)計(jì)算餐盤(pán)輪廓中的各點(diǎn)到模板輪廓的最近距離;將各點(diǎn)得到的最近距離進(jìn)行求和并除以輪廓點(diǎn)數(shù),得到歸一化后的距離和。
[0109](3)比較餐盤(pán)輪廓與不同模板計(jì)算得到的距離和,得出最小距離和對(duì)應(yīng)的餐盤(pán)形狀。
[0110](4)將最小距離和與閾值進(jìn)行比較,若大于閾值,則判定為干擾輪廓與模板的匹配結(jié)果,忽略此輪廓。返回上一步對(duì)下一輪廓進(jìn)行匹配,直到所有輪廓都與各模板輪廓匹配完畢。
[0111](5)根據(jù)餐盤(pán)輪廓圖像的色調(diào)識(shí)別出餐盤(pán)的顏色。
[0112](6)將各檢測(cè)到的餐盤(pán)形狀、顏色對(duì)應(yīng)的菜價(jià)輸出到顯示器中,將菜價(jià)總和傳給刷卡器。
[0113]綜上所述,本發(fā)明提供的一種餐廳自動(dòng)結(jié)算系統(tǒng)與方法,其以完全自動(dòng)化的方式實(shí)現(xiàn)餐費(fèi)結(jié)算,無(wú)需對(duì)餐盤(pán)進(jìn)行定制或改造,適用于任意形狀和材料的餐盤(pán),成本較低;對(duì)餐盤(pán)之間的重疊、遮擋有一定的魯棒性,無(wú)需對(duì)就餐人員擺放餐盤(pán)的方式有特別要求,方便就餐人員;利用圖像識(shí)別技術(shù)自動(dòng)識(shí)別托盤(pán)及餐盤(pán)圖像進(jìn)行拍攝處理,無(wú)需借助其他硬件設(shè)備,高效快速、成本較低。
【權(quán)利要求】
1.一種餐廳自動(dòng)結(jié)算方法,其特征在于,包括以下步驟: (1)將托盤(pán)和餐盤(pán)的輪廓及顏色信息存入數(shù)據(jù)庫(kù),建立模板數(shù)據(jù)庫(kù); (2)將餐盤(pán)的形狀和顏色組合與菜肴價(jià)格進(jìn)行關(guān)聯(lián); (3)獲取在檢測(cè)區(qū)域中整體圖像,并提取整體圖像輪廓; (4)利用整體圖像輪廓信息,通過(guò)圖像識(shí)別技術(shù)判斷檢測(cè)區(qū)域中是否有托盤(pán)及餐盤(pán)圖像,并在檢測(cè)區(qū)域中有托盤(pán)及餐盤(pán)圖像時(shí)將其整體圖像及輪廓信息進(jìn)行存儲(chǔ); (5)利用模板數(shù)據(jù)庫(kù)中模板托盤(pán)輪廓信息,通過(guò)矩陣與操作去除整體圖像輪廓中托盤(pán)輪廓及托盤(pán)輪廓外圍的干擾輪廓,只保留托盤(pán)內(nèi)的輪廓數(shù)據(jù);提取完整的餐盤(pán)輪廓;對(duì)提取的各個(gè)餐盤(pán)輪廓進(jìn)行方向矯正; (6)在整體圖像H通道中提取餐盤(pán)輪廓的色調(diào)信息; (7)將模板數(shù)據(jù)庫(kù)中的餐盤(pán)模板輪廓與檢測(cè)得到的輪廓依次進(jìn)行匹配,得到最匹配的輪廓形狀;根據(jù)餐盤(pán)輪廓圖像的色調(diào)信息識(shí)別出餐盤(pán)的顏色;將檢測(cè)到的各餐盤(pán)形狀和顏色對(duì)應(yīng)的菜肴價(jià)格輸出。
2.根據(jù)權(quán)利要求1所述的餐廳自動(dòng)結(jié)算方法,其特征在于,所述步驟(I)具體包括:將餐盤(pán)及托盤(pán)放置于檢測(cè)區(qū)域中,攝像頭進(jìn)行拍攝得到圖像,對(duì)圖像進(jìn)行顏色空間的轉(zhuǎn)換,將RGB圖像轉(zhuǎn)換成HSV圖像,并完成H、S、V三通道的分離;采用定閾值式二值化法對(duì)S通道圖像進(jìn)行閾值操作得到二值圖像;對(duì)二值圖像進(jìn)行輪廓提取,得到餐盤(pán)和托盤(pán)的輪廓;對(duì)提取的各個(gè)輪廓進(jìn)行方向矯正;提取各餐盤(pán)和托盤(pán)輪廓圖像的色調(diào)通道像素信息,并將托盤(pán)和餐盤(pán)的輪廓及顏色信息存入數(shù)據(jù)庫(kù)建立模板數(shù)據(jù)庫(kù)。
3.根據(jù)權(quán)利要求1所述的餐廳自動(dòng)結(jié)算方法,其特征在于,所述步驟(3)包括對(duì)獲取的整體圖像數(shù)據(jù)進(jìn)行顏色空間的轉(zhuǎn)換,將RGB圖像轉(zhuǎn)換成HSV圖像,并完成H、S、V三通道的分離;采用定閾值式二值化法對(duì)S通道圖像進(jìn)行閾值操作得到二值圖像;對(duì)二值圖像進(jìn)行輪廓提取,得到整體圖像輪廓。
4.根據(jù)權(quán)利要求1所述的餐廳自動(dòng)結(jié)算方法,其特征在于,所述步驟(4)中在整體圖像輪廓中找面積最大的輪廓,對(duì)其做最小外接矩形;判斷最小外接矩形的長(zhǎng)、寬是否在閾值范圍內(nèi);若在閾值范圍內(nèi)將整體圖像信息及整體輪廓信息進(jìn)行存儲(chǔ)。
5.根據(jù)權(quán)利要求1所述的餐廳自動(dòng)結(jié)算方法,其特征在于,所述步驟(5)具體包括以下子步驟: (51)將加粗后的模板托盤(pán)輪廓和填充后的模板托盤(pán)輪廓與整體圖像輪廓進(jìn)行矩陣與操作,將整體圖像輪廓中的托盤(pán)輪廓和托盤(pán)外圍的干擾輪廓去除; (52)餐盤(pán)之間在遮擋和重疊的情況下,提取的輪廓是多個(gè)餐盤(pán)輪廓連接在一起形成的大輪廓,通過(guò)判斷輪廓是否平滑,區(qū)分所得輪廓是否為單獨(dú)完整餐盤(pán)輪廓或大輪廓; (53)當(dāng)所得輪廓為單獨(dú)完整輪廓時(shí),判斷完整餐盤(pán)輪廓的面積及長(zhǎng)短軸,去除菜肴干擾輪廓,執(zhí)行步驟(55); (54)當(dāng)所得輪廓為大輪廓時(shí),找到大輪廓中輪廓拐點(diǎn),利用拐點(diǎn)將輪廓截?cái)喑扇舾尚≥喞?;通過(guò)圖形學(xué)原理判斷,將屬于同一餐盤(pán)的小輪廓組合連接在一起;判斷組合后的輪廓面積及長(zhǎng)短軸,排除不合理組合輪廓和菜肴輪廓的干擾,形成較完整的餐盤(pán)輪廓,執(zhí)行步驟(55); (55)對(duì)得到的完整餐盤(pán)輪廓利用最小外接矩形進(jìn)行方向矯正。
6.根據(jù)權(quán)利要求5所述的餐廳自動(dòng)結(jié)算方法,其特征在于,所述步驟(51)包括以下子步驟:繪制圖像整體輪廓;利用最小外接矩形,定位整體輪廓中的托盤(pán)輪廓,將模板托盤(pán)輪廓進(jìn)行旋轉(zhuǎn)與平移,使模板托盤(pán)輪廓和被定位的托盤(pán)輪廓對(duì)齊;繪制對(duì)齊后的模板托盤(pán)輪廓的圖像,并進(jìn)行加粗;將整體輪廓圖像與模板托盤(pán)輪廓圖像進(jìn)行矩陣與操作,得到整體輪廓圖像中的托盤(pán)輪廓,將其在整體輪廓中去除;繪制填充后的模板托盤(pán)輪廓圖像,將輪廓內(nèi)部填充;將整體輪廓圖像與模板托盤(pán)輪廓填充圖像進(jìn)行矩陣與操作,得到整體輪廓圖像中托盤(pán)外圍的干擾圖像,然后將其在整體輪廓中去除。
7.根據(jù)權(quán)利要求5所述的餐廳自動(dòng)結(jié)算方法,其特征在于,所述步驟(52)包括以下子步驟:對(duì)輪廓進(jìn)行多邊形近似,得到一系列的近似多邊形的點(diǎn);歷遍多邊形上所有點(diǎn),求每一點(diǎn)與其相鄰前后兩點(diǎn)所形成線段的夾角,若夾角小于設(shè)定的閾值,則認(rèn)定此點(diǎn)為輪廓的拐點(diǎn),若輪廓中無(wú)拐點(diǎn),則判斷此輪廓平滑,為完整的一個(gè)餐盤(pán)輪廓,否則,判斷此輪廓不平滑,是多個(gè)餐盤(pán)輪廓形成的大輪廓。
8.根據(jù)權(quán)利要求5所述的餐廳自動(dòng)結(jié)算方法,其特征在于,所述步驟(54)中將屬于同一餐盤(pán)的小輪廓組合連接在一起時(shí)采用的組合策略為以長(zhǎng)度最長(zhǎng)的小輪廓為基準(zhǔn),依次判斷其他小輪廓是否與該小輪廓同屬于一個(gè)餐盤(pán)輪廓,將同屬于一個(gè)餐盤(pán)輪廓的小輪廓進(jìn)行連接組成較完整的餐盤(pán)輪廓;判斷形成的完整的餐盤(pán)輪廓的面積及長(zhǎng)短軸是否在閾值范圍內(nèi),若在范圍內(nèi)則認(rèn)為是合理組合輪廓;將合理組合輪廓進(jìn)行存儲(chǔ)并將其在小輪廓集合中刪除;然后在剩下的小輪廓集合中,重復(fù)上述步驟,直到所有小輪廓組合完畢。
9.根據(jù)權(quán)利要求8所述的餐廳自動(dòng)結(jié)算方法,其特征在于,判斷兩個(gè)小輪廓是否屬于一個(gè)餐盤(pán)輪廓的方法為: (a)通過(guò)距離計(jì)算,找出兩個(gè)距離最近的輪廓端點(diǎn),兩個(gè)輪廓端點(diǎn)分別屬于兩個(gè)不同的輪廓; (b)對(duì)兩個(gè)端點(diǎn)分別作過(guò)端點(diǎn)的輪廓切線,得到兩條直線; (c)當(dāng)兩條直線相交時(shí),計(jì)算兩條直線的交點(diǎn),每個(gè)端點(diǎn)與交點(diǎn)確定一條射線,射線的起點(diǎn)為交點(diǎn),經(jīng)過(guò)端點(diǎn),判斷兩個(gè)輪廓的質(zhì)心是否在兩條射線之間,若兩個(gè)輪廓的質(zhì)心都在兩條射線之間,則判斷兩個(gè)輪廓同屬于一個(gè)餐盤(pán)輪廓,否則,判斷不屬于一個(gè)輪廓; (d)當(dāng)兩條直線平行時(shí),兩個(gè)距離最近的輪廓端點(diǎn)確定一條直線,判斷另外的兩個(gè)輪廓端點(diǎn)是否在直線異側(cè),若在異側(cè),則判斷兩個(gè)輪廓不屬于同一餐盤(pán)輪廓,否則,將兩個(gè)輪廓的四個(gè)端點(diǎn)依次連接成四邊形,判斷兩個(gè)輪廓的質(zhì)心是否都在四邊形之外,若兩個(gè)輪廓的質(zhì)心都在四邊形之外,則屬于一個(gè)餐盤(pán)輪廓,否則,不屬于同一個(gè)餐盤(pán)輪廓。
10.根據(jù)權(quán)利要求9所述的餐廳自動(dòng)結(jié)算方法,其特征在于,所述步驟(b)具體為:利用對(duì)小輪廓進(jìn)行多邊形近似,得到多邊形上的點(diǎn),由端點(diǎn)和其相鄰的多邊形點(diǎn)近似確定曲線切線。
11.根據(jù)權(quán)利要求1所述的餐廳自動(dòng)結(jié)算方法,其特征在于,所述步驟(7)包括以下子步驟: (71)將餐盤(pán)輪廓與模板輪廓進(jìn)行對(duì)齊,計(jì)算餐盤(pán)輪廓中的各點(diǎn)到模板輪廓的最近距離;將各點(diǎn)得到的距離進(jìn)行求和并除以餐盤(pán)輪廓點(diǎn)數(shù),得到歸一化后的距離和; (72)比較餐盤(pán)輪廓與不同模板計(jì)算得到的距離和,得出最小距離和對(duì)應(yīng)的餐盤(pán)形狀; (73)將最小距離和與閾值進(jìn)行比較,若最小距離和大于閾值,則判定為干擾輪廓與模板的匹配結(jié)果,否則則判定為匹配; (74)對(duì)所有餐盤(pán)輪廓進(jìn)行匹配,直到所有餐盤(pán)輪廓都與各模板輪廓匹配完畢; (75)根據(jù)餐盤(pán)輪廓圖像的色調(diào)信息識(shí)別出餐盤(pán)的顏色; (76)將各檢測(cè)到的餐盤(pán)形狀、顏色對(duì)應(yīng)的菜肴價(jià)格輸出。
12.—種餐廳自動(dòng)結(jié)算系統(tǒng),包括攝像頭、計(jì)算機(jī)、刷卡機(jī)和顯示器,其特征在于,所述攝像頭、刷卡機(jī)、顯示器均與計(jì)算機(jī)相連;所述攝像頭設(shè)置在托盤(pán)檢測(cè)區(qū)域的上方,將獲取的在檢測(cè)區(qū)域中的整體圖像傳輸給計(jì)算機(jī);計(jì)算機(jī)對(duì)所獲得的整體圖像按權(quán)利要求1-11中任一權(quán)利要求所述的餐廳自動(dòng)結(jié)算方法進(jìn)行處理,并將結(jié)果輸出至所述刷卡器和顯示器。
【文檔編號(hào)】G06Q50/12GK104463167SQ201410668443
【公開(kāi)日】2015年3月25日 申請(qǐng)日期:2014年11月20日 優(yōu)先權(quán)日:2014年11月20日
【發(fā)明者】王康如, 谷宇章, 邱云周, 魏智, 曲磊, 張力, 王冠營(yíng) 申請(qǐng)人:中國(guó)科學(xué)院上海微系統(tǒng)與信息技術(shù)研究所