【YOLOv4】

YOLOv4 論文地址::【https://arxiv.org/pdf/2004.10934】

YOLOv4 論文中文翻譯地址:【深度學習論文閱讀目標檢測篇(七)中文版:YOLOv4《Optimal Speed and Accuracy of Object Detection》-CSDN博客】

yolov4的作者不是1-3的作者

采用IOU作為損失函數,由于IOU損失函數存在的一些問題,演化出GIOU DIOU CIOU

IOU:最開始的損失函數。沒有考慮IOU=0的情況不可導,位置因素也沒考慮

GIOU:加入了懲罰因子,BB和TG的外界。邊界框和真實框的外界矩形面積,面積并集,再除以外界矩形面積,從而解決了IOU損失中,IOU不可導的情況

DIOU:優化DIOU 引出面積重合,中心點距離

CIOU:優化DIOU,引入長寬比,當IOU越大,應當考慮長寬比,當IOU越小,個更多應該考慮中心點距離

CSP:是一篇論文,減少計算量的同時保證準確率,實現一部分直接傳遞到下一階段,另一部分通過卷積層進行處理后傳遞到下一階段,然后1通過跨階層次結構合并,翻譯:跨階段局部網絡。

SPP:原論文中SPP是為了適配不同輸入尺寸的圖像,能夠不resize就可以再特征提取之后跟上fc,YOLOv4中借鑒了這種思想,把提取的特征進行多角度池化,,結果堆疊,提升特征信息

并行:一起執行

串行:按照順序一個一個

PAN:路徑聚合網絡

1、改進點和貢獻

改進:

輸入端改進:CutMix、Mosaic 數據增強

主干網絡:CSPDarknet53 為 backbone、 SPP 額外添加模塊

頸部網絡:SPP(Spatial Pyramid Pooling)、PANet(Path Aggregation Network)

檢測頭:YOLOv3(基于 anchor 的)

損失函數:CIOU(Complete Intersection over Union )損失

激活函數:Mish 激活函數

樣本匹配:增加了匹配樣本的數量

YOLOv4 貢獻主要內容如下:

算力要求低,單 GPU 就能訓練好

從數據層面(數據增強等)和網絡設計層面(網絡結構)來進行改善

融合各種神經網絡論文的先進思想

2、數據增強策略

2.1 Bag of freebies

  • 通常情況下,傳統的目標檢測器的訓練都是在線下進行的。因此, 研究者們總是喜歡利用純線下訓練的好處而研究更好的訓練方法,使得目標檢測器在不增加測試成本的情況下達到更好的精度。我們將這些只需改變訓練策略或只增加訓練成本的方法稱為 bag of freebies。目標檢測經常采用并符合這個定義的就是數據增強。數據增強的目的是增加輸入圖像的多樣性,從而使設計的目標檢測模型對來自不同環境的圖片具有較高的魯棒性

  • 使用場景:Mosaic 數據增強、標簽平滑、自對抗訓練、損失函數 CIOU、CmBN

2.2 Bag of specials

  • 對于那些只會增加少量的推理成本插入模塊后期處理方法, 但可顯著提高目標檢測的準確性,我們稱其為 Bag of specials。一 般來說,這些插入模塊是用來增強模型的某些屬性的,如擴大感受野、 引入注意力機制、增強特征整合能力等,而后處理是一種篩選模型預測結果方法

  • 使用場景:Mish 激活函數、CSP 結構

2.3 CutMix 數據增強 【掌握】

  • 增強局部特征的學習:通過將不同圖像的局部特征混合在一起,模型可 以學習到更多的局部信息

  • 提高訓練效率:高價值信息增多,提升訓練效率,優化算法性能

  • 防止模型過擬合:通過引入更多樣的訓練樣本,CutMix 能夠提高模型的泛化能力,減少過擬合現象

  • 數據穩定:由于采用填充的形式,不會有圖像混合后不自然的情形,能夠提升模型分類的表現

