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

視盤與黃斑同時定位檢測的FPGA方法研究

2022-06-09 11:59:02劉宇紅張榮芬
計算機工程與應用 2022年11期
關鍵詞:檢測

張 衛(wèi),周 驊,劉宇紅,張榮芬

貴州大學 大數(shù)據(jù)與信息工程學院,貴陽 550025

糖尿病視網(wǎng)膜病變(diabetic retinopathy,DR)也稱糖網(wǎng)病,是糖尿病的一種眼部表現(xiàn),也是當今世界上造成視力損害和失明的主要原因[1]。彩色眼底圖像在利用計算機輔助診斷或篩查糖網(wǎng)病中得到了廣泛的應用。

視盤、黃斑和血管是眼底圖像中最重要的組成結(jié)構(gòu),對這些結(jié)構(gòu)作特征分析是判斷眼底疾病的基礎[2]。視盤是視神經(jīng)的始端和血管的發(fā)源端,形狀為亮白色圓盤,直徑約為1.5 mm,是輔助判定糖網(wǎng)病的主要指標。

另外,視盤也用于輔助建立眼底圖像坐標系,搭建血管分割算法。黃斑與視盤的位置固定,是視力最敏銳的部分。快速、準確地定位視盤和黃斑區(qū)域?qū)Πㄌ蔷W(wǎng)病在內(nèi)的眼底疾病尤為重要。

目前,由于成像因素或視網(wǎng)膜病變的影響,造成黃斑檢測的難度較大,故研究視盤定位的文獻較多,檢測黃斑的文獻較少[3]。關于視盤定位的算法大致可以分為兩類,一類利用外觀信息如亮度、對比度等作為定位特征[4-5],另一類是基于血管特征實現(xiàn)視盤定位[6-10]。關于黃斑的定位算法,一般都依賴于視盤定位和血管拱形的坐標信息[11-14],故而導致黃斑定位準確率低于視盤定位準確率,而且無法同時對視盤和黃斑進行定位。因此,探索一種有效的能對視網(wǎng)膜圖像視盤和黃斑同時定位的智能算法具有重要意義。

今天,在FPGA芯片上部署神經(jīng)網(wǎng)絡算法實現(xiàn)邊緣計算的思想得到人們的認可和研究,目前主要實現(xiàn)方式有兩種,一種方式是采用Verilog HDL(Verilog hardware description language,Verilog硬件描述語言)設計底層邏輯結(jié)構(gòu),另一種方式是采用HLS(high level synthesis,高層綜合語言)設計IP核[15-16]來實現(xiàn)各類智能算法,后者原理簡單,易于實現(xiàn)。然而,兩種方法目前可實現(xiàn)的神經(jīng)網(wǎng)絡層數(shù)多局限于幾層、十幾層的規(guī)模[15-16]。

在此背景下,本文創(chuàng)新性地提出了一種眼底圖像視盤與黃斑定位檢測新方法[17],先使用YOLOv4-tiny算法檢測視盤和黃斑的位置信息,再采用HLS設計的IP核將38層神經(jīng)網(wǎng)絡算法移植到FPGA平臺[18]。該方法復雜度低,檢測定位準確率高、實時性強,具有良好的臨床應用前景。

1 YOLOv4-tiny算法結(jié)構(gòu)

YOLOv4算法在目標檢測領域具有較高的準確率和實時性,但網(wǎng)絡復雜度較高。YOLOv4-tiny算法的網(wǎng)絡參數(shù)相對于其他YOLO算法少得多,適用于嵌入式設備。本文采用YOLOv4-tiny算法來完成眼底圖像中視盤和黃斑的定位檢測,整體檢測過程如下:輸入一張彩色眼底圖片,經(jīng)網(wǎng)絡檢測輸出后,對YOLO頭部y1、y2進行輸出處理,可同時得到視盤和黃斑的位置信息和置信度。

YOLOv4-tiny算法的網(wǎng)絡結(jié)構(gòu)如圖1所示,該算法共38層,輸入層為608×608×3的彩色眼底圖片,Backbone模塊是網(wǎng)絡的骨干部分,由CSPDarknet53(即圖中的CSP結(jié)構(gòu))模型組成,該模型提高了整個網(wǎng)絡模型的檢測精度,模型中帶虛線陰影的CBL結(jié)構(gòu)是下采樣卷積層。圖1中不帶虛線陰影的CBL結(jié)構(gòu)做正常的卷積運算。另外,圖1中還包括2個頭部輸出:網(wǎng)絡第31層y1層,其大小為19×19×21,網(wǎng)絡第38層y2層,其大小為38×38×21。

