專利名稱:軌道側(cè)故障檢測系統(tǒng)及其實現(xiàn)方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及故障檢測技術(shù),特別涉及一種軌道側(cè)故障檢測系統(tǒng)(TFDS,Track-Side Fault Detection System)、圖像處理方法、數(shù)據(jù)發(fā)送方法、圖像處理裝置和控制裝置。
背景技術(shù):
TFDS是部署在軌道交通系統(tǒng)(如鐵路、地鐵等)上的安全系統(tǒng),也稱為列車運行故障動態(tài)圖像檢測系統(tǒng)或者貨車動態(tài)故障檢測系統(tǒng),是一套集高速數(shù)字圖像采集、大容量圖像數(shù)據(jù)實時處理、精確定位技術(shù)、模式識別技術(shù)、智能化、網(wǎng)絡(luò)化和信息化技術(shù)、自動控制技術(shù)于一體的智能系統(tǒng),該系統(tǒng)能利用所拍攝到的列車圖像對列車隱蔽和常見故障進行動態(tài)檢測。圖1為現(xiàn)有技術(shù)中TFDS的組成結(jié)構(gòu)示意圖。如圖1所示,TFDS包括兩部分現(xiàn)場站(Field Station)和中心站(Central Station),現(xiàn)場站位于軌道旁,其與中心站通過光纖連接。在現(xiàn)場站中,安裝有多個高速高分辨率(比如1400X1024)的攝像機(Camera),這些攝像機用于當列車以高速行駛經(jīng)過時對列車進行拍照以得到列車的圖像數(shù)據(jù)(比如列車的照片),之后,現(xiàn)場站中的計算機對列車的圖像數(shù)據(jù)進行壓縮等處理,然后將處理后的圖像數(shù)據(jù)通過光纖傳送到遠程的中心站。在中心站,這些圖像數(shù)據(jù)被保存下來并可由維護人員人工檢查或由機器視覺系統(tǒng)(Machine Vision System)自動檢查,以檢測列車的故障, 比如通過查看列車的照片,維護人員或機器視覺系統(tǒng)可以判斷車輪是否出現(xiàn)破損、列車是否有螺栓脫落、車廂底部承重結(jié)構(gòu)是否出現(xiàn)裂痕等等??梢?,TFDS能夠利用所拍攝到的列車的圖像數(shù)據(jù)對列車的故障進行動態(tài)檢測,以及時發(fā)現(xiàn)列車出現(xiàn)的安全問題,進而能夠及時有效的對軌道交通系統(tǒng)進行維修,可以有效的提高軌道交通系統(tǒng)的維護效率及質(zhì)量。然而,TFDS的有效運行基于實時的圖像數(shù)據(jù),因此,如何能提高圖像數(shù)據(jù)的處理能力以及效率已成為TFDS技術(shù)中的關(guān)鍵問題。
發(fā)明內(nèi)容
本發(fā)明實施例提出了一種TFDS、圖像處理方法、數(shù)據(jù)發(fā)送方法以及圖像處理裝置和控制裝置,以提高TFDS的圖像數(shù)據(jù)處理能力和效率。為了解決上述技術(shù)問題,本發(fā)明實施例提供了以下技術(shù)方案。本發(fā)明實施例提供了一種圖像處理裝置,所述圖像處理裝置包括第一模塊,用于將所述原始圖像數(shù)據(jù)劃分為至少一個NXN像素塊;其中,N為任意正整數(shù);第二模塊,用于對來自所述第一模塊的NXN像素塊執(zhí)行離散余弦變換DCT ;第三模塊,用于對所述第二模塊輸出的經(jīng)過DCT的NXN像素塊進行量化;第四模塊,用于對所述第三模塊輸出的經(jīng)過量化的NXN像素塊執(zhí)行鋸齒形串行化;及,
第五模塊,用于對所述第四模塊輸出的經(jīng)過鋸齒形串行化的NXN像素塊進行塊熵編碼,以得到目標壓縮文件,所述目標壓縮文件包括與所述NXN像素塊對應(yīng)的壓縮數(shù)據(jù)塊。本發(fā)明實施例還提供了一種控制裝置,所述控制裝置包括數(shù)據(jù)接收模塊,用于接收由攝像機拍攝的圖像數(shù)據(jù);圖像處理模塊,其內(nèi)置有圖形處理器(GPU,Graphic Processing Unit),用于利用所述GPU對所述數(shù)據(jù)接收模塊接收到的圖像數(shù)據(jù)進行圖像處理;及,數(shù)據(jù)發(fā)送模塊,用于將所述圖像處理模塊處理后的圖像數(shù)據(jù)發(fā)送至所述TFDS中的中心站。本發(fā)明實施例還提出了一種TFDS,該TFDS包括中心站和至少一個位于軌道側(cè)的現(xiàn)場站,所述現(xiàn)場站包括控制裝置和至少兩個攝像機所述攝像機,用于在列車經(jīng)過時對所述列車進行拍攝,并將拍攝到的圖像數(shù)據(jù)傳送至所述控制裝置;所述控制裝置,用于利用內(nèi)置的GPU對來自所述攝像機的圖像數(shù)據(jù)進行圖像處理,并將處理后的圖像數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送至所述中心站;及,所述中心站,用于根據(jù)來自所述現(xiàn)場站的控制裝置的圖像數(shù)據(jù)檢測所述列車的故障。本發(fā)明實施例還提出了一種軌道側(cè)故障檢測系統(tǒng)TFDS中的圖像處理方法,所述方法包括接收攝像機拍攝到的原始圖像數(shù)據(jù);利用圖形處理器GPU對所述原始圖像數(shù)據(jù)進行圖像處理;及,將經(jīng)過圖像處理的圖像數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送至中心站。本發(fā)明實施例還提出了一種軌道側(cè)故障檢測系統(tǒng)TFDS中的數(shù)據(jù)發(fā)送方法,所述方法包括將原始圖像數(shù)據(jù)劃分為至少兩個NXN像素塊;其中,N為任意正整數(shù);并行的對所述NXN像素塊執(zhí)行離散余弦變換DCT、量化和鋸齒形串行化;對所述鋸齒形串行化后的NXN像素塊進行塊熵編碼以得到目標壓縮文件;其中, 所述目標壓縮文件包括與所述NXN像素塊對應(yīng)的壓縮數(shù)據(jù)塊;及,將所述目標壓縮文件通過網(wǎng)絡(luò)發(fā)送至中心站。采用本發(fā)明實施例提供的系統(tǒng)、方法及裝置能夠顯著提高TFDS的圖像數(shù)據(jù)處理能力和效率,并能顯著降低現(xiàn)場站的安裝成本。
下面將通過參照附圖詳細描述本發(fā)明的示例性實施例,使本領(lǐng)域的普通技術(shù)人員更清楚本發(fā)明的上述及其它特征和優(yōu)點,附圖中圖1為現(xiàn)有技術(shù)中TFDS的組成結(jié)構(gòu)示意圖;圖2為本發(fā)明的發(fā)明人所提出的TFDS中一現(xiàn)場站實例的組成結(jié)構(gòu)示意圖;圖3為本發(fā)明的發(fā)明人所提出的TFDS中一現(xiàn)場站實例中攝像機與工業(yè)計算機 (IPC, Industrial Personal Computer)的連接關(guān)系示意圖4為依據(jù)本發(fā)明實施例的攝像機與IPC之間的連接關(guān)系示意圖;圖5為依據(jù)本發(fā)明實施例的圖像壓縮方法流程示意圖;圖6為圖5所示圖像壓縮流程中的離散余弦變換(DCT,Discrete Cosine Transforming)實現(xiàn)流程示意圖;圖7為本發(fā)明實施例中鋸齒形串行化(Zig-zag Serialization)的示意圖;圖8為本發(fā)明實施例中鋸齒形串行化后的直流(DC)值和交流(AC)值示意圖;圖9為依據(jù)本發(fā)明實施例的壓縮數(shù)據(jù)塊結(jié)構(gòu)示意圖;圖10為依據(jù)本發(fā)明實施例的應(yīng)用于TFDS中軌道側(cè)的控制裝置的組成結(jié)構(gòu)示意圖;圖11為依據(jù)本發(fā)明實施例的一現(xiàn)場站應(yīng)用實例示意圖;圖12為依據(jù)本發(fā)明實施例的一圖像處理裝置的結(jié)構(gòu)示意圖;圖13為依據(jù)本發(fā)明實施例的一 TFDS中數(shù)據(jù)發(fā)送方法的流程示意圖。
具體實施例方式以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用于解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實施例提出了一種TFDS,其中,一現(xiàn)場站實例的組成結(jié)構(gòu)如圖2所示。如圖2所示,現(xiàn)場站部署在鐵軌側(cè)并通過以太網(wǎng)連接遠程的中心站;現(xiàn)場站包括控制裝置以及分別與控制裝置連接的燈光組(Lamp Group)、光度計(Photometer)、鐵輪傳感器(Iron Wheel Sensor)和攝像機組。其中,鐵輪傳感器安裝在鐵軌上,用于感應(yīng)鐵軌上是否有列車行駛經(jīng)過,以使控制裝置啟動攝像機組進行拍攝;燈光組用于根據(jù)光度計的測量結(jié)果進行照明;攝像機組包括三組共五個攝像機第一組(包括一個攝像機)安裝于鐵軌右側(cè),第二組(包括一個攝像機)安裝于鐵軌左側(cè),第三組(包括三個攝像機)安裝于鐵軌底部,這三組攝像機能夠從全方位對列車進行拍攝,并將拍攝到的圖像數(shù)據(jù)傳送到控制裝置。此外,為了在攝像機空閑時(即不進行拍攝時)對其加以保護,現(xiàn)場站還進一步包括三個門以分別對這三組攝像機進行保護,這三個門也連接控制裝置,由控制裝置控制它們的開/關(guān)。如圖 2所示,用于保護安裝于鐵軌右側(cè)的一組攝像機的門安裝在鐵軌右側(cè),被稱為“右門”;用于保護安裝于鐵軌左側(cè)的一組攝像機的門安裝在鐵軌左側(cè),被稱為“左門”;用于保護安裝于鐵軌底部的一組攝像機的門安裝在鐵軌底部,被稱為“底門”??刂蒲b置除了對其所連接的各個設(shè)備進行控制,還要對來自各個攝像機的圖像數(shù)據(jù)進行處理。本發(fā)明的各實施例中,攝像機可以為能夠拍照和/或攝制視頻的影像設(shè)備。上述的控制裝置可采用IPC來實現(xiàn)。由于,TFDS對圖像數(shù)據(jù)的實時性要求較高, 即攝像機拍攝到圖像數(shù)據(jù)以后這些圖像數(shù)據(jù)應(yīng)在短時間內(nèi)被處理完,以便及時發(fā)現(xiàn)列車的故障并指示列車在附近的車站停留以進行維修。所以,在本發(fā)明實施例提供的TFDS中, 現(xiàn)場站可以包括多個IPC來并行的對多個攝像機拍攝到的圖像數(shù)據(jù)進行處理,以使圖像數(shù)據(jù)處理速度能夠滿足TFDS的動態(tài)故障檢測的要求。假定攝像機拍攝到的圖像數(shù)據(jù)為圖片,這些圖片需要被壓縮為JPEG格式,同時考慮列車的行駛速度,則現(xiàn)場站需要具有至少 200張/秒的圖片壓縮速度才能滿足TFDS的動態(tài)故障檢測的要求。圖3為本發(fā)明實施例提供的TFDS中一現(xiàn)場站實例中攝像機與IPC的連接關(guān)系示意圖。如圖3所示,現(xiàn)場站中包括五個攝像機(Camera 1、Camera 2、Camera 3、Camera 4、Camera 5),則現(xiàn)場站的控制裝置需要包括至少五個IPC,它們分別連接這五個攝像機,分別用于對其各自連接的攝像機所拍攝到的圖像數(shù)據(jù)進行處理;這五個IPC再通過交換機(Switch)將處理后的圖像數(shù)據(jù)通過網(wǎng)絡(luò)傳送到中心站。但是,本發(fā)明的發(fā)明人發(fā)現(xiàn),圖3所示的現(xiàn)場站實現(xiàn)方案存在如下問題由于采用多個IPC,使現(xiàn)場站的安裝尺寸太大,其實現(xiàn)成本將隨IPC的數(shù)量增加而顯著增加,同時現(xiàn)場站的維護復雜度也將大大提高。為了能夠降低現(xiàn)場站的維護復雜度同時也降低其實現(xiàn)成本,本發(fā)明實施例進一步對現(xiàn)場站進行了改進,其中的控制裝置采用圖形處理器(GPU,Graphic Processing Unit) 來進行圖像處理。這里,GPU是一種專門的針對圖形的核心處理器,其能夠以高度并行的方式對原始圖像數(shù)據(jù)進行處理,因此,采用GPU之后,控制裝置的圖像處理速度顯著提高, 如果控制裝置采用IPC來實現(xiàn),則采用數(shù)量較少的IPC,甚至單一 IPC,就能以滿足TFDS系統(tǒng)要求的速度并行處理來自多個攝像機的圖像數(shù)據(jù)。本發(fā)明并不限定現(xiàn)場站所使用的IPC 數(shù)量,總之,通過使用GPU來進行圖像處理之后,IPC的數(shù)量可以大大減少,任何一種應(yīng)用于 TFDS中的基于GPU進行圖像處理的實現(xiàn)方案均落入本發(fā)明的保護范圍之內(nèi)。圖4為依據(jù)本發(fā)明實施例的攝像機與IPC之間的連接關(guān)系示意圖。如圖4所示, 現(xiàn)場站中包括五個攝像機(Camera UCamera 2>Camera 3>Camera 4>Camera 5),現(xiàn)場站的控制裝置僅包括一個IPC,它連接這五個攝像機,用于并行的對這五個攝像機所拍攝到的圖像數(shù)據(jù)進行處理,再通過交換機(Switch)將處理后的圖像數(shù)據(jù)通過網(wǎng)絡(luò)傳送到中心站。因為采用了 GPU進行圖像處理,所以本發(fā)明實施例中,現(xiàn)場站的安裝尺寸將大大減小,安裝成本將顯著降低,維護成本和復雜度也會明顯降低。本發(fā)明實施例中,控制裝置可采用GPU進行各種圖像處理,包括圖像預處理(例如圖像增強)、圖像壓縮及編碼、和圖像分析(例如特征識別和定位)等等中的任一者或任意組合;本發(fā)明實施例中圖像處理所針對的圖像數(shù)據(jù)可以為各種格式的文件,比如圖片、 視頻文件等等。以下以圖像壓縮為例,對本發(fā)明實施例中基于GPU的圖像處理的具體實現(xiàn)方案加以說明。圖5為依據(jù)本發(fā)明實施例的圖像壓縮方法流程示意圖。在圖5所示的流程中,IPC 將來自攝像機的原始圖像數(shù)據(jù)(Raw Image Data)壓縮成JPEG格式的圖片,該流程包括步驟501 =IPC將來自攝像機的原始圖像數(shù)據(jù)加載到全局存儲器(Global Memory) 中。步驟502 :IPC中的GPU依據(jù)JPEG壓縮算法對全局存儲器中的原始圖像數(shù)據(jù)進行壓縮編碼,依次包括步驟離散余弦變換(DCT,Discrete Cosine Transforming)、量化 (Quantization)、塊的鋸齒形串行化(Block-wise Zig-zag Serialization)和塊熵編碼 (Block Entropy Encoding)。這里,關(guān)于DCT、量化、鋸齒形串行化和塊熵編碼的具體實現(xiàn)方法,以下將結(jié)合圖6 9加以詳述。步驟503 :IPC將全局存儲器中的壓縮編碼后的圖像數(shù)據(jù)(即JPEG格式的圖像數(shù)據(jù))復制到主存儲器(Main Memory),再輸出JPEG格式的圖像數(shù)據(jù)到中心站。如圖12所示,本發(fā)明實施例提供了一種圖像處理裝置,該裝置例如可以包括五個模塊第一模塊1201,用于將原始圖像數(shù)據(jù)劃分為至少一個NXN像素塊;其中,N為任意正整數(shù);第二模塊1202,用于對來自第一模塊1201的NXN像素塊執(zhí)行DCT ;第三模塊1203, 用于對第二模塊1202輸出的經(jīng)過DCT的NXN像素塊進行量化;第四模塊1204,用于對第三模塊1203輸出的經(jīng)過量化的NXN像素塊執(zhí)行鋸齒形串行化;及,第五模塊1205,用于對第四模塊1204輸出的經(jīng)過鋸齒形串行化的NXN像素塊進行塊熵編碼,以得到目標壓縮文件,此目標壓縮文件包括與NXN像素塊分別對應(yīng)的壓縮數(shù)據(jù)塊。本實施例中,該圖像處理裝置特別的安裝在TFDS中的現(xiàn)場站中。本實施例中,該圖像處理裝置中的第一模塊1201例如可以將原始圖像數(shù)據(jù)劃分為至少兩個NXN像素塊。此時,第二模塊1202、第三模塊1203、第四模塊1204以及第五模塊1205均可以并行的對多個像素快進行處理,能夠滿足高速圖像處理的需求。本實施例中,第五模塊1205例如可以包括計算子模塊1215,用于計算NXN像素塊的編碼長度和該NXN像素塊對應(yīng)的壓縮數(shù)據(jù)塊的目的地址;長度填充子模塊1225,用于向計算子模塊1215得到的目的地址填充編碼長度;偏移量填充子模塊1235,用于填充偏移量,該偏移量為第四模塊1204鋸齒串行化后得到的AC值的編碼的偏移量;DC值填充子模塊1245,用于填充第四模塊1204鋸齒串行化后得到的DC值;霍夫曼編碼填充子模塊1255, 用于計算AC值的霍夫曼編碼并填充該霍夫曼編碼;空偏移量填充子模塊1265,用于填充空比特以補齊當前字節(jié)。由于該圖像處理裝置包括空偏移量填充子模塊1265,可以使各個壓縮數(shù)據(jù)塊成為整字節(jié)對齊的存儲空間,由此各個8X8像素塊的AC值的霍夫曼編碼可以并行的執(zhí)行,進而能顯著提高壓縮編碼效率,滿足高速圖像處理的需求。具體的,本實施例中,第五模塊1205包括的子模塊滿足以下條件之一或其任意組合長度填充子模塊1225填充的編碼長度占一個字節(jié);偏移量填充子模塊1235填充的偏移量占一個字節(jié);偏移量填充子模塊1235向長度填充子模塊1225填充的編碼長度之后的位置填充該偏移量;DC值填充子模塊1245填充的DC值占兩個字節(jié);DC值填充子模塊1245 向偏移量填充子模塊1235填充的偏移量之后的位置填充該DC值;霍夫曼編碼填充子模塊 1255向DC值填充子模塊1245填充的DC值之后的位置填充該霍夫曼編碼;空偏移量填充子模塊1265向霍夫曼編碼子模塊1255填充的霍夫曼編碼之后的位置填充該空比特。具體的,本實施例中,在N大于1時,第二模塊1202采用多個線程對一個NXN像素塊執(zhí)行DCT。特別的,第二模塊1202對一個NXN像素塊中的每個像素采用一個線程執(zhí)行 DCT。具體的,本實施例中,第三模塊1203包括第一量化子模塊1213和/或第二量化子模塊1223。第一量化子模塊1213采用基于采集的圖像數(shù)據(jù)的亮度平均值的統(tǒng)計的量化表。 第二量化子模塊1223采用基于一天內(nèi)不同時間段的亮度的量化表。圖6為圖5所示圖像壓縮流程中的DCT實現(xiàn)流程示意圖,其中,本流程實現(xiàn)的是二維DCT。如圖6所示,該流程包括步驟601 原始的圖像數(shù)據(jù)被劃分為多個8X8像素塊(8X8 pixel Block)。這里, 本發(fā)明并不限定將圖像數(shù)據(jù)劃分為多大的塊,原始的圖像數(shù)據(jù)可以被劃分為任意像素大小的塊,比如劃分為16X16像素塊。步驟602 運行多個線程來計算各個像素塊的DCT系數(shù),其中,一個線程用于計算一個像素的DCT系數(shù),則對于一個8X8像素的塊,需要運行64個線程來計算64個像素的 DCT系數(shù)。
這里,GPU可基于通用并行計算構(gòu)架——計算統(tǒng)一設(shè)備構(gòu)架(CUDA,Compute Unified Device Architecture),來進行圖像處理,在具體實現(xiàn)時,可并行的運行多個CUDA 塊,一個CUDA塊相當于一個流處理塊,其可并行的運行大量的線程(比如128X128個線程),因此,利用GPU可以并行的運行大量CUDA線程來并行的對多個像素塊進行處理。對多個8 X 8像素塊進行并行的二維DCT處理,其中,對于每一個8 X 8像素塊,執(zhí)行如下步驟603 606 步驟603:64個線程并行的將其各自對應(yīng)的像素加載到共享存儲器(Shared Memory),進而將它們對應(yīng)的一個完整的8X8像素塊加載到共享存儲器。具體的,為了確定一個完整的8X8像素塊是否已被加載到共享存儲器,對應(yīng)于此8X8像素塊的64個線程之間需要進行同步,當這64個線程都經(jīng)過同步點 (Synchronization Point)時,則可確定此8X8像素塊已被加載到共享存儲器中,這里,關(guān)于如何實現(xiàn)多個線程的同步以及同步點的設(shè)定屬現(xiàn)有技術(shù)。這里,每一個像素可由一個二維坐標(Threadldx. χ, Threadldx. y)來標識,每一個線程也相應(yīng)的可由一個二維坐標(Threadldx. X,Threadldx. y)來標識。步驟604 64個線程計算各自對應(yīng)的像素的兩個向量之間的點乘積ATX,并將此計算結(jié)果保存在共享存儲器中。這里,對于每一個8X8像素塊,所有的波形被預先計算并保存在常數(shù)存儲器 (constant memory)中,并構(gòu)成一個二維數(shù)組A,此二維數(shù)組A中每一列保存著一個基函數(shù) A (x, u)的值;假定一個線程的坐標為(Threadldx. X,Threadldx. y),則要計算余弦系數(shù)的 Threadldx. y列和輸入塊的Threadldx. χ列的點乘積。這里,余弦系數(shù)的Threadldx. y列相當于At的Threadldx. y行,輸入塊的Threadldx. χ列指的是加載到共享存儲器的8X8像素塊的Threadldx. χ列。具體的,為了確定一個完整的8X8像素塊中各個像素的AtX是否已被計算完,對應(yīng)于此8X8像素塊的64個線程之間需要進行同步,當這64個線程都經(jīng)過同步點時,則可確定此8X8像素塊中的各個像素WAtX已被計算完。步驟605:在步驟604得到的計算結(jié)果基礎(chǔ)之上,64個線程計算各自對應(yīng)的像素的 (AtX) A (即,DCT系數(shù)),并將此計算結(jié)果保存在共享存儲器中。具體的,為了確定一個完整的8X8像素塊中各個像素的(AtX)A是否已被計算完, 對應(yīng)于此8X8像素塊的64個線程之間需要進行同步,當這64個線程都經(jīng)過同步點時,則可確定此8X8像素塊中的各個像素的(AtX)A已被計算完。步驟606 64個線程分別將各自對應(yīng)的像素的(AtX) A從共享存儲器復制到全局存儲器的輸出,進而將它們對應(yīng)的一個完整的8 X 8像素塊的DCT系數(shù)復制到全局存儲器的輸
出ο具體的,為了確定一個完整的8X8像素塊的DCT系數(shù)是否已被復制到全局存儲器的輸出,對應(yīng)于此8X8像素塊的64個線程之間需要進行同步,當這64個線程都經(jīng)過同步點時,則可確定此8X8像素塊的DCT系數(shù)已被復制到全局存儲器的輸出。本發(fā)明實施例中,在執(zhí)行量化時,可采用兩種量化表一種是基于列車的圖像數(shù)據(jù)的亮度平均值的統(tǒng)計,另一種是基于一天內(nèi)不同時間段的亮度。這里,關(guān)于量化的具體實現(xiàn)步驟,本發(fā)明可采用現(xiàn)有的各種技術(shù)來實現(xiàn),本文不再詳述。
在執(zhí)行完DCT和量化之后,GPU將對每一個8 X 8像素塊進行鋸齒形串行化。其中, GPU可以運行多個線程來并行的對多個8 X 8像素塊進行處理,每一個線程用于對一個8 X 8 像素塊進行鋸齒形串行化。這里,關(guān)于鋸齒形串行化的具體實現(xiàn)步驟,可采用現(xiàn)有的各種技術(shù)來實現(xiàn),具體的實現(xiàn)過程如圖7所示,此處不再詳述。在鋸齒形串行化結(jié)束后,對于一個8X8像素塊,將得到一個直流(DC)值以及多個交流(AC)值。如圖8所示,在一個經(jīng)過鋸齒形串行化的8X8像素塊中,第一個元素,即坐標為(0,0)的元素,為DC值,而剩余的元素為AC值。在本發(fā)明實施例中,為了加快熵編碼的速度,對標準的JPEG壓縮數(shù)據(jù)塊的結(jié)構(gòu)進行了改進,以適用GPU的高度并行化特征。圖9為依據(jù)本發(fā)明實施例的壓縮數(shù)據(jù)塊結(jié)構(gòu)示意圖。在圖9中,目標壓縮文件由多個壓縮數(shù)據(jù)塊組成,其中,每一個壓縮數(shù)據(jù)塊代表一個8X8像素塊,其結(jié)構(gòu)如圖9所示。一個壓縮數(shù)據(jù)塊包括如下字段一字節(jié)(Byte)的編碼長度(Length)、一字節(jié)的偏移量 (Offset)、兩字節(jié)的DC值、AC值的霍夫曼編碼(Huffman Coding)、空偏移量比特(Empty Offset Bit)。其中,編碼長度代表8X8像素塊的字節(jié)長度;偏移量代表AC值的編碼的偏移量,即最后一個字節(jié)的有效位長度(其用于解碼時定位無效數(shù)據(jù));空偏移量比特代表最后一個字節(jié)的無效位。具體的,在鋸齒形串行化之后,GPU運行多個線程來并行的生成多個上述壓縮數(shù)據(jù)塊,其中,每一線程對應(yīng)一個8 X 8像素塊及其壓縮數(shù)據(jù)塊,其計算自身對應(yīng)的8 X 8像素塊的編碼長度和其壓縮數(shù)據(jù)塊的目的地址,并按如下方式進行編碼并向目的地址填充壓縮數(shù)據(jù)塊步驟1 向目的地址填充計算得到的編碼長度;步驟2 填充偏移量和DC值;及,步驟3 計算并填充AC值的霍夫曼編碼,之后,填充空比特以補齊當前字節(jié),這些空比特被稱為空偏移量比特(Empty Offset Bit)。由于上述壓縮數(shù)據(jù)塊的最后一位為無效位(即空偏移量比特),則使各個壓縮數(shù)據(jù)塊成為整字節(jié)對齊的存儲空間,進而各個8X8像素塊的AC值的霍夫曼編碼可以并行的執(zhí)行,進而能顯著提高壓縮編碼效率。經(jīng)過上述處理,原始的圖像數(shù)據(jù)被壓縮成一個個壓縮數(shù)據(jù)塊,這些壓縮數(shù)據(jù)塊被保存為二進制的目標壓縮文件并通過光纖被發(fā)送到中心站。在中心站,此壓縮文件被調(diào)整為典型的JPEG文件并保存在數(shù)據(jù)庫中。本發(fā)明實施例還提出了一種應(yīng)用于TFDS中軌道側(cè)的控制裝置。此控制裝置例如位于上述TFDS中的現(xiàn)場站。圖10為依據(jù)本發(fā)明實施例的應(yīng)用于TFDS中軌道側(cè)的控制裝置的組成結(jié)構(gòu)示意圖。如圖10所示,該控制裝置至少包括數(shù)據(jù)接收模塊1001、圖像處理模塊1002和數(shù)據(jù)發(fā)送模塊1003。其中數(shù)據(jù)接收模塊1001用于接收由攝像機拍攝的圖像數(shù)據(jù);圖像處理模塊1002內(nèi)置有GPU,用于利用此GPU對數(shù)據(jù)接收模塊1001接收到的圖像數(shù)據(jù)進行圖像處理;及,數(shù)據(jù)發(fā)送模塊1003用于將圖像處理模塊1002處理后的圖像數(shù)據(jù)發(fā)送至中心站。本實施例中,該圖像處理模塊1002中的GPU例如可以由圖12中所示的圖像處理裝置實現(xiàn)。圖10示出的控制裝置涉及與圖像處理有關(guān)的功能模塊,關(guān)于圖像處理的各種具體實現(xiàn)方法前面已有詳述,這里不再贅述,該控制裝置還可以進一步包括現(xiàn)有的各種功能模塊來實現(xiàn)對于現(xiàn)場站中各個組成部分(如燈光組、攝像機、鐵輪傳感器等等)的控制,這里不再將這些功能模塊示出,但均落入本發(fā)明的保護范圍之內(nèi)。此外,上述控制裝置可以實現(xiàn)為硬件設(shè)備,也可以以軟件的方式實現(xiàn)為虛擬裝置,該虛擬裝置可運行在現(xiàn)場站中用于做集中控制的設(shè)備(如IPC)中,以完成基于GPU的圖像處理。本發(fā)明實施例還提供了一種TFDS中的數(shù)據(jù)發(fā)送方法,如圖13所示,該方法包括步驟1301 將原始圖像數(shù)據(jù)劃分為至少兩個NXN像素塊;其中,N為任意正整數(shù);步驟1302 并行的對各NXN像素塊執(zhí)行DCT、量化和鋸齒形串行化;步驟1303 對鋸齒形串行化后的各NXN像素塊進行塊熵編碼以得到目標壓縮文件;其中,目標壓縮文件包括與各所述NXN像素塊對應(yīng)的壓縮數(shù)據(jù)塊;及,步驟1304 將目標壓縮文件通過網(wǎng)絡(luò)發(fā)送至中心站。在本實施例中,具體的DCT、量化、鋸齒形串行化以及熵編碼的具體實現(xiàn)可以參照上述實施例,此處不再贅述。圖11為依據(jù)本發(fā)明實施例的一現(xiàn)場站應(yīng)用實例示意圖。如圖11所示,該現(xiàn)場站包括單一 IPC,此IPC安裝了 GPU和過程監(jiān)視系統(tǒng)SIMANTIC WinAC,此WinAC系統(tǒng)能夠通過 ProfiBUS通信卡(如:CP5613)和Prof iBUS遠程輸入/輸出端口(如:ET200S)對燈光組、 各個門、各個攝像機等進行控制。圖11中的數(shù)字信號處理/現(xiàn)場可編程門陣列(DSP/FPGA) 接口板用于處理來自鐵輪傳感器(如Axis sensor)的信號并觸發(fā)五個攝像機(如=DALSA 數(shù)字攝像機)。IPC通過一個4端口的千兆以太網(wǎng)卡(Giga-Ethernet card)或四個一端口以太網(wǎng)卡接收未壓縮的圖像數(shù)據(jù),再通過千兆以太網(wǎng)卡通過光纖交換機輸出壓縮后的圖像數(shù)據(jù)至中心站。采用上述各種本發(fā)明實施例,能夠顯著提高TFDS的現(xiàn)場站的圖像處理速度,以圖像壓縮為例,計算機PC(E5420+GTX 260+)對1400X 1024像素的圖像的壓縮速度可達到大約4. 9毫秒;此外,由于現(xiàn)場站采用單一的基于GPU的IPC處理圖像數(shù)據(jù),進而使現(xiàn)場站的安裝尺寸及材料成本顯著降低,其維護成本和難度也相應(yīng)降低。上述各實施例之間可以相互參照,例如裝置的具體實現(xiàn)以及使用方法可以參照方法實施例,而方法實施例也可以參照對于裝置實施例的具體描述。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種圖像處理裝置,所述圖像處理裝置包括第一模塊,用于將原始圖像數(shù)據(jù)劃分為至少一個NXN像素塊;其中,N為任意正整數(shù); 第二模塊,用于對來自所述第一模塊的NXN像素塊執(zhí)行離散余弦變換DCT ; 第三模塊,用于對所述第二模塊輸出的經(jīng)過DCT的NXN像素塊進行量化; 第四模塊,用于對所述第三模塊輸出的經(jīng)過量化的NXN像素塊執(zhí)行鋸齒形串行化;及,第五模塊,用于對所述第四模塊輸出的經(jīng)過鋸齒形串行化的NXN像素塊進行塊熵編碼,以得到目標壓縮文件,所述目標壓縮文件包括與所述NXN像素塊對應(yīng)的壓縮數(shù)據(jù)塊。
2.如權(quán)利要求1所述的裝置,其中,所述第一模塊具體用于將所述原始數(shù)據(jù)圖像劃分為至少兩個NXN像素塊; 所述第二模塊具體用于并行的對來自于所述第一模塊的NXN像素塊執(zhí)行DCT ; 所述第三模塊具體用于并行的對所述第二模塊輸出的經(jīng)過DCT的NXN像素塊進行量化;所述第四模塊具體用于并行的對所述第三模塊輸出的經(jīng)過量化的NXN像素塊執(zhí)行鋸齒形串行化;所述第五模塊具體用于并行的對所述第四模塊輸出的經(jīng)過鋸齒形串行化的NXN像素塊進行塊熵編碼,以得到目標壓縮文件。
3.根據(jù)權(quán)利要求1所述的裝置,其中,所述第五模塊包括計算子模塊,用于計算所述NXN像素塊的編碼長度和所述NXN像素塊對應(yīng)的壓縮數(shù)據(jù)塊的目的地址;長度填充子模塊,用于向所述計算子模塊得到的目的地址填充所述編碼長度; 偏移量填充子模塊,用于填充偏移量,所述偏移量為所述第四模塊鋸齒串行化后得到的交流AC值的編碼的偏移量;直流DC值填充子模塊,用于填充所述第四模塊鋸齒串行化后得到的DC值; 霍夫曼編碼填充子模塊,用于計算所述AC值的霍夫曼編碼并填充所述霍夫曼編碼; 空偏移量填充子模塊,用于填充空比特以補齊當前字節(jié)。
4.根據(jù)權(quán)利要求3所述的裝置,其中,所述第五模塊包括的子模塊滿足以下條件之一或其任意組合所述長度填充子模塊填充的所述編碼長度占一個字節(jié); 所述偏移量填充子模塊填充的所述偏移量占一個字節(jié);所述偏移量填充子模塊向所述長度填充子模塊填充的所述編碼長度之后的位置填充所述偏移量;所述DC值填充子模塊填充的所述DC值占兩個字節(jié);所述DC值填充子模塊向所述偏移量填充子模塊填充的所述偏移量之后的位置填充所述DC值;所述霍夫曼編碼填充子模塊向所述DC值填充子模塊填充的所述DC值之后的位置填充所述霍夫曼編碼;所述空偏移量填充子模塊向所述霍夫曼編碼子模塊填充的所述霍夫曼編碼之后的位置填充所述空比特。
5.根據(jù)權(quán)利要求1-4中任一項所述的裝置,其中,在N大于1時,所述第二模塊采用多個線程對一個NXN像素塊執(zhí)行DCT。
6.根據(jù)權(quán)利要求1-4中任一項所述的裝置,其中,所述裝置應(yīng)用于軌道側(cè)故障檢測系統(tǒng)TFDS中的現(xiàn)場站。
7.—種控制裝置,所述控制裝置包括數(shù)據(jù)接收模塊,用于接收由攝像機拍攝的圖像數(shù)據(jù);圖像處理模塊,其內(nèi)置有圖形處理器GPU,用于利用所述GPU對所述數(shù)據(jù)接收模塊接收到的圖像數(shù)據(jù)進行圖像處理;及,數(shù)據(jù)發(fā)送模塊,用于將所述圖像處理模塊處理后的圖像數(shù)據(jù)發(fā)送至中心站。
8.根據(jù)權(quán)利要求7所述的控制裝置,其中,所述GPU包括如權(quán)利要求1-4中任一項所述的圖像處理裝置。
9.根據(jù)權(quán)利要求7所述的控制裝置,其中,所述控制裝置應(yīng)用于軌道側(cè)故障檢測系統(tǒng) TFDS中的現(xiàn)場站。
10.一種現(xiàn)場站,所述現(xiàn)場站,所述現(xiàn)場站位于軌道側(cè),且所述現(xiàn)場站包括如權(quán)利要求 7所述的控制裝置。
11.一種軌道側(cè)故障檢測系統(tǒng)TFDS,所述系統(tǒng)包括中心站和至少一個位于軌道側(cè)的現(xiàn)場站,所述現(xiàn)場站包括控制裝置和至少兩個攝像機所述攝像機,用于在列車經(jīng)過時對所述列車進行拍攝,并將拍攝到的圖像數(shù)據(jù)傳送至所述控制裝置;所述控制裝置,用于利用內(nèi)置的GPU對來自所述攝像機的圖像數(shù)據(jù)進行圖像處理,并將處理后的圖像數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送至所述中心站;及,所述中心站,用于根據(jù)來自所述現(xiàn)場站的控制裝置的圖像數(shù)據(jù)檢測所述列車的故障。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述控制裝置利用所述GPU進行的圖像處理包括以下之一或其任意組合圖像預處理、圖像壓縮及編碼和圖像分析。
13.根據(jù)權(quán)利要求11或12所述的系統(tǒng),其中,所述控制裝置為單一的工業(yè)計算機IPC。
14.一種軌道側(cè)故障檢測系統(tǒng)TFDS中的圖像處理方法,所述方法包括接收攝像機拍攝到的原始圖像數(shù)據(jù);利用圖形處理器GPU對所述原始圖像數(shù)據(jù)進行圖像處理;及,將經(jīng)過圖像處理的圖像數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送至中心站。
15.根據(jù)權(quán)利要求14所述的方法,其中,所述利用所述GPU進行的圖像處理包括以下之一或其任意組合圖像預處理、圖像壓縮及編碼和圖像分析。
16.根據(jù)權(quán)利要求15所述的方法,其中,所述利用所述GPU對所述原始圖像數(shù)據(jù)進行圖像壓縮,包括將所述原始圖像數(shù)據(jù)劃分為至少兩個NXN像素塊;其中,N為任意正整數(shù);及,運行至少兩個線程以并行的對所述NXN像素塊進行圖像壓縮并生成目標壓縮文件; 其中,對于一個NXN像素塊的圖像壓縮,包括離散余弦變換DCT、量化、鋸齒形串行化、塊熵編碼;所述目標壓縮文件包括與所述NXN像素塊對應(yīng)的多個壓縮數(shù)據(jù)塊。
17.根據(jù)權(quán)利要求16所述的方法,其中,當N大于1時,對于一個NXN像素塊的DCT, 包括運行至少兩個線程來對所述NXN像素塊的各個像素分別執(zhí)行DCT,其中,一個線程用于對一個像素執(zhí)行DCT。
18.根據(jù)權(quán)利要求16所述的方法,其中,所述量化中采用的量化表為基于所述圖像數(shù)據(jù)的亮度平均值的統(tǒng)計的量化表,或者,基于一天內(nèi)不同時間段的亮度的量化表。
19.根據(jù)權(quán)利要求11所述的方法,其中,對于一個NXN像素塊的塊熵編碼,包括 運行一個線程以執(zhí)行如下步驟;計算所述NXN像素塊的編碼長度以及所述NXN像素塊的壓縮數(shù)據(jù)塊的目的地址; 向所述目的地址填充所述編碼長度;填充偏移量和所述鋸齒形串行化后得到的直流DC值;其中,所述偏移量為所述鋸齒形串行化后得到的交流AC值的編碼的偏移量;計算所述AC值的霍夫曼編碼并填充所述AC值的霍夫曼編碼;及, 填充空比特以補齊當前字節(jié)。
20.一種軌道側(cè)故障檢測系統(tǒng)TFDS中的數(shù)據(jù)發(fā)送方法,所述方法包括將所述原始圖像數(shù)據(jù)劃分為至少兩個NXN像素塊;其中,N為任意正整數(shù); 并行的對所述NXN像素塊執(zhí)行離散余弦變換DCT、量化和鋸齒形串行化; 對所述鋸齒形串行化后的NXN像素塊進行塊熵編碼以得到目標壓縮文件;其中,所述目標壓縮文件包括與所述NXN像素塊對應(yīng)的壓縮數(shù)據(jù)塊;及, 將所述目標壓縮文件通過網(wǎng)絡(luò)發(fā)送至中心站。
21.根據(jù)權(quán)利要求20所述的方法,其中,對于一個NXN像素塊進行塊熵編碼,包括 計算所述NXN像素塊的編碼長度以及所述NXN像素塊的壓縮數(shù)據(jù)塊的目的地址; 向所述目的地址填充所述編碼長度;填充偏移量和所述鋸齒形串行化后得到的直流DC值;其中,所述偏移量為所述鋸齒形串行化后得到的交流AC值的編碼的偏移量;計算所述AC值的霍夫曼編碼并填充所述AC值的霍夫曼編碼;及, 填充空比特以補齊當前字節(jié)。
全文摘要
本發(fā)明實施例提供了一種軌道側(cè)故障檢測系統(tǒng)(TFDS),該系統(tǒng)包括中心站和至少一個位于軌道側(cè)的現(xiàn)場站,所述現(xiàn)場站包括控制裝置和至少兩個攝像機所述攝像機,用于在列車經(jīng)過時對所述列車進行拍攝,并將拍攝到的圖像數(shù)據(jù)傳送至所述控制裝置;所述控制裝置,用于利用內(nèi)置的GPU對來自所述攝像機的圖像數(shù)據(jù)進行圖像處理,并將處理后的圖像數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送至所述中心站;及,所述中心站,用于根據(jù)來自所述現(xiàn)場站的控制裝置的圖像數(shù)據(jù)檢測所述列車的故障。本發(fā)明實施例還提出了應(yīng)用于TFDS中軌道側(cè)的方法及裝置。采用本發(fā)明實施例能顯著提高TFDS的圖像數(shù)據(jù)處理能力和效率,并能顯著降低現(xiàn)場站的安裝成本。
文檔編號H04N7/26GK102457713SQ201010526759
公開日2012年5月16日 申請日期2010年10月29日 優(yōu)先權(quán)日2010年10月29日
發(fā)明者介鳴, 潘莉, 龍飛 申請人:西門子公司