【LLIE專題】NTIRE 2025 低照度圖像增強第二名方案

在這里插入圖片描述

Towards Scale-Aware Low-Light Enhancement via Structure-Guided Transformer Design(2025,NTIRE)

  • 專題介紹
  • 一、研究背景
  • 二、SG-LLIE方法
    • 1.和Retinexformer方案對比
    • 2.總體方案及創新點
    • 3.詳細方案
      • 3.1 結構先驗提取
      • 3.2 網絡結構
      • 3.3 損失函數
  • 三、實驗結果
    • 1.定量實驗
    • 2.定性實驗
    • 3.消融實驗
  • 四、總結

Transformer Design(2025,NTIRE))
本文將對 Towards Scale-Aware Low-Light Enhancement via Structure-Guided Transformer Design,這篇暗光增強算法進行講解。參考資料如下:

[1] SG-LLIE 文章
[2] SG-LLIE代碼


專題介紹

在低光照環境下,傳統成像設備往往因畫面昏暗、細節丟失而受限。LLIE(低照度暗光增強)技術應運而生,它通過提升圖像亮度、對比度,減少噪點并恢復色彩細節,讓暗夜變得清晰可見。

LLIE技術從傳統方法如直方圖均衡化、Retinex模型等起步,近年來借助深度學習,尤其是卷積神經網絡(CNN),GAN模型,擴散模型實現了質的飛躍。這些算法能自動學習圖像特征,精準處理低光照圖像,效果顯著優于傳統技術。

本專題將聚焦LLIE技術的核心原理、應用案例及最新進展,讓我們一起見證LLIE如何點亮暗夜,開啟視覺新視界!歡迎一起探討交流!

系列文章如下
【1】ZeroDCE
【2】HVI
【3】CLIP-LIT
【4】GLARE
【5】Retinexformer


一、研究背景

現有低光照圖像增強(LLIE)技術多依賴直接映射(端到端直接學習)或語義、光照圖引導,但因 LLIE 不適定性及語義提取困難,在極低光照下效果受限。為此,作者提出 SG - LLIE,一種結構先驗引導的多尺度 CNN - Transformer 混合框架。其采用光照不變邊緣檢測器提取結構先驗,在 UNet 編碼器的編解碼結構上構建 CNN - Transformer 混合結構引導特征提取器(HSGFE)模塊,并在 HSGFE 中引入結合結構先驗調節增強過程的結構引導 Transformer 模塊(SGTB)。實驗證明,該方法在多個基準測試中實現定量指標和視覺質量最優,在 NTIRE 2025 低光照增強挑戰賽中獲第二名

二、SG-LLIE方法

1.和Retinexformer方案對比

之前我們介紹過Retinexformer這篇基于光照引導的暗光圖像增強方案。我們可以簡單介紹下兩種方案差異:
Retinexformer 創新性地將照明先驗引入 Transformer,指導反射增強,生成明亮圖像,證實物理先驗在深度學習模型中的潛力。不過,作者認為Retinexformer 通過輕量級神經網絡獲取照明,缺乏光照分量真實值監督,導致在現實場景泛化性差,易出現不自然顏色強度與對比度問題。基于此,作者探索將更穩健的物理先驗融入 LLIE 深度學習模型,旨在克服現有局限,優化增強效果 。說白了就是Retinexformer先驗太過于簡單,魯棒性不足;作者提出了更強的先驗。但是網絡結構思想基本一致,都結合了CNN多尺度特征提取和Transformer基于先驗引導的注意力機制的思想。

2.總體方案及創新點

本文提出 SG-LLIE,一種結構先驗引導的尺度感知 CNNTransformer 框架用于低光照圖像增強。該方案基于 UNet 編碼器 - 解碼器架構,在各層級引入混合結構引導特征提取器(HSGFE)模塊。HSGFE 模塊通過光照不變邊緣檢測器提取穩定結構先驗,借助結構引導 Transformer 塊(SGTB)將其融入恢復過程,并結合擴張殘差密集塊(DRDB)和語義對齊尺度感知模塊(SAM)實現多尺度特征融合。?

