論文閱讀-ZeroDCE和ZeroDCE++

文章目錄

  • 1 概述
  • 2 模塊
    • 2.1 總體說明
    • 2.2 LE曲線(Light Enhance Curve)
    • 2.3 DCE-Net
    • 2.4 無監督損失
      • 2.4.1 空間一致性損失
      • 2.4.2 曝光控制損失
      • 2.4.3 顏色恒定損失
      • 2.4.4 照明平滑度損失
    • 2.5 ZeroDCE++
  • 3 效果
    • 3.1 不同損失函數組合的效果
    • 3.2 參數設置影響
    • 3.3 訓練數據的影響
    • 3.4 不同模型效果對比
  • 參考文獻

1 概述

本文提出了名為Zero-DCE的圖像亮度增強方法,速度很快,泛化能力很強。作者訓練了一個輕量級深度網絡DCENet,用于對給定圖像進行高階曲線參數估計,每個像素會估計一個高階曲線,用于調整每個像素的亮度。該曲線估計方法經過專門設計,充分考慮了像素值范圍、單調性和可微性等特性。
Zero-DCE的優勢在于其對參考圖像的寬松假設:訓練過程中既不需要配對數據也不需要非配對數據,整個是一個無監督的過程。

2 模塊

2.1 總體說明

圖2-1展示了ZeroDCE的網絡架構。該框架通過設計深度曲線估計網絡(DCE-Net),能夠根據輸入圖像生成一組最佳擬合的亮度增強曲線(LE曲線)。隨后,系統通過迭代應用這些曲線對輸入圖像的RGB通道所有像素進行映射處理,最終獲得增強后的圖像。
ZeroDCE網絡框架

圖2-1 ZeroDCE網絡架構

2.2 LE曲線(Light Enhance Curve)

作者嘗試設計一種能夠自動將低光圖像映射到增強版本的自適應曲線。該曲線參數完全依賴輸入圖像,其設計包含三個目標:
1)增強圖像的每個像素值應保持在[0,1]的標準化范圍內,避免因溢出截斷導致的信息丟失;
2)曲線需保持單調性以保留相鄰像素間的對比度差異;
3)曲線形態應盡可能簡潔,并在梯度反向傳播過程中保持可微性。
作者根據這三個目標設計的曲線為

LE(I(x);α)=I(x)+αI(x)(1?I(x))(2-1)LE(I(x);\alpha) = I(x) + \alpha I(x) (1 - I(x)) \tag{2-1} LE(I(x);α)=I(x)+αI(x)(1?I(x))(2-1)

其中,xxx表示像素坐標;I(x)I(x)I(x)為原始的像素值;已經被歸一化為[0,1][0, 1][0,1]LE(I(x);α)LE(I(x);\alpha)LE(I(x);α)為亮度增強后的像素值;α∈[?1,1]\alpha \in [-1, 1]α[?1,1]是訓練得到的參數,每個像素位置不同。
作者將LE曲線分別單獨應用于RGB通道,而不僅僅是在照明通道上應用。這種三通道調整可以更好地保留固有顏色,減少過飽和的風險。
圖2-1(b)展示了不同α\alphaα下像素的映射關系。顯然,LE曲線符合上述三個目標。此外,LE曲線使我們能夠增加或減少輸入圖像的動態范圍。這一功能不僅有助于增強低光區域,還有助于消除過曝偽影。
從圖2-1(b)中不難看出,當α=1\alpha=1α=1時,原先為0.2的值會被映射到0.4左右;當α=?1\alpha=-1α=?1時,原先為0.2的值會被映射到0.05左右。可見LE曲線既可以增強亮度,也可以減弱亮度,結果取決于模型預測的α\alphaα值大小。
式2-1所示的LE曲線可以經過多次迭代得到更高階的曲線,有很強的非線性表達能力。

LEn(x)=LEn?1(x)+αnLEn?1(x)(1?LEn?1(x))(2-2)LE_n(x) = LE_{n-1}(x) + \alpha_n LE_{n-1}(x)(1 - LE_{n-1}(x)) \tag{2-2} LEn?(x)=LEn?1?(x)+αn?LEn?1?(x)(1?LEn?1?(x))(2-2)

