风机桨叶故障诊断(四) 正负样本准备——从图像中随机扣图
風(fēng)機(jī)槳葉故障診斷(四)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 正負(fù)樣本準(zhǔn)備——從圖像中隨機(jī)扣圖
? ? ?在之前的工作中,我們已經(jīng)訓(xùn)練了一個(gè)400×25×2的三層BP神經(jīng)網(wǎng)絡(luò),通過(guò)這個(gè)基礎(chǔ)的神經(jīng)網(wǎng)絡(luò)進(jìn)行了誤差分析,對(duì)我們的問(wèn)題有了更深刻的認(rèn)識(shí)。現(xiàn)在我們要開(kāi)始不斷完善我們的預(yù)測(cè)算法。
? ? ? 在一個(gè)機(jī)器學(xué)習(xí)系統(tǒng)中,樣本選取的好壞至關(guān)重要。不是有這么個(gè)著名論斷嘛,“It's not who has the best algorithm that wins.It's who has the most data.”所以我們完善算法的第一步,就是完善我們的樣本。在項(xiàng)目的最初我們就獲取了可以用來(lái)提取所需樣本的圖像庫(kù),篩選掉不合適的圖像后大概有2000張。我們的下一步,就是從這里面選取我們的樣本(上一篇文章中我是手動(dòng)截取的少量樣本,這具有主觀性,且樣本數(shù)量也不夠)。
? ? ?所以現(xiàn)在我們要從圖像庫(kù)中重新篩選樣本,為了讓所選的正、負(fù)樣本能夠具有代表性,盡量包含所有可能出現(xiàn)的情況,我們應(yīng)該在圖像中在隨機(jī)位置,截取出隨機(jī)大小的圖。經(jīng)過(guò)對(duì)于實(shí)際問(wèn)題的分析,我選取扣圖的隨機(jī)大小范圍限定在250-400之間,位置隨機(jī)選定,只要所截取的整幅圖像不超越原圖的邊界即可。然后選定在每幅圖像中隨機(jī)截取出20張圖作為待處理的樣本。
? ? ?在所選的文件夾中對(duì)所有圖像進(jìn)行隨機(jī)位置隨機(jī)大小扣圖的matlab實(shí)現(xiàn)如下:
function [ ] = BuildLotOfExample( ) %隨機(jī)抓取生成大量樣本for i=1:25:5176%讀取圖像image_toRead_name=strcat('F:\風(fēng)機(jī)槳葉故障診斷項(xiàng)目\視頻2截圖\',num2str(i));image_toRead_name=strcat(image_toRead_name,'.jpg');if exist(image_toRead_name,'file')%讀取圖像OriImage=imread(image_toRead_name);grayImage=rgb2gray(OriImage);[rows,cols]=size(grayImage);%由原始圖像,每幅圖扣出20張隨機(jī)大小,隨機(jī)位置的圖像,再進(jìn)行篩選%隨機(jī)扣圖的大小,邊長(zhǎng)250-400之間sizeArray=round(rand(1,20)*150+250);for x=1:length(sizeArray)%得到本次摳圖邊長(zhǎng)length_of_size=sizeArray(x);rowIndex=round(rand()*(rows-length_of_size-1)+1);colIndex=round(rand()*(cols-length_of_size-1)+1);tempImage=grayImage(rowIndex:rowIndex+length_of_size,colIndex:colIndex+length_of_size);%保存圖像image_toSave_name=strcat('F:\風(fēng)機(jī)槳葉故障診斷項(xiàng)目\隨機(jī)抽取樣本\',num2str(i+1));image_toSave_name=strcat(image_toSave_name,'_');image_toSave_name=strcat(image_toSave_name,num2str(x));image_toSave_name=strcat(image_toSave_name,'.jpg');imwrite(tempImage,image_toSave_name);endendendend? ? ? ?在運(yùn)行完上面代碼后的工作就是比較枯燥的了,在所有截取出的圖像中認(rèn)真篩選出正樣本和負(fù)樣本,并剔除出少量可能對(duì)算法產(chǎn)生較大干擾的圖像。在漫長(zhǎng)的工作之后,我們的正負(fù)樣本集就得到了,最后我將它們進(jìn)行歸一化,變成了25×25的灰度圖像。
? ? ? ?今天篩選樣本做了不少枯燥的體力活動(dòng),肩膀都疼了。不過(guò)好的樣本選取是機(jī)器學(xué)習(xí)系統(tǒng)的基石,希望這些天的努力不會(huì)白費(fèi)!
總結(jié)
以上是生活随笔為你收集整理的风机桨叶故障诊断(四) 正负样本准备——从图像中随机扣图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安装qt5.9.5 windows环境
- 下一篇: 关于CString