?

基于本體與認知經驗的農業機器人視覺分類決策方法

2023-03-07 03:30熊俊濤廖世盛梁俊浩韋婷婷陳淑綿鄭鎮輝
農業機械學報 2023年2期
關鍵詞:知識庫本體形狀

熊俊濤 廖世盛 梁俊浩 韋婷婷 陳淑綿 鄭鎮輝

(華南農業大學數學與信息學院,廣州 510642)

0 引言

信息科技與農業的深度融合使得農業生產進入網絡化、數字化、智能化的新階段[1]。農業機器人是智慧農業發展的重要方向,其智能化程度是應對農業人口老齡化的有效手段,而機器人在進行對象眾多、操作復雜且需要與環境進行交互的作業時,常常會碰到未知條件的工作任務,這要求機器人需具備一定的認知決策能力以適應不同對象的隨機性。如何提升機器人的認知能力仍是當前機器人研究的關鍵[2]?;谡J知經驗是人在農業作業過程進行物品識別、行為動作等決策操作的重要依據。因此,面對環境復雜多變的農業作業過程,希望農業機器人可以模仿人工進行認知計算與決策判斷,并能有邏輯地給出決策的依據與過程,賦予其認知思考的能力,以促進機器人的智能認知決策水平。

機器人的視覺認知是其進行作業操作的基礎能力。由于作業對象與作業環境的特殊性,目前基于認知經驗知識進行農業機器人視覺決策分類的研究內容較少,當下主要是簡單利用深度學習方法對圖像進行特征提取。如MARANI等[3]基于AlexNet網絡完成葡萄串的分割識別;KANG等[4]使用殘差神經網絡對蘋果果實進行檢測識別;孟慶寬等[5]基于輕量二階段檢測模型實現多類蔬菜幼苗識別;熊俊濤等[6]基于改進YOLO v3網絡實現機器人夜間環境的柑橘識別。雖然相關方法能在大數據驅動下令機器進行有效學習,但訓練數據量不足或過多則會導致模型出現欠擬合、過擬合等問題[7],并且方法技術的能力拓展性和共享性不足,人賦予機器相關經驗知識的過程也十分復雜,機器進行決策過程的邏輯性和交互性有待提高。

針對上述不足,面向農業機器人實現認知智能化的智慧農業發展需求,本文以機器人視覺認知決策為研究內容,以多種類水果圖像的邏輯決策分類為對象,提出在計算機具有圖像屬性信息判斷能力基礎上,基于認知經驗知識下的相關本體知識庫和推理規則,根據圖像中獲取的屬性信息,經搜索推理完成水果圖像的分類決策任務。本文視覺分類決策方法主要基于本體技術與認知經驗知識,實現機器人模仿人類認知行為對視覺目標進行主動認知與推理決策。當生產作業環境中存在多種類水果與物品時,機器人能實現水果的視覺分類感知和決策知識推理。

1 方法概述

1.1 方法背景與技術流程

基于人類對物體分類決策的邏輯思維,以及物體屬性在圖像中能表示出來的信息主要有顏色和形狀等,當人對圖像中物體進行決策學習時,會根據自己眼睛所看到的顏色和形狀進行經驗學習并記憶。因此,當已學習的物品在新圖像中重新出現,人仍能準確對該物體進行識別。

對于只能存儲和比較數字的計算機而言,要實現人類這種物體分類決策的邏輯思維主要存在以下困難:①如何對物體顏色、形狀這類難以量化的經驗特征進行學習和記錄。②如何處理物體中多種非結構化信息間的異構性問題。③如何有效使用物體間可重復利用的經驗知識與屬性能力。

針對上述困難,本文提出使用不同統計分類方法針對顏色、形狀等不同非結構化信息進行模糊表示,讓計算機獲得學習與記錄經驗特征的能力,而后使用本體語言對物體、顏色、形狀等特征對象進行知識描述,解決信息消融與知識共享問題。方法基于圖像中獲取的顏色屬性信息和形狀屬性信息,在物品視覺認知庫中進行搜索推理,進而得到物品的分類決策結果。其流程如圖1所示。

圖1 方法流程

1.2 屬性特征學習方法

