增強現實—Multimodal text style transfer for outdoor vision-and-language navigation

🌟🌟 歡迎來到我的技術小筑,一個專為技術探索者打造的交流空間。在這里,我們不僅分享代碼的智慧,還探討技術的深度與廣度。無論您是資深開發者還是技術新手,這里都有一片屬于您的天空。讓我們在知識的海洋中一起航行,共同成長,探索技術的無限可能。

🚀 探索專欄:學步_技術的首頁 —— 持續學習,不斷進步,讓學習成為我們共同的習慣,讓總結成為我們前進的動力。

🔍 技術導航:

  • 人工智能:深入探討人工智能領域核心技術。
  • 自動駕駛:分享自動駕駛領域核心技術和實戰經驗。
  • 環境配置:分享Linux環境下相關技術領域環境配置所遇到的問題解決經驗。
  • 圖像生成:分享圖像生成領域核心技術和實戰經驗。
  • 虛擬現實技術:分享虛擬現實技術領域核心技術和實戰經驗。

🌈 非常期待在這個數字世界里與您相遇,一起學習、探討、成長。不要忘了訂閱本專欄,讓我們的技術之旅不再孤單!

💖💖💖 ?? 歡迎關注和訂閱,一起開啟技術探索之旅! ??

文章目錄

  • 1. 背景介紹
  • 2 相關工作
      • 多模態預訓練(Multimodal Pre-training)
      • 無監督文本風格遷移(Unsupervised Text Style Transfer)
  • 3 方法
    • 3.1 任務定義
    • 3.2 總體框架
    • 3.3 多模態文本風格遷移模型
      • 指令風格差異
      • 掩碼-恢復機制
      • 模型結構
      • 訓練目標
    • 3.4 VLN Transformer
      • 指令編碼器
      • 視圖編碼器
      • 跨模態編碼器
      • 動作預測器
  • 4 實驗
    • 4.1 數據集
    • 4.2 評估指標
    • 4.3 結果與分析
  • 5 結論

1. 背景介紹

Zhu W, Wang X E, Fu T J, et al. Multimodal text style transfer for outdoor vision-and-language navigation[J]. arXiv preprint arXiv:2007.00229, 2020.

🚀以上學術論文翻譯由ChatGPT輔助。

自然語言處理(NLP)中最具挑戰性的問題之一是視覺-語言聯合理解與推理。戶外視覺語言導航(Outdoor VLN)正是這樣一項任務:智能體需要根據自然語言指令,在真實的城市環境中完成導航。然而,由于缺乏詳細描述復雜城市場景的人類注釋數據,戶外 VLN 仍是一項難以解決的問題。

本文提出了一種**多模態文本風格遷移(Multimodal Text Style Transfer, MTST)**學習方法,借助外部多模態資源緩解戶外導航任務中的數據稀缺問題。我們的做法包括兩部分:

  • 指令風格增強:我們首先將 Google Maps API 自動生成的導航文本,遷移為更接近人類語言風格的自然語言指令,從而擴展和豐富導航數據;
  • 多模態預訓練:我們在增強后的外部戶外導航數據集上對導航模型進行預訓練,以提升模型在真實任務中的泛化能力。

實驗結果表明,MTST 是一種模型無關(model-agnostic)的方法,可直接集成到現有 VLN 系統中,并顯著提升導航性能。在測試集上,MTST 相比基線模型在任務完成率上取得了 8.7% 的相對提升,驗證了該方法在緩解數據稀缺、提升導航智能體表現方面的有效性。

人工智能研究面臨的一項關鍵挑戰,是從靜態觀察性數據動態行為與增量決策過程轉變(Fenton et al., 2020)。戶外視覺語言導航(Outdoor VLN)正是這樣一項挑戰性任務:智能體需在城市環境中,根據自然語言指令,結合視覺場景完成導航,如圖 1 所示。為了生成正確的動作序列,導航智能體必須理解指令并推理當前視覺環境。