2.4 Mosaic 數據增強 【掌握】

  • Mosaic 數據增強則利用了 4 張圖片,對 4 張圖片進行拼接,每一張圖片都有其對應的框,將 4 張圖片拼接之后就獲得一張新的圖片,同時也獲得這張圖片對應的框,然后將這樣一張新的圖片傳入到神經網絡當中去學習,這極大豐富了檢測物體的背景

  • Mosaic數據增強的具體步驟如下:

    • 首先隨機取 4 張圖片

    • 分別對 4 張圖片進行基本的數據增強操作,并分別粘貼至與最終輸出圖像大小相等掩模的對應位置

    • 進行圖片的組合和框的組合

  • 注意:

    • 基本的數據增強包括:翻轉、縮放以及色域變化(明亮度、飽和度、色調)等操作

  • 圖示:先對單張圖片做調整亮度、對比度、色調、隨機縮放、剪切、翻轉、旋轉等基本數據增強,后把 4 張圖片拼接在一起

  • 優點:

    • 增加數據多樣性:通過將多張圖像混合在一起,生成更多不同的訓練樣 本

    • 提升模型的魯棒性:模型在訓練過程中見過更多樣的圖像組合,能夠更 好地應對不同場景下的目標檢測任務

    • 減少過擬合:通過增加數據的多樣性,有助于防止模型過擬合,提升泛化能力

    • 減少訓練算力:由于一次性可以計算 4 張圖片,所以 Batch Size 可以不用 很大,也為 YOLOv4 在一張 GPU 卡上完成訓練奠定了數據基礎

2.5 DropBlock 正則化

  • DropBlock 是一種用于卷積神經網絡的正則化技術,旨在防止過擬合。它通過在訓練過程中隨機丟棄特征圖中的連續區域(塊)來增加模型的泛化能力。與傳統的 Dropout 不同,Dropout 隨機丟棄獨立的神經元,而 DropBlock 丟棄的是特征圖中的連續相鄰區域,這樣可以更有效地移除某些語義信息,從而提高正則化的效果

  • 圖示:圖(b) 表示 Dropout 、圖(c)表示 DropBlock

2.6 Class label smoothing

  • 標簽平滑(Label Smoothing)是一種正則化技術,用于減少模型在訓練過程中對訓練數據的過擬合提高模型的泛化能力。標簽平滑的基本思想是通過在訓練過程中對標簽進行平滑處理,減少模型對單一類別的過度自信,從而使得模型更加魯棒

  • 獨熱編碼(高維稀疏矩陣)(One-Hot Encoding)是一種將分類變量轉換為二進制向量的編碼方法,通過 One-Hot 編碼,可以將分類變量轉換為數值形式,假設有一個分類變量,它有 𝐾 個不同的類別。One-Hot 編碼會將每個類別映射到一個長度為 𝐾 的二進制向量,其中只有一個位置為 1,余位置為 0。這個位置對應于該類別的索引

  • 標簽平滑的工作原理:

    • 在傳統的分類任務中,標簽通常是以 one-hot 編碼的形式給出的。例如,對于一個三分類任務,標簽可能是 [1, 0, 0][0, 1, 0][0, 0, 1]。標簽平滑通過將這些硬標簽平滑為軟標簽,使得每個類別的概率不再是 0 或 1,而是一個介于 0 和 1 之間的值

    • 公式:

      • y_{true}是原始的 one-hot 編碼標簽

      • y_{smoothed}是平滑后的標簽

      • \epsilon是平滑系數,通常是一個較小的正數(例如 0.1)

      • K 是類別的總數

  • 案例:假設我們有一個三分類任務,原始的 one-hot 編碼標簽是 [1, 0, 0],平滑系數 𝜖=0.1,類別總數 𝐾=3。那么平滑后的標簽計算如下:

2.7 CmBN 【了解】

  • 交叉小批量歸一化(Cross mini-Batch Normalization,CmBN) 是 CBN 的修改版。CmBN會跨多個小批量對均值和方差進行積累和計算,逐漸形成一個全局的均值和方差,從而提升了統計量的穩定性和準確性,減少訓練震蕩

方法均值/方差計算方式是否跨 batch是否引入條件信息適用場景主要優勢
BN當前 batch 內通用簡單高效
CBN當前 batch + 條件信息多任務、生成模型控制特征分布
CmBN當前 batch + 歷史 batch(滑動平均)小 batch size提升統計穩定性