圖1 YOLOv4-tiny網(wǎng)絡結(jié)構(gòu)Fig.1 YOLOv4-tiny network structure

帶虛線陰影的CBL結(jié)構(gòu)如圖2所示,該結(jié)構(gòu)的操作是:先做卷積運算,再做歸一化操作,最后采用Leaky Relu函數(shù)激活。圖3是CSP結(jié)構(gòu)圖,圖的上半部分包括3個CBL結(jié)構(gòu),第二個CBL與第三個CBL的結(jié)果矩陣拼接后,再通過一個CBL,最后的結(jié)果矩陣與CSP結(jié)構(gòu)的初始輸入做拼接操作,得到整個CSP結(jié)構(gòu)的輸出。

圖2 CBL結(jié)構(gòu)Fig.2 CBL structure

圖3 CSP結(jié)構(gòu)Fig.3 CSP structure

為檢測到視盤和黃斑兩個類別,網(wǎng)絡的兩個頭部輸出層y1、y2需要經(jīng)過一系列操作。具體操作是:首先檢測圖片中類似目標特征的區(qū)域,將整個圖片分為N×N個格子,使用眼底圖片中目標的真實中心位置坐標落入格子負責該目標所屬類別,每個格子預測B個邊界框,每個邊界框包含置信度和目標所屬類別的概率,瞄框的預測采用公式(1)的方法:

式中,c x、c y是網(wǎng)格的坐標偏移量;p w、p h是預設的瞄框的邊長;b x、b y、b w、b h為最終得到的邊框坐標值;t x、t y、t w、t h為網(wǎng)絡學習目標,其中,t x、t y為檢測目標的邊界框中心位置坐標偏移量,經(jīng)過σ(x)(sigmoid)函數(shù)歸一化到0和1之間,t w、t h為瞄框的尺度縮放,分別與p w、ph作用后得到邊界框的寬和高。

2 研究工作

2.1 圖像預處理

算法采用公認的Kaggle-Diabetic Retinopathy Detection(以下簡稱為Kaggle-DR)競賽中的眼底圖片數(shù)據(jù)集訓練學習參數(shù)。該數(shù)據(jù)集包含多個患者左右兩只眼的高分辨率彩色圖片,且左右眼的眼底圖像分辨率相同。Kaggle-DR數(shù)據(jù)集根據(jù)糖網(wǎng)病視網(wǎng)膜病變的程度劃分為正常、輕度、中度、重度和增殖型糖尿病視網(wǎng)膜病變五個等級,以0、1、2、3、4進行類別標注,每張圖片都包含視盤和黃斑結(jié)構(gòu)。

由于數(shù)據(jù)集中的圖片具有不同的光照、顏色和攝像角度,以及照片裁剪方式也不相同,甚至部分圖片存在失焦的情況,因此從競賽數(shù)據(jù)集中挑選部分滿足訓練要求的圖片,并對其進行縮放、旋轉(zhuǎn)、翻轉(zhuǎn)、改變亮度等操作,得到516幅包含糖網(wǎng)病不同患病等級的圖片進行訓練和測試,挑選后的部分數(shù)據(jù)集圖片如圖4所示。

圖4 部分用于訓練的Kaggle-DR數(shù)據(jù)集眼底圖片F(xiàn)ig.4 Some retinal images in Kaggle-DR dataset for training

2.2 網(wǎng)絡訓練優(yōu)化

過擬合是機器學習和深度學習共有的弊病,一旦算法出現(xiàn)過擬合,那么訓練生成的網(wǎng)絡算法模型是無效的。為了防止過擬合,如圖5所示,本文采用兩級訓練和遷移學習的方式對YOLOv4-tiny網(wǎng)絡進行訓練優(yōu)化,先使用COCO數(shù)據(jù)集訓練網(wǎng)絡的前26層,迭代訓練6 000次后,凍結(jié)這些層的參數(shù)值;再采用Kaggle-DR競賽中挑選的381幅眼底圖像訓練剩下的12層,并設置衰減式的學習率,迭代10 000次后得到所有層的網(wǎng)絡參數(shù)。

圖5 算法的兩級訓練模式Fig.5 Two level training mode of algorithm

由于Kaggle-DR數(shù)據(jù)集中的眼底圖片原始分辨率為3 000×4 000左右,且視盤和黃斑的位置以及整個眼球的位置多位于圖片中央,故將網(wǎng)絡的輸入層調(diào)整為608×608×3,有效地保證了特征提取的區(qū)域。另外,視盤的位置通常比黃斑要大,且在圖上處于不同的位置,選擇大小和位置合適的瞄框?qū)⒂兄谔岣邫z測的速度和準確率。