不同于已有大量研究的室內導航任務(Anderson et al., 2018;Wang et al., 2018;Fried et al., 2018 等),戶外導航發生在更復雜的城市街景中(Mirowski et al., 2018;Chen et al., 2019),這導致搜索空間巨大,導航路徑更長,視覺目標種類也更豐富。這要求指令內容更加充實以適應復雜的場景。然而,收集由人類編寫的細致導航指令代價極高,數據稀缺問題嚴重限制了導航模型的性能。

為解決這一問題,Fried et al.(2018)曾提出 Speaker 模型,自動合成訓練樣本。但在復雜城市環境中,僅從視覺信號生成自然語言指令是非常困難的。相比之下,Google Maps API 可提供基于模板的導航指令,易于獲取,具有潛在的輔助價值。然而,這些指令僅包含街道名稱與方向提示,而缺乏對真實街景中視覺目標的提及,與人類注釋指令在風格上差異巨大,從而限制了它們的直接利用價值。

針對這一問題,本文提出了一種全新的多模態文本風格遷移(Multimodal Text Style Transfer, MTST)方法,用于縮小外部模板指令與真實人類指令之間的風格差異。我們將外部數據中的模板指令轉換為“類人風格”的指令,使其具備方向提示與街景物體描述的結合表達能力(見圖 1),以此增強訓練樣本中的視覺-語言對齊信息,從而緩解數據不足問題。

此外,本文還提出了一種新型的VLN Transformer 模型,用于在戶外 VLN 中執行導航預測。實驗表明,利用 Google Maps API 提供的外部導航數據進行預訓練,能夠顯著提升在 Touchdown 數據集(Chen et al., 2019)上的導航效果。進一步地,在預訓練中使用 MTST 方法生成的“風格增強”指令,可進一步提升魯棒性與性能。

綜上,本文的主要貢獻包括:

  • 提出一種多模態文本風格遷移(MTST)方法,有效緩解戶外 VLN 的數據稀缺問題;
  • 構建并公開Manh-50 輔助數據集,其中包含風格遷移后的導航指令,支持模型訓練;
  • 設計一種新穎的VLN Transformer 模型,實現對復雜指令與場景的更好建模;
  • 實驗證明:使用經過 MTST 處理的外部資源進行預訓練,可使任務完成率在測試集上相對提升 8.7%

2 相關工作

視覺-語言導航(Vision-and-Language Navigation, VLN)是一項要求智能體在三維環境中,根據自然語言指令完成目標導航的任務。除了已有研究廣泛探討的泛化能力問題(Wang et al., 2018, 2019;Tan et al., 2019;Zhang et al., 2020),數據稀缺問題同樣是該任務中的關鍵挑戰,尤其在真實的戶外環境中更為嚴重(Chen et al., 2019;Mehta et al., 2020;Xiang et al., 2020)。

Fried et al.(2018)提出使用 Speaker 模型對導航軌跡進行反向翻譯,從而構建大量偽指令以增強訓練數據。然而,由于該模型缺乏大規模語料的泛化能力優化,其生成質量可能引發誤差累積問題。大多數現有研究在測試階段采用路徑逐步選擇策略,但 Majumdar et al.(2020)則提出在測試時轉換為路徑分類問題,即在已探索環境中對一組候選路徑進行選擇,該方法在室內 VLN 表現良好,但不適用于復雜結構差異較大的戶外導航圖。

多模態預訓練(Multimodal Pre-training)

為提升多模態任務表現,Transformer 架構已成為主流方案,廣泛應用于編碼圖像與文本特征(Tan & Bansal, 2019;Lu et al., 2019;Chen et al., 2020;Sun et al., 2019;Li et al., 2019;Huang et al., 2020b;Luo et al., 2020;Li et al., 2020;Zheng et al., 2020;Wei et al., 2020;Tsai et al., 2019)。這些方法通過預訓練任務(如 Masked Language Modeling、Masked Region Modeling、圖文匹配)學習跨模態表征能力,從而在下游任務中展現出良好性能。

