999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

智慧圖書館用戶畫像圖像處理算法模型設(shè)計與實(shí)現(xiàn)

2024-02-27 12:17:12杜文龍朱博文柴源
電子設(shè)計工程 2024年3期
關(guān)鍵詞:模型設(shè)計

杜文龍,朱博文,柴源

(1.西安航空學(xué)院 圖書館,陜西 西安 710077;2.西安遇賢微電子有限公司,陜西 西安 710000)

隨著大數(shù)據(jù)、人工智能、云計算和物聯(lián)網(wǎng)等數(shù)字技術(shù)在圖書館智慧化轉(zhuǎn)型過程中的應(yīng)用,圖像數(shù)據(jù)的價值逐漸凸顯[1]。智慧圖書館運(yùn)用物聯(lián)網(wǎng)技術(shù)可以感知、識別傳感網(wǎng)絡(luò)中的空間、環(huán)境、物品和人物的畫像或圖像[2]。但如何對獲取的圖像數(shù)據(jù)進(jìn)行計算和處理成為智慧圖書館實(shí)踐者面臨的困難,雖已出現(xiàn)圖像變換、圖像分割和邊緣處理等圖像預(yù)處理算法和檢測算法,但是缺乏對圖像內(nèi)容特征的增強(qiáng)識別處理算法。該文設(shè)計出用以圖書館用戶畫像圖像處理的算法模型,為深度揭示分析用戶圖像的表情特征、情緒變化和興趣愛好規(guī)律提供算法基礎(chǔ)。

1 畫像圖像處理算法模型設(shè)計

該文設(shè)計的算法模型采用點(diǎn)操作類型,點(diǎn)操作算法指的是對圖像的每個像素都進(jìn)行相同的點(diǎn)操作。點(diǎn)操作算法模型的計算需求為圖像像素數(shù)據(jù)流的輸入,點(diǎn)操作圖像處理的運(yùn)算內(nèi)容為關(guān)系判斷、算術(shù)操作、邏輯操作等[3]。適用于點(diǎn)操作類型算法模型的底層算法為灰度變換算法,可以實(shí)現(xiàn)圖像在空間域中的增強(qiáng)處理效果。

點(diǎn)運(yùn)算為點(diǎn)操作型算法模型圖像處理的關(guān)鍵處理技術(shù),其核心操作算子是灰度變換函數(shù)[4]。點(diǎn)運(yùn)算是輸出像元由對應(yīng)輸入像元的灰度值決定的運(yùn)算方法,算法是灰度變換。灰度變換函數(shù)包含線性變換、分段線性變換、反比運(yùn)算、冪次變換、對數(shù)變換等。灰度變換函數(shù)均需滿足圖像像素流水輸入的格式要求,灰度變換系列函數(shù)的區(qū)別之處在于每個函數(shù)可能采用不同的計算單元,如乘法、加法、反比和對數(shù),采用算法轉(zhuǎn)換、近似計算等計算技術(shù)進(jìn)行映射。

點(diǎn)操作型圖像處理的核心算子為四則運(yùn)算、正余弦函數(shù)、灰度變換函數(shù)等數(shù)學(xué)關(guān)系公式[5]。因此,可以通過使用等效轉(zhuǎn)換、近似計算、增量更新、查找表、浮點(diǎn)計算等硬件技術(shù)轉(zhuǎn)換算法來映射實(shí)現(xiàn),從而完成點(diǎn)操作型算法模型核心算子IP 的設(shè)計與實(shí)現(xiàn)。

該文設(shè)計的圖像處理點(diǎn)操作型算法模型如圖1所示,圖像數(shù)據(jù)從輸入通道流水輸入,經(jīng)過所需求的計算單元后流水輸出,算法模型架構(gòu)簡潔。算法模型中僅計算單元需要占用較多的內(nèi)存資源、硬件資源和緩存空間,模型中其他組成部分所占的計算資源、硬件資源和緩存空間資源極少。模型中圖像處理的流程為:將用戶畫像圖像的每個像素值加上一個固定值后得到一幅新圖像,設(shè)計的計算單元本身就是一個加法器,加法器的一個加數(shù)是流水輸入的像素值,另一個加數(shù)是設(shè)定的固定值,加法的和就是流水的輸出值。