其創新點在于:

  • 一是構建結構先驗引導的多尺度 CNN-Transformer 混合框架;
  • 二是先提取魯棒結構先驗,再通過結構引導交叉注意力將其整合到定制 Transformer,優化增強指導;
  • 三是模型在量化指標和視覺效果表現優異,在 NTIRE 2025 低光圖像增強挑戰賽中取得高排名,競爭力突出。

3.詳細方案

在這里插入圖片描述
SG-LLIE的整體框架如上圖所示。該結構是類似U-Net的架構。在編碼器和解碼器的每一層,采用了混合結構引導特征提取器(HSGFE)模塊。在每個HSGFE中,包含了擴張殘差密集塊(DRDB)和語義對齊尺度感知模塊(SAM),以及結構引導變壓器塊(SGTB)模塊。采用Pixel Unshuffle進行下采樣,Pixelshuffle進行上采樣。SGTB模塊中首先基于顏色不變邊緣檢測器提取結構先驗,然后將這些先驗作為Transformer的指導進行特征整合。

3.1 結構先驗提取

為提取結構先驗,作者采用了《Zero-shot day-night domain adaptation with a physics prior 》和《Lita-gs: Illuminationagnostic novel view synthesis via reference-free 3d gaussian splatting and physical priors》兩篇文章中提出的顏色不變卷積(CIConv)。CIConv通過可學習的尺度感知變換來生成一個歸一化的邊緣響應圖,該圖反映與任務相關的結構。在基于Kubelka-Munk (KM) 反射模型導出的顏色不變表示中,論文采用W表示法,因為它在不同的光照、陰影和反射條件下能提供穩健的邊緣檢測:
W o u t = C I C o n v ( I i n ) , ( 1 ) W_{out }=CIConv\left(I_{in }\right), (1) Wout?=CIConv(Iin?),(1)
其中 I i n I_{in } Iin?表示輸入的低照度(LL)圖像。 W o u t W_{out } Wout?表示結構先驗,隨后將其整合到結構引導變換器模塊(SGTB)中用于指導。CIConv的公式可表示為:
C I C o n v ( I i n ) = l o g ( W 2 ( I i n ) + ? ) ? μ S σ S ( 2 ) CIConv\left(I_{i n}\right)=\frac{log \left(W^{2}\left(I_{i n}\right)+\epsilon\right)-\mu_{\mathcal{S}}}{\sigma_{\mathcal{S}}} (2) CIConv(Iin?)=σS?log(W2(Iin?)+?)?μS??(2)
其中 μ s \mu s μs σ s \sigma_{s} σs? ? \epsilon ?分別指樣本均值、標準差和小擾動。
為計算 W ( I i n ) W(I_{i n}) W(Iin?),首先使用高斯顏色模型(高斯顏色模型(Gaussian Color Model)是一種用于圖像邊緣檢測的經典方法,核心思想是利用高斯核函數對圖像的顏色(或灰度)信息進行濾波,通過計算像素點在空間和顏色維度上的梯度變化來檢測邊緣。)獲得初始邊緣檢測器,記為E。然后,使用E推導出第二階段的邊緣檢測器,記為W,如下所示:
W = W x 2 + W λ x 2 + W λ λ x 2 + W y 2 + W λ y 2 + W λ y 2 + W λ λ y 2 , W=\sqrt{W_{x}^{2}+W_{\lambda x}^{2}+W_{\lambda \lambda x}^{2}+W_{y}^{2}+W_{\lambda y}^{2}+W_{\lambda y}^{2}+W_{\lambda \lambda y}^{2}}, W=Wx2?+Wλx2?+Wλλx2?+Wy2?+Wλy2?+Wλy2?+Wλλy2? ?,

