999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于圖像融合和支持向量機的臍橙品質分級研究

2023-05-15 07:27:44劉海房
現代計算機 2023年5期
關鍵詞:分類融合模型

劉海房,蔣 謹

(廣東白云學院大數據與計算機學院,廣州 510000)

0 引言

我國是世界上臍橙種植面積最大的國家,但臍橙品質分級處理程度低。臍橙品質分級可以提高臍橙質量,臍橙按照成熟度、大小、表面缺陷等進行品質分級后,可以創造更大的商品價值,同時可以提高果農收益[1]。

近年來,隨著機器視覺、數字圖像處理技術、機器學習技術的快速發展,國內外對水果品質分級做了較深入的研究[2]。Arivazhagan 等[3]提出了一種基于顏色和紋理特征有效融合的水果識別方法。Wu[4]使用主成分分析(principal component analysis,PCA)來減少顏色、紋理和形態特征,并引入了內核支持向量機(kernel support vector machine,KSVM)作為分類器。Ji[5]用 適 應 度 標 準 混 沌(fitness-scaled chaotic ABC,FSCABC)取代了KSVM,從而提高了準確率。Lu[6]使用分數傅里葉熵作為特征,使用反向傳播神經網絡(back propagation neural network,BPNN)作為分類器。姚立健等[7]采用數字圖像處理的方法提取水果的特征,設計一種反向傳播神經網絡,實現蘋果的多特征融合。

神經網絡有很強的非線性擬合能力,可映射任意復雜的非線性關系,而且學習規則簡單,便于計算機實現,具有很強的魯棒性、記憶能力、非線性映射能力以及強大的自學習能力,因此有很大的應用市場。但是,當數據不充分的時候,神經網絡就無法進行工作[8]。

支持向量機(support vector machine,SVM)是一種有堅實理論基礎的、新穎的小樣本學習方法,它基本上不涉及概率測度及大數定律等,因此不同于現有的統計方法。從本質上看,它避開了從歸納到演繹的傳統過程,實現了高效的從訓練樣本到預報樣本的“轉導推理”,大大簡化了通常的分類和回歸等問題。

基于目前臍橙圖像數據集數據量較少,神經網絡模型的預測效果明顯低于SVM 算法,故本文采用SVM算法實現臍橙品質分級。

1 圖像融合

根據國家臍橙分級標準[9],將臍橙分為特級果、一級果、二級果,等外果。具體可參考表1。

表1 國家臍橙分級標準(GB/T 21488-2008)的部分參數

以贛南臍橙果園為數據采集基地,選取特級果、一級果、二級果、等外果各110個,用手機攝像頭對這些臍橙進行拍照,分別從上面、下面和3 個側面共5 個角度進行拍攝,采集臍橙圖像數據[10]。

將每個臍橙采集到的5 張圖像分別進行裁剪,對裁剪后的5張圖像進行摳圖,最后進行合成,融合為1 張圖像。多角度多區域圖像融合,能更全面反映該臍橙的大小、成熟度、果面缺陷等特征。單個臍橙的5張不同角度的圖像融合后的圖像如圖1 所示,從左到右分別是上面圖像、下面圖像、3 張側面圖像。同時根據大小、成熟度、果面缺陷面積對這張臍橙圖像進行級別標注,圖像文件名稱中標明是特級果(SUPER)、一級果(FIRST)、二級果(SECOND)或等外果(EXCEPTION)。每個臍橙可以得到1張融合后的圖像數據,共440張。這些臍橙圖像構成了臍橙品質分級圖像數據集。隨機選取400張圖像進行訓練,剩下40張用于測試。

圖1 臍橙合成圖像

2 算法實現

2.1 算法描述

支持向量機(support vector machine,SVM)是一種優良的數據挖掘技術,它利用最優化原理處理數據挖掘中的相關問題,可以實現從低維數據空間到高維特征空間的映射,從而將一個低維非線性問題轉化為高維線性可分問題。在一定程度上解決了“維數災難”和“過學習”難題,在處理小樣本、非線性和高維數上有很好的泛化能力和推廣性。

SVM 模型的核心是核函數,選擇一個好的核函數對支持向量機精度十分重要。在SVM中,常見的核函數共分為四種:多項式核函數(PF)、徑向基核函數(RBF)、Sigmoid 核函數(SF)以及線性核函數(LF)。其優劣各有不同,線性核函數比較簡單,可以求解一個QP 問題,但是只能解決線性可分問題;多項式核函數依靠升維使得原本線性不可分的數據線性可分,可解決非線性問題。本項目樣本數較少,經過比較,選擇預測效果較好的多項式核函數建模。