1.2.1顏色屬性特征學習方法

在對物體進行識別尋找過程中,顏色是確定物體是否為目標物的重要依據之一。同時,不同顏色還能代表物體的不同狀態,如不同顏色狀態下的柑橘、香蕉等水果,代表著水果的不同成熟期。因此,讓機器人掌握顏色屬性的特征學習能力,對其智能化水平的提升也有重要意義。

圖像在計算機下,顏色常常是以多個數字矩陣共同表示,如RGB顏色空間數字矩陣組、YUV顏色空間數字矩陣組等,給出的是定量的數字表示。而人眼通常是根據學習經驗進行模糊的定性判斷,如紅色、淺紅色、深紅色、粉紅色等。

為將經驗下的模糊定性有效轉為計算時的準確定量表示,基于圖像顏色是由位置上顏色空間數值決定,本文提出控制單一變量下的計數統計方法,利用連續的一定頻數區間來表示顏色的定性經驗。

首先,設目標圖像尺寸為N×N,圖像在常用的RGB顏色空間表示下可以得到一個尺寸為N×N×3的三維數字矩陣A。而后,取出每個圖像位置點對應的RGB值,按位置點從左至右、從上至下的順序,將三維數字矩陣A轉換成為(N×N)×3的二維數字矩陣T,其中每行矩陣元素表示圖像一個位置點的RGB值。之后,根據數字矩陣的尺寸以及目標物顏色情況,依據人工經驗初步設定閾值Z,先對R分量的數字列進行計數篩選,將計數值大于Z的連續范圍視為顏色的R分量定量表示區間。而后,在滿足R分量表示區間的各位置點上,計數篩選獲得G分量表示區間,并在共同滿足R、G分量表示區間的各位置點上,同理計數篩選獲得B分量表示區間,進而初步得到經驗顏色的RGB定量表示區間。最后,經一定數量基礎圖像測試后,修正的表示區間即為經驗顏色的定量表示。其流程如圖2所示。

圖2 顏色屬性特征學習流程圖

1.2.2形狀屬性特征學習方法

物體形狀屬性由于不會受到光照、顏色等狀態量變化而產生變化,被研究者視為比較穩定的屬性特征。計算機對物品形狀屬性的學習,通常是選用機器學習分類器進行形狀分類,在提取出形狀特征后,通過選取訓練樣本,訓練分類器,最終可以得到有效的模型,完成形狀分類識別[8]。

支持向量機(Support vector machine,SVM)是現有研究中常用來進行二維形狀分類的分類器之一。它以線性分類器為基礎,通過引入最優化理論、結構風險最小化原則和核函數等演化而成[9]。SVM的基本思想可以概括為:通過定義適當內積函數來進行非線性變換,從而將輸入空間變換到高維空間,進而在高維新空間中求取最優的線性分類面,完成分類任務[10]。

1.3 本體技術概述

本體的概念最初是在哲學領域提出的,旨在抽象地對客觀現實進行說明和解釋[11],是一種通用、被廣泛認可的知識表征方法,其具有共享性和可拓展性等特點[12]?;诒倔w語言描述建立的知識庫,能夠讓機器人通過本地網絡快速獲取知識庫中的知識信息[13]。目前本體技術已經廣泛地應用于上下文感知[14-15]、環境建模[16-18]、任務決策[19-20]和資源整合[21-23]等方面。

1.3.1本體定義與描述語言

本體(Ontology)是一種對知識進行集成和建模的工具[24]。關于本體定義目前普遍認同的是:Ontology是共享概念模型明確的形式化規范說明[25]。在本體語言的描述中,可以將知識庫視為一個對象本體,物品、形狀、顏色等可以作為描述資源。

本體的描述語言主要是通過三元組的形式存儲內容,將知識劃分為主語、謂語、賓語進行內容儲存與查詢,它的語言格式有多種,如網絡本體語言(Web ontology language,OWL)、可擴展標記語言(Extensible markup language,XML)、資源描述框架(Resource description framework,RDF)等,目前使用較為廣泛的是OWL[26]。

OWL主要基于已有的XML、RDF等標準形式語言,通過添加大量基于描述邏輯的語義,來描述和構建各種本體。與XML和RDF等語言相比,OWL語言在表達語義和目的方面具有更強大的能力[27]。