其中,nnn表示迭代的次數,在本文中n=8n=8n=8
圖2-1?展示了當α1=α2=α3=?1\alpha_1=\alpha_2=\alpha_3=-1α1?=α2?=α3?=?1時,α4\alpha_4α4?取不同值時的LE4(x)LE_4(x)LE4?(x)曲線。這是為了展示其非線性表達能力。
高階曲線能夠調整圖像在更寬動態范圍內的表現。然而,由于ααα參數應用于所有像素,這種全局調整仍存在局限性——容易導致局部區域過度或不足增強。為解決這一問題,作者將α參數化為逐像素的配置方案,即給定輸入圖像中每個像素都對應一條最佳擬合的動態范圍調節曲線。因此,式2-2可重新表述為

LEn(x)=LEn?1(x)+An(x)LEn?1(x)(1?LEn?1(x))(2-3)LE_n(x) = LE_{n-1}(x) + A_n(x) LE_{n-1}(x)(1 - LE_{n-1}(x)) \tag{2-3} LEn?(x)=LEn?1?(x)+An?(x)LEn?1?(x)(1?LEn?1?(x))(2-3)

其中,AAA為參數矩陣圖。
作者假設局部區域內的像素具有相同的強度(以及相同的調整曲線),因此輸出結果中的相鄰像素仍能保持單調關系。通過這種方式,像素級的高階曲線也符合三個目標。
作者在圖2-2中展示了三個通道的估計曲線參數圖示例。不同通道的最佳擬合參數圖雖然調整趨勢相似,但數值存在差異,這表明低光圖像的三個通道具有相關性與差異性。曲線參數圖精準呈現了不同區域的亮度特征(例如墻面上的兩處反光點)。通過這些擬合圖,可直接進行像素級曲線映射生成增強版圖像。如圖2-2(e)所示,增強版圖像能清晰呈現暗部內容并保留亮部細節。
像素級別曲線參數圖例子

圖2-2 像素級別曲線參數圖例子

在可視化方面,作者對所有迭代(n=8n=8n=8)的曲線參數圖進行平均,并將數值歸一化到[0,1][0,1][0,1]范圍內。AnRA_n^RAnR?AnGA_n^GAnG?AnBA_n^BAnB?分別表示RGB三個通道的最佳LE曲線參數,通過熱力圖進行可視化。

2.3 DCE-Net

為實現輸入圖像與其最佳擬合曲線參數圖之間的映射關系,作者提出了一種深度曲線估計網絡(DCE-Net)。該網絡以低光圖像作為輸入,輸出對應高階曲線的像素級參數圖。
DCE-Net的詳細架構不是重點,這里不進行詳述,可參考圖2-3。需要注意的是,作者去除了破壞相鄰像素關聯性的下采樣和批量歸一化層。然后,對于尺寸為256×256×3的輸入圖像,該網絡僅需79,416個可訓練參數和5.21G次浮點運算量,因此具有輕量化特性,適用于移動平臺等計算資源受限的設備。

DCE-Net網絡結構圖

圖2-3 DCE-Net網絡結構圖

2.4 無監督損失

亮度增強訓練的數據對難以獲得,因此作者設計了四個不需要真值的損失函數,用于評價經過網絡后生成的圖像的亮度。

2.4.1 空間一致性損失

空間一致性損失LspaL_{spa}Lspa?通過保留輸入圖像與其增強版本之間相鄰區域的差異,促進了增強圖像的空間一致性。

Lspa=1K∑i=1K∑j∈Ω(i)(∣(Yi?Yj)∣?∣(Ii?Ij)∣)2(2-4)L_{spa} = \frac{1}{K} \sum^K_{i=1} \sum_{j \in \Omega(i)} (|(Y_i - Y_j)| - |(I_i - I_j)|)^2 \tag{2-4} Lspa?=K1?i=1K?jΩ(i)?((Yi??Yj?)?(Ii??Ij?))2(2-4)

其中,KKK表示局部區域的數量,?(i)?(i)?(i)代表以該區域為中心的四個相鄰區域(上方、下方、左側、右側)。分別用YYYIII表示增強版圖像與原始輸入圖像中對應局部區域的平均強度值。實驗中作者經驗性地將局部區域尺寸設定為4×4。該損失函數在其他區域尺寸條件下保持穩定。

空間一致性損失示意圖

圖2-4 空間一致性損失示意圖

2.4.2 曝光控制損失

為抑制欠曝光/過曝光區域,作者設計了曝光控制損失函數LexpL_{exp}Lexp?來調控曝光水平。該損失函數通過測量局部區域平均亮度值與最佳曝光度E之間的距離進行評估。作者參照現有研究將E設定為RGB色彩空間中的灰度級別。實驗中將E設為0.6,作者實驗發現在[0.4,0.7]范圍內調整E值并未顯著影響性能表現。
該損失函數LexpL_{exp}Lexp?可表示為