Majumdar et al.(2020)進一步使用 Web 上的大規模圖文對來預訓練 VLN-BERT,一種類 BERT 的視覺語言模型。Hao et al.(2020)提出使用 Transformer 架構用于室內 VLN,但我們的方法與其存在若干差異:

  • 預訓練目標不同:Hao 等人僅在 VLN 原始數據上進行訓練;而我們通過 MTST 方法,構建增強型風格遷移數據集,并在此基礎上進行預訓練;
  • 導航目標優化方式不同:我們依賴于簡單的導航損失函數,而對方使用 MLM 任務增強表示學習;
  • 模型輸入粒度不同:我們進行句級別編碼以處理 Touchdown 中的長指令,而對方使用整句特征;
  • 歷史編碼策略不同:我們模型編碼的是整個軌跡歷史,而對方僅編碼當前位置的全景圖像。

無監督文本風格遷移(Unsupervised Text Style Transfer)

風格遷移是一種應對缺乏平行訓練語料的有效方式。部分工作采用 VAE(變分自編碼器)將文本編碼為隱向量,并在隱空間中進行風格操作(Shen et al., 2017;Hu et al., 2017;Yang et al., 2018),常配合判別器進行訓練。另一些工作則構建編碼-解碼結構進行風格遷移(John et al., 2019;Fu et al., 2018)。

此外,還有研究通過回譯生成偽平行語料(Artetxe et al., 2018;Lample et al., 2018a,b;Zhang et al., 2018)來擴充訓練集。我們的 MTST 方法可視為結合了風格遷移與外部數據增強的一種有效實踐,其生成過程同時參考了導航環境中的視覺對象和語言結構,確保風格遷移后的指令具備導航性與可讀性。

3 方法

3.1 任務定義

在視覺-語言導航(VLN)任務中,智能體需要根據一組自然語言指令 X = { s 1 , s 2 , … , s m } X = \{s_1, s_2, \dots, s_m\} X={s1?,s2?,,sm?} 找到通往目標位置的正確路徑。導航過程被視為一系列決策過程。在每個時間步 t t t,導航環境提供一個圖像視角 v t v_t vt?。結合指令 X X X 和視角 v t v_t vt?,智能體需從動作集合 A A A 中選擇一個動作 a t ∈ A a_t \in A at?A。城市環境中的動作集合通常包含:左轉、右轉、前進和停止。

3.2 總體框架

我們提出的多模態文本風格遷移(MTST)學習方法由兩個主要模塊組成:多模態文本風格遷移模型 和 VLN Transformer。如圖 2 所示,MTST 方法利用風格遷移模型縮小人類標注導航指令與外部機器生成指令之間的差異。風格遷移模型在真實戶外導航數據上訓練,用于為外部資源軌跡生成風格調整后的指令。VLN Transformer 則是導航智能體,采用兩階段訓練流程:首先在帶有風格遷移指令的外部數據上預訓練,然后在真實戶外導航數據上進行微調。

3.3 多模態文本風格遷移模型

指令風格差異

如表 1 所示,Google Maps API 生成的導航指令為模板化結構,強調街道名稱與方向。而人工標注的指令更關注視覺環境中的物體,如交通燈、車輛、遮陽篷等。風格遷移的目標是將更多物體相關信息注入機器生成的指令中,同時保持導航引導信號的準確性。

掩碼-恢復機制

我們采用“掩碼與恢復”(masking-and-recovering)機制(Zhu et al., 2019;Liu et al., 2019;Donahue et al., 2020;Huang et al., 2020a)訓練風格遷移模型:對人類指令中的物體詞、機器指令中的街道詞進行掩碼,再嘗試借助剩余上下文與軌跡恢復這些內容。我們使用 NLTK(Bird et al., 2009)實現詞語掩碼,連續多個 token 會被替換為單一 [ MASK ] [\text{MASK}] [MASK] token。指導詞如 “turn left” 不會被掩碼,確保導航引導性不被破壞。

模型結構

模型基于 Fried et al.(2018)提出的 Speaker 模型,增加了文本注意力機制。輸入包括軌跡視圖特征與掩碼指令骨架 X ′ X' X。每個視圖表示為 v t ′ = [ v v ′ ; v α ′ ] v'_t = [v'_v; v'_\alpha] vt?=[vv?;vα?],其中 v v ′ ∈ R 512 v'_v \in \mathbb{R}^{512} vv?R512 是由 ResNet18(He et al., 2016)輸出的視覺特征, v α ′ ∈ R 64 v'_\alpha \in \mathbb{R}^{64} vα?R64 是通過重復 [ sin ? α , cos ? α ] [\sin\alpha, \cos\alpha] [sinα,cosα] 構建的方向編碼(參考 Fried et al., 2018)。

  • 視覺注意力計算如下:

