风机桨叶故障诊断(一) 样本的获取
生活随笔
收集整理的這篇文章主要介紹了
风机桨叶故障诊断(一) 样本的获取
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
風(fēng)機(jī)槳葉故障診斷(一) 樣本的獲取
? ? ?今天團(tuán)隊(duì)接了個(gè)新項(xiàng)目,做一個(gè)風(fēng)機(jī)槳葉故障診斷系統(tǒng)。雖然馬上就是準(zhǔn)備考研的關(guān)鍵期了,可是一想到這是我學(xué)習(xí)了機(jī)器學(xué)習(xí)后遇到的第一個(gè)實(shí)際項(xiàng)目,我覺(jué)得參與進(jìn)來(lái),也幫導(dǎo)師分擔(dān)些壓力。項(xiàng)目不可能進(jìn)展的一帆風(fēng)順,這個(gè)系列文章也并不是教學(xué)性質(zhì)的,我這些日子會(huì)根據(jù)項(xiàng)目的情況,將一步步的進(jìn)展,想法都記錄在博客中,也作為技術(shù)的積累。如果有什么錯(cuò)誤歡迎大家指正。
步入正題,項(xiàng)目需求是這樣的,駕駛汽車在風(fēng)力發(fā)電廠中巡視一遍,車頂安裝攝像頭,沿途拍下所有的風(fēng)機(jī)。我們的軟件對(duì)高清攝像機(jī)拍攝下的圖片/視頻進(jìn)行處理,識(shí)別出圖像中的風(fēng)機(jī)槳葉,然后對(duì)槳葉是否存在故障進(jìn)行診斷。
經(jīng)過(guò)最初的分析,我們發(fā)現(xiàn)這個(gè)問(wèn)題還是十分棘手的,提供的條件也十分苛刻。首先,我們拿到的可以用來(lái)訓(xùn)練識(shí)別算法的樣本只有短短的幾個(gè)視頻,其次,由于風(fēng)機(jī)處于高速旋轉(zhuǎn)中,而且離地面的距離較遠(yuǎn),拍到的圖像不能做到很清晰,故障往往在圖像中只能體現(xiàn)成一個(gè)小黑點(diǎn)。就如下圖所示
故障相對(duì)于圖像來(lái)說(shuō)十分小,再加上訓(xùn)練樣本的不足,我們一時(shí)間沒(méi)有想出很好的識(shí)別方法(我和老師確實(shí)是糾結(jié)了好幾天了)。不過(guò)萬(wàn)事開(kāi)頭難,如果不一步步的去嘗試,永遠(yuǎn)不知道行不行,所以我決定先把樣本的問(wèn)題解決了,然后從要識(shí)別的槳葉入手,分析一下有什么特點(diǎn),做做預(yù)處理,看看會(huì)得到什么結(jié)果。還有就是提一下,我打算不管最后軟件用什么語(yǔ)言實(shí)現(xiàn),先用matlab進(jìn)行前期的分析和實(shí)驗(yàn)。 首先獲取樣本,我們拿到手的資源就僅僅是兩個(gè)模擬現(xiàn)場(chǎng)巡視拍攝下的視頻,那么準(zhǔn)備工作的第一步就是從視頻中抽取一部分幀的圖像出來(lái),作為我們最基本的可以提取樣本的圖像庫(kù)。 我是每隔25幀,對(duì)于我的視頻來(lái)說(shuō)是1秒抽取出一張圖像,matlab實(shí)現(xiàn)如下: function [ ] = ProcessVideo( ) %處理視頻,每一秒提取一幀并保存%% 從視頻里面分割圖片 clc; clear; %% 讀取視頻 video_file='F:\風(fēng)機(jī)槳葉故障診斷項(xiàng)目\視頻\視頻2.avi'; video=VideoReader(video_file); frame_number=floor(video.Duration * video.FrameRate)%% 分離圖片 for i=1:25:frame_numberimage_name=strcat('F:\風(fēng)機(jī)槳葉故障診斷項(xiàng)目\視頻2截圖\',num2str(i));image_name=strcat(image_name,'.jpg');I=read(video,i); %讀出圖片imwrite(I,image_name,'jpg'); %寫(xiě)圖片I=[]; endend
這樣,我們?cè)偃斯さ奶蕹恍](méi)用的圖片(比如十分模糊的,只有背景的),就得到我們可以用來(lái)提取樣本的風(fēng)機(jī)圖像庫(kù)了,如下圖所示。
第一步工作完成!明天繼續(xù)~ 希望我的博客對(duì)大家有所幫助,歡迎提問(wèn)和指正。轉(zhuǎn)載請(qǐng)注明出處 如果您也是學(xué)生,歡迎關(guān)注我們?nèi)A電LSGO軟件技術(shù)團(tuán)隊(duì)微信公眾平臺(tái)
故障相對(duì)于圖像來(lái)說(shuō)十分小,再加上訓(xùn)練樣本的不足,我們一時(shí)間沒(méi)有想出很好的識(shí)別方法(我和老師確實(shí)是糾結(jié)了好幾天了)。不過(guò)萬(wàn)事開(kāi)頭難,如果不一步步的去嘗試,永遠(yuǎn)不知道行不行,所以我決定先把樣本的問(wèn)題解決了,然后從要識(shí)別的槳葉入手,分析一下有什么特點(diǎn),做做預(yù)處理,看看會(huì)得到什么結(jié)果。還有就是提一下,我打算不管最后軟件用什么語(yǔ)言實(shí)現(xiàn),先用matlab進(jìn)行前期的分析和實(shí)驗(yàn)。 首先獲取樣本,我們拿到手的資源就僅僅是兩個(gè)模擬現(xiàn)場(chǎng)巡視拍攝下的視頻,那么準(zhǔn)備工作的第一步就是從視頻中抽取一部分幀的圖像出來(lái),作為我們最基本的可以提取樣本的圖像庫(kù)。 我是每隔25幀,對(duì)于我的視頻來(lái)說(shuō)是1秒抽取出一張圖像,matlab實(shí)現(xiàn)如下: function [ ] = ProcessVideo( ) %處理視頻,每一秒提取一幀并保存%% 從視頻里面分割圖片 clc; clear; %% 讀取視頻 video_file='F:\風(fēng)機(jī)槳葉故障診斷項(xiàng)目\視頻\視頻2.avi'; video=VideoReader(video_file); frame_number=floor(video.Duration * video.FrameRate)%% 分離圖片 for i=1:25:frame_numberimage_name=strcat('F:\風(fēng)機(jī)槳葉故障診斷項(xiàng)目\視頻2截圖\',num2str(i));image_name=strcat(image_name,'.jpg');I=read(video,i); %讀出圖片imwrite(I,image_name,'jpg'); %寫(xiě)圖片I=[]; endend
這樣,我們?cè)偃斯さ奶蕹恍](méi)用的圖片(比如十分模糊的,只有背景的),就得到我們可以用來(lái)提取樣本的風(fēng)機(jī)圖像庫(kù)了,如下圖所示。
第一步工作完成!明天繼續(xù)~ 希望我的博客對(duì)大家有所幫助,歡迎提問(wèn)和指正。轉(zhuǎn)載請(qǐng)注明出處 如果您也是學(xué)生,歡迎關(guān)注我們?nèi)A電LSGO軟件技術(shù)團(tuán)隊(duì)微信公眾平臺(tái)
總結(jié)
以上是生活随笔為你收集整理的风机桨叶故障诊断(一) 样本的获取的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LwIP应用开发笔记之三:LwIP无操作
- 下一篇: C#编写不安全代码初探