1.3.2本體優勢

本體在知識管理與知識組織的優勢主要有:首先,本體描述語言可以使邏輯表達語言更加自然化,并基于規則推理能促進隱性知識的顯性化;其次,本體技術可以集成來自作業環境中的異構數據,消除不同信息間的異構性,從而為環境空間中的異構信息提供統一的知識化表示平臺,是實現知識共享和重用的一種主要方法;最后,領域本體能夠描述某個特定領域內的基本概念、結構關系、實體活動原理等,構建的語義模型可以為用戶進行個性化、智能化服務提供基礎[28]。

1.3.3本體建立與編輯工具

Protégé軟件主要用于語義網中本體的構建,是語義網中本體構建的核心開發工具[29]。它提供了本體概念類、關系、屬性和實例的構建,并且屏蔽了具體的本體描述語言,用戶只需在概念層次上進行領域本體模型的構建。用戶可以根據具體應用領域的知識結構通過定義Class(類)、表述Class之間關系的Object Properties(對象屬性)以及向Class中填充Instance(實例)來構建本體。

本文在物品屬性特征學習的基礎上,將機器人作為認知本體,構建物品、形狀、顏色3個子類,并搭建物品與形狀、物品與顏色之間的類間謂語關系,如圖3所示。通過類內實例補充和實例與實例間的謂語關系聯系,使機器人擁有物品決策分類的內容與邏輯基礎,進而當獲得物品相關賓語信息即顏色與形狀信息后,可以根據相應關系獲得物品的決策預測。

圖3 決策本體庫構建示意圖

1.3.4本體知識查詢方法

SPARQL是基于圖模式匹配的一種查詢語言方法。三元組模式與RDF三元組類似,是最簡單的圖模式,也是組成其他圖模式的基礎。在三元組模式中,subject、predict、object均可用前綴為“?”的變量即查詢對象替換。典型的SPARQL查詢語句由SELECT、FROM、WHERE組成,此外還可包含OPTIONAL、FILTER、ORDER BY、LIMIT、OFFSET等部分。形如:SELECT ?aname WHERE{?a foaf:knows Lily.?a foaf:name ?aname.}。

本文為表述方便在后面將以三元組形式進行描述,形如〈?a,has_shape,長條形〉,表示搜索獲取形狀為長條形的實體。

2 實驗與結果分析

為驗證方法的可行性,實現基于屬性學習與本體知識庫的圖像分類決策。面向多種類水果自動化分揀流水線背景環境,本文從Fruit360數據集中篩選出櫻桃、葡萄、香蕉、黃桃等水果圖像,在構建圖像環境下櫻桃、葡萄、香蕉等水果的本體視覺知識庫與搜索推理規則的基礎上,選取部分圖像作為樣本數據,令計算機獲得數據集下的顏色和形狀判別能力,再經知識庫搜索推理獲得圖像的分類決策。

2.1 數據集獲取

Fruit360數據集由HOREA等建立,截至2020年5月18日數據集內包含有131種水果和蔬菜的90 483幅圖像,并不斷更新。其中的圖像是水果按一定速率旋轉錄制截圖并處理后獲得,可以在很大程度上降低圖像數據集因燈光環境和拍攝條件等變化帶來的影響。此外,數據集中圖像背景簡單,在一定程度上能較好地模擬機器對水果識別分類的情景。因此,選用Fruit360數據集中櫻桃、葡萄、香蕉、黃桃等水果圖像作為實驗所用數據集,如表1所示。

表1 實驗數據統計

2.2 視覺知識庫搭建

基于1.3節的基本理論,在Protégé 5.5工具環境下以機器人視覺認知為本體,構建水果、顏色、屬性3個類,并在水果與顏色、水果與形狀間分別添加類間關系has_color、has_shape,并在水果類下添加實例:櫻桃、葡萄、香蕉,顏色類下添加實例:紅色、青色、黃色,形狀類下添加實例:圓形、長條形。隨后,逐一添加實例間公理,其三元組格式為〈櫻桃,has_color,紅色〉、〈櫻桃,has_shape,圓形〉、〈葡萄,has_color,青色〉、〈葡萄,has_shape,圓形〉、〈香蕉,has_color,黃色〉、〈香蕉,has_shape,長條形〉。如圖4所示。