2.8 Mish 激活函數??

  • 與 ReLU 等非平滑激活函數相比,Mish 具有更好的平滑性,平滑的激活函數能夠讓模型獲得更好的非線性,從而得到更好的準確性和泛化,Mish 激活函數的數學表達式為:

  • Mish 函數和 ReLU 一樣都是無正向邊界的,可以避免梯度飽和

  • 使用了Mish激活函數的 TOP-1 和 TOP-5 的精度比沒有使用時都略高一些:

3、損失函數

  • MSE Loss 主要問題就是導數變化不穩定,尤其是在早期階段(損失越大,導數越大),隨著導數越來越小, 訓練速度變得越來越慢。也因此有學者提出了 IOU 一系列的損失函數,IOU 損失函數演變的過程如下:IOU => GIOU => DIOU =>CIOU 損失函數,每一種損失函數都較上一種損失函數有所提升

3.1 IoU Loss

  • IoU 損失定義如下:交集越大,損失越小

  • 不適合的情況:

    • 情況 1 ,當預測框和目標框不相交時,IoU=0,無法反映兩個框距離的遠近,此時損失函數不可導

    • 情況 2 和情況 3 的情況,當 2 個預測框大小相同,2 個 IoU 也相同,IOU Loss 無法區分兩者位置的差異

3.2 GIoU Loss

  • GIoU(Generalized loU)是對 IoU 的改進版本

  • 圖中最大外接矩形為 C,紅色區域為差集 A(C-并集),那么給出 GIoU Loss 的表達式如下:

  • 優點:

    • 在 GIoU 不僅關注重疊區域,還關注其他的非重合區域,能夠更好的反映兩者的重合度,即添加了懲罰因子,緩解了 IoU Loss 不可導的問題

  • 缺點:

    • 下面 3 種情況差集均相等,這個時候 GIoU Loss 就退化為了 IoU Loss,GIoU Loss 也無法反映 3 種情況的好壞,即無法區分相對位置關系

3.3 DIoU Loss

  • 為了解決 GIoU 遇到的問題,DIoU(Distance loU)就誕生了。DIoU 作者認為好的目標框回歸函數應該考慮 3 個重要幾何因素:重疊面積、中心點距離,長寬比

  • 針對 IoU 和 GIoU 存在的問題,DIoU 作者從兩個方面進行考慮

    • 如何最小化預測框和目標框之間的歸一化距離?

    • 如何在預測框和目標框重疊時,回歸的更準確?

  • 針對第一個問題,提出了 DIoU Loss(Distance IoU Loss),DIoU Loss 考慮了重疊面積和中心點距離,當目標框包裹預測框的時候,直接計算 2 個框的距離,因此 DIoU Loss 收斂的更快

  • 公式:

  • 圖示:

  • 效果圖:

  • 缺點:

    • 如下圖所示的 3 種狀態預測框和真實目標框的中心點距離是相同的,DIoU Loss 也退化成了 IoU Loss。如上面提到的目標檢測回歸函數需要考慮到的 3 種因素,DIoU Loss 沒有引入長寬比的衡量

3.4 CIoU Loss? 【掌握】

  • 為了解決 DIoU 遇到的問題,CIoU(Complete loU) Loss 被提出來,CIoU 在 DIoU 基礎上把目標框長寬比的相似程度考慮進去,利用懲罰因子進行約束

  • YOLOv4 采用 CIoU Loss 做回歸損失函數,而分類損失和目標損失都使用的是交叉熵損失。對于回歸損失,其數學表達式如下:

  • CIoU Loss 將目標框回歸函數應該考慮的 3 個重要幾何因素都考慮進去了:重疊面積、中心點距離、長寬比

4、網絡結構

采用了稱為 CSPDarknet-53 的新的主干網絡結構,它基于 Darknet-53,并通過使用 CSP(Cross Stage Partial)模塊來提高特征表示的能力

  • YOLOv4 = CSPDarknet53(骨干) + SPP 附加模塊PANet 路徑聚合(頸) + Yolov3(檢測頭)

?

?