2.3 FPGA移植

該YOLOv4-tiny黃斑與視盤定位檢測算法的一個重要優(yōu)點是可以移植到FPGA上運行。以下介紹將優(yōu)化訓練后的算法部署移植到FPGA板上的過程,整體的系統(tǒng)實現(xiàn)原理圖如圖6所示。在FPGA端,首先把算法訓練得到的yolo.weight文件存儲至SD卡中,這個文件包含了網(wǎng)絡訓練后的權(quán)重和偏置值;接著利用vivado HLS工具生成的兩個IP核做網(wǎng)絡中卷積和池化運算,IP核可以自主地從SDRAM中讀取圖片和網(wǎng)絡參數(shù);FPGA中的ARM內(nèi)核重建整個神經(jīng)網(wǎng)絡算法,并將卷積和池化需要的數(shù)據(jù)參數(shù)傳遞給IP核,IP核獲取到全部參數(shù)進行計算后將結(jié)果存儲到SDRAM中。PC上位機與FPGA端通過串口進行通信,PC上位機發(fā)送眼底圖片給FPGA端,F(xiàn)PGA端將檢測結(jié)果發(fā)回給PC上位機。

圖6 FPGA整體實現(xiàn)原理圖Fig.6 Overall implementation schematic designed on FPGA

FPGA端需要在vivado SDK工具中采用C語言重現(xiàn)TensorFlow框架下的YOLOv4-tiny算法,算法初始化部分如下所示:

網(wǎng)絡結(jié)構(gòu)中的卷積層采用RunConv()函數(shù)來實現(xiàn),該函數(shù)對應的是卷積層IP核硬件電路,該電路可以實現(xiàn)不同運算數(shù)據(jù)和不同運算規(guī)模的卷積層操作;網(wǎng)絡結(jié)構(gòu)中的池化層采用RunPool()函數(shù)來實現(xiàn),該函數(shù)對應的是池化層IP核電路,與卷積層類似,該電路也具有計算不同池化層的通用性,本網(wǎng)絡模型中的池化層均做最大池化操作。Runroute()函數(shù)做拼接操作,Runupsample()函數(shù)做上采樣操作。

RunCSP()函數(shù)需要對7個網(wǎng)絡層做操作,第一層是卷積操作,接下來的一層對該層做拼接;運行兩個卷積層后,將這兩層的結(jié)果矩陣做拼接;再做一層卷積操作后,將這層的結(jié)果矩陣與第一層做拼接,得到整個RunCSP()函數(shù)的運算結(jié)果如下:

3 實驗及結(jié)果

系統(tǒng)設計中GPU軟件訓練平臺使用兩塊1080Ti顯卡。CPU軟件訓練平臺使用Core i7-8700k處理器,主頻為3.4 GHz。硬件部署使用Xilinx公司的ZYNQ-7000 xc7z010clg400-1芯片作為實驗平臺,該芯片片內(nèi)資源較為豐富,基本能夠滿足該網(wǎng)絡模型中硬件設計所需要的資源。

3.1 GPU模型訓練與測試

在TensorFlow深度學習框架下,采用COCO數(shù)據(jù)集和Kaggle-Diabetic Retinopathy Detection競賽中挑選的部分眼底圖片做兩級訓練,第一級訓練采用COCO數(shù)據(jù)集、學習率為0.01,迭代6 000次來學習網(wǎng)絡的前26層;第二級訓練采用Kaggle-DR競賽數(shù)據(jù)集、初始學習率為0.001,并以指數(shù)式衰減,迭代10 000次來學習整個網(wǎng)絡。每1 000次迭代后保存此時模型的網(wǎng)絡參數(shù).weight文件,如圖7所示,迭代4 000次后,loss值已經(jīng)接近于0,網(wǎng)絡模型趨于穩(wěn)定;迭代10 000次后,保存平均正確率mAP值最高的網(wǎng)絡模型的.weight文件,完成整個訓練過程。

圖7 網(wǎng)絡模型訓練mAP曲線Fig.7 mAP curve of network model on training

如圖7和表1所示,訓練最好的網(wǎng)絡模型的mAP值為96.67%,其中視盤的正確率為100%,黃斑的正確率達93.34%,視盤的真陽性率(true positive rate,TPR)為100%,黃斑的真陽性率為96.85%,假陽性率(false positive rate,F(xiàn)PR)為3.15%,說明本文算法系統(tǒng)能滿足視盤和黃斑的檢測定位性能。另外,網(wǎng)絡的recall值為0.94,F(xiàn)1-score為0.96,precision值為0.98,說明該算法模型性能較好。