基于臍橙圖像數據集,訓練基于多項式核函數的SVM 模型,并應用訓練好的模型進行測試,步驟如下:

(1)讀取臍橙圖像數據集中的訓練圖片;

(2)對圖片進行變換處理,提取訓練集圖片的特征值;

(3)對標簽進行編碼,標準化處理;

(4)建立基于多項式內核的SVM算法模型;

(5)運用圖像樣本數據集和圖像分類標簽數據集,對SVM算法模型進行訓練;

(6)讀取測試圖像,運用訓練好的模型,對測試圖片進行識別分類,得到分類結果。

2.2 實現代碼

2.2.1 模型訓練函數代碼(Python代碼)

def trainPic(self,trainPicDir,savedModelDir):

#訓練集圖片路徑

picDic,train_urls=search_files(self,trainPicDir)

#提取訓練集圖片的特征值

train_x,train_y=[],[]

for label,urls in picDic.items():

for file in urls:

image=cv.imread(file)

gray=cv.cvtColo(rimage,cv.COLOR_BGR2

GRAY)

h,w=gray.shape

f=200/min(h,w)

gray=cv.resize(gray,None,fx=f,fy=f)

shift=cv.xfeatures2d.SIFT_create()

keypoints=shift.detec(tgray)

_,desc=shift.compute(gray,keypoints)

sample=np.mean(desc,axis=0)

train_x.append(sample)

train_y.append(label)

train_x=np.array(train_x)

#訓練集Y標簽編碼

encoder=sp.LabelEncoder()

self.setEncoder(encoder)

train_y_label=self.getTheEncode(r).fit_transform

(train_y)

#建立SVM模型并訓練模型

self.model=svm.SVC(kernel=“poly”,degree=4,

gamma=“auto”,probability=True)

self.model.fi(ttrain_x,train_y_label)

prd_train_y=self.model.predic(ttrain_x)

with open(‘my_model.m’,‘wb’)as fw:

joblib.dump(self.model,fw)

return self.model;

2.2.2 識別分類函數代碼(Python代碼)

def predictPic(self,preDir,classifyDir,model):

#加載測試集

test_urls,file_url=search_files(self,preDir)

prin(ttest_urls)

#使用模型識別圖片

prd_test_y=model.predic(ttest_x)

prin(tsm.classification_repor(ttest_y_label,prd_

test_y))

#輸出圖片所屬類別概率

output_Str=“圖片名稱 所屬類別概率【SUPER

FIRST SECOND EXCEPTION】”

probs=model.predict_proba(test_x)

accuracyVar=st(raccuracy_score(test_y_label,prd_

test_y))

test_Res_Str=“”+accuracyVar

class_type=[‘SUPER’,‘FIRST’,‘SECOND’,

‘EXCEPTION’]

picTypeIndex=[]

j=0

for i in np.round(probs,3):

maxType=getMaxPossibily(i)

output_Str=output_Str+“ ”+file_ur[lj]+“ ”

+formatOutpu(ti)

j=j+1

picTypeIndex.append(class_type[maxType])

tmp_str1=‘’.join(str(i)for i in np.round(probs,

3))

prin(tnp.round(probs,3))

3 程序界面及運行結果

3.1 程序界面設計

界面程序使用PyQt5設計實現,使用的環境有Windows 10、Python 3.7.2、PyQt5、Qt Designer、Pycharm 等。界面主要設計了兩大區域,操作區域和結果顯示區域,操作區域包括設置訓練圖片路徑按鈕、開始訓練按鈕、設置測試圖片路徑按鈕和識別分類按鈕,顯示區域用顯示框顯示實驗結果。

程序界面操作步驟如下:

(1)點擊設置訓練圖片路徑按鈕,選擇訓練圖片文件夾;

(2)點擊開始訓練,程序會調用訓練函數進行訓練,大概等待五分鐘左右,訓練完成;

(3)點擊設置測試圖片路徑按鈕,選擇測試圖片文件夾;

(4)點擊識別分類按鈕,程序會調用識別分類函數進行圖像識別及分類;

(5)輸出窗口輸出每張測試圖片屬于特級果(SUPER)、一級果(FIRST)、二級果(SECOND)、等外果(EXCEPTION)的概率,概率最高的類別即為該臍橙所屬類別。

3.2 程序運行結果

