一種基于深度學習的手術器械倉儲環境清點模型壓縮方法與流程
1.本發明涉及目標檢測技術領域,尤其涉及一種基于深度學習的手術器械倉儲環境清點模型壓縮方法。
背景技術:
2.近年來,手術器械因為與人們的身體健康息息相關而受到廣泛關注,而無論是臨床環境還是倉儲環境下,都需要對手術器械的種類和數量進行清點以保證后續手術的正常實施。但目前手術器械的清點工作大部分都是通過人工方式完成,這種方法需要消耗大量的人力物力并且效率低下,尤其在倉儲環境下,大批量的手術器械的清點工作會嚴重影響后續工作的正常進度。因此,工業界對倉儲環境下手術器械的自動化清點的需求不斷提高。
3.目前研究的手術器械自動清點的方法主要有基于rfid(radio frequency identification)、基于條形碼和基于計算機視覺三種方式,其中由于基于rfid和基于條形碼的方法都比較復雜并且成本高昂,所以現在的研究主要著眼于基于計算機視覺的方法,利用深度學習目標檢測算法進行器械清點更是近年來最為常見的方式,然而普通的目標檢測算法存在模型體量過大和內存占用嚴重等不足,不適用于在倉儲環境清點中配備的邊緣計算設備中部署和使用。
4.為了實現在計算資源有限的設備上部署并使用算法,在不顯著影響識別精度的前提下,通過壓縮和加速來實現模型的輕量化也尤為重要,因此,為了實現倉儲環境下器械清點模型的邊緣設備部署和使用,發明一種基于深度學習的手術器械倉儲環境清點模型壓縮方法意義重大。
技術實現要素:
5.本發明目的是提供一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,對基于swin transformer的目標檢測模型進行模型壓縮,在減少運算量和參數量的前提下保證模型的精度。
6.為了實現上述目的,本發明采用了如下技術方案:
7.一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,包括以下步驟:
8.s1、手術器械數據采集與標注:對手術器械進行拍照采集數據,形成數據集,并根據要求對數據集中的照片進行標簽標注;
9.s2、數據集劃分與數據增強:對s1中所得的數據集劃分為訓練集、驗證集和測試集,同時在訓練前對數據進行數據增強預處理;
10.s3、目標檢測模型輕量化設計:針對swin transformer模型進行輕量化結構設計,降低swin transformer模型所需的內存和運算量,實現模型的壓縮;
11.s4、目標檢測模型訓練:將s3中經過輕量化設計的目標檢測模型代碼封裝好,然后將數據集輸入模型中進行訓練,在預先設定的模型訓練波次結束后,保存精度最高模型參數,用于倉儲環境下手術器械的清點。
12.優選地,所述s1在進行拍照數據采集時,將所有待檢測的手術器械分別按照同類型器械緊靠擺放、同類型器械交叉擺放,不同類型緊靠擺放,不同類型器械交叉擺放、所有器件交叉緊靠混合擺放五種擺放方式依次擺放,用于模擬實際應用中各種復雜情況,確保圖像信息采集的豐富性和平衡性。
13.優選地,所述s1中提到的照片標簽標注工作,具體包括以下步驟:
14.a1、將采集過圖像數據的手術器械設定標簽名;
15.a2、將所有采集到的手術器械圖片輸入到圖像標注軟件中;
16.a3、利用標注軟件將每一張圖像中的所有手術器械使用矩形框標注,即每一張圖像中的所有手術器械使用矩形描繪出器械輪廓,矩形輪廓標注滿足目標檢測模型訓練所需的信息,然后標記上所對應的標簽名;
17.a4、完成標記后,將相對應的標簽名、圖片名和矩形輪廓和位置信息均保存在json類型文件中,其中矩形輪廓位置信息是通過在整張圖像上建立坐標系,記錄多邊形每個頂點的x軸和y軸坐標。
18.優選地,所述s2中提到的訓練集、驗證集和測試集之間的比例為7:2:1;所述訓練集用于訓練網絡;所述驗證集用于訓練過程驗證模型檢測效果,并根據效果調整模型的超參數;所述測試集用于模型效果測試。
19.優選地,所述s2中提到的數據增強預處理的具體增強方式為mosaic數據增強,即將多張圖像隨機縮放、裁剪和排布在一起,增強模型的泛化性。
20.優選地,所述s3中提到的目標檢測模型輕量化設計,具體包括以下內容:
21.b1、給定一批手術器械圖像集合,記為批次中第i張圖像表示為其中,上標表示處理序號,0表示原始圖像;
22.b2、對集合中輸入的圖像進行patchemdeding操作,即使用網格劃分工具將圖片等尺寸劃分為無重疊的若干塊,每塊記為bi∈r3×4×4,在自注意力運算的時候,將其轉化為48個rgb像素的串聯(ti∈r1×
48
),等效于transformer中的token;
23.b3、通過全連接層將圖像進行轉化為然后將轉化后的圖像輸入由5個swin transformer block組成的特征提取模塊(以下簡稱block),單獨一個block模塊將輸入特征圖等劃分為無重疊的數個窗口;
24.b3、在每個窗口內單獨進行自注意力計算,block模塊中其他結構與vit相同,包含層歸一化、全連接層和殘差連接;
25.b4、將swin transformer串聯的block進行連接方式的修改,增加并聯連接,增大網絡的寬度,同時引入不同尺寸的窗口劃分,將兩個不同窗口尺寸分支輸出的結構進行concat操作,然后連接一個池化層,取代原來的patchemerging層,使特征圖的感受野和通道數增大,形成層次性結構;在兩個結構一樣、窗口尺寸不一樣,即異尺度的block并聯結構后,是一個單獨的block模塊和一個空間注意力模塊,所以整體結構由4個層次組成,四個層次的輸入依次為
26.b5、將b4中四個層次的輸入作為faster r-cnn的fpn(feature pyramid networks)結構的輸入;
27.b6、通過faster r-cnn進行最后的目標檢測,生成相應的預測框和置信度。
28.與現有技術相比,本發明提供了一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,具備以下有益效果:
29.本發明提出了一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,對基于swin transformer的目標檢測模型進行模型壓縮,能夠在減少運算量和參數量的前提下保證模型的精度。
附圖說明
30.圖1為本發明提出的一種基于深度學習的手術器械倉儲環境清點模型壓縮方法的流程示意圖;
31.圖2為本發明實施例1中提出的經過輕量化設計后的模型架構示意圖;
32.圖3為本發明實施例1中提出的異尺度窗口劃分方法示意圖。
具體實施方式
33.下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。
34.實施例1:
35.請參閱圖1-3;
36.一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,包括以下步驟:
37.s1、手術器械數據采集與標注:對手術器械進行拍照采集數據,形成數據集,并根據要求對數據集中的照片進行標簽標注;
38.進行拍照數據采集時,將所有待檢測的手術器械分別按照同類型器械緊靠擺放、同類型器械交叉擺放,不同類型緊靠擺放,不同類型器械交叉擺放、所有器件交叉緊靠混合擺放五種擺放方式依次擺放,用于模擬實際應用中各種復雜情況,確保圖像信息采集的豐富性和平衡性;
39.在進行照片標簽標注工作時,具體包括以下步驟:
40.a1、將采集過圖像數據的手術器械設定標簽名;
41.a2、將所有采集到的手術器械圖片輸入到圖像標注軟件中;
42.a3、利用標注軟件將每一張圖像中的所有手術器械使用矩形框標注,即每一張圖像中的所有手術器械使用矩形描繪出器械輪廓,矩形輪廓標注滿足目標檢測模型訓練所需的信息,然后標記上所對應的標簽名;
43.a4、完成標記后,將相對應的標簽名、圖片名和矩形輪廓和位置信息均保存在json類型文件中,其中矩形輪廓位置信息是通過在整張圖像上建立坐標系,記錄多邊形每個頂點的x軸和y軸坐標;
44.s2、數據集劃分與數據增強:對s1中所得的數據集劃分為訓練集、驗證集和測試集,其中,訓練集、驗證集和測試集之間的比例為7:2:1;訓練集用于訓練網絡;驗證集用于訓練過程驗證模型檢測效果,并根據效果調整模型的超參數;測試集用于模型效果測試;
45.同時在訓練前對數據進行數據增強預處理,具體增強方式為mosaic數據增強,即將多張圖像隨機縮放、裁剪和排布在一起,增強模型的泛化性;
46.s3、目標檢測模型輕量化設計:針對swin transformer模型進行輕量化結構設計,降低swin transformer模型所需的內存和運算量,實現模型的壓縮,重新設計的模型總體架構如圖2所示,具體包括以下內容:
47.b1、給定一批手術器械圖像集合,記為批次中第i張圖像表示為其中,上標表示處理序號,0表示原始圖像;
48.b2、對集合中輸入的圖像進行patchemdeding操作,即使用網格劃分工具將圖片等尺寸劃分為無重疊的若干塊,每塊記為bi∈r3×4×4,在自注意力運算的時候,將其轉化為48個rgb像素的串聯(ti∈r1×
48
),等效于transformer中的token;
49.b3、通過全連接層將圖像進行轉化為然后將轉化后的圖像輸入由5個swin transformer block組成的特征提取模塊(以下簡稱block),單獨一個block模塊將輸入特征圖等劃分為無重疊的數個窗口;
50.swin transformer將圖片無重疊的劃分窗口,在每個窗口內單獨計算自注意力,使復雜度只隨著圖像尺寸線性增長,同時為了使相鄰的窗口的信息可以互相流通;此外,swin transformer使用了窗口位移方法,即對整個特征圖先進行移位操作,再進行窗口自注意力計算,如此窗口中就包含了上次計算中相鄰窗口的信息;但是在移位后,拼接線兩邊的像素不關聯,即打亂了圖像的空間信息,為了保持圖像數據的空間位置不變性,需要為窗口數據添加掩碼進行彌補;移位包括掩碼的操作,過程相對復雜,可能無法針對移動設備的速度進行優化,尤其移位的操作使用torch.roll()函數,對內存不友好,而且流行的邊緣設備推理框架(如nvidia tensorrt和google tensorflow-lite)很少支持此函數,這阻礙了swin transformer在倉儲環境下進行邊緣計算部署;
51.所以為了壓縮模型,采用基于異尺度窗口的自注意力計算,通過設定相鄰兩個的block的窗口的尺寸大小不一致,如圖3所示,下一次劃分窗口已經包含上一次中相鄰窗口信息,同時參考卷積神經網絡中存在的特征提取思想,使用不同尺寸的窗口可以提取到更豐富的特征,增強模型的建模能力;同時整個過程只涉及了現代深度學習框架已經優化的矩陣乘法,避免了特殊的矩陣運算方式的使用,更利于像倉儲環境手術器械這種應用環境進行模型部署;
52.b3、在每個窗口內單獨進行自注意力計算,block模塊中其他結構與vit相同,包含層歸一化、全連接層和殘差連接;
53.b4、將swin transformer串聯的block進行連接方式的修改,增加并聯連接,增大網絡的寬度,同時引入不同尺寸的窗口劃分,將兩個不同窗口尺寸分支輸出的結構進行concat操作,然后連接一個池化層,取代原來的patchemerging層,使特征圖的感受野和通道數增大,形成層次性結構;在兩個結構一樣、窗口尺寸不一樣,即異尺度的block并聯結構后,是一個單獨的block模塊和一個空間注意力模塊,所以整體結構由4個層次組成,四個層
次的輸入依次為
54.本發明所采用的block間的并聯連接,類似于resnet的殘差連接,不同的是,resnet是直接相加,而本發明采用concat操作,讓特征圖直接在通道維度上拼接,然后進行池化操作,實現一樣的層次化結構,避免全連接層的引入;而且通過并聯連接,將經不同尺寸,不同階段的窗口運算的特征圖在通道上的結合,建立了圖像上兩個有一定距離的像素之間的聯系,可以實現高像素信息和語義信息的有效融合,保證了特征圖的高效利用,同時降低了運算量和參數量,體現了輕量化設計的特點;
55.除此之外,在倉儲環境下,攝像頭采集的圖像往往只有一個器械,圖中目標單一,關鍵信息比較集中,大部分為無用信息,所以在網絡的最后增加全局空間注意力模塊,此位置的特征圖尺寸較小,進行全局注意力計算對運算的負擔較小;同時可以提高模型對目標位置信息的提取能力,抑制背景噪聲;
56.b5、將b4中四個層次的輸入作為faster r-cnn的fpn(feature pyramid networks)結構的輸入;
57.b6、通過faster r-cnn進行最后的目標檢測,生成相應的預測框和置信度;
58.s4、目標檢測模型訓練:將s3中經過輕量化設計的目標檢測模型代碼封裝好,然后將數據集輸入模型中進行訓練,在預先設定的模型訓練波次結束后,保存精度最高模型參數,用于倉儲環境下手術器械的清點。
59.綜上所述,本發明提出了一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,對基于swin transformer的目標檢測模型進行模型壓縮,能夠在減少運算量和參數量的前提下保證模型的精度。
60.以上所述,僅為本發明較佳的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,根據本發明的技術方案及其發明構思加以等同替換或改變,都應涵蓋在本發明的保護范圍之內。
技術特征:
1.一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,其特征在于,包括以下步驟:s1、手術器械數據采集與標注:對手術器械進行拍照采集數據,形成數據集,并根據要求對數據集中的照片進行標簽標注;s2、數據集劃分與數據增強:對s1中所得的數據集劃分為訓練集、驗證集和測試集,同時在訓練前對數據進行數據增強預處理;s3、目標檢測模型輕量化設計:針對swin transformer模型進行輕量化結構設計,降低swin transformer模型所需的內存和運算量,實現模型的壓縮;s4、目標檢測模型訓練:將s3中經過輕量化設計的目標檢測模型代碼封裝好,然后將數據集輸入模型中進行訓練,在預先設定的模型訓練波次結束后,保存精度最高模型參數,用于倉儲環境下手術器械的清點。2.根據權利要求1所述的一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,其特征在于,所述s1在進行拍照數據采集時,將所有待檢測的手術器械分別按照同類型器械緊靠擺放、同類型器械交叉擺放,不同類型緊靠擺放,不同類型器械交叉擺放、所有器件交叉緊靠混合擺放五種擺放方式依次擺放,用于模擬實際應用中各種復雜情況,確保圖像信息采集的豐富性和平衡性。3.根據權利要求1所述的一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,其特征在于,所述s1中提到的照片標簽標注工作,具體包括以下步驟:a1、將采集過圖像數據的手術器械設定標簽名;a2、將所有采集到的手術器械圖片輸入到圖像標注軟件中;a3、利用標注軟件將每一張圖像中的所有手術器械使用矩形框標注,即每一張圖像中的所有手術器械使用矩形描繪出器械輪廓,矩形輪廓標注滿足目標檢測模型訓練所需的信息,然后標記上所對應的標簽名;a4、完成標記后,將相對應的標簽名、圖片名和矩形輪廓和位置信息均保存在json類型文件中,其中矩形輪廓位置信息是通過在整張圖像上建立坐標系,記錄多邊形每個頂點的x軸和y軸坐標。4.根據權利要求1所述的一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,其特征在于,所述s2中提到的訓練集、驗證集和測試集之間的比例為7:2:1;所述訓練集用于訓練網絡;所述驗證集用于訓練過程驗證模型檢測效果,并根據效果調整模型的超參數;所述測試集用于模型效果測試。5.根據權利要求1所述的一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,其特征在于,所述s2中提到的數據增強預處理的具體增強方式為mosaic數據增強,即將多張圖像隨機縮放、裁剪和排布在一起,增強模型的泛化性。6.根據權利要求1所述的一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,其特征在于,所述s3中提到的目標檢測模型輕量化設計,具體包括以下內容:b1、給定一批手術器械圖像集合,對集合中輸入的圖像進行patchemdeding操作;b2、通過全連接層對圖像進行轉化,然后將轉化后的圖像輸入由5個swin transformer block組成的特征提取模塊,利用特征提取模塊將輸入特征圖等劃分為無重疊的數個窗口;b3、在每個窗口內單獨進行自注意力計算,特征提取模塊中其他結構與vit模型相同,
包含層歸一化、全連接層和殘差連接;b4、將swin transformer串聯的特征提取模塊進行連接方式的修改,增加并聯連接,增大網絡的寬度,同時引入不同尺寸的窗口劃分,形成層次性結構,將不同層次的輸入作為faster r-cnn的fpn結構的輸入;b5、通過faster r-cnn進行最后的目標檢測,生成相應的預測框和置信度。7.根據權利要求6所述的一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,其特征在于,所述b1中提到的對集合中輸入的圖像進行patchemdeding操作,具體包括以下內容:c1、使用網格劃分工具將圖片等尺寸劃分為無重疊的若干塊;c2、在自注意力運算的時候,將c1中所得的塊轉化為48個rgb像素的串聯,等效于transformer中的token。8.根據權利要求6所述的一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,其特征在于,所述b4中提到的引入不同尺寸的窗口劃分,具體包括以下內容:將兩個不同窗口尺寸分支輸出的結構進行concat操作,然后連接一個池化層,取代原來的patchemerging層,使特征圖的感受野和通道數增大,形成層次性結構。
技術總結
本發明公開了一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,屬于目標檢測技術領域。一種基于深度學習的手術器械倉儲環境清點模型壓縮方法,包括以下步驟S1、對手術器械進行拍照采集數據,形成數據集,并根據要求對數據集中的照片進行標簽標注;S2、對數據集劃分為訓練集、驗證集和測試集,同時在訓練前對數據進行數據增強預處理;S3、針對Swin transformer模型進行輕量化結構設計,降低Swin transformer模型所需的內存和運算量,實現模型的壓縮;S4、將目標檢測模型代碼封裝好,然后將數據集輸入模型中進行訓練。本發明基于Swin Transformer的目標檢測模型進行模型壓縮,能夠在減少運算量和參數量的前提下保證模型的精度。型的精度。型的精度。