表1 訓練好的網(wǎng)絡模型參數(shù)Table 1 Trained network model parameters

測試時采用135張?zhí)暨x的Kaggle-DR數(shù)據(jù)集眼底圖片整個迭代1次,得到的mAP值為95.97%,與訓練的準確率基本一致。測試一張圖片的時間約為4.72 ms,將其中部分圖片的置信度圖片輸出,如圖8所示,(a)中視盤和黃斑的置信度均為100%,(b)中視盤的置信度為100%,黃斑的置信度為94%,圖中黃斑區(qū)域顏色較淺,與周圍環(huán)境顏色類似,對檢測定位有一定程度的干擾,但94%的準確率能滿足糖網(wǎng)病的輔助診斷要求。

圖8 網(wǎng)絡模型輸出的視盤(OD)和黃斑(Fovea)的置信度圖Fig.8 Confidence degree map of optic disc and fovea from network model

3.2 視盤和黃斑定位檢測結(jié)果對比

表2給出了本文方法與現(xiàn)有最具代表的幾種方法的檢測定位結(jié)果。從表2中可以看出,文獻[11-13]和文獻[3]均是分別對視盤和黃斑做檢測定位,其中文獻[11]的視盤和黃斑分別檢測的正確率最高,但是數(shù)據(jù)集小且未指明其中是否有病變眼底圖片;文獻[3]和文獻[12]也取得了較好的正確率,數(shù)據(jù)集組成合理,但是采用監(jiān)督分類的方法,對測試集中的病變圖片正確率較低;文獻[13]也得到了較好的檢測定位結(jié)果,但是算法較為復雜。

表2 視盤和黃斑的檢測結(jié)果與傳統(tǒng)方法對比Table 2 Comparison of detection results of optic disc and macula with traditional methods

文獻[14]先檢測黃斑,再檢測視盤,采用HEI-MED數(shù)據(jù)集中圖片進行訓練和測試,取得了較好的檢測正確率,但是仍然不能同時對視盤和黃斑定位。本文能同時對視盤和黃斑進行定位,采用的數(shù)據(jù)集包含各個患病等級的圖片,訓練和測試都取得了不錯的正確率,通過對比可以看出本文方法的檢測結(jié)果并不低于現(xiàn)有的方法甚至更優(yōu),而且本文算法簡單,黃斑定位不依賴于視盤定位,在實際的糖網(wǎng)病篩查及醫(yī)學輔助診斷中具有很大的優(yōu)勢。

表3進一步給出了視盤與黃斑在YOLO算法下的檢測定位結(jié)果對比,其中YOLOv3算法下的黃斑和視盤檢測定位的正確率較低,測試的實時性比較差。YOLOv4算法下的視盤與黃斑檢測定位的正確率為98.69%,但是網(wǎng)絡模型的參數(shù)值高達257.7 MB,GPU傳遞一張圖片的時間也比較長。本文采用的YOLOv4-tiny算法下的視盤與黃斑檢測定位的正確率為96.67%,略低于YOLOv4算法下的正確率,但是網(wǎng)絡參數(shù)大小下降了不止10倍,僅為24.3 MB,而且GPU傳遞一張圖片的時間提高了不止10倍,只需要2.858 ms,這些特性表明,本文采用YOLOv4-tiny實現(xiàn)視盤與黃斑檢測定位的系統(tǒng)非常適合移植于FPGA等嵌入式設備中,例如手持式糖網(wǎng)病智能監(jiān)測儀,具有很好的邊緣計算應用前景。

表3 視盤與黃斑在YOLO算法下的檢測定位結(jié)果對比Table 3 Comparison of detection and location results of optic disc and macula based on YOLO algorithms

3.3 FPGA硬件平臺與CPU、GPU平臺檢測定位結(jié)果對比

表4給出了本文算法在FPGA硬件平臺以及CPU、GPU上對視盤與黃斑進行檢測定位的對比,其中FPGA平臺的平均識別正確率基本與CPU、GPU保持一致,三個平臺下視盤定位的正確率均能維持在100%,但FPGA平臺中黃斑的正確率最低,為92.21%,這是因為FPGA中采用16位無符號浮點型數(shù)據(jù)類型,降低了權(quán)重和偏置的精確度。

表4 FPGA硬件平臺與CPU、GPU檢測定位結(jié)果對比Table 4 Comparison of detection and location results on FPGA hardware platform with CPU and GPU