圖1 畫像圖像處理算法模型

2 圖像算法模型IP設(shè)計與技術(shù)實(shí)現(xiàn)

該文設(shè)計的畫像圖像處理算法模型為點(diǎn)操作類型的處理邏輯。在智慧圖書館的物聯(lián)網(wǎng)空間中,傳感可視系統(tǒng)采集到的用戶畫像、用戶圖像數(shù)據(jù)具有實(shí)時化、多變化和動態(tài)化特征,因此對圖像處理算法模型的計算效率和增強(qiáng)加速具有較高的技術(shù)要求。在圖1 中,核心算子的實(shí)現(xiàn)主要依賴于算法轉(zhuǎn)換、近似計算、增量更新、查找表和浮點(diǎn)計算等計算單元的加速設(shè)計處理,完成計算單元的加速設(shè)計處理之后,點(diǎn)操作模型核心算子的簡單圖像像素流水?dāng)?shù)據(jù)就能實(shí)時得到圖像流水像素結(jié)果輸出,通過以上設(shè)計和加速處理可以實(shí)現(xiàn)點(diǎn)操作類核心算子的IP 過程。

2.1 算法轉(zhuǎn)換

2.1.1 定常數(shù)轉(zhuǎn)換

在乘除法運(yùn)算中,如遇到乘數(shù)、被乘數(shù)或分子與分母是常數(shù)的情況,可以直接調(diào)用乘法器或除法器解決這個問題[6],但是會消耗一定的DSP運(yùn)算單元,而DSP 單元往往是FPGA 里面比較少的資源。對于定常數(shù),可以通過一定的轉(zhuǎn)換方法將其轉(zhuǎn)換為移位和加法運(yùn)算,從而減少乘法器和除法器的使用。對于乘法dout=din×255 轉(zhuǎn)換為dout=din×(256-1)=(din?8)-din,對于乘法例子dout=din×123 轉(zhuǎn)換為dout=din×(64+32+16+8+2+1)=din×(26+25+24+23+22+21+20),對于除法例子dout=din/25 轉(zhuǎn)換為=din×40.96×2-10?din×(25+23+2-1+2-2+2-3+2-4+2-6+2-7)×2-10;對于小數(shù)的處理則需要先將其轉(zhuǎn)換為整形進(jìn)行處理。擴(kuò)展的位寬也決定了最終計算的精度,這個位寬越大,精度越高,但是也會消耗相對多一點(diǎn)的資源,實(shí)際應(yīng)用中根據(jù)精度需求進(jìn)行選擇[2]。

2.1.2 不等式等效轉(zhuǎn)換

不等式等效轉(zhuǎn)換是利用不等式,將復(fù)雜的算法轉(zhuǎn)換為較為簡單的等效不等式[7]。這對去除根號和除法等FPGA 難以處理的算法十分有用。對于開根號不等式例子轉(zhuǎn)換為a2≥b,轉(zhuǎn)換后,將開根號轉(zhuǎn)換成乘法運(yùn)算,直接調(diào)用FPGA 內(nèi)部的乘法器即可實(shí)現(xiàn);對于除法不等式例子(b>0,d>0) 轉(zhuǎn)換為a×d>b×c。觸發(fā)器是FPGA 里面比較昂貴的資源,上述轉(zhuǎn)換將其化為乘法運(yùn)算,減少了不等式計算對于觸發(fā)器的消耗[8]。

2.2 近似計算

直接計算函數(shù)的一種替代方法是在感興趣的作用域內(nèi),用另外一個較為簡單的能得到相似結(jié)果的函數(shù)進(jìn)行近似[9]。與算法轉(zhuǎn)換不同的是,算法轉(zhuǎn)換不會帶來任何原理的誤差,而近似則會帶來一定的計算誤差。通常情況下,在誤差允許的范圍內(nèi),采用近似計算帶來的明顯優(yōu)勢是計算復(fù)雜度的降低及資源消耗的降低[10]。