程序運行結果如圖2所示,界面顯示區域顯示了40張測試圖片的測試結果。如SUPER_01.jpg圖片,識別為特級果(SUPER)、一級果(FIRST)、二級果(SECOND)、等外果(EXCEPTION)的概率分別為86.5%、1.1%、5.5%、6.6%,很顯然,該張圖片為特級果的概率最大,故屬于特級果,跟圖片原本的標注(圖片名稱中標注為SUPER特級果)一致,識別分類成功。FIRST_01.jpg 圖片,識別為特級果(SUPER)、一級果(FIRST)、二級果(SECOND)、等外果(EXCEPTION)的概率分別為0.3%、82.3%、4.6%、6%,很顯然,該張圖片為一級果的概率最大,故屬于一級果,跟圖片原本的標注(圖片名稱中標注為FIRST 一級果)一致,識別分類成功。其他圖片識別分類結果分析依此類推。最后,統計所有測試圖片識別分類結果,得出測試數據集整體識別分類成功的概率為92.5%。

圖2 程序運行結果

4 結語

本文通過圖像融合的方式將多角度多區域的臍橙圖像進行融合,融合后的圖像更全面、更準確地反映了臍橙的各項基本特征,有助于提高臍橙識別分類成功率。結合實際情況,本文選用了支持向量機(SVM)算法進行模型訓練,設計了算法過程,使用Python 編寫算法代碼,使用PyQt5等技術實現了界面程序。將測試圖片數據集導入程序,得出實驗結果,結果顯示,臍橙識別分類成功率較高。但是,本文在圖像融合技術方面,只是做了簡單的圖像合成,還有待進一步提升。因數據量樣本較少,所以實驗結果較為理想,若數據樣本量足夠大,則算法還有待進一步優化和研究。

猜你喜歡
分類融合模型
一半模型
村企黨建聯建融合共贏
今日農業(2021年19期)2022-01-12 06:16:36
融合菜
分類算一算
從創新出發,與高考數列相遇、融合
重要模型『一線三等角』
《融合》
現代出版(2020年3期)2020-06-20 07:10:34
重尾非線性自回歸模型自加權M-估計的漸近分布
分類討論求坐標
數據分析中的分類討論
主站蜘蛛池模板: 久久伊伊香蕉综合精品| 美女无遮挡免费视频网站| 欧美综合成人| 香蕉精品在线| 欧美成人精品高清在线下载| 久久久久久久久18禁秘| 国产精品55夜色66夜色| 亚洲av日韩av制服丝袜| 91欧美亚洲国产五月天| 中文字幕波多野不卡一区| 国产乱视频网站| 国产香蕉在线视频| 亚洲欧美色中文字幕| 亚洲国内精品自在自线官| 婷婷色中文| 日本不卡在线| 亚洲第一色网站| 欧美午夜精品| 女人天堂av免费| 亚洲综合极品香蕉久久网| 国产无遮挡裸体免费视频| 无码一区中文字幕| 久久精品国产91久久综合麻豆自制| 久久亚洲综合伊人| 国产喷水视频| 国产人人射| 欧美不卡二区| 99久视频| 色偷偷一区二区三区| 欧美日韩在线第一页| 99九九成人免费视频精品| 综合色在线| 国内熟女少妇一线天| 欧美一区二区三区欧美日韩亚洲| 最新国产高清在线| 午夜激情福利视频| 亚洲黄色成人| 国产区免费| 国产迷奸在线看| A级毛片高清免费视频就| 国产在线视频二区| 日韩无码视频专区| 国内a级毛片| 亚洲色欲色欲www网| 好吊妞欧美视频免费| 99视频在线免费看| 国产又粗又爽视频| 国产精品久久久精品三级| 免费又爽又刺激高潮网址 | 精品久久香蕉国产线看观看gif| 中文字幕久久波多野结衣| 亚洲日本韩在线观看| 永久免费av网站可以直接看的| 福利视频99| 国产精品冒白浆免费视频| 久久久久青草大香线综合精品 | 日本午夜三级| 这里只有精品在线| 99久久成人国产精品免费| 亚洲精品爱草草视频在线| 99青青青精品视频在线| 丁香六月激情综合| 无码电影在线观看| 岛国精品一区免费视频在线观看| 欧美.成人.综合在线| 九九久久精品国产av片囯产区| 超清人妻系列无码专区| 欧美黄网在线| 精品国产一区二区三区在线观看| 国产精品密蕾丝视频| 永久毛片在线播| 中文字幕亚洲综久久2021| 91福利一区二区三区| 无码有码中文字幕| 亚洲美女久久| 亚洲成人高清无码| 91福利国产成人精品导航| 亚洲精品另类| 91福利一区二区三区| 日日拍夜夜操| 一本大道香蕉久中文在线播放| 久久精品无码国产一区二区三区|