亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于并行計(jì)算的拋光軸表面缺陷檢測(cè)研究*

        2020-12-24 07:50:48姜慶勝李研彪計(jì)時(shí)鳴
        機(jī)電工程 2020年12期
        關(guān)鍵詞:檢測(cè)系統(tǒng)

        姜慶勝,李研彪,計(jì)時(shí)鳴

        (浙江工業(yè)大學(xué) 機(jī)械工程學(xué)院,浙江 杭州 310023)

        0 引 言

        軸是機(jī)械行業(yè)普遍使用的零部件,其表面缺陷對(duì)其的使用性能和壽命有重要影響。一般情況下,軸的表面缺陷檢測(cè)依靠工人肉眼觀察完成,人工判斷缺陷并剔除次品,檢驗(yàn)人員的勞動(dòng)強(qiáng)度大,長(zhǎng)期工作對(duì)眼睛有傷害,并且檢測(cè)結(jié)果一致性差,易發(fā)生漏檢。而利用機(jī)器視覺自動(dòng)檢測(cè)軸的表面缺陷,可有效提高檢測(cè)效率、檢測(cè)質(zhì)量,保護(hù)檢測(cè)人員健康,是未來(lái)技術(shù)的發(fā)展趨勢(shì)。

        在軸的在線檢測(cè)中,圖像處理的速度是提高檢測(cè)效率的重要因素之一。隨著被處理的圖像數(shù)量的增加,以及圖像分辨率的不斷提高,處理速度會(huì)變得越來(lái)越慢。由于計(jì)算機(jī)硬件系統(tǒng)的限制,會(huì)造成對(duì)復(fù)雜數(shù)據(jù)的處理速度的限制。根據(jù)摩爾定律[1],CPU的主頻已經(jīng)發(fā)展到了極限,無(wú)法僅靠提升硬件性能來(lái)提高運(yùn)算速度。

        近年來(lái),超級(jí)計(jì)算的計(jì)算方法已應(yīng)用到生產(chǎn)實(shí)踐中。超級(jí)計(jì)算的最基本方法就是并行計(jì)算。并行計(jì)算的方法和硬件的結(jié)構(gòu)有著密切的關(guān)系,但是其基本的原理和模型就是串行問題并行化。按其硬件形式可分為兩類:(1)多機(jī)并行集群方式;(2)單機(jī)多核,例如GPU系統(tǒng)。

        并行計(jì)算目的是為了加快運(yùn)算速度,追尋并行架構(gòu)的演變軌跡[2],經(jīng)歷了向量、分布存儲(chǔ)[3]、共享存儲(chǔ)、異構(gòu)幾個(gè)階段。與之對(duì)應(yīng)的程序設(shè)計(jì)語(yǔ)言有:面向向量的VFortran、面向分布存儲(chǔ)的PVM和MPI、面向共享存儲(chǔ)的OpenMP和面向異構(gòu)的OpenCL[4]。當(dāng)前應(yīng)用更廣泛的是Nvidia公司的使用CUDA C語(yǔ)言的顯卡和專用計(jì)算卡。

        Spark是近幾年最流行的也比較成熟的多機(jī)并行的分布式集群運(yùn)算架構(gòu)[5-9],隨著并行數(shù)量的增加,其運(yùn)算速度明顯加快。而對(duì)于基于面向異構(gòu)的CUDA的單機(jī)多核并行計(jì)算也已經(jīng)有了大量的研究和應(yīng)用[10-14],這種方式加速非常明顯。另外其他的并行方式有MPI[15]、OpenMP[16]等,但應(yīng)用不多。

        本文研究?jī)煞N典型的并行計(jì)算方式,并提出一種將兩種架構(gòu)結(jié)合的方式,實(shí)現(xiàn)實(shí)時(shí)和大數(shù)據(jù)檢測(cè)。

        1 拋光軸表面缺陷檢測(cè)

        1.1 拋光軸表面缺陷檢測(cè)系統(tǒng)

        拋光軸表面缺陷檢測(cè)系統(tǒng)不但需要實(shí)時(shí)識(shí)別出產(chǎn)品是否合格,而且也需要缺陷分析。

        比較典型的軸表面缺陷檢測(cè)系統(tǒng)如圖1所示。

        圖1 缺陷檢測(cè)系統(tǒng)

        1.2 圖像采集

        由于軸是屬于有規(guī)則型旋轉(zhuǎn)曲面,而且經(jīng)過(guò)拋光,具有高光反射特性,對(duì)于這種具有鏡面特點(diǎn)的曲面上的缺陷,當(dāng)前比較流行的圖像獲取方式是線掃描。在線掃描裝置中,相機(jī)采用線陣相機(jī),光源采用線光源。為了防止由于鏡面的高光反射,而拍攝不到缺陷,必須先確定相機(jī)和線光源的角度。同時(shí),軸的轉(zhuǎn)動(dòng)時(shí)間也必須和拍攝時(shí)間保持一定的比例關(guān)系,否則缺陷會(huì)失真。

        軸的線掃描裝置如圖2所示。

        圖2 軸的線掃描裝置

        線掃描圖像采集主要設(shè)備型號(hào)如表1所示。

        表1 圖像采集主要設(shè)備型號(hào)

        1.3 圖像特征

        根據(jù)被檢測(cè)軸缺陷的尺度,某些情況下需要采集較高分辨率的圖像。筆者研究的檢測(cè)對(duì)象活塞軸,其長(zhǎng)度為200 mm~400 mm,直徑約20 mm左右,表面經(jīng)拋光處理,表面最小缺陷的直徑約0.1 mm。根據(jù)缺陷尺度識(shí)別要求,采集圖像的分辨率至少要達(dá)到16 384×4 096,即6.7×107像素,這就意味著處理時(shí)需要比較長(zhǎng)的時(shí)間。

        活塞軸和部分缺陷圖如圖3所示。

        圖3 活塞軸和部分缺陷圖

        針對(duì)高分辨率圖像,圖像處理的耗時(shí)直接影響到機(jī)器視覺自動(dòng)檢測(cè)系統(tǒng)效率。因此,要選擇合理的圖像處理平臺(tái)和算法。

        活塞軸表面圖像具有像素多、被檢測(cè)缺陷點(diǎn)小的特點(diǎn),一般情況下6.7×107像素的圖像中的缺陷是僅有數(shù)十個(gè)互相連通的像素團(tuán)。根據(jù)統(tǒng)計(jì)分析,16個(gè)像素以下的像素團(tuán)應(yīng)作為噪聲濾除,而且生產(chǎn)要求在線識(shí)別是否合格時(shí)間要小于1 s。

        16 384×4 096線掃描圖像如圖4所示。

        圖4 16 384×4 096線掃描圖像

        1.4 表面缺陷檢測(cè)的處理方法

        對(duì)于物體表面缺陷的檢測(cè),常用的處理方法有[17]:統(tǒng)計(jì)法、頻譜法和模型法。(1)統(tǒng)計(jì)法又可以分為直方圖法[18]、灰度共生矩陣法[19]、自相關(guān)法[20]、數(shù)學(xué)形態(tài)學(xué)法[21];(2)頻譜法可以分為傅里葉特征法[22]、Gabor特征法[23]和小波特征法[24];(3)模型法可以分為分形體法[25]、隨機(jī)場(chǎng)模型法[26]和新模型法[27]。

        圖3中,軸表面缺陷點(diǎn)一般是凹坑、壓痕、磨損和長(zhǎng)條狀的劃痕。當(dāng)圖像經(jīng)過(guò)均值濾波之后,非缺陷點(diǎn)的像素明顯高于某個(gè)閾值,所以只要能檢測(cè)出圖片中的閾值小于這個(gè)閾值的點(diǎn)數(shù)的總數(shù)占一定的比例,就可以判斷該軸是否存在缺陷。

        由于需要檢測(cè)軸表面非常微小的缺陷,采集的單張圖片至少要大于6.7×107像素,并行計(jì)算是最好的選擇。并行計(jì)算可以分為:任務(wù)并行性和數(shù)據(jù)并行性。對(duì)于Spark多機(jī)分布并行計(jì)算適用于任務(wù)并行法,而對(duì)于單機(jī)多核的GPU適合使用數(shù)據(jù)并行法。

        1.5 基于傳統(tǒng)的像素逐次遍歷的缺陷檢測(cè)

        為了便于對(duì)比,筆者采納了基于像素的逐次遍歷串行計(jì)算方法:采集灰度化圖像,通過(guò)均值濾波去除16點(diǎn)以下的像素團(tuán)干擾,再將圖像的像素值轉(zhuǎn)換為二維數(shù)組,對(duì)每個(gè)數(shù)組元素和選取的閾值進(jìn)行對(duì)比,小于某閾值的就進(jìn)行統(tǒng)計(jì),全部依次對(duì)比完成后,得到總的小于該閾值的像數(shù)總數(shù),如果該總數(shù)達(dá)到某個(gè)缺陷的值,就認(rèn)為存在缺陷,一次性完成圖像的特征提取和識(shí)別。

        普通串行算法的缺陷檢測(cè)系統(tǒng)如圖5所示。

        圖5 普通串行算法的缺陷檢測(cè)系統(tǒng)

        2 基于并行計(jì)算的檢測(cè)系統(tǒng)

        2.1 基于多機(jī)并行的Spark分布式并行計(jì)算系統(tǒng)

        分布式并行處理就是多臺(tái)具有獨(dú)立運(yùn)算功能的計(jì)算機(jī)并聯(lián)運(yùn)行。Spark是在擴(kuò)展了Hadoop+MapReduce計(jì)算模型基礎(chǔ)上的通用集群計(jì)算平臺(tái),其特點(diǎn)是易用性;運(yùn)算速度快,具有交互功能;通用性,在其基礎(chǔ)上可以完成其他各種復(fù)雜運(yùn)算。它可以完成原先需要多種不同的分布式平臺(tái)的場(chǎng)景的運(yùn)算。Spark的API接口可以是基于Python、Java、Scala和SQL的程序,可以和其他大數(shù)據(jù)工具緊密配合。

        Spark的核心是Spark core,實(shí)現(xiàn)任務(wù)調(diào)度、內(nèi)存管理等,但真正的工作是對(duì)彈性分布式數(shù)據(jù)集RDD的API定義,RDD主要的編程對(duì)象是分布在各個(gè)節(jié)點(diǎn)上可以并行操作的元素集合[28]。

        Spark是個(gè)多任務(wù)的操作模式,就是將一個(gè)項(xiàng)目通過(guò)管理器分成很多個(gè)小任務(wù),然后將這些小任務(wù)分到各個(gè)計(jì)算機(jī)節(jié)點(diǎn)去運(yùn)算。

        應(yīng)用于軸表面缺陷的處理,主要是針對(duì)圖像的預(yù)處理和像素的檢索,利用了Spark的機(jī)器學(xué)習(xí)組件MLib中的函數(shù)[29]。

        基于Spark的缺陷檢測(cè)系統(tǒng)如圖6所示。

        圖6 基于Spark的缺陷檢測(cè)系統(tǒng)

        2.2 基于單機(jī)多核的GPU并行計(jì)算系統(tǒng)

        由于其強(qiáng)大的圖像并行處理能力,圖像處理單元GPU被廣泛應(yīng)用于計(jì)算密集型計(jì)算。CUDA是Nvidia公司在圖形處理卡GPU上運(yùn)行的應(yīng)用軟件,它可以讓C或C++代碼在GPU上高效運(yùn)行。

        GPU是一種異構(gòu)架構(gòu)[30],其運(yùn)行原理是主程序使用串行方式編程,在CPU中運(yùn)行,但遇到程序中的計(jì)算密集型部分,就把這些數(shù)據(jù)拷貝到GPU中,也就是顯卡或計(jì)算卡,讓GPU進(jìn)行并行計(jì)算,當(dāng)GPU計(jì)算完成之后,再把數(shù)據(jù)拷貝到CPU中。

        為了具有對(duì)比性,此處仍然以串行遍歷像素點(diǎn)的方法來(lái)確認(rèn)是否有缺陷,不過(guò)采用了CUDA并行計(jì)算,并且使用了線程協(xié)助管理和共享內(nèi)存的特性來(lái)優(yōu)化求和計(jì)算[31]。

        并行計(jì)算數(shù)學(xué)原理為:

        當(dāng)n?m,且i≤n時(shí),則:

        當(dāng)Pi

        當(dāng)Pi>T時(shí),令Pi=0;

        由此可得像素和為:

        Sn=S1+S2+…+Si+…+Sm

        (1)

        其中:

        S1=P1+Pm+1+…+Pn-m+1S2=P2+Pm+2+…+Pn-m+2……Si=Pi+Pm+i+…+Pn-m+i……Sm=Pm+Pm+m+…+Pn

        (2)

        但是這樣并行求和后,仍然會(huì)有m個(gè)數(shù)據(jù)求和,可以考慮再一次使用取半規(guī)約算法的數(shù)學(xué)方法進(jìn)行并行求解。

        根據(jù)式(1)有(Sj∈m):

        (j=1,2,3,……)

        (3)

        此式可寫為:

        (4)

        令:

        (5)

        可得和為:

        (6)

        再令:

        (7)

        以此類推,令通式為:

        (8)

        經(jīng)過(guò)k次迭代后,可得最后和為:

        (9)

        式中:i—像素位置;T—閾值;P—像素值;S—像素的和;n—總的像素個(gè)數(shù);m—一次并行處理的線程數(shù);k—迭代次數(shù)。

        檢測(cè)系統(tǒng)中,圖像噪聲濾波和像素點(diǎn)判斷統(tǒng)計(jì)采用不同的核函數(shù),這里充分利用了Nvidia圖像卡GPU中已經(jīng)分配的地址,以減少數(shù)據(jù)拷貝時(shí)間。

        CUDA缺陷檢測(cè)系統(tǒng)如圖7所示。

        圖7 CUDA缺陷檢測(cè)系統(tǒng)

        3 實(shí)驗(yàn)及結(jié)果分析

        3.1 實(shí)驗(yàn)設(shè)備

        (1)多計(jì)算機(jī)集群配置的設(shè)備來(lái)自阿里服務(wù)器,其集群硬件如表2所示。

        表2 集群硬件

        集群軟件配置如表3所示。

        表3 集群軟件配置

        (2)單機(jī)多核運(yùn)行的實(shí)驗(yàn)設(shè)備系統(tǒng)配置是:CPU為Intel(R) CPU E5-2620 v3 @2.40 GHz(2 core)內(nèi)存32GB,GPU為Nvidia的GTK1080Ti。操作系統(tǒng)是Windows Servers 2012 R2 64位操作系統(tǒng)。使用OpenCV、C++、CUDA C。1.5節(jié)的串行傳統(tǒng)遍歷算法也使用該計(jì)算機(jī)CPU運(yùn)算。

        3.2 實(shí)驗(yàn)數(shù)據(jù)

        實(shí)驗(yàn)中使用圖4中的被檢測(cè)圖片。由于生產(chǎn)現(xiàn)場(chǎng)被檢測(cè)的軸是按照流水線逐個(gè)檢測(cè),每次檢測(cè)一張圖片,并判定是否合格。實(shí)驗(yàn)分別按照1.5,2.1,2.2節(jié)的方法測(cè)定運(yùn)行時(shí)間,運(yùn)行時(shí)間按照有數(shù)據(jù)傳輸和無(wú)數(shù)據(jù)傳輸分別測(cè)定。

        不含通訊和數(shù)據(jù)拷貝的時(shí)間對(duì)比如表4所示。

        表4 不含通訊和數(shù)據(jù)拷貝的運(yùn)算時(shí)間對(duì)比

        包含數(shù)據(jù)通訊和拷貝的時(shí)間對(duì)比如表5所示。

        表5 包含數(shù)據(jù)通訊和拷貝的時(shí)間對(duì)比

        3.3 實(shí)驗(yàn)結(jié)果分析

        3.3.1 基于Spark的檢測(cè)

        根據(jù)2.1節(jié)采用Spark框架檢測(cè)一張圖片的運(yùn)行時(shí)間,包括圖片拷貝到HDFS上的時(shí)間、計(jì)算機(jī)之間的數(shù)據(jù)交換通訊時(shí)間,以及調(diào)度器在不同節(jié)點(diǎn)上的工作任務(wù)部署時(shí)間,至少需要6 s以上,這對(duì)于實(shí)時(shí)系統(tǒng)顯然是不合適的。

        根據(jù)眾多文獻(xiàn)實(shí)驗(yàn)證明,大量圖片一次性拷貝到HDFS上進(jìn)行運(yùn)算,隨著計(jì)算機(jī)節(jié)點(diǎn)數(shù)量的增加,運(yùn)算時(shí)間明顯減少,適合大數(shù)據(jù)的批量運(yùn)算。

        3.3.2 基于CUDA檢測(cè)

        根據(jù)2.2節(jié),用基于CUDA的單計(jì)算機(jī)多核并行計(jì)算方式,實(shí)驗(yàn)表明其完整運(yùn)算時(shí)間為320 ms,可以滿足實(shí)時(shí)要求[32]。如果采用機(jī)器學(xué)習(xí),得到預(yù)測(cè)模型會(huì)花很長(zhǎng)時(shí)間。根據(jù)文獻(xiàn)[33]實(shí)驗(yàn)可知,一張512×512單張圖片的模型檢測(cè)時(shí)間在2.29 s以上,這對(duì)于Spark的分布式計(jì)算機(jī)集群上是可行的,但不符合實(shí)時(shí)檢測(cè)要求。

        評(píng)估并行加速的指標(biāo)是加速比,其公式為:

        (10)

        式中:Te—串行計(jì)算時(shí)間;TP—并行計(jì)算時(shí)間;Sp—加速比。

        由實(shí)驗(yàn)可知,GPU在有通信的時(shí)候的加速比是3;無(wú)通訊的時(shí)候的加速比是52,可見數(shù)據(jù)的通訊和拷貝時(shí)間占用比較多的時(shí)間。

        3.4 實(shí)時(shí)檢測(cè)和大數(shù)據(jù)量數(shù)據(jù)分析的混合結(jié)構(gòu)模式

        根據(jù)以上分析,對(duì)于一個(gè)比較完整的軸表面缺陷檢測(cè),即要滿足實(shí)時(shí)在線的快速檢測(cè),又要進(jìn)行缺陷分類,宜用人工智能中的基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí),所以筆者提出了一種CUDA+Spark的混合模式。

        CUDA+Spark模型如圖8所示。

        圖8 CUDA+Spark模型

        根據(jù)混合模型,利用CUDA實(shí)現(xiàn)快速的實(shí)時(shí)檢測(cè),然后把缺陷圖片全部上傳到HDFS存儲(chǔ),可以間隔一段時(shí)間,對(duì)批量數(shù)據(jù)進(jìn)行分析處理。

        RDD最適合對(duì)數(shù)據(jù)集中所有的元素進(jìn)行相同的操作的批處理類應(yīng)用,所以將缺陷分析部分置于Spark架構(gòu)上是可行的。

        兩種并行方式的結(jié)合使用會(huì)有更好的空間,除了租用云服務(wù)器外,也可以將云計(jì)算改成就地多計(jì)算機(jī)系統(tǒng)組成就地云網(wǎng)絡(luò),以減少數(shù)據(jù)傳輸時(shí)間,并用于存儲(chǔ)超大數(shù)據(jù)和長(zhǎng)時(shí)間的復(fù)雜計(jì)算,使用GPU系統(tǒng)并行計(jì)算來(lái)作為實(shí)時(shí)計(jì)算,同時(shí)利用就地云網(wǎng)絡(luò)的計(jì)算結(jié)果來(lái)為實(shí)時(shí)判斷提供依據(jù)。

        4 結(jié)束語(yǔ)

        當(dāng)前,基于視覺的缺陷檢測(cè)已經(jīng)不僅僅局限于實(shí)時(shí)檢測(cè)產(chǎn)品是否合格,也需要分析產(chǎn)生缺陷的原因,而分析產(chǎn)生缺陷的原因需要對(duì)大量數(shù)據(jù)進(jìn)行存儲(chǔ)和處理。

        筆者經(jīng)實(shí)驗(yàn)證明了通過(guò)數(shù)學(xué)并行原理優(yōu)化后的GPU片上多核的并行計(jì)算方式,適用于高分辨率圖像實(shí)時(shí)環(huán)境;而基于云的Spark架構(gòu)分布式并行計(jì)算方式,不適用于實(shí)時(shí)環(huán)境,但卻適合使用在計(jì)算和數(shù)據(jù)密集、大批量數(shù)據(jù)處理的場(chǎng)合,而GPU卻不適合。所以采用GPU和Spark結(jié)合模式可以滿足對(duì)高分辨率圖像的實(shí)時(shí)檢測(cè)和大數(shù)據(jù)量分析場(chǎng)合的需求。

        猜你喜歡
        檢測(cè)系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        “不等式”檢測(cè)題
        “一元一次不等式”檢測(cè)題
        “一元一次不等式組”檢測(cè)題
        WJ-700無(wú)人機(jī)系統(tǒng)
        “幾何圖形”檢測(cè)題
        “角”檢測(cè)題
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        蜜桃在线观看免费高清完整版| 亚洲依依成人综合在线网址| 亚洲精品久久久久久| 国产精品乱码在线观看| 国产久视频| 国产特黄a三级三级三中国| 男性av天堂一区二区| 无码中文字幕日韩专区| 久久99久久99精品免观看| 欧美日韩亚洲一区二区精品| 一区二区三区在线视频免费观看| 自拍av免费在线观看| 无码国产精成人午夜视频一区二区 | 蜜桃传媒一区二区亚洲av婷婷| 精品国产拍国产天天人| 欧美成人一级视频| 国产成人色污在线观看| 精品亚洲一区二区三区四区五| 国产69久久精品成人看| 看曰本女人大战黑人视频| 精品久久杨幂国产杨幂| av在线播放免费观看| 精品厕所偷拍一区二区视频| 日本高清视频www| 国产精品自产拍在线18禁| 日韩精品一区二区在线视| 亚洲国产精品久久久久久无码| 亚洲 自拍 另类 欧美 综合| 久久精品国产乱子伦多人| 69精品国产乱码久久久| 玩弄丰满奶水的女邻居| 性大片免费视频观看| 国产思思久99久精品| 亚洲乱妇熟女爽到高潮视频高清| 亚洲色成人网站www永久| 五月婷一本到五月天| 国产精品又黄又爽又色| 日本xxxx色视频在线观看| 亚洲精品一区国产欧美| 欧美一级人与嘼视频免费播放| 中文字幕亚洲视频三区|