Lexp=1M∑k=1M∣Yk?E∣(2-5)L_{exp} = \frac{1}{M} \sum^M_{k=1} |Y_k - E| \tag{2-5} Lexp?=M1?k=1M?Yk??E(2-5)

其中M表示大小為16×16的非重疊局部區域的數量,Y是增強圖像中局部區域的平均強度值。
取不同的EEE進行訓練的效果如下圖2-5所示。
不同E的效果對比

圖2-5 不同E的效果對比

2.4.3 顏色恒定損失

根據灰度世界顏色恒定性假設(該假設認為每個傳感器通道的顏色在整個圖像中平均為灰色),設計了顏色恒定性損失函數,用于校正增強圖像中可能出現的顏色偏差,并建立三個調整后的通道之間的關聯關系。顏色恒定性損失函數LcolL_{col}Lcol?可表示為

Lcol=∑?(p,q)∈?(Jp?Jq)2,?={(R,G),(R,B),(G,B)}(2-6)L_{col} = \sum_{\forall (p,q) \in \epsilon} (J^p - J^q)^2, \epsilon = \{(R,G), (R,B), (G,B)\} \tag{2-6} Lcol?=?(p,q)??(Jp?Jq)2,?={(R,G),(R,B),(G,B)}(2-6)

其中,JpJ_pJp?表示增強圖像中ppp通道的平均強度值,(p,q)(p,q)(p,q)表示一對通道。

2.4.4 照明平滑度損失

為了保持相鄰像素之間的單調性關系,也就是相鄰像素之間的變化盡可能一致,作者在每個曲線參數圖AAA中添加了一個光照平滑損失。光照平滑損失LtvAL_{tvA}LtvA?的定義為

LtvA=1N∑n=1N∑c∈ξ(∣?xAnc∣+∣?yAnc∣)2,ξ={R,G,B}(2-7)L_{tvA} = \frac{1}{N}\sum^N_{n=1} \sum_{c \in \xi} (|\nabla_xA_n^c| + |\nabla_yA_n^c|)^2, \xi = \{R,G,B\} \tag{2-7} LtvA?=N1?n=1N?cξ?(?x?Anc?+?y?Anc?)2,ξ={R,G,B}(2-7)

其中,NNN是迭代次數,?x\nabla_x?x??y\nabla_y?y?分別表示水平和垂直梯度算子。

2.5 ZeroDCE++

ZeroDCE++只是輕量化了模型,效果還是ZeroDCE更好
為了進一步輕量化模型,作者深入研究了增強性能與網絡結構、曲線估計及輸入尺寸之間的關系。研究發現:
1)DCE-Net中使用的卷積層可替換為更高效的深度可分離卷積,可在不顯著影響性能的前提下減少網絡參數;
2)不同迭代階段(Zero-DCE共八次迭代)的曲線參數估計結果大多相似。圖2-6展示了不同迭代階段的曲線參數估計圖及其差異圖對比。觀察發現,曲線參數圖具有高度一致性,差異圖中的數值差異微乎其微。這些結果表明,曲線參數圖可在多數情況下重復使用于不同迭代階段,因此可將曲線參數估計圖數量從24個精簡至3個;
不同迭代階段估計的曲線參數

圖2-6 不同迭代階段估計的曲線參數

3)本文的方法對輸入圖像尺寸不敏感。因此,可采用降采樣的輸入作為曲線參數估計網絡的輸入,再將估計的曲線參數圖上采樣回原始分辨率進行圖像增強。低分辨率輸入能顯著降低計算成本。
基于上述發現,我們從三個方面對Zero-DCE進行了改進。
第一,通過將卷積層替換為深度可分離卷積來重新設計DCE-Net,從而減少網絡參數。每個深度可分離卷積層由兩部分組成:首先是步長為1的3×3深度卷積,其次是步長同樣為1的1×1逐點卷積。
第二,重新構建曲線估計模型,僅需估算3個曲線參數圖,然后在不同迭代階段重復使用這些參數,而無需像傳統方法那樣在八次迭代中估算24個參數圖。因此,方程2-3可重新表述為

LEn(x)=LEn?1(x)+A(x)LEn?1(x)(1?LEn?1(x))(2-8)LE_n(x) = LE_{n-1}(x) + A(x) LE_{n-1}(x)(1 - LE_{n-1}(x)) \tag{2-8} LEn?(x)=LEn?1?(x)+A(x)LEn?1?(x)(1?LEn?1?(x))(2-8)