2.2.1 截斷

用位數(shù)較少的近似值來代替位數(shù)較多或無限位數(shù)時,要有一定的取舍法則。在數(shù)值計算中,為了適應(yīng)各種不同的情況,須采用不同的截取方法。經(jīng)常使用的截斷方法就是四舍五入。四舍五入通常應(yīng)用在需要對中間輸出結(jié)果進(jìn)行截斷時,一般情況下,會在前面的計算步驟中預(yù)留一定的計算精度。四舍五入的基本原則:若舍去部分小于保留部分最后一位的一個單位的二分之一時,則采用去尾法處理,使所保留的數(shù)不變。實(shí)際上FPGA 主要處理二進(jìn)制數(shù)據(jù)。因此,在小數(shù)位的第一位的值是0還是1 決定了是否對結(jié)果進(jìn)行進(jìn)位。四舍五入的簡單例子如:

式中,?泛指小數(shù)位,DW的1~4 為整數(shù)位,3~0 為小數(shù)位。

2.2.2 泰勒近似

如果函數(shù)曲線足夠平滑,在已知函數(shù)在某一點(diǎn)的各階導(dǎo)數(shù)值的情況下,那么泰勒公式可以用這些導(dǎo)數(shù)值作為系數(shù)構(gòu)建一個多項式來近似函數(shù)在這一點(diǎn)的鄰域中的值[11],泰勒公式也給出了這個多項式和實(shí)際的函數(shù)值之間的偏差。泰勒公式定義如下:對于正整數(shù)n,若函數(shù)f(x)在閉區(qū)間[a,b]上n階連續(xù)可導(dǎo),且在(a,b)上n+1 階可導(dǎo)。任取x∈[a,b],它是一定點(diǎn),則對任意x∈[a,b]成立下式:

式中,f n(a)表示f(a)的n階導(dǎo)數(shù);Rn(x)表示泰勒公式的余項。

當(dāng)高階項的數(shù)量級相對于低階較小時,可以把高階項去掉作為函數(shù)的近似。泰勒近似也稱為多項式逼近。使用泰勒公式展開的一個要點(diǎn)是如何選取截斷階數(shù)。這往往是由事先規(guī)定的計算誤差決定的。以下用一個泰勒展開進(jìn)行近似計算實(shí)例:對除以3 的運(yùn)算用泰勒近似進(jìn)行計算,即,若要求計算誤差不大于10-4,則取前5 階段即可達(dá)到要求,展開如下:,則其計算誤差為

2.2.3 浮點(diǎn)轉(zhuǎn)換

如果不采用擁有內(nèi)部浮點(diǎn)硬核的FPGA,那么用FPGA 作為浮點(diǎn)運(yùn)算的計算成本較高,因為這會消耗巨大的邏輯資源。在計算精度能滿足一定要求的情況下,通常會選擇將浮點(diǎn)運(yùn)算轉(zhuǎn)換成定點(diǎn)運(yùn)算。

2.3 增量更新

增量更新是指在進(jìn)行操作時,只更新需要改變的地方,已更新或者無需更新的增強(qiáng)則被忽略,增量更新與完全更新為處理邏輯不同的相對關(guān)系。增量更新在流水線處理中特別是二維卷積處理中作用明顯。這是由于在兩個連續(xù)的卷積窗口中存在大量的相同元素,如圖2 所示,假定要計算連續(xù)5 個數(shù)據(jù)流的和值,在上一個時刻,5 個待計算的數(shù)值是a1′、a1、a2、a3、a4,在該時刻,這5 個待計算的數(shù)值是a1、a2、a3、a4、a5,中間4 個計算值均為恒定值,此時如調(diào)用4 個加法器進(jìn)行5 個數(shù)的加法存在浪費(fèi)內(nèi)存資源的問題。正確的做法為取上一個時刻的計算和值加上首尾的差值。這種增量更新的方法對于較大尺寸的計算帶來的優(yōu)勢更加明顯。

