亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化方法及系統(tǒng)與流程

文檔序號(hào):12272416閱讀:254來(lái)源:國(guó)知局
卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化方法及系統(tǒng)與流程
本發(fā)明涉及機(jī)器學(xué)習(xí)(MachineLearning,ML)和人工智能(ArtificialIntelligence,AI)
技術(shù)領(lǐng)域
,尤其涉及一種卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetwork,CNN)的計(jì)算資源優(yōu)化方法及系統(tǒng)。
背景技術(shù)
:深度學(xué)習(xí)(DeepLearning,DL)是模擬人腦的思維方式和處理問(wèn)題的方法。人腦的計(jì)算神經(jīng)元數(shù)量是百億量級(jí),即使是一個(gè)“小型”的CNN所需要的計(jì)算也非常龐大,而且?guī)缀跛械纳疃葘W(xué)習(xí)網(wǎng)絡(luò)均運(yùn)行在CPU(或CPU集群),或GPU(或GPU集群)硬件平臺(tái)之上,所需要的硬件資源非常巨大,導(dǎo)致成本和功耗都非常大,運(yùn)行速度緩慢,很多CNN在高性能的芯片平臺(tái)上運(yùn)行時(shí)也只能達(dá)到幾幀/每秒的速度,無(wú)法進(jìn)行實(shí)時(shí)處理。卷積神經(jīng)網(wǎng)絡(luò)包括卷基層和全連接層,其計(jì)算過(guò)程是逐層計(jì)算,在卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算過(guò)程可以采用層間復(fù)用從而降低對(duì)處理器硬件資源的需求,即所有的卷積層依次運(yùn)行在相同的模塊(例如,卷積計(jì)算模塊)中,所有的全連接層依次運(yùn)行在相同的模塊(全連接層模塊)中,在設(shè)計(jì)卷積層模塊和全連接層模塊的時(shí)候,需要按照所有層的最大資源占用情況來(lái)設(shè)計(jì)相關(guān)參數(shù),例如卷積核的尺寸、輸入/輸入Map的尺寸和數(shù)量等,卷積神經(jīng)網(wǎng)絡(luò)有一個(gè)特點(diǎn):底層的Map尺寸大,但是數(shù)量少,高層的Map尺寸小,但是數(shù)量多。在層間復(fù)用方案中,需要以最大計(jì)算量的Map來(lái)設(shè)計(jì)計(jì)算模塊。上述技術(shù)方案的弊端是,浪費(fèi)計(jì)算資源且計(jì)算實(shí)時(shí)性差。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的主要目的在于提供一種卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化方法,旨在避免浪費(fèi)計(jì)算資源且計(jì)算實(shí)時(shí)性差的弊端。為實(shí)現(xiàn)上述目的,本發(fā)明提供的卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化方法包括以下步驟:將卷積神經(jīng)網(wǎng)絡(luò)的輸入Map拆分為包括若干個(gè)子Map的子Map矩陣,其中,所述輸入Map的尺寸為H×W,H>0,W>0;對(duì)每個(gè)所述子Map進(jìn)行單獨(dú)的卷積操作以得到每個(gè)所述子Map的卷積操作的計(jì)算結(jié)果;根據(jù)全部所述子Map的卷積操作的計(jì)算結(jié)果原位拼接成所述輸入Map的卷積操作的計(jì)算結(jié)果,其中,原位拼接指將所述子Map的卷積操作的結(jié)果放在所述子Map在所述輸入Map中對(duì)應(yīng)的位置。優(yōu)選地,所述對(duì)每個(gè)所述子Map進(jìn)行單獨(dú)的卷積操作以得到每個(gè)所述子Map的卷積操作的計(jì)算結(jié)果包括:對(duì)每個(gè)所述子Map進(jìn)行單獨(dú)的卷積操作的卷積核的尺寸為HC×HC,HC>1。優(yōu)選地,所述將卷積神經(jīng)網(wǎng)絡(luò)的輸入Map拆分為包括若干個(gè)子Map的子Map矩陣包括:根據(jù)所述輸入Map的尺寸判斷是否能將所述輸入Map拆分為僅包含第一子Map的子Map矩陣,其中,所述第一子Map的尺寸為預(yù)設(shè)尺寸h×w,H>h>0,W>w>0,所述第一子Map在所述子Map矩陣中呈m行×n列分布,m=ceil(H/h)=floor(H/h),n=ceil(W/w)=floor(W/w);若是,則將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣。優(yōu)選地,所述根據(jù)所述輸入Map的尺寸判斷是否能將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣還包括:若否,則將所述輸入Map拆分為包括所述第一子Map、第二子Map、第三子Map及第四子Map的子Map矩陣;其中,所述第一子Map、所述第二子Map、所述第三子Map及所述第四子Map呈m’行×n’列排布;所述第二子Map、所述第三子Map及所述第四子Map的尺寸均小于所述預(yù)設(shè)尺寸;所述子Map矩陣中,第1行至第m’-1行以及第1列至第n’-1列均分布所述第一子Map,第m’行的第1列至第n’-1列均分布所述第二子Map,第n’列的第1至第m’-1行均分布所述第三子Map;第m’行的第n’列分布第四子Map;若m’=ceil(H/h)>floor(H/h)且n’=ceil(W/w)>floor(W/w),所述第二子Map的尺寸為[H-h×floor(H/h)]×w,所述第三子Map的尺寸為h×[W-w×floor(W/w)],所述第四子Map的尺寸為[H-h×floor(H/h)]×[W-w×floor(W/w)],若m’=ceil(H/h)>floor(H/h)且n’=ceil(W/w)=floor(W/w),則只存在所述第一子Map和所述第二子Map,若m’=ceil(H/h)=floor(H/h)且n’=ceil(W/w)>floor(W/w),則只存在所述第一子Map和所述第三子Map。優(yōu)選地,所述將卷積神經(jīng)網(wǎng)絡(luò)的輸入Map拆分為包括若干個(gè)子Map的子Map矩陣之后,還包括:在所述卷積操作需要保持卷積操作前后的所述子Map尺寸不變時(shí),對(duì)位于所述子Map矩陣中第一行、最后一行、第一列和最后一列的所述子Map進(jìn)行補(bǔ)零操作。優(yōu)選地,所述在所述卷積操作需要保持卷積操作前后的所述子Map尺寸不變時(shí),對(duì)位于所述子Map矩陣中第一行、最后一行、第一列和最后一列的所述子Map進(jìn)行補(bǔ)零操作之后,還包括:對(duì)每個(gè)所述子Map進(jìn)行補(bǔ)充相鄰元素操作,以使對(duì)每個(gè)所述子Map的卷積操作能覆蓋所述子Map當(dāng)中的每一個(gè)元素,其中,所述補(bǔ)充相鄰元素操作指將每個(gè)所述子Map的未補(bǔ)零的邊緣補(bǔ)充相鄰的子Map元素。此外,請(qǐng)參照?qǐng)D4,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化系統(tǒng),所述卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化系統(tǒng)包括:拆分模塊10,用于將卷積神經(jīng)網(wǎng)絡(luò)的輸入Map拆分為包括若干個(gè)子Map的子Map矩陣,其中,所述輸入Map的尺寸為H×W,H>0,W>0;子Map計(jì)算模塊30,用于對(duì)每個(gè)所述子Map進(jìn)行單獨(dú)的卷積操作以得到每個(gè)所述子Map的卷積操作的計(jì)算結(jié)果;計(jì)算結(jié)果合成模塊50,用于根據(jù)全部所述子Map的卷積操作的計(jì)算結(jié)果原位拼接成所述輸入Map的卷積操作的計(jì)算結(jié)果,其中,原位拼接指將所述子Map的卷積操作的結(jié)果放在所述子Map在所述輸入Map中對(duì)應(yīng)的位置。優(yōu)選地,所述子Map計(jì)算模塊包括;卷積核,用于對(duì)每個(gè)所述子Map進(jìn)行單獨(dú)的卷積操作,所述卷積核的尺寸為HC×HC,HC>1。優(yōu)選地,所述拆分模塊10還包括:判斷單元,用于根據(jù)所述輸入Map的尺寸判斷是否能將所述輸入Map拆分為僅包含第一子Map的子Map矩陣,其中,所述第一子Map的尺寸為預(yù)設(shè)尺寸h×w,H>h>0,W>w>0,所述第一子Map在所述子Map矩陣中呈m行×n列分布,m=ceil(H/h)=floor(H/h),n=ceil(W/w)=floor(W/w);均勻拆分單元,用于在能將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣時(shí),將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣。優(yōu)選地,所述拆分模塊10還包括:非均勻拆分單元,用于在不能將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣時(shí),將所述輸入Map拆分為包括所述第一子Map、第二子Map、第三子Map及第四子Map的子Map矩陣;其中,所述第一子Map、第二子Map、第三子Map及第四子Map呈m’行×n’列排布;所述第二子Map、所述第三子Map及所述第四子Map的尺寸均小于所述預(yù)設(shè)尺寸;所述子Map矩陣中,第1行至第m’-1行以及第1列至第n’-1列均分布所述第一子Map,第m’行的第1列至第n’-1列均分布所述第二子Map,第n’列的第1至第m’-1行均分布所述第三子Map;第m’行的第n’列分布第四子Map;若m’=ceil(H/h)>floor(H/h)且n’=ceil(W/w)>floor(W/w),所述第二子Map的尺寸為[H-h×floor(H/h)]×w,所述第三子Map的尺寸為h×[W-w×floor(W/w)],所述第四子Map的尺寸為[H-h×floor(H/h)]×[W-w×floor(W/w)],若m’=ceil(H/h)>floor(H/h)且n’=ceil(W/w)=floor(W/w),則只存在所述第一子Map和所述第二子Map,若m’=ceil(H/h)=floor(H/h)且n’=ceil(W/w)>floor(W/w),則只存在所述第一子Map和所述第三子Map。優(yōu)選地,所述卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化系統(tǒng)還包括:補(bǔ)零操作模塊,用于在所述卷積操作需要保持卷積操作前后的所述子Map尺寸不變時(shí),對(duì)位于所述子Map矩陣中第一行、最后一行、第一列和最后一列的所述子Map進(jìn)行補(bǔ)零操作。優(yōu)選地,所述卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化系統(tǒng)還包括:補(bǔ)充相鄰元素模塊,用于對(duì)每個(gè)所述子Map進(jìn)行補(bǔ)充相鄰元素操作,以使對(duì)每個(gè)所述子Map的卷積操作能覆蓋所述子Map當(dāng)中的每一個(gè)元素,其中,所述補(bǔ)充相鄰元素操作指將每個(gè)所述子Map的未補(bǔ)零的邊緣補(bǔ)充相鄰的子Map元素。在本發(fā)明的技術(shù)方案中,先將所述卷積神經(jīng)網(wǎng)絡(luò)的輸入Map拆分為由若干個(gè)子Map構(gòu)成的子Map矩陣,再對(duì)每個(gè)所述子Map進(jìn)行單獨(dú)處理,得到每個(gè)所述子Map的計(jì)算結(jié)果,拆分后的每個(gè)所述子Map的計(jì)算量小,因此可以根據(jù)計(jì)算量最大的所述子Map來(lái)設(shè)計(jì)系統(tǒng)的計(jì)算模塊,同時(shí),由于每個(gè)所述子Map的計(jì)算量小,可以設(shè)計(jì)并行計(jì)算,提升計(jì)算效率,因此計(jì)算實(shí)時(shí)性好,最后將每個(gè)所述子Map的計(jì)算結(jié)果原位拼接即可合成所述輸入Map的計(jì)算結(jié)果,以實(shí)現(xiàn)節(jié)約計(jì)算資源和提高計(jì)算實(shí)時(shí)性的目的。附圖說(shuō)明圖1為本發(fā)明卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化方法第一實(shí)施例的流程示意圖;圖2為本發(fā)明卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化方法一實(shí)施例的將輸入Map拆分為僅包含所述第一子Map的子Map矩陣的示意圖;圖3為本發(fā)明卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化方法另一實(shí)施例的流程示意圖;圖4為本發(fā)明卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化系統(tǒng)第一實(shí)施例的功能模塊示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。具體實(shí)施方式應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明提供一種卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化方法,所述卷積神經(jīng)網(wǎng)絡(luò)包括圖像輸入層、多個(gè)卷積層、至少一個(gè)全連接層,并且,每?jī)蓚€(gè)所述卷積層中設(shè)置一激活層,或每?jī)蓚€(gè)所述卷積層中設(shè)置一所述激活層和一池化層。一般圖像處理的流程是先對(duì)每個(gè)所述子Map進(jìn)行卷積操作,再將卷積操作后的輸出結(jié)果輸入至激活層進(jìn)行激活操作。在存在所述池化層時(shí),激活操作的結(jié)果作為池化層的輸入。所述池化層可以有效節(jié)約處理器的計(jì)算資源和使得卷積神經(jīng)網(wǎng)絡(luò)保持平移不變性。參照?qǐng)D1,在一實(shí)施例中,該卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化方法包括以下步驟:步驟S10,將卷積神經(jīng)網(wǎng)絡(luò)的輸入Map拆分為包括若干個(gè)子Map的子Map矩陣,其中,所述輸入Map的尺寸為H×W,H>0,W>0;所述輸入Map的尺寸H×W是根據(jù)圖像分辨率、圖像需要反映的物理區(qū)域大小及計(jì)算資源的大小等因素預(yù)先確定的,因此,所述輸入Map的尺寸H×W是一個(gè)已知尺寸。通過(guò)卷積核對(duì)每個(gè)所述子Map進(jìn)行卷積操作,直至完成所述子Map矩陣的卷積操作,卷積操作時(shí),所述卷積核經(jīng)過(guò)所述子Map矩陣的邊緣,分為兩種情況:所述卷積核不超出所述子Map矩陣的邊緣或所述卷積核超出所述子Map矩陣的邊緣。步驟S30,對(duì)每個(gè)所述子Map進(jìn)行單獨(dú)的卷積操作以得到每個(gè)所述子Map的卷積操作的計(jì)算結(jié)果;步驟S50,根據(jù)全部所述子Map的卷積操作的計(jì)算結(jié)果原位拼接成所述輸入Map的卷積操作的計(jì)算結(jié)果,其中,原位拼接指將所述子Map的卷積操作的結(jié)果放在所述子Map在所述輸入Map中對(duì)應(yīng)的位置。例如,將所述輸入Map拆分成5×5矩陣,得到25個(gè)子Map,對(duì)25個(gè)子Map進(jìn)行單獨(dú)的卷積操作以得到25個(gè)所述子Map的卷積操作的計(jì)算結(jié)果,因此,將25個(gè)所述子Map的卷積操作的結(jié)果進(jìn)行原位拼接即可得到H×W的所述輸入Map的計(jì)算結(jié)果。需要說(shuō)明:原位拼接是指,將子Map的卷積操作的結(jié)果放在子Map在輸入Map中對(duì)應(yīng)的位置。在本發(fā)明的技術(shù)方案中,先將所述卷積神經(jīng)網(wǎng)絡(luò)的輸入Map拆分為由若干個(gè)子Map構(gòu)成的子Map矩陣,再對(duì)每個(gè)所述子Map進(jìn)行單獨(dú)處理,得到每個(gè)所述子Map的計(jì)算結(jié)果,拆分后的每個(gè)所述子Map的計(jì)算量小,因此可以根據(jù)計(jì)算量最大的所述子Map來(lái)設(shè)計(jì)系統(tǒng)的計(jì)算模塊,同時(shí),由于每個(gè)所述子Map的計(jì)算量小,可以設(shè)計(jì)并行計(jì)算,提升計(jì)算效率,因此計(jì)算實(shí)時(shí)性好,最后將每個(gè)所述子Map的計(jì)算結(jié)果原位拼接即可合成所述輸入Map的計(jì)算結(jié)果,以實(shí)現(xiàn)節(jié)約計(jì)算資源和提高計(jì)算實(shí)時(shí)性的目的。優(yōu)選地,所述對(duì)每個(gè)所述子Map進(jìn)行單獨(dú)的卷積操作以得到每個(gè)所述子Map的卷積操作的計(jì)算結(jié)果包括:步驟S31(圖未示),對(duì)每個(gè)所述子Map進(jìn)行單獨(dú)的卷積操作的卷積核的尺寸為HC×HC,HC>1。請(qǐng)參閱圖2,優(yōu)選地,所述將卷積神經(jīng)網(wǎng)絡(luò)的輸入Map拆分為包括若干個(gè)子Map的子Map矩陣包括:步驟S11(圖未示),根據(jù)所述輸入Map的尺寸判斷是否能將所述輸入Map拆分為僅包含第一子Map的子Map矩陣,其中,所述第一子Map的尺寸為預(yù)設(shè)尺寸h×w,H>h>0,W>w>0,所述第一子Map在所述子Map矩陣中呈m行×n列分布,m=ceil(H/h)=floor(H/h),n=ceil(W/w)=floor(W/w);m’=ceil(H/h)為對(duì)實(shí)數(shù)H/h做向上取整操作,n’=ceil(W/w)為對(duì)實(shí)數(shù)W/w做向上取整操作,floor(H/h)為對(duì)實(shí)數(shù)H/h做向下取整操作,floor(W/w)為對(duì)實(shí)數(shù)W/w做向下取整操作。具體的,所述第一子Map的尺寸為預(yù)設(shè)尺寸h×w,所述預(yù)設(shè)尺寸是根據(jù)硬件資源情況和整個(gè)所述卷積神經(jīng)網(wǎng)絡(luò)的最小Map的情況設(shè)計(jì)得到,在對(duì)所述子Map矩陣進(jìn)行拆分時(shí),希望每個(gè)所述子Map都能被拆分為預(yù)設(shè)尺寸,以得到降低硬件資源的效果。在本實(shí)施例中,預(yù)設(shè)尺寸h×w為64×48,當(dāng)然,所述預(yù)設(shè)尺寸不限于此。根據(jù)所述輸入Map的尺寸判斷是否能將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣,是指判斷所述輸入Map的尺寸是否能均勻拆分為行數(shù)為m,列數(shù)為n的第一子Map的矩陣,即判斷H是否能被h整除,W是否能被w整除。步驟S13(圖未示),若是,則將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣。此時(shí),視為對(duì)所述輸入Map進(jìn)行均勻拆分。例如,當(dāng)所述輸入Map的尺寸為320×240時(shí),由于320能被64整除,240能被48整除,因此,所述輸入Map能被均勻拆分為僅包含尺寸為64×48像素的所述第一子Map的所述子Map矩陣,且所述子Map矩陣的行數(shù)m=320/64=5,所述子Map矩陣的列數(shù)n=240/48=5,此時(shí)判斷能將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣。在本實(shí)施例中,所述卷積核的尺寸HC×HC為3×3,將320×240的所述輸入Map均勻拆分為5×5的所述子Map矩陣后,每個(gè)所述第一子Map的尺寸為64×48。對(duì)每個(gè)所述第一子Map進(jìn)行卷積操作,得到每個(gè)所述第一子Map的計(jì)算結(jié)果,得到每一個(gè)64×48的所述第一子Map的卷積操作的計(jì)算結(jié)果,然后將25個(gè)所述第一子Map的卷積操作的計(jì)算結(jié)果原位拼接起來(lái)得到320×240的所述輸入Map的卷積結(jié)果。將所述輸入Map均勻拆分時(shí),由于每個(gè)所述子Map的尺寸相等,因此,系統(tǒng)只需要一套計(jì)算模塊即可完成所述輸入Map的計(jì)算過(guò)程,節(jié)約計(jì)算資源的效果顯著。優(yōu)選地,所述根據(jù)所述輸入Map的尺寸判斷是否能將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣還包括:步驟S15(圖未示),若否,則將所述輸入Map拆分為包括所述第一子Map、第二子Map、第三子Map及第四子Map的子Map矩陣;其中,所述第一子Map、所述第二子Map、所述第三子Map及所述第四子Map呈m’行×n’列排布形成;所述第二子Map、所述第三子Map及所述第四子Map的尺寸均小于所述預(yù)設(shè)尺寸;所述子Map矩陣中,第1行至第m’-1行以及第1列至第n’-1列均分布所述第一子Map,第m’行的第1列至第n’-1列均分布所述第二子Map,第n’列的第1至第m’-1行均分布所述第三子Map;第m’行的第n’列分布第四子Map;若m’=ceil(H/h)>floor(H/h)且n’=ceil(W/w)>floor(W/w),所述第二子Map的尺寸為[H-h×floor(H/h)]×w,所述第三子Map的尺寸為h×[W-w×floor(W/w)],所述第四子Map的尺寸為[H-h×floor(H/h)]×[W-w×floor(W/w)],若m’=ceil(H/h)>floor(H/h)且n’=ceil(W/w)=floor(W/w),則只存在所述第一子Map和所述第二子Map,若m’=ceil(H/h)=floor(H/h)且n’=ceil(W/w)>floor(W/w),則只存在所述第一子Map和所述第三子Map。非均勻拆分的情況下,按照行元素是否可以均勻拆分以及列元素是否可以均勻拆分,可以分為三種情況:分別為:1、行元素和列元素都非均勻拆分;2、行元素非均勻拆分,列元素可均勻拆分;3、行元素均勻拆分,列元素非均勻拆分。此時(shí),視為對(duì)所述輸入Map進(jìn)行非均勻拆分。具體的,當(dāng)所述輸入Map的尺寸為330×250時(shí),由于330不能被64整除,250不能被48整除,判斷不能將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣,由于判斷結(jié)果是否,因此,將所述輸入Map進(jìn)行非均勻拆分。m’=ceil(H/h)為對(duì)實(shí)數(shù)H/h做向上取整操作,n’=ceil(W/w)為對(duì)實(shí)數(shù)W/w做向上取整操作,floor(H/h)為對(duì)實(shí)數(shù)H/h做向下取整操作,floor(W/w)為對(duì)實(shí)數(shù)W/w做向下取整操作。在本實(shí)施例中,m’=ceil(H/h)=ceil(330/64)=6,n’=ceil(W/w)=ceil(250/48)=6,因此,所述子Map矩陣為6×6矩陣。所述第一子Map的尺寸同上,為64×48;所述第二子Map的尺寸為[H-h×floor(H/h)]×w=10×48;所述第三子Map的尺寸為h×[W-w×floor(W/w)]=64×10;所述第四子Map的尺寸為[H-h×floor(H/h)]×[W-w×floor(W/w)]=10×10。此時(shí),所述子Map矩陣的第1行至第5行以及第1列至第5列均分布25個(gè)64×48的所述第一子Map,所述子Map矩陣的第6行中的第1列至第5列均分布5個(gè)64×10的所述第三子Map,所述子Map矩陣的第6列中的第1行至第5行均分布5個(gè)10×48的所述第二子Map,所述子Map矩陣的第6行中的第6列分布1個(gè)10×10的所述第四子Map。由于本實(shí)施例中,所述輸入Map拆分成了尺寸不同的四種子Map,因此,完成全部的子Map運(yùn)算需要四種計(jì)算模塊。當(dāng)只有H能被h整除,或者只有W能被w整除時(shí),此時(shí)存在三種類型的子Map,但拆分原理相同,仍屬于非均勻拆分,不再贅述。請(qǐng)參閱圖3,優(yōu)選地,所述將卷積神經(jīng)網(wǎng)絡(luò)的輸入Map拆分為包括若干個(gè)子Map的子Map矩陣之后,還包括:步驟S09,在所述卷積操作需要保持卷積操作前后的所述子Map尺寸不變時(shí),對(duì)位于所述子Map矩陣中第一行、最后一行、第一列和最后一列的所述子Map進(jìn)行補(bǔ)零操作。其中,補(bǔ)零的行數(shù)為(Hc-1)/2,補(bǔ)零的列數(shù)為(Hc-1)/2。補(bǔ)零操作可以為行元素補(bǔ)零或列元素補(bǔ)零,補(bǔ)零的行數(shù)為(Hc-1)/2,補(bǔ)零的列數(shù)為(Hc-1)/2,在本實(shí)施例中Hc=3,因此補(bǔ)零的行數(shù)和列數(shù)分別為1。為了便于介紹,此處以包含3行×3列個(gè)子Map的子Map矩陣為例進(jìn)行補(bǔ)零操作的詳細(xì)介紹,Ai,j表示第i行,第j列個(gè)子Map,其中,3≥i≥1,3≥j≥1。A1,1A1,2A1,3A2,1A2,2A2,3A3,1A3,2A3,3對(duì)輸入Map進(jìn)行補(bǔ)零操作,當(dāng)所述卷積核移動(dòng)到所述子Map矩陣的邊緣時(shí)會(huì)超出所述子Map矩陣的邊緣,此時(shí)卷積核的中心可以掃描到所述子Map矩陣的邊界像素點(diǎn),此時(shí),對(duì)所述輸入Map的邊緣位置進(jìn)行補(bǔ)零操作,以使所述卷積核能得到完整的所述子Map矩陣的掃描結(jié)果。在此子Map矩陣中,位于子Map矩陣邊緣的子Map為A1,1,A1,2,A1,3,A2,1,A3,1,A3,2,A2,3,A1,3,因此,需要進(jìn)行補(bǔ)零操作的為第一行、最后一行、第一列和最后一列的子Map,即A1,1,A1,2,A1,3,A2,1,A3,1,A3,2,A2,3,A1,3。對(duì)于A2,2,由于卷積核計(jì)算時(shí),卷積核的中心和邊緣能始終位于子Map矩陣,因此,不需要對(duì)A2,2進(jìn)行補(bǔ)零操作。同時(shí),補(bǔ)零操作具體為:對(duì)A1,1的第一行以上補(bǔ)充1行零,以及第一列左側(cè)補(bǔ)充1列零;對(duì)A1,2的第一行以上補(bǔ)充1列零;對(duì)A1,3的第一行以上補(bǔ)充1行零,以及最后一列右側(cè)補(bǔ)充1列零;對(duì)A2,1的第一列左側(cè)補(bǔ)充1列零;對(duì)A2,3的最后一列右側(cè)補(bǔ)充1列零;對(duì)A3,1的最后一列以下補(bǔ)充1列零,以及第一列左側(cè)補(bǔ)充1列零;對(duì)A3,2的最后一列以下補(bǔ)充1列零;對(duì)A3,3的最后一列以下補(bǔ)充1列零,以及最后一列右側(cè)補(bǔ)充1列零。優(yōu)選的,所述在所述卷積操作需要保持卷積操作前后的所述子Map尺寸不變時(shí),對(duì)位于所述子Map矩陣中第一行、最后一行、第一列和最后一列的所述子Map進(jìn)行補(bǔ)零操作之后,還包括:對(duì)每個(gè)所述子Map進(jìn)行補(bǔ)充相鄰元素操作,以使對(duì)每個(gè)所述子Map的卷積操作能覆蓋所述子Map當(dāng)中的每一個(gè)元素,其中,所述補(bǔ)充相鄰元素操作指將每個(gè)所述子Map的未補(bǔ)零的邊緣補(bǔ)充相鄰的子Map元素。以上述子Map矩陣Ai,j為例,若要使卷積操作前后的子Map矩陣尺寸不變,對(duì)每個(gè)子Map進(jìn)行單獨(dú)的卷積操作時(shí),需要能對(duì)子Map當(dāng)中的每一個(gè)元素進(jìn)行卷積計(jì)算,當(dāng)卷積核的中心位于子Map矩陣的邊緣時(shí),由于卷積核的邊緣超出了子Map的元素范圍,因此得到的卷積計(jì)算結(jié)果是不完整的,此時(shí),子Map的已經(jīng)進(jìn)行補(bǔ)零操作的邊緣可以克服卷積核的邊緣超出子Map邊緣的情況,只需要對(duì)子Map的未補(bǔ)零的邊緣進(jìn)行補(bǔ)充相鄰元素操作即可。補(bǔ)充相鄰元素中,補(bǔ)充的相鄰行元素為HC-1,補(bǔ)充的相鄰列元素為HC-1。補(bǔ)充相鄰元素的操作是為了保證相鄰子Map之間的卷積操作的結(jié)果是正確的,最終才能將每個(gè)所述子Map原位拼接成所述輸入Map。對(duì)位于子Map矩陣邊緣位置的子Map進(jìn)行補(bǔ)零操作和補(bǔ)充相鄰元素操作,以及對(duì)位于子Map矩陣非邊緣位置的子Map僅進(jìn)行補(bǔ)充相鄰元素操作后,得到的每個(gè)子Map矩陣的尺寸為(h+HC-1)×(w+HC-1)。在對(duì)每個(gè)子Map進(jìn)行卷積操作時(shí),卷積核只需掃描屬于每個(gè)子Map的元素,并不需要掃描其補(bǔ)零元素、補(bǔ)充的相鄰行元素和補(bǔ)充的相鄰列元素,補(bǔ)零元素、補(bǔ)充的相鄰行元素和補(bǔ)充的相鄰列元素只是為了保證對(duì)子Map的邊緣元素做卷積操作時(shí)能夠得到正確的計(jì)算結(jié)果,因?yàn)檫吘壴氐木矸e操作需要利用補(bǔ)零元素、補(bǔ)充的相鄰行元素或補(bǔ)充的相鄰列元素。應(yīng)當(dāng)注意,對(duì)所述輸入Map進(jìn)行均勻拆分或非均勻拆分兩種情況下,均需要借用相鄰子Map的行元素或列元素。此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化系統(tǒng),所述卷積神經(jīng)網(wǎng)絡(luò)包括圖像輸入層、多個(gè)卷積層、至少一個(gè)全連接層,并且,每?jī)蓚€(gè)所述卷積層中設(shè)置一激活層,或每?jī)蓚€(gè)所述卷積層中設(shè)置一所述激活層和一池化層。一般圖像處理的流程是先對(duì)每個(gè)所述子Map進(jìn)行卷積操作,再將卷積操作后的輸出結(jié)果輸入至激活層進(jìn)行激活操作。在存在所述池化層時(shí),激活操作的結(jié)果作為池化層的輸入。所述池化層可以有效節(jié)約處理器的計(jì)算資源和使得卷積神經(jīng)網(wǎng)絡(luò)保持平移不變性。參照?qǐng)D4,在一實(shí)施例中,本發(fā)明提供的卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化系統(tǒng)包括:拆分模塊10,用于將卷積神經(jīng)網(wǎng)絡(luò)的輸入Map拆分為包括若干個(gè)子Map的子Map矩陣,其中,所述輸入Map的尺寸為H×W,H>0,W>0;所述輸入Map的尺寸H×W是根據(jù)圖像分辨率、圖像需要反映的物理區(qū)域大小及計(jì)算資源的大小等因素預(yù)先確定的,因此,所述輸入Map的尺寸H×W是一個(gè)已知尺寸。通過(guò)卷積核對(duì)每個(gè)所述子Map進(jìn)行卷積操作,直至完成所述子Map矩陣的卷積操作,卷積操作時(shí),所述卷積核經(jīng)過(guò)所述子Map矩陣的邊緣,分為兩種情況:所述卷積核不超出所述子Map矩陣的邊緣或所述卷積核超出所述子Map矩陣的邊緣。子Map計(jì)算模塊30,用于對(duì)每個(gè)所述子Map進(jìn)行單獨(dú)的卷積操作以得到每個(gè)所述子Map的卷積操作的計(jì)算結(jié)果;計(jì)算結(jié)果合成模塊50,用于根據(jù)全部所述子Map的卷積操作的計(jì)算結(jié)果原位拼接成所述輸入Map的卷積操作的計(jì)算結(jié)果,其中,原位拼接指將所述子Map的卷積操作的結(jié)果放在所述子Map在所述輸入Map中對(duì)應(yīng)的位置。例如,將所述輸入Map拆分成5×5矩陣,得到25個(gè)子Map,對(duì)25個(gè)子Map進(jìn)行單獨(dú)的卷積操作以得到25個(gè)所述子Map的卷積操作的計(jì)算結(jié)果,因此,將25個(gè)所述子Map的卷積操作的結(jié)果進(jìn)行原位拼接即可得到H×W的所述輸入Map的計(jì)算結(jié)果。需要說(shuō)明:原位拼接是指,將子Map的卷積操作的結(jié)果放在子Map在輸入Map中對(duì)應(yīng)的位置。在本發(fā)明的技術(shù)方案中,先將所述卷積神經(jīng)網(wǎng)絡(luò)的輸入Map拆分為由若干個(gè)子Map構(gòu)成的子Map矩陣,再對(duì)每個(gè)所述子Map進(jìn)行單獨(dú)處理,得到每個(gè)所述子Map的計(jì)算結(jié)果,拆分后的每個(gè)所述子Map的計(jì)算量小,因此可以根據(jù)計(jì)算量最大的所述子Map來(lái)設(shè)計(jì)系統(tǒng)的計(jì)算模塊,同時(shí),由于每個(gè)所述子Map的計(jì)算量小,可以設(shè)計(jì)并行計(jì)算,提升計(jì)算效率,因此計(jì)算實(shí)時(shí)性好,最后將每個(gè)所述子Map的計(jì)算結(jié)果原位拼接即可合成所述輸入Map的計(jì)算結(jié)果,以實(shí)現(xiàn)節(jié)約計(jì)算資源和提高計(jì)算實(shí)時(shí)性的目的。優(yōu)選地,所述子Map計(jì)算模塊包括;卷積核,用于對(duì)每個(gè)所述子Map進(jìn)行單獨(dú)的卷積操作,所述卷積核的尺寸為HC×HC,HC>1。優(yōu)選地,所述拆分模塊還包括:判斷單元(圖未示),用于根據(jù)所述輸入Map的尺寸判斷是否能將所述輸入Map拆分為僅包含第一子Map的子Map矩陣,其中,所述第一子Map的尺寸為預(yù)設(shè)尺寸h×w,H>h>0,W>w>0,所述第一子Map在所述子Map矩陣中呈m行×n列分布,m=ceil(H/h)=floor(H/h),n=ceil(W/w)=floor(W/w);具體的,所述第一子Map的尺寸為預(yù)設(shè)尺寸h×w,所述預(yù)設(shè)尺寸是根據(jù)硬件資源情況和整個(gè)所述卷積神經(jīng)網(wǎng)絡(luò)的最小Map的情況設(shè)計(jì)得到,在對(duì)所述子Map矩陣進(jìn)行拆分時(shí),希望每個(gè)所述子Map都能被拆分為預(yù)設(shè)尺寸,以得到降低硬件資源的效果。在本實(shí)施例中,預(yù)設(shè)尺寸h×w為64×48,當(dāng)然,所述預(yù)設(shè)尺寸不限于此。根據(jù)所述輸入Map的尺寸判斷是否能將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣,是指判斷所述輸入Map的尺寸是否能均勻拆分為行數(shù)為m,列數(shù)為n的第一子Map的矩陣,即判斷H是否能被h整除,W是否能被w整除。均勻拆分單元(圖未示),用于在能將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣時(shí),將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣。此時(shí),視為對(duì)所述輸入Map進(jìn)行均勻拆分。例如,當(dāng)所述輸入Map的尺寸為320×240時(shí),由于320能被64整除,240能被48整除,因此,所述輸入Map能被均勻拆分為僅包含尺寸為64×48像素的所述第一子Map的所述子Map矩陣,且所述子Map矩陣的行數(shù)m=320/64=5,所述子Map矩陣的列數(shù)n=240/48=5,此時(shí)判斷能將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣。在本實(shí)施例中,所述卷積核的尺寸HC×HC為3×3,將320×240的所述輸入Map均勻拆分為5×5的所述子Map矩陣后,每個(gè)所述第一子Map的尺寸為64×48。對(duì)每個(gè)所述第一子Map進(jìn)行卷積操作,得到每個(gè)所述第一子Map的計(jì)算結(jié)果,得到每一個(gè)64×48的所述第一子Map的卷積操作的計(jì)算結(jié)果,然后將25個(gè)所述第一子Map的卷積操作的計(jì)算結(jié)果原位拼接起來(lái)得到320×240的所述輸入Map的卷積結(jié)果。將所述輸入Map均勻拆分時(shí),由于每個(gè)所述子Map的尺寸相等,因此,系統(tǒng)只需要一套計(jì)算模塊即可完成所述輸入Map的計(jì)算過(guò)程,節(jié)約計(jì)算資源的效果顯著。優(yōu)選地,所述拆分模塊還包括:非均勻拆分單元(圖未示),用于在不能將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣時(shí),將所述輸入Map拆分為包括所述第一子Map、第二子Map、第三子Map及第四子Map的子Map矩陣;其中,所述第一子Map、所述第二子Map、所述第三子Map及所述第四子Map呈m’行×n’列排布形成;所述第二子Map、所述第三子Map及所述第四子Map的尺寸均小于所述預(yù)設(shè)尺寸;所述子Map矩陣中,第1行至第m’-1行以及第1列至第n’-1列均分布所述第一子Map,第m’行的第1列至第n’-1列均分布所述第二子Map,第n’列的第1至第m’-1行均分布所述第三子Map;第m’行的第n’列分布第四子Map;若m’=ceil(H/h)>floor(H/h)且n’=ceil(W/w)>floor(W/w),所述第二子Map的尺寸為[H-h×floor(H/h)]×w,所述第三子Map的尺寸為h×[W-w×floor(W/w)],所述第四子Map的尺寸為[H-h×floor(H/h)]×[W-w×floor(W/w)],若m’=ceil(H/h)>floor(H/h)且n’=ceil(W/w)=floor(W/w),則只存在所述第一子Map和所述第二子Map,若m’=ceil(H/h)=floor(H/h)且n’=ceil(W/w)>floor(W/w),則只存在所述第一子Map和所述第三子Map。非均勻拆分的情況下,按照行元素是否可以均勻拆分以及列元素是否可以均勻拆分,可以分為三種情況:分別為:1、行元素和列元素都非均勻拆分;2、行元素非均勻拆分,列元素可均勻拆分;3、行元素均勻拆分,列元素非均勻拆分。此時(shí),視為對(duì)所述輸入Map進(jìn)行非均勻拆分。具體的,當(dāng)所述輸入Map的尺寸為330×250時(shí),由于330不能被64整除,250不能被48整除,判斷不能將所述輸入Map拆分為僅包含所述第一子Map的子Map矩陣,由于判斷結(jié)果是否,因此,將所述輸入Map進(jìn)行非均勻拆分。m’=ceil(H/h)為對(duì)實(shí)數(shù)H/h做向上取整操作,n’=ceil(W/w)為對(duì)實(shí)數(shù)W/w做向上取整操作,floor(H/h)為對(duì)實(shí)數(shù)H/h做向下取整操作,floor(W/w)為對(duì)實(shí)數(shù)W/w做向下取整操作。在本實(shí)施例中,m’=ceil(H/h)=ceil(330/64)=6,n’=ceil(W/w)=ceil(250/48)=6,因此,所述子Map矩陣為6×6矩陣。所述第一子Map的尺寸同上,為64×48;所述第二子Map的尺寸為[H-h×floor(H/h)]×w=10×48;所述第三子Map的尺寸為h×[W-w×floor(W/w)]=64×10;所述第四子Map的尺寸為[H-h×floor(H/h)]×[W-w×floor(W/w)]=10×10。此時(shí),所述子Map矩陣的第1行至第5行以及第1列至第5列均分布25個(gè)64×48的所述第一子Map,所述子Map矩陣的第6行中的第1列至第5列均分布5個(gè)64×10的所述第三子Map,所述子Map矩陣的第6列中的第1行至第5行均分布5個(gè)10×48的所述第二子Map,所述子Map矩陣的第6行中的第6列分布1個(gè)10×10的所述第四子Map。由于本實(shí)施例中,所述輸入Map拆分成了尺寸不同的四種子Map,因此,完成全部的子Map運(yùn)算需要四種計(jì)算模塊。當(dāng)只有H能被h整除,或者只有W能被w整除時(shí),此時(shí)存在三種類型的子Map,但拆分原理相同,仍屬于非均勻拆分,不再贅述。優(yōu)選地,所述卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化系統(tǒng)還包括:補(bǔ)零操作模塊(圖未示),用于在所述卷積操作需要保持卷積操作前后的所述子Map尺寸不變時(shí),對(duì)位于所述子Map矩陣中第一行、最后一行、第一列和最后一列的所述子Map進(jìn)行補(bǔ)零操作。其中,補(bǔ)零的行數(shù)為(Hc-1)/2,補(bǔ)零的列數(shù)為(Hc-1)/2。補(bǔ)零操作可以為行元素補(bǔ)零或列元素補(bǔ)零,補(bǔ)零的行數(shù)為(Hc-1)/2,補(bǔ)零的列數(shù)為(Hc-1)/2,在本實(shí)施例中Hc=3,因此補(bǔ)零的行數(shù)和列數(shù)分別為1。為了便于介紹,此處以包含3行×3列個(gè)子Map的子Map矩陣為例進(jìn)行補(bǔ)零操作的詳細(xì)介紹,Ai,j表示第i行,第j列個(gè)子Map,其中,3≥i≥1,3≥j≥1。A1,1A1,2A1,3A2,1A2,2A2,3A3,1A3,2A3,3對(duì)輸入Map進(jìn)行補(bǔ)零操作,當(dāng)所述所述卷積核移動(dòng)到所述子Map矩陣的邊緣時(shí)會(huì)超出所述子Map矩陣的邊緣,此時(shí)卷積核的中心可以掃描到所述子Map矩陣的邊界像素點(diǎn),此時(shí),對(duì)所述輸入Map的邊緣位置進(jìn)行補(bǔ)零操作,以使所述卷積核能得到完整的所述子Map矩陣的掃描結(jié)果。在此子Map矩陣中,位于子Map矩陣邊緣的子Map為A1,1,A1,2,A1,3,A2,1,A3,1,A3,2,A2,3,A1,3,因此,需要進(jìn)行補(bǔ)零操作的為第一行、最后一行、第一列和最后一列的子Map,即A1,1,A1,2,A1,3,A2,1,A3,1,A3,2,A2,3,A1,3。對(duì)于A2,2,由于卷積核計(jì)算時(shí),卷積核的中心和邊緣始終能位于子Map矩陣,因此,不需要對(duì)A2,2進(jìn)行補(bǔ)零操作。同時(shí),補(bǔ)零操作具體為:對(duì)A1,1的第一行以上補(bǔ)充1行零,以及第一列左側(cè)補(bǔ)充1列零;對(duì)A1,2的第一行以上補(bǔ)充1列零;對(duì)A1,3的第一行以上補(bǔ)充1行零,以及最后一列右側(cè)補(bǔ)充1列零;對(duì)A2,1的第一列左側(cè)補(bǔ)充1列零;對(duì)A2,3的最后一列右側(cè)補(bǔ)充1列零;對(duì)A3,1的最后一列以下補(bǔ)充1列零,以及第一列左側(cè)補(bǔ)充1列零;對(duì)A3,2的最后一列以下補(bǔ)充1列零;對(duì)A3,3的最后一列以下補(bǔ)充1列零,以及最后一列右側(cè)補(bǔ)充1列零。優(yōu)選地,所述卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算資源優(yōu)化系統(tǒng)還包括:補(bǔ)充相鄰元素模塊,用于對(duì)每個(gè)所述子Map進(jìn)行補(bǔ)充相鄰元素操作,以使對(duì)每個(gè)所述子Map的卷積操作能覆蓋所述子Map當(dāng)中的每一個(gè)元素,其中,所述補(bǔ)充相鄰元素操作指將每個(gè)所述子Map的未補(bǔ)零的邊緣補(bǔ)充相鄰的子Map元素。以上述子Map矩陣Ai,j為例,若要使卷積操作前后的子Map矩陣尺寸不變,對(duì)每個(gè)子Map進(jìn)行單獨(dú)的卷積操作時(shí),需要能對(duì)子Map當(dāng)中的每一個(gè)元素進(jìn)行卷積計(jì)算,當(dāng)卷積核的中心位于子Map矩陣的邊緣時(shí),由于卷積核的邊緣超出了子Map的元素范圍,因此得到的卷積計(jì)算結(jié)果是不完整的,此時(shí),子Map的已經(jīng)進(jìn)行補(bǔ)零操作的邊緣可以克服卷積核的邊緣超出子Map邊緣的情況,只需要對(duì)子Map的未補(bǔ)零的邊緣進(jìn)行補(bǔ)充相鄰元素操作即可。每個(gè)子Map補(bǔ)充的相鄰行元素為HC-1,補(bǔ)充的相鄰列元素為HC-1。補(bǔ)充相鄰元素的操作是為了保證相鄰子Map之間的卷積操作的結(jié)果是正確的,最終才能將每個(gè)所述子Map原位拼接成所述輸入Map。對(duì)位于子Map矩陣邊緣位置的子Map進(jìn)行補(bǔ)零操作和補(bǔ)充相鄰元素操作,以及對(duì)位于子Map矩陣非邊緣位置的子Map進(jìn)行補(bǔ)充相鄰元素操作,得到的每個(gè)子Map矩陣的尺寸為(h+HC-1)×(w+HC-1)。在對(duì)每個(gè)子Map進(jìn)行卷積操作時(shí),重疊元素共同組成第一'子Map卷積核只需掃描屬于每個(gè)子Map的元素,并不需要掃描其補(bǔ)零元素、補(bǔ)充的相鄰行元素和補(bǔ)充的相鄰列元素,補(bǔ)零元素、補(bǔ)充的相鄰行元素和補(bǔ)充的相鄰列元素只是為了保證對(duì)子Map的邊緣元素做卷積操作時(shí)能夠得到正確的計(jì)算結(jié)果,因?yàn)檫吘壴氐木矸e操作需要利用補(bǔ)零元素、補(bǔ)充的相鄰行元素或補(bǔ)充的相鄰列元素。應(yīng)當(dāng)注意,對(duì)所述輸入Map進(jìn)行均勻拆分或非均勻拆分兩種情況下,均需要借用相鄰子Map的行元素或列元素。對(duì)于如何根據(jù)子Map的卷積計(jì)算結(jié)果合成輸入Map的卷積計(jì)算結(jié)果,請(qǐng)參考如下實(shí)施例:原始彩色圖像12×12(H×W)的RGB三通道圖像:R通道圖像為:117193172501861268696169122482082061151318116764720025218616963195272387737131041310111520213424149569116441148971221281972237165866415624925116122787115283824425208242282081251221293451352492091521564125319356218110792081425918359692211281882361951015011916040213474154132602062615211419135107173692546216247135118913723217323423924616019881105185103561952711317132215173041G通道圖像為:1791932311177822418273150174109185371841251124223045138196225911618922623275216244100156192152184578910448195113226128156775796820414937217191157661761071021279214217922216718879141477114722775216653924410313610921814119291361738250185103204471162204022822014840103207168521723423212142130183170116241402149383212631171283240170262101121212321691291039622713617519624110515622918329122B通道圖像為:對(duì)應(yīng)的灰度圖像為:1531851461431071731418516212014417388621621231333617386180179194971578620715973131191651371591511631107298601868519712513110211213741157125571921891709118611311988811681172091171891361336597113162932101148419897160134153154165839967682071391021899312622384175145130888813221921912033219193128151113124731351591476621311278321121971888719314216821216112599138182991671301851321062061195087卷積核3×3,Hc=3:-0.141381900.093055700.02294120-0.148683300.14467020-0.010203100.01026590-0.12336460-0.16269930直接對(duì)輸入Map(灰度圖像)進(jìn)行卷積過(guò)程如下:1、進(jìn)行補(bǔ)零:000000000000000153185146143107173141851621201441730088621621231333617386180179194970015786207159731311916513715915116300110729860186851971251311021121370041157125571921891709118611311988008116811720911718913613365971131620093210114841989716013415315416583009967682071391021899312622384175001451308888132219219120332191930012815111312473135159147662131127800321121971888719314216821216112599001381829916713018513210620611950870000000000000002、進(jìn)行卷積操作:例如:卷積操作中左上角第一個(gè)“像素”為-1,其計(jì)算過(guò)程為:0×(-0.1413819)+0×0.0930557+0×0.0229412×0×(-0.1486833)+153×0.1446702+185×(-0.0102031)+0×0.0102659+88×(-0.1233646)+62×(-0.1626993)=-0.6964734,取整后為-1,可以不取整。其他“像素”值類似,即卷積核在補(bǔ)零后的輸入Map上以步長(zhǎng)為1進(jìn)行滑動(dòng),并做卷積計(jì)算。補(bǔ)零操作的主要目的是保持卷積操作后的結(jié)果與輸入Map尺寸相同,便于處理,卷積層的卷積操作也可以不補(bǔ)零,但卷積操作的輸出結(jié)果的尺寸會(huì)變小。直接對(duì)輸入Map進(jìn)行卷積操作,需要較多的硬件資源才能實(shí)現(xiàn),為了在只用較少,或只有較少資源時(shí)實(shí)現(xiàn)大的Map的卷積操作,可以對(duì)輸入Map進(jìn)行拆分,對(duì)拆分后的子Map做卷積操作,然后合成輸入Map的卷積操作的結(jié)果。將輸入Map拆分成多個(gè)子Map,子Map大小為6×6(即h×w),則m=H/h=2,n=W/w=2,即均勻拆分為4個(gè)子Map;第1個(gè)子Map:153185146143107173886216212313336157862071597313111072986018685411571255719218981168117209117189第2個(gè)子Map:第3個(gè)子Map:93210114841989799676820713910214513088881322112815111312473135321121971888719313818299167130185第4個(gè)子Map:1601341531541658318993126223841759219120332191931591476621311278142168212161125991321062061195087對(duì)每個(gè)子Map進(jìn)行補(bǔ)零和補(bǔ)充相鄰元素后,進(jìn)行卷積操作,補(bǔ)零是為了保持卷積操作的計(jì)算結(jié)果與子Map的尺寸相同,此外,補(bǔ)充相鄰元素則是為了保證子Map邊緣元素的卷積操作的計(jì)算結(jié)果正確,從而能夠合成輸入Map的計(jì)算結(jié)果。相鄰數(shù)據(jù)的列數(shù)和行數(shù)等于Hc-1=2;第1個(gè)子Map補(bǔ)零和補(bǔ)充相鄰元素后:000000000153185146143107173141088621621231333617301578620715973131191011072986018685197041157125571921891700811681172091171891360932101148419897160第2個(gè)子Map補(bǔ)零和補(bǔ)充相鄰元素后:第3個(gè)子Map補(bǔ)零和補(bǔ)充相鄰元素后:081168117209117189136093210114841989716009967682071391021890145130888813221920128151113124731351590321121971888719314201381829916713018513200000000第4個(gè)子Map補(bǔ)零和補(bǔ)充相鄰元素后:189136133659711316209716013415315416583010218993126223841750219219120332191930135159147662131127801931421682121611259901851321062061195087000000000第1個(gè)子Map與第2個(gè)子Map之間的列相鄰元素=2,相鄰數(shù)據(jù)為:00173141361731311918519718917018913697160第1個(gè)子Map與第3個(gè)子Map之間的行相鄰元素=2,相鄰數(shù)據(jù)為:0811681172091171891360932101148419897160對(duì)第1個(gè)子Map運(yùn)用同一個(gè)卷積核做卷積操作,計(jì)算結(jié)果為:-1-31-47-37-29-24-3-50-47-42-34-596-404-54-55-461-56-9-45-29-60-21-30-52-37-15-61-28-21-45-38-41-33可見(jiàn),這與直接在輸入Map上做卷積運(yùn)算的結(jié)果是一致的,將4個(gè)子Map的卷積操作的結(jié)果按照子Map在輸入Map上的位置合并,即可得到輸入Map的卷積操作的計(jì)算結(jié)果。非均勻拆分與均勻拆分的原理相同,只是子Map的尺寸不完全一致。以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的
技術(shù)領(lǐng)域
,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。當(dāng)前第1頁(yè)1 2 3 
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1