4.2 CSPNet

  • CSPNet(Cross Stage Partial Network):跨階段局部網絡,主要從網絡結構設計的角度解決推理中計算量很大的問題

  • CSPNet 的作者認為推理計算過高的問題是由于網絡優化中的梯度信息重復導致的。因此采用 CSP(Cross Stage Partial)模塊先將基礎層的特征按照通道劃分為兩部分,一部分直接傳遞到下一個階段,另一部分則通過一些卷積層進行處理后再傳遞到下一個階段,然后通過跨階段層次結構將它們合并,在減少了計算量的同時可以保證準確率

  • CSP 在論文《CSP:A New Backbone that can Enhance Learning Capability of CNN 》提出,把 CSP 應用到 ResNe(X)t,模型結構如下圖所示:

  • Bottleneck 層通常由三個卷積層組成:

    • 第一個 1×1 卷積層:用于降低輸入通道數,以減少后續卷積層的計算量

    • 第二個 3×3 卷積層:在降維后的特征圖上進行卷積操作,提取特征

    • 第三個 1×1 卷積層:將通道數恢復到原始維度,以供下一層使用

  • 優點:

    • 增強 CNN 的學習能力,使得在輕量化的同時保持準確性

    • 降低計算成本、內存成本

4.3 YOLOV4 的 CSP

  • 空間金字塔池化網絡(Spatial Pyramid Pooling Network,SPPNet)主要目的是解決圖像在輸入到卷積神經網絡時尺寸不一的問題。通過將不同大小的輸入映射到固定長度的輸出,SPP 模塊使得神經網絡能夠處理任意大小的輸入,從而大大提高了模型的靈活性和泛化能力

  • YOLOv4 借鑒了 SPP 的思想,SPP 模塊被集成在主干網絡之后,用于增強模型對多尺度目標的感知能力。

  • 將經過不同尺度池化后的特征圖沿通道維度進行拼接。由于每個池化操作的結果都是 13×13×256,而我們進行了 4 次不同的池化操作(包括原特征圖),最終得到的是一個 13×13×(4×256)=13×13×1024 的特征圖,在這個過程中,雖然我們改變了特征圖的處理方式,但我們并沒有改變其空間分辨率(仍然是 13×13),而是增加了通道數(從 256 增加到 1024)。這樣做可以有效地增加網絡的感受野,并結合了不同尺度的信息,有助于提高模型對于各種大小目標的檢測性能

?

4.5 FPN+PAN

  • 路徑聚合網絡(Path Aggregation Network,PAN),在 FPN 的基礎之上進一步優化而來,用于在不同尺度的特征圖之間進行信息傳遞和融合,以獲取更好的多尺度特征表示

  • 在 YOLOv4 中,PANet(Path Aggregation Network)是一種用于特征金字塔網絡(Feature Pyramid Network, FPN)的改進版本,旨在增強特征的多尺度融合能力,從而提高目標檢測的精度。PANet 通過自底向上的路徑增強機制,進一步加強了特征圖的跨尺度信息傳遞,這對于檢測不同大小的目標尤其重要

  • YOLOV4 中的 PANet 主要由兩部分組成:

    • 自頂向下的路徑(FPN):這部分與傳統的 FPN 類似,從高層(語義信息豐富但空間信息較少)到低層(空間信息豐富但語義信息較少)逐步上采樣,并與低層特征圖進行融合,生成多尺度的特征圖,作用就是負責將深層的強語義特征傳遞到底層特征圖中,增強低層特征圖的語義表達能力,有助于檢測大目標

    • 自底向上的路徑(PAN):這是 PANet 相對于傳統 FPN 的一個重要改進,它從低層到高層逐步下采樣,并與高層特征圖進行融合,進一步增強特征圖的跨尺度信息傳遞,作用就是負責將淺層的精確定位特征傳遞到高層特征圖中,增強高層特征圖的定位能力,有助于檢測小目標

  • 改進:YOLOv4在原始PAN結構的基礎上進行了改進。原本的 PANet 網絡的 PAN 結構中,特征層之間融合時是直接通過加法(addition)的方式進行融合的,而 YOLOv4 中則采用在通道方向上進行拼接(Concat)的方式進行融合

5、模型性能

5.1 數據增強性能影響

  • 選型:CutMix + Mosaic + Label Smoothing + Mish

5.2 增強對檢測的效果

5.3 Backbone性能影響

5.4 mini-batch性能影響