圖2 增量更新示意

2.4 查找表

2.4.1 查找表的定義

在計算機(jī)科學(xué)中,查找表為用簡單的查詢操作替換運(yùn)行時計算的數(shù)組或者associate array 的數(shù)據(jù)結(jié)構(gòu)。相較于復(fù)雜的計算過程,從內(nèi)存中提取數(shù)值計算速度更快、速度提升效果更加顯著。

2.4.2 查找表的構(gòu)建

使用查找表的首要問題就是輸入表的構(gòu)建。輸入表的構(gòu)建需要首先得到輸入函數(shù)的有效定義域,其次是將輸入的定義域進(jìn)行等分。這時需考慮等分步長,須在計算精度和表的大小之間做出最佳權(quán)衡。通常情況下,待求函數(shù)通常通過實(shí)數(shù)表示,首先將其轉(zhuǎn)化為整形,這個過程也會帶來一定的舍入誤差。

雖然查找表在精度方面很有效,但隨著輸入寬度的增加,表的尺寸呈指數(shù)倍增長,實(shí)用的查找表尺寸需要減小輸入的精度。一個簡單的方法是通過刪除最低位來實(shí)現(xiàn),沒有必要對輸入進(jìn)行舍入,因為表的內(nèi)容可以根據(jù)作用域中函數(shù)的適當(dāng)值設(shè)置來獲得最好的結(jié)果。另一個減小輸入尺寸的方式是考慮對稱性,例如對于對稱的正余弦函數(shù),對于有效定義域0~2π,只要考慮第一象限范圍[0~],在輸入進(jìn)行查找表之前首先進(jìn)行象限判斷,并保存其象限信息,同時將其轉(zhuǎn)換到第一象限,查表后根據(jù)象限信息恢復(fù)實(shí)際計算值,這樣就將查找表的輸入范圍減小到原來的四分之一[12]。

2.5 浮點(diǎn)計算

在映射為FPGA 邏輯時,如果把浮點(diǎn)運(yùn)算轉(zhuǎn)換為定點(diǎn)運(yùn)算將提升計算工作量[13]。在某些應(yīng)用中,定點(diǎn)算法是不可行的,要求使用浮點(diǎn)算法的一個常見的例子是矩陣求逆運(yùn)算[14]。下面將闡述如何實(shí)現(xiàn)浮點(diǎn)運(yùn)算以減少移植的工作量。

2.5.1 IEEE754標(biāo)準(zhǔn)

浮點(diǎn)數(shù)(float)是屬于有理數(shù)中某特定子集的數(shù)的數(shù)字表示,在計算機(jī)中用以近似表示任意某個實(shí)數(shù)。具體來說,這個實(shí)數(shù)由一個整數(shù)或定點(diǎn)數(shù)(即尾數(shù))乘以某個基數(shù)(計算機(jī)中通常是2)的整數(shù)次冪得到,如圖3 所示,這種表示方法類似于基數(shù)為10 的科學(xué)計數(shù)法。

圖3 浮點(diǎn)數(shù)組織結(jié)構(gòu)

IEEE754 規(guī)定了4 種表示浮點(diǎn)數(shù)值的方式:單精確度(32 位)、雙精確度(64 位)、延伸單精確度(43 比特以上,很少使用)與延伸雙精確度(79 比特以上,通常以80 位實(shí)現(xiàn))。只有32 位模式有強(qiáng)制要求,其他都是選擇性的。

2.5.2 用FPGA實(shí)現(xiàn)浮點(diǎn)運(yùn)算

FPGA 實(shí)現(xiàn)圖像處理計算時,可根據(jù)計算精度的需求調(diào)整尾數(shù)和指數(shù)的大小,減少對硬件的需求[15]。計算結(jié)果與基于IEEE 標(biāo)準(zhǔn)在軟件中執(zhí)行同樣算法存在差異性。與定點(diǎn)數(shù)相同,這需要對近似誤差進(jìn)行仔細(xì)的分析,確保結(jié)果是有意義的。