圖4 水果視覺知識庫

2.3 知識庫搜索規則設定

Protégé構建好的本體知識庫是以RDF的標準格式存儲為OWL文件。通過使用Python中rdflib功能包對本體知識庫文件進行解析,并基于已知條件使用SPARQL查詢語言在知識庫內查詢。但為更有效利用知識庫內知識與分類方法的邏輯可依性,設定搜索規則如下。

假設計算機獲得X水果圖像的顏色為C,形狀為S。即在知識庫中輸入顏色C、形狀S,經搜索輸出水果X。首先,以顏色C、形狀S為共同條件搜索:〈?fruit,has_color,C〉&〈?fruit,has_shape,S〉,得到滿足條件的水果數N1及搜索結果F1={f1,f2,…,fN1},若水果數N1=1,即可判斷F1為水果X,輸出:“水果為F1”。若N1>1,則說明在認知庫中存在同一顏色和形狀的不同水果,需再加入屬性進行判斷,輸出“水果可能為:F1,需添加屬性判斷”。

若N1<1,則說明認知庫中并不存在完全符合條件的水果,或出現屬性判別出錯導致無法得出結果,輸出“未找到完全匹配水果,目標水果顏色為C,形狀為S”,通過反饋,可找到為什么系統預判錯誤的原因。并對顏色C與形狀S單獨搜索:〈?fruit,has_color,C〉,得到顏色搜索下的水果數N2和搜索結果F2={f1,f2,…,fN2};〈?fruit,has_shape,S〉,得到形狀搜索下的水果數N3和搜索結果F3={f1,f2,…,fN3}。若N2≥1,N3≥1,則輸出“根據顏色水果可能為:F2;根據形狀水果可能為:F3”;若N2≥1,N3=0,則輸出“根據顏色水果可能為:F2”;若N2=0,N3≥1,則輸出“根據形狀水果可能為:F3”;若N2=0,N3=0,則輸出“未找到對應水果”,需對知識庫進行添加。其流程如圖5所示。

圖5 語義搜索流程圖

2.4 顏色屬性特征學習

基于人的先驗認知經驗,將水果顏色簡單分為:紅色、青色、黃色3種。同時獲取櫻桃、葡萄、香蕉3種水果數據集圖像中的30幅圖像作為顏色屬性特征學習的訓練集與測試集。

基于1.2.1節的方法與理論基礎,在3種顏色下各隨機挑選一幅圖像進行RGB分量讀取與統計,初步獲得能表示該顏色的RGB分量范圍。以紅色為例,其顏色屬性特征學習步驟如下:

(1)隨機選取一幅櫻桃圖像,而后基于Python中cv2庫中的imread函數獲取得到圖像的BGR顏色分量矩陣,并通過矩陣數組操作,將其由100×100×3數字矩陣按從左至右、從上至下的順序,對應變成10 000×3數字矩陣,而后以10 000×3的數字矩陣形式將其導出至Excel文檔中。

(2)使用計數功能選項,對B分量下0~255元素值進行統計計數,初步嘗試以平均值39(10 000÷256)為頻數作為分割臨界值,發現區間[0,64]內分布的元素值滿足頻數要求,因此,初步將該區間作為紅色中B分量的表示區間,并基于篩選得到的6 669個位置點及其對應的G、R分量值進行下一步驟。

(3)對這6 669個位置點的G分量值進行計數統計,仍嘗試以平均值39為頻數作為分割臨界值,得到區間[0,41]的元素滿足條件,但發現元素42的計數為38,元素43為27,38離平均值較近且與下一元素統計值較遠,因此將G分量表示范圍動態調整為[0,42],得到6 466個位置點及其對應的R分量值滿足篩選條件進行下一步驟。

(4)對滿足B、G分量篩選條件的6 466個位置點進行R分量統計計數,同理得到,該分量滿足臨界條件的元素值區間范圍為[39,125]。