第三,可以將降采樣后的圖像作為網絡輸入來估計曲線參數圖。默認情況下,在Zero-DCE++中將輸入圖像按12倍比例降采樣,以平衡增強效果與計算成本。即使采用極端降采樣比例,本文的方法仍能保持良好性能。具體原因簡要說明如下:首先,雖然本文使用降采樣后的輸入來估計曲線參數,但基于局部區域像素具有相同強度(以及相同調整曲線)的假設,會將縮小后的曲線參數圖重新調整至與原始輸入圖像相同的尺寸。從輸入圖像到增強圖像的映射是在原始分辨率下完成的。其次,提出的空間一致性損失函數促使結果保留輸入圖像的內容特征。第三,本框架采用的是區域級而非像素級的損失函數。
不同下采樣比例的效果對比

圖2-7 不同下采樣比例的效果對比

這些修改使Zero-DCE++具有微小的網絡(10K可訓練參數,0.115G FLOPs用于大小為1200×900×3的圖像),實時推理速度(在單個GPU/CPU上對大小為1200×900×3的圖像進行推理時為1000/11 FPS)和快速訓練(20分鐘)等優點。

3 效果

3.1 不同損失函數組合的效果

圖3-1中展示了采用不同損失函數組合訓練的ZeroDCE模型效果。
無空間一致性損失LspaL_{spa}Lspa?時,對比度表現(如云層區域)明顯遜色于完整模型。這表明LspaL_{spa}Lspa?在保留輸入圖像與增強圖像相鄰區域差異方面具有關鍵作用。
無曝光控制損失LexpL_{exp}Lexp?,則無法有效恢復低光區域細節。
無顏色恒定性損失LcolL_{col}Lcol?時,會出現嚴重的色彩偏移現象。該變體在應用曲線映射時忽略了三個通道間的關聯性。
無光照平滑性損失LtvAL_{tvA}LtvA?會破壞相鄰區域間的關聯性,導致明顯的偽影生成。

不同損失效果

圖3-1 不同損失效果

3.2 參數設置影響

圖3-2表示了在不同的參數設置下訓練得到的模型效果,l?f?nl-f-nl?f?n分別表示lll層卷積,fff表示特征圖的通道數,nnn表示迭代次數。
在圖3-2(b)中,僅需3個卷積層的Zero?DCE3?32?8Zero-DCE_{3?32?8}Zero?DCE3?32?8?模型就能取得令人滿意的效果。Zero?DCE7?32?8Zero-DCE_{7?32?8}Zero?DCE7?32?8?ZeroDCE7?32?16ZeroDCE_{7?32?16}ZeroDCE7?32?16?模型在視覺效果上表現最佳,展現出自然曝光與恰當對比度。當迭代次數減少至1次時,如圖3-2(d)所示,Zero?DCE7?32?1Zero-DCE_{7?32?1}Zero?DCE7?32?1?模型的性能出現明顯下降。這是因為單次迭代的曲線調整能力有限,說明本文的方法需要采用更高階的曲線模型。綜合考慮效率與修復效果之間的平衡,最終選定Zero?DCE7?32?8Zero-DCE_{7?32?8}Zero?DCE7?32?8?作為最優模型。
不同參數設置效果

圖3-2 不同參數設置效果

3.3 訓練數據的影響

