在許多應用中,特別是在準備機器學習的資料集時,自動化標記、標籤或描述圖像是一項至關重要的任務。這正是圖像轉文字模型派上用場的地方。在領先的圖像轉文字模型中,包括 CLIP、BLIP、WD 1.4(也稱為 WD14 或 Waifu Diffusion 1.4 Tagger)、SigLIP 2 以及具備視覺功能的 ChatGPT。
CLIP:革命性的飛躍
OpenAI 的 Contrastive Language–Image Pretraining(CLIP)模型因其在理解和生成圖像描述方面的革命性方法而廣受認可。CLIP 利用大量的網路文字和圖像資料來學習眾多視覺概念,從而為圖像生成描述性句子。
然而,根據使用者評論,CLIP 的描述性句子有時可能顯得冗餘或過於囉嗦。常見的批評圍繞在該模型傾向於針對同一物體重複類似的描述,或過分強調某些屬性,例如物體的顏色。
BLIP:簡約與功能性的結合
BLIP 模型雖然在描述細節方面不如 CLIP,但在圖像轉文字處理方面提供了一種更簡潔直接的方法。正如一位評論者指出的,BLIP「很酷,但它相當基本」。對於需要直接、不那麼冗長的標籤或描述的應用來說,此模型的簡約性可能是一種優勢。
儘管如此,一些使用者發現 BLIP 的輸出通常缺乏像 WD14 等模型所提供的深度和細緻度。雖然它可以產生令人滿意的結果,但對於需要詳細、複雜標籤的應用來說,BLIP 可能不是最佳選擇。
我發現 WD14 雖然最初是針對動漫設計的,但在實際人物照片上的效果也非常好。我通常將它與 BLIP 結合使用,而且大多數時候它能捕捉到比 BLIP 更多的細節。
Toni Corvera at YouTube comments
Blip 很酷,但它相當基本。
WD 1.4 (WD14) 的標記效果更好——更詳細,標籤更豐富。
OrphBean at GitHub
WD 1.4(又稱 WD14):細節中的精準度
WD 1.4 模型(也稱為 WD14 或 Waifu Diffusion 1.4 Tagger)最初是為動漫圖像設計的,但已展現出令人驚訝的多功能性,即使在照片上的表現也很好。使用者稱讚其進階的配置選項和批次處理能力,這使其成為圖像轉文字轉換的強大工具。
WD14 的與眾不同之處在於它能夠生成詳細、「更豐富」的標籤,與其同類產品相比,能提供更深入的圖像描述。雖然此模型不太可能產生虛假的標籤,但其對動漫的關注可能成為某些圖像類型的限制。
問:WD14 標籤器是否比 Automatic1111 內建的 BLIP 或 deepdanbooru 更好?
答:此擴充功能為配置和批次處理提供了更好的選項,而且我發現它比 deepdanbooru 更不容易產生完全虛假的標籤。CLIP/BLIP 是不同的,因為它們產生的是描述性句子,而不是標籤列表,但後者通常更符合我的需求。而且內建的 CLIP 詢問器容易產生諸如「一張(描述)的圖片和一張(對同一事物的略有不同的描述)的圖片」或「(幾乎完整的描述)和粉紅色的頭髮和粉紅色的頭髮和粉紅色的頭髮和(重複多次)」之類的東西
儘管是為動漫製作的,但 WD14 標籤器在照片上的效果也相當不錯。
MorganTheDual at Reddit
SigLIP 2:強大的圖像轉文字引擎
Google 推出的免費且開放模型 SigLIP 2,不僅僅是一個視覺語言模型;它是一個將圖像轉化為有意義文字的強大引擎。雖然它擅長圖像-文字檢索和零樣本分類等任務,但其架構和訓練增強功能使其成為圖像轉文字生成和理解的有力競爭者。以下是 SigLIP 2 在此背景下的運作方式分解:
基礎:視覺轉換器 (ViT) 和 Sigmoid 損失
- 視覺轉換器 (ViT): 與卷積神經網路 (CNN) 不同,SigLIP 2 使用視覺轉換器 (ViT) 架構。ViT 將圖像視為一系列圖塊,類似於自然語言處理中將單詞視為標記的方式。每個圖塊都轉換為向量表示(嵌入)。這使得模型能夠使用強大的轉換器架構,該架構以捕捉長距離依賴關係而聞名,從而理解圖像不同部分之間的關係。
- Sigmoid 損失(非對比性): SigLIP(和 SigLIP 2)的一個關鍵區別在於使用sigmoid 損失函數,而不是更常見的對比性損失(用於像 CLIP 這樣的模型)。對比學習需要將圖像與多個文字選項進行比較。另一方面,Sigmoid 損失將圖像-文字匹配視為每個圖像-文字對的二元分類問題。這個看似微小的變化產生了巨大的影響:它可以實現更穩定的訓練和更好的效能,尤其是在更大的批次大小下。它專注於單獨的圖像-文字對匹配。
增強文字生成的訓練
SigLIP 2 以 SigLIP 的基礎為基礎,並增加了幾個關鍵的增強功能,這些功能直接有益於其圖像轉文字能力:
- 基於標題的預訓練: 這是非常重要的一步。SigLIP 2 將標題納入其預訓練過程的一部分。這表示它經過明確的訓練,可以生成圖像的文字描述。這與原始 CLIP 等模型形成對比,後者主要接受圖像-文字匹配而非生成的訓練。
- 受自我監督學習的啟發: SigLIP 2 利用了強大的技術:
- 自我蒸餾: 模型從其自身的預測中學習,隨著時間的推移改進其理解。
- 遮罩預測: 輸入的部分(圖像圖塊或文字標記)被隱藏,模型學習預測遺失的部分。這迫使它對兩種模態進行更深入的理解。
- LocCa 損失和解碼器: SigLIP 2 整合了 LocCa 損失,該損失增加了一個帶有交叉注意力的轉換器解碼器。此解碼器專門針對圖像標題、指稱表達式預測(根據文字識別區域)和接地標題等任務進行訓練。這增強了細粒度的定位和詳細的特徵提取。
所有功能如何結合在一起(圖像 -> 文字)
- 圖像輸入: 圖像被饋送到 ViT 編碼器。
- 圖塊嵌入: 圖像被劃分為圖塊,每個圖塊都轉換為嵌入向量。
- 轉換器編碼: 轉換器層處理這些圖塊嵌入,捕捉圖像不同部分之間的關係。學習到的位置嵌入提供有關每個圖塊位置的資訊。
- 注意力池化: 基於注意力的池化機制(MAP head)將來自圖塊嵌入的資訊聚合為單一、全面的圖像表示。
- 文字解碼器(對於圖像轉文字至關重要): 這是 SigLIP 2 的標題生成能力發揮作用的地方。來自編碼器的圖像表示被饋送到轉換器解碼器(由 LocCa 損失添加)。解碼器使用交叉注意力來關注圖像表示的相關部分,同時生成文字。
- 文字輸出: 解碼器生成一系列文字標記,形成圖像的標題或描述。
多語言能力
SigLIP 2 不僅限於英語。它在多語言資料集 (WebLI) 上進行訓練,使其能夠理解和生成多種語言的文字,使其成為真正的全球圖像轉文字工具。
總結
SigLIP 2 強大的基於 ViT 的架構、sigmoid 損失,以及至關重要的基於解碼器的預訓練,結合標題生成和自我蒸餾,使其成為圖像轉文字任務的高效模型。它超越了簡單的圖像-文字匹配,主動生成描述性文字,為自動圖像標題、視覺問答和詳細圖像分析等應用開啟了可能性。
連結
具備視覺功能的 ChatGPT
如果您需要描述一個不太大的圖像資料集,可以使用 ChatGPT 中的 Image Describer 工具。它不適用於大批量的圖像,但它非常適合較小的圖像集,因為它可以提供絕對最佳的自然語言描述。來自此工具的描述非常精確和詳細。它不僅僅是標籤,而且是連貫且資訊豐富的文字,還可以考慮到圖像中物體之間的關係。
範例:
測試圖像集:



