袁詠平,袁 航
(1.黃岡職業(yè)技術(shù)學(xué)院 商學(xué)院,湖北 黃岡 438002;2.湖北民族大學(xué) 智能科學(xué)與工程學(xué)院,湖北 恩施 445015)
計算機(jī)Kinect 輔助烹飪訓(xùn)練系統(tǒng)是在Kinect所研發(fā)的相關(guān)系統(tǒng)的基礎(chǔ)上,結(jié)合人工智能和計算機(jī)視覺技術(shù),提供用戶交互界面、實時反饋和針對性的烹飪建議,以幫助用戶提高烹飪技能。該系統(tǒng)能利用采集數(shù)據(jù)、數(shù)據(jù)預(yù)處理、動作識別、烹飪建議、實時反饋、用戶交互界面等方法,捕捉用戶在烹飪過程中的動作和姿態(tài),將用戶的烹飪動作進(jìn)行分類和識別,分析用戶烹飪操作中存在的問題,向用戶展示實時的烹飪過程和姿態(tài)數(shù)據(jù),及時糾正用戶的做法,根據(jù)用戶烹飪動作分類和識別結(jié)果,提供針對性的烹飪建議和調(diào)整方案,達(dá)到幫助用戶改進(jìn)烹飪技能的目的。
Kinect 識別手語是由用戶、計算機(jī)、Kinect 傳感器、屏幕及Kinect 手語識別程序所組成。識別手語功能是當(dāng)用戶站在Kinect 傳感器前,通過Kinect傳感器的追蹤與計算的Kinect 手語識別程序辨別用戶的手部動作,再對應(yīng)成手語達(dá)成識別手語的功能。系統(tǒng)的運作方式是以使用者以手勢輸入,讓Kinect傳感器接收到此信息,并傳送給計算機(jī)內(nèi)的Kinect手語識別程序分析手語信息,最后該程序?qū)㈨憫?yīng)分析結(jié)果并傳送至屏幕。但此“Kinect 識別手語”僅會使用一種手語識別程序,而Kinect 輔助烹飪系統(tǒng)的設(shè)計,除了要通過虛擬對象仿真的方式達(dá)成訓(xùn)練的功能需要識別多種不同手語外,又同時具有得分計算與錯誤步驟回顧的功能。
化妝魔鏡功能是通過觸控筆輕觸屏幕,消費者可以在50 種眼影,50 種唇彩以及12 種粉撲選擇,該系統(tǒng)能實時捕捉面部特征進(jìn)行虛擬試妝,一定程度上可幫助用戶學(xué)習(xí)化妝技巧、提升化妝水平,但化妝魔鏡未提供化妝師訓(xùn)練的功能。
Kinect 銀行賬戶管理系統(tǒng)是由顯示器、Kinect、計算機(jī)主機(jī)組成、賬戶服務(wù)程式組成。銀行賬戶管理功能是以手勢管理系統(tǒng)讓用戶通過Kinect 傳感器確認(rèn)身分,授權(quán)的用戶通過手勢控制賬戶服務(wù)程序管理銀行賬戶,而系統(tǒng)運作方式是通過Kinect 傳感器接收用戶影像信息和聲音來進(jìn)行身份驗證,確保有授權(quán)用戶可以訪問他們的賬戶。其存在的主要問題有技術(shù)限制、使用門檻和數(shù)據(jù)隱私等,特別是對于一些年長或技術(shù)不熟悉的用戶來說,使用手勢和語音交互可能存在一定的學(xué)習(xí)和適應(yīng)難度。
Kinect 試衣魔鏡系統(tǒng)是由顯示器、Kinect 傳感器、計算機(jī)主機(jī)、試衣程序組合而成。試衣魔鏡功能具有試衣功能,并通過Kinect 傳感器與顯示器等組件建立一個高科技鏡子,使用者通過顯示器挑選同時觀察不同服飾試的效果直到滿意為止。而仿真試衣功能可降低新衣弄臟的機(jī)會,也可減少衣服運送支出成本,讓衣服更新速度快速。但該系統(tǒng)對每一衣物商品均須制作對應(yīng)的圖像,后續(xù)維護(hù)成本偏高。
上述各種不同的系統(tǒng)功能整理如下表1 所示,由比較表得知許多功都以達(dá)到服務(wù)使用者需求而建置,而不是為了訓(xùn)練的目的所建立。而Kinect 輔助烹飪系統(tǒng),除了通過虛擬對象仿真的方式達(dá)成訓(xùn)練的功能,又同時具有得分計算與錯誤步驟回顧的功能,這樣的規(guī)劃設(shè)計是目前其他Kinect 系統(tǒng)少見的設(shè)計。
表1 輔助烹飪訓(xùn)練系統(tǒng)設(shè)計功能與其他Kinect 系統(tǒng)運用功能比較
與傳統(tǒng)烹飪訓(xùn)練系統(tǒng)相比,Kinect 輔助烹飪訓(xùn)練系統(tǒng)需要改善的問題包括:一是訓(xùn)練問題;二是得分點計算問題;三是錯誤步驟回顧問題。解決各種問題的軟件流程設(shè)計思路如下。
傳統(tǒng)的烹飪訓(xùn)練通常無法以系統(tǒng)化的方式進(jìn)行,容易因訓(xùn)練方向不同導(dǎo)致學(xué)習(xí)成績打折。為克服此問題,本系統(tǒng)對“訓(xùn)練功能”進(jìn)行了如下圖1 所示設(shè)計規(guī)劃,通過設(shè)計清洗、解凍、切割、烹調(diào)、盤飾等五個子流程達(dá)成。其中清洗子流程用于烹飪訓(xùn)練中需清洗的食材、解凍子流程用于烹飪訓(xùn)練中需解凍的食材、切割子流程用于烹飪訓(xùn)練中需切割的食材、烹調(diào)子流程用于烹飪訓(xùn)練中需烹調(diào)的食材、盤飾子流程用于烹飪訓(xùn)練中需盤飾的食材。
圖1 訓(xùn)練功能設(shè)計模塊
傳統(tǒng)的Kinect 系統(tǒng)少有訓(xùn)練功能并且缺少得分計算功能,當(dāng)受訓(xùn)者在進(jìn)行Kinect 烹飪訓(xùn)練時無得分點的功能,無法得知訓(xùn)練成效。為克服此問題,本系統(tǒng)設(shè)計規(guī)劃了得分點計算子流程,其設(shè)計思路是通過一個得分點統(tǒng)計子流程達(dá)成。該得分點統(tǒng)計子流程用于記錄 Kinect 烹飪訓(xùn)練過程的錯誤(正確)步驟。
傳統(tǒng)的Kinect 系統(tǒng)缺少訓(xùn)練功能也缺少錯誤步驟回顧功能,因此受訓(xùn)者進(jìn)行Kinect 烹飪訓(xùn)練,便可能發(fā)生受訓(xùn)者無法得知錯誤的步驟問題,也無法提醒自己下次訓(xùn)練或測驗必須注意的步驟。為克服此問題,設(shè)計規(guī)劃錯誤步驟回顧功能子流程,如圖2 所示。該功能可通過一個記錄錯誤步驟子流程達(dá)成,用于記錄受訓(xùn)者進(jìn)行Kinect 烹飪訓(xùn)練錯誤步驟,并可于訓(xùn)練結(jié)束后列出所有發(fā)生錯誤的步驟。
圖2 錯誤步驟記錄流程圖
Kinect 輔助烹飪訓(xùn)練功能運作流程設(shè)計思路如圖3 所示,當(dāng)進(jìn)入訓(xùn)練系統(tǒng)并開始進(jìn)行烹飪訓(xùn)練,用戶依序或按順序執(zhí)行五個子流程:清洗子流程、解凍子流程、切割子流程、烹飪子流程及盤飾子流程。本系統(tǒng)允許受訓(xùn)者持續(xù)挑選不同子流程進(jìn)行訓(xùn)練,或進(jìn)入任一子流程后就離開訓(xùn)練功能。
該子流程設(shè)計思路是:先初始化清洗得分點,顯示待清洗食材列,并進(jìn)行挑選要清洗的食材,當(dāng)挑選食材1,則記對檢查點變數(shù)Caf1 得分;當(dāng)挑選食材2,則記對Caf2;當(dāng)挑選食材3,則記對Caf3。當(dāng)挑選完畢,點選擇“是”按鈕,即清洗子流程結(jié)束;反之,點選擇“否”按鈕,則回到挑選要清洗的食材。本子流程可重復(fù)進(jìn)行挑選要清洗的食材步驟,直到挑選完畢。
該子流程設(shè)計思路是:先初始化解凍得分點,顯示待解凍食材列,并進(jìn)行挑選要解凍的食材,當(dāng)挑選食材1,則記對檢查點變數(shù)Cbf1 得分;當(dāng)挑選食材2,則記對Cbf2;當(dāng)挑選食材3,則記對Cbf3。當(dāng)挑選完畢,點選“是”按鈕則解凍子流程結(jié)束。反之,點選“否”按鈕,即回到挑選要清解凍的食材。本子流程可重復(fù)進(jìn)行挑選要解凍的食材步驟,直到解凍完畢。若不需解凍無需選擇食材。
該子流程設(shè)計思路是:先初始化切割得分點,顯示刀具列,提示待切割食材,并挑選刀具列,當(dāng)挑選刀具1,則記對檢查點變數(shù)為Cck1;當(dāng)挑選刀具2,則記對檢查點變數(shù)為Cck2。當(dāng)?shù)毒呤欠裉暨x完畢,點選“是”即切割子流程結(jié)束;反之,點選“否”即回到挑選刀具列。本子流程可重復(fù)進(jìn)行切割食材的步驟,直到切割完畢。
該子流程設(shè)計思路是:先初始化清洗烹調(diào)得分點與時間,顯示調(diào)味料列、廚具列及火候控制列,并進(jìn)行挑選調(diào)味料。當(dāng)挑選調(diào)味料1,則記對檢查點變數(shù)Cds1 得分;當(dāng)挑選調(diào)味料2,則記對Cds2;當(dāng)挑選調(diào)味料3,則記對Cds3;當(dāng)挑調(diào)味料4,則記對Cds4;當(dāng)挑選調(diào)味料5,則記對Cds5。當(dāng)挑選完畢,點選“是”按鈕,即挑選調(diào)味料結(jié)束。反之,點選“否”按鈕則返回到挑選調(diào)味料。點選“是”即進(jìn)行選定火候,當(dāng)挑選火候1,則記對檢查點變數(shù)Cdh1 得分;當(dāng)挑選火候2,則記對Cdh2;當(dāng)挑選火候3,則記對Cdh3。當(dāng)挑選完畢,點選“是”按鈕即火候選定結(jié)束。反之,點選“否”按鈕則回到選定火候。點選“是”按鈕即記錄火候計時tf=tf+1,并選取鍋鏟,點選“是”按鈕即記對 Cdk3=0,并計算烹飪時間,烹調(diào)子流程結(jié)束。反之,點選“否”按鈕則返回到選定火候。本子流程可重復(fù)進(jìn)行挑選調(diào)味料及火候選定的步驟,直到挑選完畢。
該子流程設(shè)計思路是:先初始化盤飾得分點,顯示完成烹煮食材列,并進(jìn)行挑選擺盤食材列,當(dāng)挑選食材1,則記對檢查點變數(shù)Cef1 得分;當(dāng)挑選食材2,則記對Cef2;當(dāng)挑選食材3,則記對Cef3。當(dāng)挑選完畢,點選“是”按鈕即挑選完畢,盤飾子流程結(jié)束。反之,點選“否”按鈕則返回到挑選擺盤食材。本子流程可重復(fù)進(jìn)行挑選擺盤食材列,直到挑選完畢。
再運行得分點運作流程,先判斷步驟是否正確,正確記對變數(shù)為 1,反之錯誤記對變數(shù)為0,并計算出分?jǐn)?shù)。本系統(tǒng)執(zhí)行虛擬對象訓(xùn)練系統(tǒng)流程完成去判斷得分分?jǐn)?shù)。因此通過本系統(tǒng)依據(jù)得分點判別學(xué)習(xí)的成效。
錯誤步驟計算流程設(shè)計思路是:此流程先判斷步驟是否正確,若是,記對變數(shù)為 1;反之,記對變數(shù)為0,并列出記對變數(shù)為0 之所有步驟。本系統(tǒng)判斷虛擬烹飪訓(xùn)練完成變數(shù)是否正確并依據(jù)錯誤步驟判別學(xué)習(xí)的成效。記對變數(shù)的標(biāo)示方式:C 表變數(shù)值,a 表模式值,例如:清洗模式Ca,解凍模式Cb,切割模式Cc,烹飪模式Cd,盤飾模式 Ce。
分別為本系統(tǒng)所設(shè)計的三個功能進(jìn)行實驗,以評估Kinect 輔助烹飪訓(xùn)練系統(tǒng)設(shè)計規(guī)劃的有效性。待驗證的三個功能分別為訓(xùn)練功能、得分點計算功能及錯誤步驟回顧功能,驗證的結(jié)果如下。
首先進(jìn)行訓(xùn)練功能的驗證。先選擇訓(xùn)練菜色,進(jìn)入訓(xùn)練系統(tǒng)先選擇菜色;選擇完菜色再點選“主畫面”按鈕,進(jìn)入主畫面,選擇“洗滌”按鈕,進(jìn)入洗滌模式;進(jìn)入洗滌模式選擇“待清洗食材”按鈕,全部清洗完點選“送出”按鈕,進(jìn)入解凍模式,進(jìn)入解凍模式選擇“待解凍食材”按鈕,全部解凍完點選“送出”按鈕,進(jìn)入切割模式。進(jìn)入切割模式選擇“待切割食材”按鈕,全部切割完點選“送出”按鈕,進(jìn)入烹調(diào)模式,進(jìn)入烹調(diào)模式先選擇“火侯”,再選擇“待烹調(diào)食材”按鈕、“調(diào)味料”按鈕,全部選擇完點選“送出”按鈕,進(jìn)入盤飾模式,進(jìn)入盤飾模式選擇“待盤飾食材”按鈕,全部盤飾完點選“送出”按鈕,即完成烹飪訓(xùn)練。該訓(xùn)練功能能讓受訓(xùn)者進(jìn)行烹飪訓(xùn)練。
在得分點功能驗證中,當(dāng)受訓(xùn)者進(jìn)行完訓(xùn)練功能,點選“送出”按鈕,會進(jìn)入得分點模式。系統(tǒng)會顯示受訓(xùn)者在訓(xùn)練過程中所有步驟的得分,該系統(tǒng)會通過得分點功能能判別受訓(xùn)者訓(xùn)練成效。
最后進(jìn)行錯誤步驟功能的驗證,當(dāng)受訓(xùn)者看完得分點后,會列出受訓(xùn)者在此訓(xùn)練中所有錯誤步驟,如可以看出洗滌模式中有關(guān)食材是否清洗,切割模式中相關(guān)食材是否切割完成等。很明顯地,錯誤步驟功能能判別受訓(xùn)者訓(xùn)練成效。
設(shè)計Kinect 輔助烹飪訓(xùn)練系統(tǒng)是以受訓(xùn)者的角度進(jìn)行開發(fā),讓受訓(xùn)者能不需花食材的費用及道具,也能通過虛擬計算機(jī)訓(xùn)練熟記烹飪步驟,進(jìn)行一連串的烹飪訓(xùn)練。而為了克服烹飪訓(xùn)練容易造成資源浪費、受訓(xùn)者無法了解訓(xùn)練的成效以及錯誤步驟發(fā)生在哪個環(huán)節(jié)的問題,分別提出了訓(xùn)練功能、得分點計算功能及錯誤步驟回顧功能,以解決傳統(tǒng)烹飪訓(xùn)練中容易產(chǎn)生的問題。烹飪訓(xùn)練虛擬化的優(yōu)點包括:可避免實際烹飪結(jié)果不理想造成食材的浪費,以及虛擬化的訓(xùn)練不受時間與場地限制。同時,系統(tǒng)會自動記住并呈現(xiàn)錯誤步驟,就如同操作者在烹飪后可以聽到師傅提出的建議。為了讓系統(tǒng)順利感應(yīng)用戶肢體動作并與訓(xùn)練所需的步驟進(jìn)行對應(yīng),采用結(jié)構(gòu)化設(shè)計的由上而下步驟(Top-down approach),將人機(jī)接口中設(shè)計五個模式:清洗、解凍、切割、烹飪與盤飾,并在每個模式中設(shè)計模式中所需的對象。例如烹飪模式中提供大、中、小火的對象選擇,使用者須依據(jù)菜色擇某適當(dāng)?shù)幕鸷蚺胫?。然而,?yīng)用到不同的領(lǐng)域便需有不同的對應(yīng)關(guān)系設(shè)計。由虛擬與真實關(guān)系的關(guān)系對應(yīng),系統(tǒng)可以得知用戶執(zhí)行或未執(zhí)行的步驟。在Kinect輔助烹飪訓(xùn)練系統(tǒng)設(shè)計中未來希望能將火候、時間控制及訓(xùn)練模式中提示功能加入,讓受訓(xùn)者能更加完整的進(jìn)行烹飪訓(xùn)練。
黃岡職業(yè)技術(shù)學(xué)院學(xué)報2023年6期