對于浮點(diǎn)數(shù)來說,乘法和除法是相對比較簡單的操作。對于乘法運(yùn)算,位數(shù)相乘及指數(shù)相加,若位數(shù)結(jié)果大于2,則需要重新規(guī)范化,將其右移一位并且增加指數(shù)。由于乘積的位數(shù)可能會比表示位多,因此,需要進(jìn)行舍位處理。兩個指數(shù)的和包括兩個偏移量,因此必須減掉一個。輸出值的符號位是輸入符號位的異或。需要附加的邏輯來檢測下溢出、上移除及處理其他的錯誤情況,如處理無窮大和非數(shù)。除法與乘法類似,只是尾數(shù)相除,指數(shù)相減并且在重新規(guī)范化時可能包含左移。

加法和減法的實(shí)現(xiàn)更加復(fù)雜。與原碼表示相同,實(shí)際操作的執(zhí)行取決于輸入的符號。指數(shù)須相同,數(shù)須對齊。根據(jù)指數(shù)位的差值,將較小的指數(shù)右移相應(yīng)的位數(shù)。在FPGA 上實(shí)現(xiàn)時,一個這樣的移位或者較慢(用一些較小的移位器實(shí)現(xiàn))或者價格比較昂貴(用許多寬的多路復(fù)用器實(shí)現(xiàn))。有必要為移位的數(shù)保留一個額外的位來減少操作引起的誤差。然后根據(jù)操作對尾數(shù)進(jìn)行加法或減法運(yùn)算并對齊進(jìn)行重新規(guī)范化。如兩個非常相近的數(shù)相減,許多高有效位可能會消失,因此需要確定最左邊的1 的位置,將其移動到最高位來重新規(guī)范化,并對指數(shù)進(jìn)行相應(yīng)的調(diào)整。

2.5.3 Altera的浮點(diǎn)IP核

Altera 增加的硬核浮點(diǎn)為DSP 模塊提供了IEEE754 單精度浮點(diǎn)乘法器及加法器,可實(shí)現(xiàn)單精度的乘法、乘加、乘減、累加、支持浮點(diǎn)矢量運(yùn)算、卷積、點(diǎn)乘和其他線性算術(shù)函數(shù),以及使用快速傅里葉變換的復(fù)數(shù)乘法等。硬浮點(diǎn)模塊的出現(xiàn)大幅降低浮點(diǎn)運(yùn)算的資源消耗,可減輕設(shè)計人員對復(fù)雜耗時算法的轉(zhuǎn)換工作量。浮點(diǎn)IP 內(nèi)核包括加減乘除運(yùn)算、倒數(shù)、指數(shù)、三角函數(shù)、平方根與逆平方根、矩陣乘法與求逆、快速傅里葉變換、定點(diǎn)與浮點(diǎn)轉(zhuǎn)換等。可例化幾個浮點(diǎn)IP 核sin、cos、sqrt、exp,調(diào)用的IP 核是 ALTFP_CONVERT、ALTFP_SINCOS、ALTFP_SQRT、ALTFP_EXP。

浮點(diǎn)運(yùn)算需消耗過多的邏輯資源,可根據(jù)實(shí)際情況靈活選用浮點(diǎn)運(yùn)算或定點(diǎn)計算[16]。余弦函數(shù)相較于正弦函數(shù),消耗的計算資源較少,如使用浮點(diǎn)三角運(yùn)算,可將正弦函數(shù)轉(zhuǎn)換成余弦函數(shù)后執(zhí)行計算過程,如此可以節(jié)約一定的硬件資源和計算資源。

3 結(jié)束語