Image Describer 對於這 3 張圖像的輸出:
您已上傳三張圖像。以下是每張圖像的描述:
- 第一張圖像的特色是一隻可愛、風格化的卡通小貓,有著又大又富於表情的眼睛。它主要呈橘色,臉部、胸部和爪子上帶有白色點綴。小貓拿著一支筆,筆幾乎和它自己一樣大,並且正在一個亮黃色的球上畫一個笑臉。藝術風格非常精緻,帶有一種光滑的表面效果。背景暗示了一個異想天開的場景,帶有色彩繽紛的抽象形狀和星空的暗示。
- 第二張圖像似乎是社群媒體平台的聊天或評論區的螢幕截圖。許多使用者留下了評論,其中許多評論都包含笑聲或幽默感,以諸如「LMAO」之類的縮寫和表情符號表示。使用者名稱和個人資料圖片已進行像素化處理以保護隱私,像素化處理中顯示了各種顏色。
- 第三張圖像是一位年輕女性的高度細緻和逼真的插圖,她面帶友善的表情。她有著黑色長髮、白皙的皮膚,並穿著一件紫色連帽衫。這位女性還戴著耳機,這表明她可能是一位電玩遊戲實況主或參與某種形式的線上交流。背景似乎是一個被紫色色調照亮的房間,可能是來自 LED 燈,這表明是一個遊戲設定。
每張圖像都有非常不同的背景和視覺風格,從異想天開的插圖到數位互動的螢幕截圖,再到更逼真的數位繪畫。
總結
在 CLIP、BLIP、WD 1.4、SigLIP 2 和 Image Describer 之間進行選擇,很大程度上取決於專案的特定需求。如果精準度和細節至關重要,WD 1.4 以其進階的配置和詳細的標記功能提供了一個引人注目的選擇。對於更簡單的應用,BLIP 的直接方法可能更適合。同時,CLIP 在細節和簡約之間取得了平衡,儘管它有囉嗦的傾向。
Image Describer 提供了最佳結果,但不適用於描述或標記大量的圖像集。
隨著這些模型的持續發展和改進,它們在從內容創作到資料分析的廣泛應用領域中都具有令人期待的潛力。儘管 CLIP、BLIP、WD 1.4、SigLIP 2 和 GPT-Vision 模型之間存在差異,但它們都證明了圖像轉文字技術的快速發展,每個模型都為這個令人興奮的領域貢獻了獨特的優勢。