綜上,可初步得到紅色區間表示為B∈[0,64],G∈[0,42],R∈[39,125]。同理,可對葡萄、香蕉2種水果的單幅圖像進行上述操作,初步得到青色區間表示為B∈[17,102],G∈[63,130],R∈[59,119],黃色區間表示為B∈[0,114],G∈[154,200],R∈[157,208]。

同時,設定圖像中符合某一顏色區間的計數值最大,則判定該顏色為圖像主要顏色。即將圖像每一位置RGB分量值與各顏色表示區間進行比較后,得到圖像滿足各顏色表示區間的統計計數值分別為R1、B1、Y1,記D=max{R1,B1,Y1},D表示R1、B1、Y1中計數值最大的變量,其所表示的顏色即為圖像物品主要顏色。其流程如圖6所示。

圖6 顏色屬性獲取流程圖

而后,對3種水果各使用30幅圖像進行測試,根據其顏色區間的統計情況及最終判斷結果,對3種顏色表示區間進行了微調,最終確定紅色區間表示為B∈[0,64],G∈[0,47],R∈[20,152],青色區間表示為B∈[17,102],G∈[63,130],R∈[59,119],黃色區間表示為B∈[0,114],G∈[92,200],R∈[100,208]。經調整該區間表示,測試集下各顏色的識別準確率均為100%,滿足實驗所需能力要求。

2.5 形狀屬性特征學習

結合2.2節所構建的水果視覺知識庫,將水果形狀簡單分為圓形和長條形?;?.2.2節理論背景,由于水果形狀特征差異明顯,線性核具有求解速度快、可解釋性強等特點。所以,基于Python中sklearn模塊的SVM模型,以1為懲罰項系數,linear為核函數使用SVM分類器對水果形狀進行分類學習。

為消除顏色對形狀分類的影響,先將圖像進行二值化,以獲得水果單純的形狀圖像。并隨機選取二值化后的香蕉、葡萄圖像各5幅,保存至對應文件夾中,作為訓練集。之后,隨機選擇葡萄、櫻桃、香蕉3種水果各30幅圖像以驗證學習效果,其分類準確率可達100%,表明形狀屬性學習成功有效。具體步驟為:①隨機選取葡萄、香蕉圖像各5幅,將其二值化后,保存至對應訓練集文件夾中。②讀取圖像,并分別對圖像進行灰度直方圖特征提取和SIFT特征提取,并將特征提取處理后的圖像拉伸為一維向量。③將訓練集代入 SVM 算法中進行訓練生成一個模型,并形成可進行分類預測的功能函數。④批量讀取測試集圖像,經二值化后,進入步驟③中功能函數得到分類預測結果。⑤將分類結果與實際值進行比對,得到其形狀分類準確率為100%。表明實驗方法準確、有效。

2.6 分類方法系統集成及實驗測試

基于上述實驗準備與測試,將各模塊功能進行集成整合,其整體流程如圖7所示。

圖7 方法技術流程圖

隨后,對實驗數據集下所有圖像進行分類測試,結果如表2所示。

表2 第1次圖像分類測試結果

將香蕉未能識別成功的圖像進行決策過程顯示,發現有93幅圖像被識別判斷為“青色、長條形”,26幅圖像被識別判斷為“黃色、圓形”,28幅圖像被識別判斷為“青色、圓形”。

經圖像溯源可知,部分圖像中香蕉未成熟,其中青色區域比黃色區域多,故被識別判斷為“青色”,而有些香蕉圖像因拍攝角度問題,經二值化后圖像整體呈類圓形。因此,根據溯源結果與客觀事實,在知識庫內添加補充知識〈未成熟香蕉,has_color,青色〉、〈未成熟香蕉,has_shape,長條形〉。對于形狀被識別為圓形的圖像,則認定為異常數據值。最后,進行二次實驗,其結果如表3所示。

表3 第2次圖像分類測試結果

2.7 經驗目標測試

基于上述實驗可知,本文方法對經過基本屬性訓練的水果圖像有優異的決策分類能力?;诜椒▽傩阅芰Φ目蛇w移性和知識庫內容的可拓展性,在水果類下加入一個新實例——黃桃,用來測試方法在無樣本訓練下的決策分類能力。