語音智能識別、自然語言處理、面部情感識別和圖像處理儼然已經(jīng)成為智慧圖書館領(lǐng)域的研究前沿。感知、挖掘、計算和處理智慧圖書館物聯(lián)網(wǎng)感知系統(tǒng)中的用戶畫像圖像數(shù)據(jù)具有現(xiàn)實(shí)意義,如運(yùn)用圖像處理算法計算用戶的動態(tài)性面部表情圖像數(shù)據(jù),得出用戶身體心理狀態(tài)和情感狀態(tài)分析結(jié)論,為圖書館的安全應(yīng)急管理和用戶管理提供技術(shù)手段和決策數(shù)據(jù)支撐。該文設(shè)計的圖像處理算法充分考慮映射加速和誤差精度控制,以滿足感知系統(tǒng)中對圖像處理的靈活性、實(shí)時性的技術(shù)要求。提高圖像處理算法精確度和運(yùn)行速度的理想方案為設(shè)計與實(shí)現(xiàn)數(shù)據(jù)吞吐率高、計算并行的算法加速器體系架構(gòu),該文研究和設(shè)計的圖像算法模型IP 設(shè)計與技術(shù)實(shí)現(xiàn)為圖像處理算法加速器體系架構(gòu)奠定了基礎(chǔ)。

猜你喜歡
模型設(shè)計
一半模型
重要模型『一線三等角』
何為設(shè)計的守護(hù)之道?
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過海——仿生設(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
主站蜘蛛池模板: 亚洲高清无在码在线无弹窗| 国产成人一二三| www亚洲天堂| 亚洲精品成人片在线播放| 国产尹人香蕉综合在线电影| 日本午夜精品一本在线观看 | 亚洲视频无码| 亚洲欧美日韩中文字幕在线一区| 中文字幕久久亚洲一区| 国产精品3p视频| 四虎永久免费网站| 欧美精品二区| 午夜人性色福利无码视频在线观看| 青青青国产精品国产精品美女| 久草视频精品| 国产第一页亚洲| 日本人妻一区二区三区不卡影院| 亚洲第一视频区| 欧美特黄一级大黄录像| 日韩高清一区 | 久久综合伊人 六十路| 欧洲亚洲一区| 天天操精品| 久久亚洲国产一区二区| 亚洲成人黄色网址| 婷婷综合亚洲| 国产毛片高清一级国语| 亚洲乱伦视频| 456亚洲人成高清在线| 精品国产自在在线在线观看| 成人日韩精品| 国产男女XX00免费观看| 伦精品一区二区三区视频| 欧美成人看片一区二区三区| 亚洲天堂网在线观看视频| 国产办公室秘书无码精品| 一边摸一边做爽的视频17国产 | 国产一区二区精品高清在线观看| 91香蕉视频下载网站| 午夜高清国产拍精品| 亚洲一区波多野结衣二区三区| 精品国产污污免费网站| 性色在线视频精品| 免费一级无码在线网站| 国产精品一线天| 55夜色66夜色国产精品视频| 国产精品久久久久久久伊一| 一区二区在线视频免费观看| 国产精品黄色片| 久久婷婷六月| 国产91全国探花系列在线播放| 国产亚洲精| 久久久久国产精品免费免费不卡| 亚洲综合婷婷激情| 国产美女自慰在线观看| 亚洲国产精品人久久电影| 刘亦菲一区二区在线观看| 国产网友愉拍精品视频| 国产成人久久综合777777麻豆| 免费va国产在线观看| 亚洲天堂2014| 国产精品私拍99pans大尺度| 亚洲品质国产精品无码| 久久青草视频| 精品国产成人国产在线| 亚洲啪啪网| 九色最新网址| 亚洲第一视频免费在线| 日韩欧美国产成人| 正在播放久久| 亚洲综合色区在线播放2019| 国产午夜人做人免费视频中文| 亚洲欧洲一区二区三区| 中文字幕亚洲精品2页| 成年片色大黄全免费网站久久| 波多野结衣一区二区三区88| 2022国产无码在线| 亚洲国产中文欧美在线人成大黄瓜| 亚洲综合二区| 在线综合亚洲欧美网站| 在线日韩日本国产亚洲| 国产中文一区二区苍井空|