為測試訓練數據的影響,作者對Zero-DCE模型進行了不同數據集的再訓練:
1)僅使用原始訓練集中2422張圖像中的900張低光圖像(Zero?DCELowZero-DCE_{Low}Zero?DCELow?
2)采用DARK FACE數據集提供的9000張未標注低光圖像(ZeroDCELargeLZeroDCE_{LargeL}ZeroDCELargeL?
3)使用SICE數據集中Part1和Part2子集經過數據增強組合后的4800張多曝光圖像(Zero?DCELargeLHZero-DCE_{LargeLH}Zero?DCELargeLH?
如圖3-3?和(d)所示,在剔除過曝訓練數據后,Zero-DCE即使使用更多低光圖像(即ZeroDCELargeLZeroDCE_{LargeL}ZeroDCELargeL?),仍傾向于過度增強明亮區域(如人臉)。這些結果表明,在網絡訓練過程中使用多曝光訓練數據具有合理性和必要性
此外,當使用多種曝光訓練數據時(即Zero?DCELargeLHZero-DCE_{LargeLH}Zero?DCELargeLH?),Zero-DCE能更好地恢復暗部區域,如圖3-3(e)所示。

不同訓練數據的效果

圖3-3 不同訓練數據的效果

3.4 不同模型效果對比

不同模型之間的可視化效果對比可見圖3-4。
不同模型可視化效果對比

圖3-4 不同模型可視化效果對比

不同模型之間的指標對比可見表3-1。
不同模型之間的指標對比

表3-1 不同模型之間的指標對比

不同模型之間的速度對比可見表3-2。
不同模型之間的速度對比

表3-2 不同模型之間的速度對比

參考文獻

[1] Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement
[2] Learning to Enhance Low-Light Image via Zero-Reference Deep Curve Estimation

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/95007.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95007.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95007.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Web自動化技術選擇

我想學習自動化技術,我的訴求是: 1.我想做自動報社保功能,先從我們自己的系統里面下載Excel,然后自動登錄到社保局的系統,自動填寫Excel,自動上傳Excel。 2.可以自動的到社保局的系統里面查下數據&#xff…

【celeba】-數據集的介紹

CelebA 數據集在 MTCNN 中的使用 1 數據集結構 CelebA_副本/ ├── Anno/ │ ├── list_bbox_celeba.txt # 邊界框 │ ├── list_landmarks_celeba.txt # 5 關鍵點 │ ├── list_attr_celeba.txt # 40 屬性 │ └── identity_CelebA.txt …

解讀 GPT-5:從“博士級 AI 專家”能力到 OpenAI API Key 獲取與實踐(提示工程→性能調優全流程)

GPT-5深度解讀:一位“博士級專家”的誕生與思考第一部分:新范式——化繁為簡的統一智能體 OpenAI的GPT-5,遠不止是一次常規的模型升級。它的發布,標志著一種顛覆性的架構思想變革:從過去那個讓用戶在各種“Turbo”、“…

8.3.1 注冊服務中心Etcd

etcd是什么 etcd 是一個分布式鍵值對存儲,設計用來可靠而快速的保存關鍵數據并提供訪問。通過分布式鎖, leader選舉保障可靠的分布式協同。 etcd 特點 完全復制,集群中的每個節點均擁有全量數據 強一致性,etcd通過raft共識算法…

異或循環冗余

異或代碼CRC8-ITU例程比較計算CRC16異或改進測試重點代碼 def fun_crc(datas):crc 0xFF poly 0x07 for i in range(len(datas)):for j in range(7, -1, -1):if (crc & 0x80) 0x80: crc (crc << 1) ^ polyelse:crc (crc << 1)if (datas[i] & 2**j):#值…

一款輕量、免費、無廣告,強大的演示工具,支持屏幕放大、涂鴉、截圖、錄屏

軟件介紹 ZoomIt&#xff0c;是一款輕量、免費、無廣告&#xff0c;強大的演示工具&#xff0c;支持屏幕放大、涂鴉、截圖、錄屏等。在系統托盤中不顯示的運行&#xff0c;可自定義快捷鍵&#xff0c;使用方面。 軟件基礎功能 屏幕放大&#xff1a;按下快捷鍵“Ctrl1”可進入…

從街亭失守看管理

最近看了《三國演義》&#xff0c;重溫了街亭失守事件&#xff0c;從馬謖最耀眼的登場來看就是&#xff0c;火燒藤甲兵計策和諸葛亮不謀而合&#xff0c;說明馬謖確實是有真材實料的&#xff0c;但在守街亭的任務上&#xff0c;諸葛亮也躊躇過又對先帝的遺言“馬謖不可重用”記…

全面解析 URL 重定向原理:從協議、實現到安全實踐

一、什么是 URL 重定向&#xff1f; URL 重定向&#xff08;URL Redirection&#xff09;是 Web 技術中一種將用戶請求的 URL 自動轉向另一個目標 URL 的機制。用戶可能完全不會察覺跳轉發生&#xff0c;因為瀏覽器在幕后完成了一切。 重定向通常用于以下場景&#xff1a; 網…

多任務 Transformer 模型的高效任務間注意力

抽象 在計算機視覺和更廣泛的深度學習領域&#xff0c;Transformer 架構已被公認為許多應用程序的最先進技術。然而&#xff0c;對于多任務學習&#xff0c;與單任務模型相比&#xff0c;可能需要更多的查詢&#xff0c;考慮到實際的硬件限制&#xff0c;它的多頭注意力通常接近…

QT的常用控件說明

文章目錄基本的代碼的模板Label控件font字體相關Button 控件CheckBox 控件Radio控件ComboBox控件LineEdit 控件基本的代碼的模板 class MainWindow(QWidget):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs) # 調用父類初始化方法# 聲明窗口實例# 代…