根據原知識庫與圖像數據中顏色和形狀情況,可知認知經驗下黃桃圖像更傾向圓形,且顏色應為黃色。因此,在本體知識庫的水果類中添加黃桃這一實例,并創建其與黃色實例和圓形實例間的屬性連接,更新的知識庫如圖8所示。

圖8 新知識庫

之后,用實驗數據集中挑選的984幅黃桃圖像進行決策分類測試,結果顯示其準確分類的圖像數為955幅,分類準確率為97.05%。其中29幅圖像被錯誤判別為葡萄,根據葡萄定義的顏色和形狀為青色、圓形,返回錯誤判別圖像可知,圖像部分呈不成熟的青色狀,導致判別錯誤,若要提高分類準確率,則應提高顏色屬性的判別能力。

由此可以說明,基于一定條件,在本文方法下,人的先驗知識可以很好地輔助計算機對未知圖像樣本進行決策分類,進一步驗證了本文方法設想的可拓展性和先進性。

2.8 實驗結果分析

基于上述實驗結果可知,本文方法下櫻桃、葡萄和香蕉等經過屬性訓練的水果圖像數據集,初次分類準確率分別為100%、100%、81.76%,經決策過程溯源,知識庫內添加相關知識后,第2次分類準確率分別為100%、100%、93.30%。在此基礎上,對于未經訓練的黃桃圖像數據集,在認知經驗指導下,僅擴充知識庫知識,其分類準確率為97.05%。表明本文方法輔助計算機進行分類決策的效果十分優異,說明一定環境下本文方法可以較好地將人的認知經驗傳輸給計算機,并能被計算機所利用。其中邏輯化的處理過程,也可以搭建良好的人機溝通平臺,讓計算機在較少數據樣本下完成學習任務,并在出現決策錯誤時可以通過溯源找到問題原因,通過反饋找到解決問題的方法。

2.9 討論

基于實驗過程與結果可以發現,櫻桃和葡萄的精準分類,不僅源于其形狀、顏色相對固定,在屬性能力訓練與驗證時進行了針對性學習也是其分類準確率高的因素之一。同時,當前知識庫內容較少,本體結構相對簡單也是良好實驗結果的部分原因。

因此,針對對象形狀、顏色等屬性或受生長環境影響而不穩定的問題,可在認知經驗輔助判斷下,基于決策反饋結果對錯誤決策樣本情況,在機器人進行屬性特征學習時進行屬性的模糊表示。此外,當面向豐富的知識庫知識與復雜的本體結構時,可在提升屬性學習方法魯棒性情況下,充分利用本體技術的可拓展性,基于條件添加可學習的屬性特征,如圖像信息條件下添加紋理、面積等特征,機器實物操作信息條件下添加對象硬度、三維體積等特征。通過多屬性信息情況對對象間的差異進行知識描述,并使用語義網絡規則語言等規則語言對復雜本體結構進行知識的調用推理。

3 結論

(1)基于認知經驗,使用Protégé等工具構建水果識別分類的專業知識庫,結合統計計數和SVM方法實現了農業機器人的圖像顏色和形狀屬性的學習和判斷的認知。

(2)設計了葡萄、香蕉和櫻桃的圖像分類實驗,實驗結果顯示,當前數據下葡萄與櫻桃識別準確率為100%,香蕉識別準確率為93.30%,表明基于機器人對圖像的屬性判斷能力和認知經驗建立的本體知識庫,可以有效指導農業機器人在小樣本環境下完成物品的分類決策任務。

(3)設計了黃桃圖像分類的認知實驗,其分類準確率為97.05%,表明基于可共享的屬性判別能力,通過對本體知識庫的擴充,可以在無目標樣本圖像訓練的條件下,實現農業機器人分類決策能力的擴展。

猜你喜歡
知識庫本體形狀
挖藕 假如悲傷有形狀……
基于TRIZ與知識庫的創新模型構建及在注塑機設計中的應用
你的形狀
基于本體的機械產品工藝知識表示
看到的是什么形狀
高速公路信息系統維護知識庫的建立和應用
《我應該感到自豪才對》的本體性教學內容及啟示
基于Drupal發布學者知識庫關聯數據的研究
專題
Care about the virtue moral education
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合