5.5 推理時間和精度

5.6 COCO 數據集性能對比

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

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

相關文章

【秋招筆試】2025.08.03蝦皮秋招筆試-第一題

?? 點擊直達筆試專欄 ??《大廠筆試突圍》 ?? 春秋招筆試突圍在線OJ ?? 筆試突圍在線刷題 bishipass.com 01. 蛋糕切分的最大收益 問題描述 K小姐經營著一家甜品店,今天她有一塊長度為 n n n 厘米的長條蛋糕需要切分。根據店里的規定,她必須將蛋糕切成至少 2 2

2.0 vue工程項目的創建

前提準備.需要電腦上已經安裝了nodejs 參考 7.nodejs和npm簡單使用_npmjs官網-CSDN博客 創建vue2工程 全局安裝 Vue CLI 在終端中運行以下命令來全局安裝 Vue CLI: npm install -g vue/cli npm install -g 表示全局安裝。vue/cli 是 Vue CLI 的包名。 安裝完成后…

視覺圖像處理中級篇 [2]—— 外觀檢查 / 傷痕模式的原理與優化設置方法

外觀缺陷檢測是工業生產中的關鍵環節,而傷痕模式作為圖像處理的核心算法,能精準識別工件表面的劃痕、污跡等缺陷。掌握其原理和優化方法,對提升檢測效率至關重要。一、利用傷痕模式進行外觀檢查雖然總稱為外觀檢查,但根據檢查對象…

ethtool,lspci,iperf工具常用命令總結

ethtool、lspci 和 iperf 是 Linux 系統中進行網絡硬件查看、配置和性能測試的核心命令行工具。下面是它們的常用命令分析和總結: 核心作用總結: lspci: 偵察兵 - 列出系統所有 PCI/PCIe 總線上的硬件設備信息,主要用于識別網卡型號、制造商、…

DAY10DAY11-新世紀DL(DeepLearning/深度學習)戰士:序

本文參考視頻[雙語字幕]吳恩達深度學習deeplearning.ai_嗶哩嗶哩_bilibili 參考文章0.0 目錄-深度學習第一課《神經網絡與深度學習》-Stanford吳恩達教授-CSDN博客 1深度學習概論 1.舉例介紹 lg房價預測:房價與面積之間的坐標關系如圖所示,由線性回歸…

flutter release調試插件

chucker_flutter (只有網絡請求的信息,親測可以用) flutter:3.24.3 使用版本 chucker_flutter: 1.8.2 chucker_flutter | Flutter package void main() async {// 可以控制顯示ChuckerFlutter.showNotification false;ChuckerF…

基于開源鏈動2+1模式AI智能名片S2B2C商城小程序的私域流量拉新策略研究

摘要:私域流量運營已成為企業數字化轉型的核心戰略,其本質是通過精細化用戶運營實現流量價值最大化。本文以“定位、拉新、養熟、成交、裂變、留存”全鏈路為框架,聚焦開源鏈動21模式、AI智能名片與S2B2C商城小程序的協同創新,揭示…

華為云云服務高級顧問葉正暉:華為對多模態大模型的思考與實踐

嘉賓介紹:葉正暉,華為云云服務高級顧問,全球化企業信息化專家,從業年限超過23年,在華為任職超過21年,涉及運營商、企業、消費者、云服務、安全與隱私等領域,精通云服務、安全合規、隱私保護等領…

【機器學習(二)】KNN算法與模型評估調優

目錄 一、寫在前面的話 二、KNN(K-Nearest Neighbor) 2.1 KNN算法介紹 2.1.1 概念介紹 2.1.2 算法特點 2.1.3 API 講解 2.2 樣本距離計算 2.2.1 距離的類型 (1)歐幾里得距離(Euclidean Distance) …

《Uniapp-Vue 3-TS 實戰開發》實現自定義頭部導航欄

本文介紹了如何將Vue2組件遷移至Vue3的組合式API。主要內容包括:1) 使用<script setup lang="ts">語法;2) 通過接口定義props類型約束;3) 用defineProps替代props選項;4) 將data變量轉為ref響應式變量;5) 使用computed替代計算屬性;6) 將created生命周期…

GitCode疑難問題診療