W x = E x E , W λ x = E λ x E , W λ λ x = E λ λ x E ( 4 ) W_{x}=\frac{E_{x}}{E}, W_{\lambda x}=\frac{E_{\lambda x}}{E}, W_{\lambda \lambda x}=\frac{E_{\lambda \lambda x}}{E} (4) Wx?=EEx??,Wλx?=EEλx??,Wλλx?=EEλλx??(4)
這里高斯顏色模型之后采用第二階段邊緣檢測器的目的是:初始邊緣檢測器 E 基于高斯顏色模型生成,雖然能檢測基本邊緣,但對光照變化、陰影和反射等復雜條件的魯棒性不足。低光圖像常存在光照不均、噪聲干擾等問題,單一的高斯模型難以準確捕獲多尺度、多方向的結構信息。通過 E 推導的第二階段邊緣檢測器 W,是對初始邊緣信息的二次增強與細化。

  • 多維度特征融合W 的計算公式包含光譜強度的一階空間導數 ( W x , W y ) (W_x, W_y) (Wx?,Wy?和二階空間導數 ( W λ λ x , W λ λ y ) (W_{\lambda\lambda x}, W_{\lambda\lambda y}) (Wλλx?,Wλλy?,能同時捕捉邊緣的位置、方向和曲率信息。例如,二階導數對圖像局部曲率敏感,可檢測到更細微的結構變化(如紋理、弱邊緣),而一階導數主要響應邊緣強度。
  • 光照不變性增強基于 Kubelka-Munk 反射模型的 “W” 表示法,通過對數變換和歸一化(CIConv 公式中的 log ? \log log和標準化操作),降低了光照強度變化對邊緣檢測的影響。即使在低光或不均勻光照下,W 也能穩定表示圖像的固有結構。
    公式(4)中各項代表了光譜強度的空間導數。
    在這里插入圖片描述
    上圖是經過上面方案提取的結構先驗,可以看出,該方案提取的結構先驗能夠穩定表示不同光照條件下圖像的邊緣和結構信息。證明了這個先驗在增強領域的巨大潛力。

3.2 網絡結構

上面介紹了網絡整體結構,這里主要介紹重要模塊。

  • HSGFE模塊:在編碼和解碼過程的每個層級,都部署了HSGFE模塊,用于特征表示學習和結構先驗的整合。

    • HSGFE模塊構成
      1. 擴張殘差密集塊(Dilated Residual Dense Block, DRDB):首先通過DRDB處理特征以增強局部表示。
      2. 結構引導Transformer塊(Structure-Guided Transformer Block, SGTB):接著,在SGTB中,將在3.1節提取的結構先驗顯式地注入特征流。
      3. 語義對齊尺度感知模塊(Semantic-Aligned Scale-Aware Module, SAM):最后,并入SAM以進一步適應尺度多樣性并自適應地融合來自不同尺度的表示。
  • SGTB模塊構成:如上圖網絡結構中SGTB的放大圖所示,它由三個主要組件構成:
    1. 通道級自注意力(Channel-wise Self-Attention, CSA)。 該模塊主要是為了增強特征通道間聯系。
    CSA表示為: F o u t = C S A ( L N ( F i n ) ) + F i n F_{out} = CSA(LN(F_{in})) + F_{in} Fout?=CSA(LN(Fin?))+Fin?,其中 F i n , F o u t ∈ R H × W × C F_{in}, F_{out} \in \mathbb{R}^{H \times W \times C} Fin?,Fout?RH×W×C 分別是輸入輸出特征圖。
    2. 結構引導交叉注意力(Structure-Guided Cross Attention, SGCA)。該模塊主要為了解決傳統低光增強模型經常扭曲輸入圖像原始結構細節的問題。通過將結構先驗融入注意力機制可以更好地保持空間一致性。
    輸入特征 F i n ∈ R H × W × C F_{in} \in \mathbb{R}^{H \times W \times C} Fin?RH×W×C首先被重塑為序列 X ∈ R H W × C X \in \mathbb{R}^{HW \times C} XRHW×C。(Query, Q) 由 X X X 線性投影產生: Q = X W Q T Q = XW_Q^T Q=XWQT?。 (Key, K p K_p Kp?) 和 (Value, V p V_p Vp?) 則由結構先驗提供(下標p代表先驗)。論文中獲取這兩個表示的方法是: K p = X p W K p T , V p = X p W V p T K_p = X_p W_{K_p}^T,V_p = X_p W_{V_p}^T Kp?=Xp?WKp?T?Vp?=Xp?WVp?T?,其中 X p X_p Xp?是處理后的結構先驗特征序列, W K p T , W V p T W_{K_p}^T,W_{V_p}^T WKp?T?,WVp?T?是可學習的參數矩陣。這里的表述我們可以知道 K p K_p Kp? V p V_p Vp?是基于結構先驗圖 W o u t W_{out} Wout?(經過適當處理以匹配維度)生成的。 結構引導注意力機制公式為: A t t e n t i o n ( Q , K p , V p ) = s o f t m a x ( Q ? K p T λ ) ? V p Attention(Q, K_p, V_p) = softmax(\frac{Q \cdot K_p^T}{\lambda}) \cdot V_p Attention(Q,Kp?,Vp?)=softmax(λQ?KpT??)?Vp?。其中 λ \lambda λ 是一個可學習的參數,用于自適應地調整矩陣乘法的尺度。
    通過這種方式,交叉注意力機制不僅能建立遠程依賴關系,還能將結構信息直接融入當前的特征表示中。從這里可以看出,這個結構和Retinexformer中光照引導的注意力模塊非常像。
    3. 前饋網絡(Feed-Forward Network, FFN)。
    此外,在每個機制之前都應用了層歸一化(Layer Normalization),并應用了三個殘差連接以保留殘差信息。

  • 尺度自適應神經架構(SAM)
    現實場景中圖像分辨率各異(如 6000 × 4000 或 2992 × 2000),給一致的特征表示帶來挑戰(不同分辨率物體尺度不同)。SAM 利用金字塔式特征提取和跨尺度動態融合來解決此問題。這種結構經常用于圖像分割和目標檢測網絡中,主要是為了提取多尺度特征。
    輸入特征圖 F i n , 0 ∈ R H × W × C F_{in,0} \in \mathbb{R}^{H \times W \times C} Fin,0?RH×W×C經過雙線性插值生成兩個降采樣特征: F i n , 1 ∈ R H 2 × W 2 × C F_{in,1} \in \mathbb{R}^{\frac{H}{2} \times \frac{W}{2} \times C} Fin,1?R2H?×2W?×C F i n , 2 ∈ R H 4 × W 4 × C F_{in,2} \in \mathbb{R}^{\frac{H}{4} \times \frac{W}{4} \times C} Fin,2?R4H?×4W?×C。 這些多分辨率特征圖通過卷積層獨立處理,得到相應的金字塔表示: Y i n , 0 , Y i n , 1 , Y i n , 2 Y_{in,0}, Y_{in,1}, Y_{in,2} Yin,0?,Yin,1?,Yin,2?。然后進行跨尺度融合:為每個尺度特定的特征圖分配一個可學習的權重矩陣 α i ( i = 0 , 1 , 2 ) \alpha_i (i = 0,1,2) αi?(i=0,1,2)。這些權重通過對三個特征圖分別應用全局平均池化得到。池化后的特征再通過一個多層感知器 (MLP) 以促進自適應有效的跨尺度交互,得到融合權重 β 0 , β 1 , β 2 = M L P ( α 0 , α 1 , α 2 ) \beta_0, \beta_1, \beta_2 = MLP(\alpha_0, \alpha_1, \alpha_2) β0?,β1?,β2?=MLP(α0?,α1?,α2?) 。 最終的融合特征圖 F f F_f Ff?計算如下: F f = F i n , 0 + β 0 ⊙ Y i n , 0 + β 1 ⊙ Y i n , 1 + β 2 ⊙ Y i n , 2 F_f = F_{in,0} + \beta_0 \odot Y_{in,0} + \beta_1 \odot Y_{in,1} + \beta_2 \odot Y_{in,2} Ff?=Fin,0?+β0?Yin,0?+β1?Yin,1?+β2?Yin,2?,其中 ⊙ \odot 表示逐元素乘法。

3.3 損失函數

損失函數 ,基于三個不同尺度的輸出圖像—— I ^ 1 \hat{I}_{1} I^1? I ^ 2 \hat{I}_{2} I^2? I ^ 3 \hat{I}_{3} I^3?——設計損失函數,這些圖像分別對應于解碼器不同級別下的三種不同分辨率的輸出圖像:
L t o t a l = ∑ i = 1 3 L C ( I i , I ^ i ) + λ ? ∑ i = 1 3 L P ( I i , I ^ i ) + γ ? ∑ i = 1 3 L M S ? S S I M ( I i , I ^ i ) , \begin{aligned} L_{total }= & \sum_{i=1}^{3} L_{C}\left(I_{i}, \hat{I}_{i}\right)+\lambda \cdot \sum_{i=1}^{3} L_{P}\left(I_{i}, \hat{I}_{i}\right) \\ & +\gamma \cdot \sum_{i=1}^{3} L_{MS-SSIM}\left(I_{i}, \hat{I}_{i}\right), \end{aligned} Ltotal?=?i=13?LC?(Ii?,I^i?)+λ?i=13?LP?(Ii?,I^i?)+γ?i=13?LMS?SSIM?(Ii?,I^i?),?
其中 L 1 L_{1} L1? L P L_{P} LP? L M S ? S S I M L_{MS - SSIM} LMS?SSIM?分別表示Charbonnier損失、感知損失和多尺度結構相似性(MSSSIM)損失。加權因子設置為 λ = 0.01 \lambda = 0.01 λ=0.01 γ = 0.4 \gamma = 0.4 γ=0.4

三、實驗結果

作者使用由NTIRE 2025低光增強挑戰賽提供的數據集。該數據集包含219張訓練圖像、46張驗證圖像和30張測試圖像。此外,還使用了NTIRE 2024低光增強挑戰賽的訓練集進行微調。

1.定量實驗

在這里插入圖片描述
定性實驗1如上圖所示,在NTIRE2025 LLIE比賽的多個參賽隊伍中取得了第二名的成績。
在這里插入圖片描述
在多個LLIE基準數據集上,和多種LLIE方案對比,本文方案同樣取得了非常好的結果。

2.定性實驗

在這里插入圖片描述
定量實驗可以看出,本文方案增強后在保留細節方面更具有優勢。

3.消融實驗

在這里插入圖片描述
消融實驗也證明了本文SGCA、SGTB模塊的有效性,以及損失函數MS-SSIM的有效性。

四、總結

本文是NTIRE2025暗光增強比賽中的第二名,提出了一種結構引導先驗的增強方法,網絡結構類似于Retinexformer。


感謝閱讀,歡迎留言或私信,一起探討和交流。
如果對你有幫助的話,也希望可以給博主點一個關注,感謝。

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

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

相關文章

泊松融合的介紹和OpenCV教程

泊松融合 Poisson Blending 簡介 核心思想 泊松融合的目標是在保留剪切圖像的梯度(紋理)信息的同時,使融合結果在邊界區域平滑過渡到目標圖像中。換句話說,它在融合區域中重建一個圖像,使其梯度盡可能接近源圖像的梯度,并且邊界貼合目標圖像。 數學描述 泊松融合將問題…

Unity協程Coroutine與UniTask對比

原理對比 CoroutineUniTask本質IEnumerator 的協作調度器async/await 狀態機(IAsyncStateMachine)調度方式Unity 內部調用 MoveNext()自建 PlayerLoopRunner 控制狀態推進內存管理引用類型,頻繁分配 GC結構體 UniTask,低 GC 壓力…

MAC軟件打開提示已損壞:“已損壞,打不開。您應將它移到廢紙簍“

打開「終端.app」,輸入以下命令并回車,輸入開機密碼回車 sudo spctl --master-disable 按照上述步驟操作完成后,打開「系統偏好設置」-「安全與隱私」-「通用」,確保已經修改為「任何來源」。 打開「終端.app」,輸入…

JAVA之 Lambda

Java Lambda Lambda 表達式是 Java 8 的核心特性,通過 函數式編程 大幅簡化代碼。其核心思想是將行為作為參數傳遞,替代匿名內部類,提升代碼的簡潔性和可讀性。以下是系統解析和完整代碼示例: 一、Lambda 表達式基礎 語法結構 (…

Starrocks中RoaringBitmap雜談

背景 最近在閱讀Starrocks源碼的時候&#xff0c;遇到ColumnRefSet的RoaringBitmap使用&#xff0c;所以借此來討論一下RoaringBitmap這個數據結構,這種思想是很值得借鑒的。 對于的實現可以參考一下 <dependency><groupId>org.roaringbitmap</groupId><…

數據結構:泰勒展開式:霍納法則(Horner‘s Rule)

目錄 &#x1f50d; 若用遞歸計算每一項&#xff0c;會發生什么&#xff1f; Horners Rule&#xff08;霍納法則&#xff09; 第一步&#xff1a;我們從最原始的泰勒公式出發 第二步&#xff1a;從形式上重新觀察展開式 &#x1f31f; 第三步&#xff1a;引出霍納法則&…

從Java的Jvm的角度解釋一下為什么String不可變?

從Java的Jvm的角度解釋一下為什么String不可變&#xff1f; 從 JVM 的角度看&#xff0c;Java 中 String 的不可變性是由多層次的機制共同保障的&#xff0c;這些設計涉及內存管理、性能優化和安全保障&#xff1a; 1. JVM 內存模型與字符串常量池 字符串常量池&#xff08;St…

初識硬編碼(x86指令描述)

硬編碼 任何一個程序其實都可以看做兩部分組成的&#xff0c;指令和數據 cpu并沒有明確的規定哪些要當做數據&#xff0c;哪些要當做指令來執行&#xff0c;把數據給EIP只要是遵循了指定的格式&#xff08;x86 x64 ARM&#xff09;&#xff0c;cpu都會當做指令來執行 x86/x64…

3.RV1126-OPENCV 圖像疊加

一.功能介紹 圖像疊加&#xff1a;就是在一張圖片上放上自己想要的圖片&#xff0c;如LOGO&#xff0c;時間等。有點像之前提到的OSD原理一樣。例如&#xff1a;下圖一張圖片&#xff0c;在左上角增加其他圖片。 二.OPENCV中圖像疊加常用的API 1. copyTo方法進行圖像疊加 原理…

MySQL垂直分庫(基于MyCat)

參考資料&#xff1a; 參考視頻 參考博客 Mycat基本部署 視頻參考資料&#xff1a;鏈接: https://pan.baidu.com/s/1xT_WokN_xlRv0h06b6F3yg 提取碼: aag3 概要&#xff1a; 本文的垂直分庫&#xff0c;全部是基于前文部署的基本架構進行的 垂直分庫&#xff1a; 垂直分庫…

Spitfire:Codigger 生態中的高性能、安全、分布式瀏覽器

Spitfire 是 Codigger 生態系統中的一款現代化瀏覽器&#xff0c;專為追求高效、隱私和分布式技術的用戶設計。它結合了 Codigger 的分布式架構優勢&#xff0c;在速度、安全性和開發者支持方面提供了獨特的解決方案&#xff0c;同時確保用戶對數據的完全控制。 1. 高性能瀏覽…

1-【源碼剖析】kafka核心概念

從今天開始開始在csdn上記錄學習的筆記&#xff0c;主要包括以下幾個方面&#xff1a; kafkaflinkdoris 本系列筆記主要記錄Kafka學習相關的內容。在進行kafka源碼學習之前&#xff0c;先介紹一下Kafka的核心概念。 消息 消息是kafka中最基本的數據單元&#xff0c;由key和…

互聯網大廠Java求職面試:云原生架構下的微服務網關與可觀測性設計

互聯網大廠Java求職面試&#xff1a;云原生架構下的微服務網關與可觀測性設計 鄭薪苦懷著忐忑的心情走進了會議室&#xff0c;對面坐著的是某大廠的技術總監張總&#xff0c;一位在云原生領域有著深厚積累的專家。 第一輪面試&#xff1a;微服務網關的設計挑戰 張總&#xf…

【HarmonyOS 5】針對 Harmony-Cordova 性能優化,涵蓋原生插件開發、線程管理和資源加載等關鍵場景

1. ?原生圖片處理插件&#xff08;Java&#xff09; package com.example.plugin; import ohos.media.image.ImageSource; import ohos.media.image.PixelMap; import ohos.app.Context; public class ImageProcessor { private final Context context; public ImagePro…

Java-IO流之緩沖流詳解

Java-IO流之緩沖流詳解 一、緩沖流概述1.1 什么是緩沖流1.2 緩沖流的工作原理1.3 緩沖流的優勢 二、字節緩沖流詳解2.1 BufferedInputStream2.1.1 構造函數2.1.2 核心方法2.1.3 使用示例 2.2 BufferedOutputStream2.2.1 構造函數2.2.2 核心方法2.2.3 使用示例 三、字符緩沖流詳…

健康檢查:在 .NET 微服務模板中優雅配置 Health Checks

&#x1f680; 健康檢查&#xff1a;在 .NET 微服務模板中優雅配置 Health Checks &#x1f4da; 目錄 &#x1f680; 健康檢查&#xff1a;在 .NET 微服務模板中優雅配置 Health Checks一、背景與意義 &#x1f50d;二、核心配置 &#x1f527;2.1 引入必要的 NuGet 依賴 &…

關于akka官方quickstart示例程序(scala)的記錄

參考資料 https://doc.akka.io/libraries/akka-core/current/typed/actors.html#first-example 關于scala語法的注意事項 extends App是個語法糖&#xff0c;等同于直接在伴生對象中編寫main 方法對象是通過apply方法創建的&#xff0c;也可以通過對象的名稱單獨創建&#x…

基于vue3-elemenyui的頁面加載及新建瀏覽頁案例

1.參考鏈接&#xff1a; 基于創建vue3鏈接&#xff1a;Vue3前端項目創建_vscode創建vue3項目-CSDN博客 基于創建elementui鏈接&#xff1a;Vue3引入ElementPlus_vue引入element-plus-CSDN博客 2.案例內容 該案例實現了基本的app.vue的路由跳轉、新建瀏覽頁參數傳入以及瀏覽…

板凳-------Mysql cookbook學習 (十)

5.6 改變字符串的字符集或字符排序 mysql> set s1 my string; Query OK, 0 rows affected (0.01 sec)mysql> set s2 convert(s1 using utf8); Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> select charset(s1), charset(s2); -------------------------…

使用nginx配置反向代理,負載均衡

首先啥叫反向代理 咋配置呢&#xff0c;那當然是在nginx目錄下改conf文件了 具體咋改呢&#xff0c;那就新增一個新的server配置&#xff0c;然后在location里新增你想代理的服務器 實際上負載均衡也就是根據反向代理的思路來的&#xff0c;如下所示 配置的話實際上也與上…