
革命性視覺語言模型ViT-B-16-SigLIP-512從零開始的零樣本圖像分類完整指南【免費下載鏈接】ViT-B-16-SigLIP-512項目地址: https://ai.gitcode.com/hf_mirrors/timm/ViT-B-16-SigLIP-512ViT-B-16-SigLIP-512是一款基于Sigmoid損失函數(shù)的語言-圖像預(yù)訓(xùn)練SigLIP模型專為零樣本圖像分類任務(wù)設(shè)計在WebLI數(shù)據(jù)集上訓(xùn)練而成。它實現(xiàn)了圖像與文本的深度語義對齊讓計算機能夠像人類一樣理解視覺內(nèi)容無需大量標注數(shù)據(jù)即可完成圖像分類任務(wù)。什么是ViT-B-16-SigLIP-512核心技術(shù)解析ViT-B-16-SigLIP-512融合了兩大創(chuàng)新技術(shù)視覺TransformerViT將圖像分割成16×16的補丁序列通過Transformer架構(gòu)提取圖像特征SigLIP損失函數(shù)采用Sigmoid交叉熵損失替代傳統(tǒng)對比學(xué)習(xí)的InfoNCE損失大幅提升了圖像-文本匹配精度該模型最初由Google Research在Big Vision項目中用JAX框架開發(fā)現(xiàn)已轉(zhuǎn)換為PyTorch格式可通過OpenCLIP庫圖像文本或timm庫僅圖像使用。模型關(guān)鍵參數(shù)輸入尺寸512×512像素架構(gòu)類型對比式圖像-文本模型預(yù)訓(xùn)練數(shù)據(jù)WebLI大規(guī)模圖像-文本數(shù)據(jù)集許可證Apache-2.0快速上手3步實現(xiàn)零樣本圖像分類環(huán)境準備首先克隆項目倉庫并安裝依賴git clone https://gitcode.com/hf_mirrors/timm/ViT-B-16-SigLIP-512 cd ViT-B-16-SigLIP-512 pip install open-clip-torch2.23.0 timm0.9.8 torch pillow使用OpenCLIP進行零樣本分類以下代碼展示如何使用模型對圖像進行分類無需任何訓(xùn)練數(shù)據(jù)import torch import torch.nn.functional as F from urllib.request import urlopen from PIL import Image from open_clip import create_model_from_pretrained, get_tokenizer # 加載模型和預(yù)處理工具 model, preprocess create_model_from_pretrained(hf-hub:timm/ViT-B-16-SigLIP-512) tokenizer get_tokenizer(hf-hub:timm/ViT-B-16-SigLIP-512) # 加載并預(yù)處理圖像 image Image.open(urlopen(https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png)) image preprocess(image).unsqueeze(0) # 定義分類標簽 labels_list [a dog, a cat, a donut, a beignet] text tokenizer(labels_list, context_lengthmodel.context_length) # 模型推理 with torch.no_grad(), torch.cuda.amp.autocast(): image_features model.encode_image(image) text_features model.encode_text(text) image_features F.normalize(image_features, dim-1) text_features F.normalize(text_features, dim-1) # 計算標簽概率 text_probs torch.sigmoid(image_features text_features.T * model.logit_scale.exp() model.logit_bias) # 輸出結(jié)果 zipped_list list(zip(labels_list, [round(p.item(), 3) for p in text_probs[0]])) print(Label probabilities: , zipped_list)使用timm提取圖像特征如果只需獲取圖像嵌入特征用于其他任務(wù)可使用timm庫from urllib.request import urlopen from PIL import Image import timm # 加載圖像 image Image.open(urlopen(https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png)) # 創(chuàng)建模型不帶分類頭 model timm.create_model( vit_base_patch16_siglip_512, pretrainedTrue, num_classes0, ) model model.eval() # 獲取模型特定的預(yù)處理變換 data_config timm.data.resolve_model_data_config(model) transforms timm.data.create_transform(**data_config, is_trainingFalse) # 提取特征 output model(transforms(image).unsqueeze(0)) # 輸出形狀: (batch_size, num_features)模型優(yōu)勢與應(yīng)用場景為什么選擇ViT-B-16-SigLIP-512?零樣本能力無需標注數(shù)據(jù)即可對新類別進行分類?跨模態(tài)理解深度融合視覺和語言語義?高效遷移預(yù)訓(xùn)練特征可用于下游任務(wù)微調(diào)?輕量級部署B(yǎng)ase規(guī)模模型平衡性能與計算成本典型應(yīng)用場景內(nèi)容審核自動識別圖像內(nèi)容是否符合規(guī)范智能檢索通過文本描述搜索相關(guān)圖像輔助創(chuàng)作為圖像自動生成描述性標簽機器人視覺幫助機器人理解周圍環(huán)境技術(shù)細節(jié)與原理SigLIP損失函數(shù)創(chuàng)新傳統(tǒng)對比學(xué)習(xí)使用InfoNCE損失而SigLIP采用Sigmoid交叉熵損失這一改進允許每個圖像與多個文本標簽匹配減輕了負樣本選擇偏差問題提高了模型對細分類別的區(qū)分能力相關(guān)論文Sigmoid loss for language image pre-trainingWebLI數(shù)據(jù)集模型訓(xùn)練于WebLI數(shù)據(jù)集該數(shù)據(jù)集包含大規(guī)模網(wǎng)絡(luò)圖像-文本對多樣化的場景和概念高質(zhì)量的語言描述引用與致謝如果您在研究中使用了ViT-B-16-SigLIP-512請引用以下論文article{zhai2023sigmoid, title{Sigmoid loss for language image pre-training}, author{Zhai, Xiaohua and Mustafa, Basil and Kolesnikov, Alexander and Beyer, Lucas}, journal{arXiv preprint arXiv:2303.15343}, year{2023} }misc{big_vision, author {Beyer, Lucas and Zhai, Xiaohua and Kolesnikov, Alexander}, title {Big Vision}, year {2022}, publisher {GitHub}, journal {GitHub repository}, howpublished {\url{https://github.com/google-research/big_vision}} }本模型基于Google Research的Big Vision項目開發(fā)感謝原作者團隊的貢獻?!久赓M下載鏈接】ViT-B-16-SigLIP-512項目地址: https://ai.gitcode.com/hf_mirrors/timm/ViT-B-16-SigLIP-512創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考