問題診斷與解決框架通用問題排查流程&#xff08;適用于大多數場景&#xff09; 版本兼容性驗證方法 網絡連接與權限檢查清單常見錯誤分類與解決方案倉庫克隆失敗場景分析 HTTP/SSH協議錯誤代碼解讀 403/404錯誤深層原因排查高級疑難問題處理分支合并沖突的深度解決 .gitignore…

告別物業思維:科技正重構產業園區的價值坐標系

文 | 方寸控股引言&#xff1a;當產業園區的競爭升維為“科技軍備競賽”&#xff0c;土地紅利消退&#xff0c;政策優勢趨同&#xff0c;傳統園區運營陷入增長困局。當招商團隊還在用Excel統計企業需求&#xff0c;當能耗管理依賴保安夜間巡檢&#xff0c;當企業服務停留在“修…

GitHub 熱門項目 PandaWiki:零門檻搭建智能漏洞庫,支持 10 + 大模型接入

轉自&#xff1a;Khan安全團隊你還沒有自己的漏洞庫嗎&#xff1f;一條命令教你搭建。PandaWiki 是一款 AI 大模型驅動的開源知識庫搭建系統&#xff0c;幫助你快速構建智能化的 產品文檔、技術文檔、FAQ、博客系統&#xff0c;借助大模型的力量為你提供 AI 創作、AI 問答、AI …

Python 程序設計講義(55):Python 的函數——函數的參數

Python 程序設計講義&#xff08;55&#xff09;&#xff1a;Python 的函數——函數的參數 目錄Python 程序設計講義&#xff08;55&#xff09;&#xff1a;Python 的函數——函數的參數一、聲明形參二、傳遞實參&#xff08;位置參數&#xff09;1、在調用函數進行傳遞參數時…

機器學習sklearn:支持向量機svm

概述&#xff1a;現在就只知道這個svm可以畫出決策邊界&#xff0c;對數據的劃分。簡單舉例就是&#xff1a;好的和壞的數據分開&#xff0c;中間的再驗證from sklearn.datasets import make_blobs from sklearn.svm import SVC import matplotlib.pyplot as plt import numpy …

Django ORM 詳解:從入門到進階,掌握數據庫操作的核心

在 Django 中&#xff0c;ORM&#xff08;Object Relational Mapping&#xff0c;對象關系映射&#xff09; 是框架的核心之一。它允許你使用 Python 代碼來操作數據庫&#xff0c;而無需編寫原始 SQL 語句。Django ORM 不僅簡化了數據庫操作&#xff0c;還提升了代碼的可讀性、…

mac中使用gvm install沒有效果

問題表現&#xff1a; mac使用了gvm install一直沒有效果&#xff08;添加代理也沒效果&#xff09;&#xff0c;效果如下圖所示&#xff0c;始終卡在downloading&#xff0c;但是gvm version是正常的解決辦法&#xff1a; 手動安裝go的版本&#xff08;版本號自行選擇&#xf…

【React】狀態管理

兩個狀態管理工具&#xff1a; dva 是一個基于 Redux 和 React Router 的數據流方案&#xff0c;它提供了對 Redux 和 React Router 的封裝&#xff0c;使得在使用 dva 時可以更方便地進行狀態管理和路由操作。React Redux是一個JavaScript狀態管理庫&#xff0c;它的核心包括s…

?CVPR2025 FreeUV:無真值 3D 人臉紋理重建框架

&#x1f4c4;論文題目&#xff1a;FreeUV: Ground-Truth-Free Realistic Facial UV Texture Recovery via Cross-Assembly Inference Strategy ??作者及機構&#xff1a;Xingchao Yang、Takafumi Taketomi、Yuki Endo、Yoshihiro Kanamori&#xff08;CyberAgent、Universit…

Google Chrome <140.0.7297.0 MediaStreamTrackImpl UAF漏洞

【高危】Google Chrome <140.0.7297.0 MediaStreamTrackImpl UAF漏洞 漏洞描述 Google Chrome 是美國谷歌&#xff08;Google&#xff09;公司的一款Web瀏覽器。 受影響版本中&#xff0c;當處理媒體流時&#xff0c;MediaStreamTrackImpl 組件在銷毀前&#xff0c;未能清…