5Python異常處理與模塊導入全指南

目錄 什么是異常&#xff1f; 異常的捕獲方法&#xff1a; 為什么要捕獲異常&#xff1f; 捕獲異常的語法&#xff1a; 異常的else和finally語法&#xff1a; 什么是異常&#xff1f; 異常就是程序運行過程中出現了錯誤&#xff0c;也就是我們常說的出bug了-。- 異常的捕…

區塊鏈密碼學簡介

區塊鏈密碼學簡介 一、對稱密碼算法 概述 對稱密碼算法的主要特點是使用相同的密鑰進行加密和解密。這類算法根據其加密方式大致可以分為兩類:流密碼和分組密碼。區塊鏈技術主要采用分組密碼。流密碼以數據流的形式逐位或逐字節加密,而分組密碼則將數據分成固定大小的塊進行…

GridKernalGateway

GridKernalGateway 是 Apache Ignite 架構中一個關鍵的安全與狀態管理組件&#xff0c;它的作用是 “在公共 API 和內部內核&#xff08;kernal&#xff09;之間建立安全、可控的訪問通道”。 我們可以把它理解為一個 “門衛 狀態哨兵”&#xff0c;確保外部調用不會在 Ignite…

MySQL索引、B+樹相關知識總結

MySQL索引、B樹相關知識匯總一、有一個查詢需求&#xff0c;MySQL中有兩個表&#xff0c;一個表1000W數據&#xff0c;另一個表只有幾千數據&#xff0c;要做一個關聯查詢&#xff0c;如何優化&#xff1f;1、為關聯字段建立索引2、小表驅動大表二、b樹和b樹的區別1、更高的查詢…

Java學習進階 -- 泛型的繼承和通配符及綜合練習

首先&#xff0c;泛型不具備繼承性&#xff0c;但是數據具備繼承性1.核心概念解析泛型不具備繼承性即使類型A是類型B的子類&#xff0c;Generic<A>也不是Generic<B>的子類這是Java泛型的類型安全設計&#xff0c;防止不安全的類型轉換數據具備繼承性泛型容器中的元…

如何實現在多跳UDP傳輸場景,保證單文件和多文件完整傳輸的成功率?

如何實現在多跳UDP傳輸場景&#xff0c;保證單文件和多文件完整傳輸的成功率&#xff1f; 一、前言 UDP&#xff08;User Datagram Protocol&#xff09;是一個輕量、無連接的傳輸協議&#xff0c;廣泛用于低延遲、高吞吐的應用中&#xff0c;如視頻流、實時游戲等。然而&…

【Spring IoC 核心實現類詳解:DefaultListableBeanFactory】

Spring IoC 核心實現類詳解&#xff08;源碼原理&#xff09;作為 Spring 的靈魂&#xff0c;IoC 容器&#xff08;Inversion of Control&#xff09;是整個框架的核心。 那么 IoC 的“心臟”到底是哪個類&#xff1f;它是怎么管理和裝配 Bean 的&#xff1f;本文將從源碼層面深…

為什么開啟JWT全局認證后,CSRF失敗會消失?

這是因為 JWT認證與CSRF校驗的設計邏輯完全不同&#xff0c;當全局啟用JWT認證后&#xff0c;Django的CSRF校驗會被“繞過”或不再生效&#xff0c;具體原因如下&#xff1a; 核心原因&#xff1a;JWT認證不依賴Cookie&#xff0c;無需CSRF保護 1. CSRF的作用場景 CSRF攻擊的前…

寶龍地產債務化解解決方案二:基于資產代幣化與輕資產轉型的戰略重構

一、行業背景與代幣化創新趨勢1.1 房地產債務危機現狀寶龍地產&#xff08;01238.HK&#xff09;截至2024年中債務總額達584億元&#xff0c;其中50.7%為一年內到期債務&#xff0c;但現金儲備僅89.47億元&#xff0c;短期償債覆蓋率不足30%。2025年2月境外債務重組計劃因債權人…

深信服GO面試題及參考答案(下)

Kubernetes 與容器 Kubernetes(簡稱 K8s)是容器編排平臺,而容器是輕量級的虛擬化技術,兩者緊密關聯但定位不同,容器是 K8s 管理的核心對象,K8s 為容器提供了完整的生命周期管理、擴展和運維能力。 容器技術(如 Docker)通過 Linux 命名空間(Namespace)、控制組(CGro…