從時效性來看,F(xiàn)PGA平臺處理一張圖片的時間大約需要150.445 ms,識別時間介于CPU與GPU之間。這是因為FPGA硬件平臺中只有一份卷積電路和一份池化電路,導致網(wǎng)絡中的各個卷積層和池化層只能采用時分復用的方式去共享這兩份電路,不能同時對各個網(wǎng)絡層進行計算,使其處理時間比GPU低。但是從整體的正確率和實時性來看,本文搭載YOLOv4-tiny算法的FPGA硬件平臺能滿足糖網(wǎng)病視盤與黃斑定位及智能硬件輔助診斷的要求。

4 結(jié)論

視盤、黃斑是眼底圖像中最重要的組成結(jié)構(gòu),對這兩個結(jié)構(gòu)的預先定位檢測是糖網(wǎng)病眼底圖像的自動處理與分析的關鍵步驟。傳統(tǒng)的數(shù)學形態(tài)學定位檢測方法,只能從算法層面進行定位檢測,沒有同時定位視盤和黃斑,導致黃斑的定位準確率低,而且還未見嵌入式端的算法實現(xiàn),不適合于手持式檢測儀這樣的邊緣計算場景。基于此,本文提出了一種針對眼底圖像中視盤與黃斑同時定位檢測的新方法,首先使用YOLOv4-tiny算法進行定位檢測,并探索了有效的眼底圖像預處理、網(wǎng)絡訓練優(yōu)化等方法,最后將該算法成功移植到FPGA。與傳統(tǒng)方法相比,該方法不僅可以同時定位眼底圖像中視盤和黃斑的位置,使得算法復雜度更低、準確度更高、定位速度更快,而且在FPGA上的實現(xiàn)方案對糖網(wǎng)病檢測技術的嵌入式發(fā)展具有指導意義。實驗主要采用公認的COCO數(shù)據(jù)集和Kaggle-Diabetic Retinopathy Detection競賽中的眼底圖像對算法進行訓練和測試對比,算法移植到FPGA平臺后對視盤和黃斑定位的mAP為96.11%,檢測一張圖片只需要150.445 ms,符合邊緣計算圖像處理的實際應用需求,具有良好的眼科臨床應用前景。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數(shù)的乘除法”檢測題
“有理數(shù)”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 亚洲第一区精品日韩在线播放| 黄网站欧美内射| 久久综合丝袜长腿丝袜| 国产丝袜啪啪| 一本久道热中字伊人| 午夜福利网址| 日韩av在线直播| 国产不卡一级毛片视频| 亚洲无限乱码| 19国产精品麻豆免费观看| 大陆精大陆国产国语精品1024| 99精品一区二区免费视频| 亚洲中文字幕在线一区播放| 一级黄色片网| 波多野结衣二区| 日韩成人在线网站| 为你提供最新久久精品久久综合| 成年午夜精品久久精品| 国产黄在线观看| 亚洲热线99精品视频| 欧美一区二区自偷自拍视频| 国产粉嫩粉嫩的18在线播放91| 亚洲黄色片免费看| a色毛片免费视频| 91麻豆久久久| 九色视频最新网址| 色偷偷男人的天堂亚洲av| 香蕉久久永久视频| a毛片在线| 成人免费午夜视频| 久久精品91麻豆| 日本91在线| 国产00高中生在线播放| 日本一本正道综合久久dvd| 国产精品夜夜嗨视频免费视频| a级毛片免费播放| 手机在线看片不卡中文字幕| 综合色亚洲| 亚洲国产综合第一精品小说| 2021国产精品自拍| 久久网欧美| 亚洲精品天堂自在久久77| 97成人在线视频| 99久久99视频| 国产精品午夜福利麻豆| 国产无码精品在线播放| 国产精品v欧美| 国产9191精品免费观看| 日本妇乱子伦视频| 毛片在线播放a| 国产精品主播| 国产欧美日韩在线一区| 免费观看男人免费桶女人视频| 激情午夜婷婷| a级高清毛片| 曰AV在线无码| 亚洲一区第一页| 欧美不卡视频一区发布| 亚洲成人网在线观看| 欧洲在线免费视频| 无码人中文字幕| 久久亚洲欧美综合| 67194成是人免费无码| 国产凹凸一区在线观看视频| 伊人色天堂| 日韩欧美国产成人| 亚洲综合专区| 性网站在线观看| 国产成人午夜福利免费无码r| 午夜成人在线视频| 亚洲成人精品久久| 国产精品大白天新婚身材| 欧美综合中文字幕久久| 国产精品一线天| 欧美午夜理伦三级在线观看| 欧美一区二区三区欧美日韩亚洲 | 好紧太爽了视频免费无码| 亚洲大尺度在线| 日韩视频福利| 中文字幕无码制服中字| 人妻无码中文字幕一区二区三区| 午夜福利在线观看入口|