attn v t , i = softmax ( ( W v h t ? 1 ) T v i ′ ) \text{attn}_{v_t,i} = \text{softmax}((W_v h_{t-1})^T v'_i) attnvt?,i?=softmax((Wv?ht?1?)Tvi?)

v ^ t = ∑ i = 1 8 attn v t , i v i ′ \hat{v}_t = \sum_{i=1}^{8} \text{attn}_{v_t,i} v'_i v^t?=i=18?attnvt?,i?vi?

  • 文本特征通過句子平均嵌入表示,文本注意力計算如下:

attn s t , j = softmax ( ( W s h t ? 1 ) T s j ′ ) \text{attn}_{s_t,j} = \text{softmax}((W_s h_{t-1})^T s'_j) attnst?,j?=softmax((Ws?ht?1?)Tsj?)

s ^ t = ∑ j = 1 M attn s t , j s j ′ \hat{s}_t = \sum_{j=1}^{M} \text{attn}_{s_t,j} s'_j s^t?=j=1M?attnst?,j?sj?

其中 M M M 為最大句子數。

  • 最終隱藏狀態為:

h t = LSTM ( [ v ^ t ; s ^ t ; v t ′ ] ) h_t = \text{LSTM}([\hat{v}_t; \hat{s}_t; v'_t]) ht?=LSTM([v^t?;s^t?;vt?])

訓練目標

采用教師強制(teacher-forcing)訓練策略(Williams & Zipser, 1989),解碼器基于掩碼指令 X ′ X' X 與軌跡生成完整指令,訓練目標為最小化如下交叉熵損失:

L ( x 1 , x 2 , … , x n ∣ X ′ , v 1 ′ , … , v N ′ ) = ? log ? ∏ j = 1 n P ( x j ∣ x 1 , … , x j ? 1 , X ′ , v 1 ′ , … , v N ′ ) L(x_1, x_2, \dots, x_n | X', v'_1, \dots, v'_N) = - \log \prod_{j=1}^{n} P(x_j | x_1, \dots, x_{j-1}, X', v'_1, \dots, v'_N) L(x1?,x2?,,xn?X,v1?,,vN?)=?logj=1n?P(xj?x1?,,xj?1?,X,v1?,,vN?)

其中 x 1 , … , x n x_1, \dots, x_n x1?,,xn? 為原始指令 token, N N N 為軌跡視圖數量。


3.4 VLN Transformer

VLN Transformer 是導航智能體,結構包括:指令編碼器、軌跡編碼器、跨模態編碼器與動作預測器(如圖 4 所示)。

指令編碼器

使用預訓練的 BERT-base(Devlin et al., 2019),將每條指令按句點分割,計算第 i i i 個句子 s i = { x i , 1 , … , x i , l i } s_i = \{x_{i,1}, \dots, x_{i,l_i}\} si?={xi,1?,,xi,li??} 的嵌入:

w i , j = BERT ( x i , j ) ∈ R 768 w_{i,j} = \text{BERT}(x_{i,j}) \in \mathbb{R}^{768} wi,j?=BERT(xi,j?)R768

h s i = FC ( 1 l i ∑ j = 1 l i w i , j ) ∈ R 256 h_{s_i} = \text{FC}\left(\frac{1}{l_i} \sum_{j=1}^{l_i} w_{i,j} \right) \in \mathbb{R}^{256} hsi??=FC(li?1?j=1li??wi,j?)R256

視圖編碼器

采用與 Chen et al.(2019)相同策略:每個全景圖像被切分為 8 張圖片并投影為透視圖,使用 ResNet18 提取每張圖的 128 × 100 × 58 128 \times 100 \times 58 128×100×58 特征,然后拼接為 128 × 100 × 464 128 \times 100 \times 464 128×100×464 特征圖。以航向 α t \alpha_t αt? 為中心裁剪并平均得到 100 × 100 100 \times 100 100×100 的全景特征 $ \hat{I}_t $。最后通過三層 CNN 提取視圖特征 h v t ∈ R 256 h_{v_t} \in \mathbb{R}^{256} hvt??R256

跨模態編碼器

用于融合語言與視覺模態信息,采用 8 層 Transformer,隱藏維度為 256,包含掩碼機制,避免訪問未來軌跡。

輸入為:

[ h s 1 , … , h s M ; h v 1 , … , h v t ? 1 ] [ h_{s_1}, \dots, h_{s_M}; h_{v_1}, \dots, h_{v_{t-1}} ] [hs1??,,hsM??;hv1??,,hvt?1??]

每個輸入加上位置嵌入與段落嵌入,表示其屬于語言或視覺模態。

動作預測器

一個全連接層,根據當前時間步前的融合特征預測動作:

h concat = h s 1 ∣ ∣ … ∣ ∣ h s M ∣ ∣ h v 1 ∣ ∣ … ∣ ∣ h v t h_{\text{concat}} = h_{s_1} || \dots || h_{s_M} || h_{v_1} || \dots || h_{v_t} hconcat?=hs1??∣∣∣∣hsM??∣∣hv1??∣∣∣∣hvt??

a t = arg ? max ? ( FC ( T ( h concat ) ) ) a_t = \arg\max(\text{FC}(T(h_{\text{concat}}))) at?=argmax(FC(T(hconcat?)))

其中 T T T 為 Transformer 編碼器,訓練時采用交叉熵損失優化。

4 實驗

4.1 數據集

戶外 VLN 數據集
在戶外 VLN 任務中,我們在 Touchdown 數據集(Chen 等,2019;Mehta 等,2020)上進行實驗。該數據集基于 Google 街景視圖,涵蓋紐約曼哈頓地區的 29,641 個街景全景圖,通過 61,319 條無向邊連接。數據集中包含 9,326 條導航軌跡,每條軌跡都配有人類編寫的指令。訓練集包含 6,526 個樣本,驗證集和測試集分別包含 1,391 和 1,409 個樣本。

外部資源
我們采用 StreetLearn 數據集作為戶外 VLN 任務的外部輔助資源(Mirowski 等,2018)。StreetLearn 同樣基于 Google 街景圖,涵蓋紐約和匹茲堡兩座城市,共包含 114k 個全景圖。其中,紐約圖包含 56k 個節點和 115k 條邊,匹茲堡圖包含 57k 個節點和 118k 條邊。該數據集共計提供了曼哈頓地區 580k 個樣本和匹茲堡地區 8k 個樣本。

由于 StreetLearn 的每條軌跡平均包含更多全景圖,其配套的指令比 Touchdown 更短。為便于實驗,我們從 StreetLearn 中提取了一個子集,命名為 Manh-50,該子集僅包含不超過 50 個全景圖的導航軌跡,共計 31k 個訓練樣本。我們為 Manh-50 生成了風格遷移后的指令,用作輔助數據集,用于導航模型的預訓練。詳細內容見附錄。

4.2 評估指標

我們使用以下指標評估 VLN 模型性能:

  • 任務完成率(Task Completion, TC):成功完成導航任務的準確率。若智能體最終位置是目標點或其相鄰節點,則視為成功(Chen et al., 2019)。
  • 最短路徑距離(Shortest-Path Distance, SPD):智能體最終位置與目標點之間的環境圖距離均值。
  • 編輯距離加權成功率(Success weighted by Edit Distance, SED):智能體路徑與參考路徑的 Levenshtein 編輯距離歸一化指標,僅對成功導航進行評估。
  • 路徑覆蓋度加權得分(Coverage weighted by Length Score, CLS):評估智能體路徑與參考路徑之間的匹配程度。
  • 歸一化動態時間規整(Normalized Dynamic Time Warping, nDTW):智能體路徑與參考路徑之間的最小累積距離,歸一化后取負指數。
  • 成功樣本動態時間規整(Success weighted DTW, SDTW):nDTW 的成功樣本加權版本。

其中,TC、SPD 和 SED 來自 Chen et al. (2019);CLS 來自 Jain et al. (2019);nDTW 和 SDTW 來自 Ilharco et al. (2019)。我們調整了 nDTW 的歸一化因子,將其設為參考路徑長度平方根的倒數,以獲得路徑長度無關性(參考 Mueen 和 Keogh,2016)。

4.3 結果與分析

戶外 VLN 表現
我們將 VLN Transformer 與基線模型 RCONCAT(Chen et al., 2019)和 GA(Chen et al., 2019)進行比較。兩者均采用 LSTM 編碼軌跡與指令,并使用 Hogwild! 進行監督訓練。表 2 顯示了在 Touchdown 驗證集和測試集上的導航結果,VLN Transformer 在大多數指標上優于基線模型,除了 SPD 和 CLS。

在 Manh-50 上進行預訓練能部分提升導航表現。三種模型在 TC、SED、SDTW 等與成功率相關的指標上均獲得提升,但由于 Manh-50 與 Touchdown 指令風格差異較大,預訓練會導致 Transformer 模型的 SPD 表現下降。

與此相比,我們的 MTST 學習方法能更有效地利用外部資源,并進一步提升所有指標下的導航性能。預訓練時使用風格遷移后的指令在三種模型中均帶來穩定收益,說明 MTST 是模型無關的通用方法。

表 4 對比了成功與失敗樣本中的 SPD 值。VLN Transformer 在成功樣本中表現更優,但失敗樣本中路徑偏長,降低了整體 CLS 指標。不過在實際導航中,失敗時多探索區域未必是壞事,這可作為未來研究方向。

多模態文本風格遷移在 VLN 中的作用
我們評估了不同風格遷移模型生成的指令對 VLN 性能的影響。如表 3 所示,僅使用 Speaker 生成的指令會誤導導航;加入文本注意力略有改進;而使用 MTST 模型生成的風格遷移指令可顯著提升導航指標,驗證了 MTST 的有效性。

指令質量評估
我們使用五種自動化文本生成指標(BLEU、ROUGE、METEOR、CIDEr、SPICE)評估生成指令的質量,并引入引導信號匹配率(Match Rate, MR)以及注入詞數量(#infill)指標。結果顯示,MTST 模型在全部七項指標上表現最優,說明“掩碼-恢復”機制有助于注入更多與視覺對象相關的信息,從而生成更高質量的指令。

人工評估
我們在 Amazon Mechanical Turk 上進行人工評估,從 Touchdown 驗證集中抽取 170 對指令進行配對比對。結果顯示,MTST 模型生成的指令在指導性和語義對齊性方面均優于其它模型。

案例分析
圖 5 展示了兩組指令生成示例。Speaker 模型存在幻覺現象(hallucination),即提及軌跡中不存在的對象;加入文本注意力后方向指導性提高但視覺信息不足;而我們的 MTST 模型能準確保留導航引導語,并融合更多對象信息(如“紅綠燈”、“腳手架”)。

5 結論

本文提出了一種用于戶外 VLN 的多模態文本風格遷移(MTST)學習方法,能夠充分利用域外導航樣本并豐富原有導航推理訓練過程。實驗表明,MTST 方法對模型結構無依賴,能有效緩解數據稀缺問題,且在多個導航性能指標上優于現有基線模型。未來工作中,我們計劃:

  • 探索構建端到端的指令遷移與導航統一框架;
  • 進一步提升風格遷移后指令的生成質量;
  • 提出量化指標,用于衡量風格遷移指令與軌跡之間的一致性。

🌟 在這篇博文的旅程中,感謝您的陪伴與閱讀。如果內容對您有所啟發或幫助,請不要吝嗇您的點贊 👍🏻,這是對我最大的鼓勵和支持。

📚 本人雖致力于提供準確且深入的技術分享,但學識有限,難免會有疏漏之處。如有不足或錯誤,懇請各位業界同仁在評論區留下寶貴意見,您的批評指正是我不斷進步的動力!😄😄😄

💖💖💖 如果您發現這篇博文對您的研究或工作有所裨益,請不吝點贊、收藏,或分享給更多需要的朋友,讓知識的力量傳播得更遠。

🔥🔥🔥 “Stay Hungry, Stay Foolish” —— 求知的道路永無止境,讓我們保持渴望與初心,面對挑戰,勇往直前。無論前路多么漫長,只要我們堅持不懈,終將抵達目的地。🌙🌙🌙

👋🏻 在此,我也邀請您加入我的技術交流社區,共同探討、學習和成長。讓我們攜手并進,共創輝煌!
在這里插入圖片描述

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

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

相關文章

黑馬程序員新版Linux學習筆記——第二部分 基礎命令

一、Linux目錄結構 二、命令基礎 三、ls 列目錄內容 3.1 命令 3.2 參數 3.3 總結 四、cd 切換工作目錄 4.1命令 五、pwd 查看當前工作目錄 5.1命令 六、相對路徑、絕對路徑、特殊路徑符 七、mkdir 創建目錄命令 7.1命令 八、touch、cat、more 文件操作命令 8.1 touch 8.2c…

日常運維問題匯總-25

76.銷售訂單交貨單狀態更新 實務中偶有發生交貨已完成,無需開票或開票已經完成,交貨單狀態為:處理中,且仍然出現在VF04中,如下圖所示: 解決方法: T-CODE:VL_COMPLETE,可對錯誤的DN狀態進行更新…

【2025 年】軟件體系結構考試試卷-期末考試

2025 年軟件體系結構考試試卷 考試學期:2025 考試形式:閉卷 考試時間:120 分鐘 年級:______ 專業:軟件工程 班級:______ 一、單選題(每小題 1.5 分,共 24 分) 關于策略…

4.查看、刪除數據庫

1.顯示所有數據庫 SHOW DATABASE 2.顯示數據庫創建語句 SHOW CREAT DATABASE db_name 例如想查看某個數據庫是怎樣創建的,用的什么字符集啥的。 3.數據庫刪除語句【慎用】 DROP DATABASE [IF EXISTS] db_name 刪除某個數據庫之前一定要確定是否進行了備份。

設計模式 - 原型模式

原型模式(Prototype),在制造業種通常是指大批量生產開始之前研發出的概念模型,并基于各種參數指標對其進行檢驗,效果達到了質量要求,即可參照這個原型進行批量生產。即,原型模式可以用對象創建對…

MySQL數據庫基礎:從零開始的第一步【Linux】

前言 各位小伙伴們,好久不見!近期,我的文章更新頻率確實有些緩慢,在此誠摯地向大家道歉。這個月是我的期末考試月,正處于緊張的復習(也可以說是重新學習)階段。盡管學業繁忙,但我依然…

502 Bad Gateway:服務器作為網關或代理時收到無效響應處理方式

502 Bad Gateway 錯誤是 Web 開發和服務器管理中常見的問題,通常表示網關或代理服務器收到無效響應。這種錯誤可能由多種原因引起,包括后端服務故障、網絡問題或配置錯誤等。了解502錯誤的原因及其處理方式,對于維護網站的可用性和用戶體驗至…

Abel 變換,離散型分部積分

文章目錄 零、引入:分部積分一、Abel 變換1.1 Abel 變換1.2 證明 二、一些比較淺顯的應用2.1 等差 乘 等比型求和2.2 平方求和公式2.3 不等式證明 三、一些算法題的式子優化3.1 3500.將數組分割為子數組的最小代價3.2 D. Array Splitting3.3 300. 任務安排1 零、引入…

火山 RTC 引擎12----合流轉推 集成

一、火山、網易 合流轉推集成 1、 首次先要startPush,要不然,推不了流 void NRTCEngine::PushToCDN(std::string taskID, std::string url) {if (m_video == nullptr) return;bytertc::IMixedStreamConfig* config = getMixedStreamConfig(url);int ret = m_video->star…

基于STM32設計的物聯網疫苗冷鏈物流監測系統

文章目錄 一、前言1.1 項目介紹【1】項目開發背景【2】設計實現的功能【3】項目硬件模塊組成【4】設計意義【5】國內外研究現狀(1)國內研究現狀(2)國外研究現狀(3)技術演進趨勢分析(4)現存技術缺口(5)關鍵案例技術對比表【6】摘要1.2 設計思路1.3 系統功能總結1.4 開…

音頻中采樣率和幀是什么?怎么理解?

視頻中的“幀”是指一張圖片,那么在音頻中,“幀”的含義就完全不同了。理解音頻中的“幀”概念,對做音視頻處理、流媒體開發非常關鍵。 一、聲音是怎么采集的? 音頻采集是指通過麥克風等設備捕捉周圍環境中的聲波,并…

第三方檢測護航軟件登記:企業合規的技術通行證與市場信任基石

一、軟件產品登記測試:合規化的必經之路 根據《軟件產品管理辦法》,所有上市軟件必須通過第三方檢測機構的專業評估,確保功能、性能、安全性等指標符合國家標準(如GB/T 25000系列)。這一強制性要求不僅規避了法律風險…

產品頁不被收錄的6個技術原因(非重復內容/爬蟲限制類)

頁面未被收錄的原因可能藏在代碼架構或服務器配置中 比如爬蟲無法“看懂”你的動態內容,或是某個參數設置錯誤導致頁面被判定為重復。 本文從技術排查角度出發,整理6個最易被忽視但直接影響收錄的實操問題。 頁面加載速度拖慢爬蟲抓取 例如&#xff0…

如何在FastAPI中打造一個既安全又靈活的權限管理系統?

title: 如何在FastAPI中打造一個既安全又靈活的權限管理系統? date: 2025/06/16 08:17:05 updated: 2025/06/16 08:17:05 author: cmdragon excerpt: FastAPI權限系統通過依賴注入實現三級驗證:身份認證、角色驗證和權限校驗。數據庫模型包括用戶、角色和權限注冊表,支持…

通過Radius認證服務器實現飛塔/華為防火墻二次認證:原理、實踐與安全價值解析

引言:數字化轉型中的身份認證挑戰 在數字化轉型加速的今天,企業網絡邊界日益模糊,混合云架構、遠程辦公、物聯網設備接入等場景對網絡安全提出全新挑戰。傳統防火墻基于IP/端口的訪問控制已無法滿足動態安全需求,如何構建"持…

golang--context的使用指南與核心特性

Go 語言 context 包:使用指南與核心特性 一、context 的本質與設計目的 context 是 Go 語言中管理請求生命周期的核心機制,它提供了一套統一的方式來: 傳遞請求范圍數據(如用戶認證信息)控制跨 goroutine 的生命周期…

耗時3小時,把這兩天做好的爬蟲程序,用Python封裝成exe文件

先執行命令如下: pip install pyinstaller py -m PyInstaller --log-levelDEBUG --add-data "config.ini;." nmpa_gui.py很快在dist目錄下就有生成一個nmpa_gui文件夾,運行 nmpa_gui.exe,報錯: 1??初始化爬蟲… 程序…

Linux下nginx訪問路徑頁面

第一步:通過Xshell在虛擬機中下載nginx sudo apt-get install nginx 第二步:進入nginx配置頁面 cd /etc/nginx 我這里創建了一個html文件夾 在進入去創建頁面并且重新加載 boahuboahu-VMware-Virtual-Platform:/$ cd /etc/nginx boahuboahu-VMware-Vir…

三維視頻融合怎么弄?三步實現精準投射與自由修剪

分享大綱: 1、場景引入:為什么你的三維場景視頻融合效果不理想? 2、解決方案:捷碼視頻融合三步操作指南 3、捷碼平臺:低代碼構建動態三維視界 在智慧城市中的安防領域,將實時視頻與三維場景融合已是大勢需求…

探索阿里云網絡與CDN產品:解鎖高效網絡體驗

阿里云網絡產品概述 在云計算蓬勃發展的當下,網絡作為連接計算、存儲與用戶的關鍵紐帶,其重要性不言而喻。阿里云作為全球知名的云計算服務提供商,憑借其豐富且強大的網絡產品體系,為企業數字化轉型筑牢了堅實的網絡根基&#xf…