Smolvlm 500M Anime Caption V0.2
專注於描述動漫風格圖像的視覺語言模型,基於SmolVLM-500M-Base微調
下載量 17
發布時間 : 5/12/2025
模型概述
專為高效生成高質量的動漫風格圖像描述而設計,能夠為各類動漫作品和插畫作品生成自然流暢的英文描述
模型特點
動漫風格專注
專門針對動漫圖像優化,能準確捕捉動漫特有風格特徵
高效生成
500M參數規模平衡了性能與效率
合成數據訓練
使用大語言模型生成的40萬組高質量合成數據
模型能力
動漫圖像描述生成
動漫內容索引
動漫風格識別
使用案例
內容創作
動漫作品字幕生成
為動漫作品自動生成英文描述字幕
自然流暢的風格化描述
數據管理
動漫資料庫標記
自動化生成動漫圖像元數據
提升資料庫檢索效率
🚀 SmolVLM-500M-Anime-Caption-v0.1
SmolVLM-500M-Anime-Caption-v0.1 是一款專注於描述動漫風格圖像的視覺語言模型。它基於先進的大語言模型技術,能夠高效且高質量地為動漫風格圖像生成自然流暢的英文描述,為動漫內容的索引、標記等應用場景提供有力支持。
🚀 快速開始
模型基本信息
屬性 | 詳情 |
---|---|
基礎模型 | HuggingFaceTB/SmolVLM-500M-Base |
視覺編碼器 | SigLIP (google/siglip-base-patch16-512) |
語言 | 英語(圖像描述) |
許可證 | Apache 2.0 |
微調數據集 | 通過先進大語言模型生成的 40 萬對合成動漫圖像/描述對,專注於動漫內容和風格 |
模型描述
該模型專為高效、高質量地描述動漫風格圖像而設計,能夠為各種動漫和插畫作品生成自然的英文描述。
預期用途
- 動漫圖像描述:為動漫、漫畫面板或插畫生成英文描述。
- 內容索引或標記:用於以動漫為重點的檔案、數據庫和創意工具。
適用範圍外/限制
該模型不適用於現實世界照片描述、非動漫藝術作品或關鍵決策場景。
✨ 主要特性
- 專注動漫:專門針對動漫風格圖像進行優化,能夠準確捕捉動漫作品的獨特特徵和風格。
- 高質量描述:生成的英文描述自然流暢,符合語言表達習慣。
- 高效推理:在處理動漫圖像時具有較高的效率。
📦 安裝指南
文檔中未提及安裝步驟,故跳過此章節。
💻 使用示例
基礎用法
import requests
from PIL import Image
import torch
from transformers import AutoProcessor, Idefics3ForConditionalGeneration, TextIteratorStreamer, StoppingCriteria, StoppingCriteriaList
base_model_id = "Andres77872/SmolVLM-500M-anime-caption-v0.2"
processor = AutoProcessor.from_pretrained(base_model_id)
model = Idefics3ForConditionalGeneration.from_pretrained(
base_model_id,
device_map="auto",
torch_dtype=torch.bfloat16
)
class StopOnTokens(StoppingCriteria):
def __init__(self, tokenizer, stop_sequence):
super().__init__()
self.tokenizer = tokenizer
self.stop_sequence = stop_sequence
def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs) -> bool:
new_text = self.tokenizer.decode(input_ids[0], skip_special_tokens=True)
max_keep = len(self.stop_sequence) + 10
if len(new_text) > max_keep:
new_text = new_text[-max_keep:]
return self.stop_sequence in new_text
def prepare_inputs(image: Image.Image):
# IMPORTANT: The question prompt must remain fixed as "describe the image".
# This model is NOT designed for visual question answering.
# It is strictly an image captioning model, not intended to answer arbitrary visual questions.
question = "describe the image"
messages = [
{
"role": "user",
"content": [
{"type": "image"},
{"type": "text", "text": question}
]
}
]
max_image_size = processor.image_processor.max_image_size["longest_edge"]
size = processor.image_processor.size.copy()
if "longest_edge" in size and size["longest_edge"] > max_image_size:
size["longest_edge"] = max_image_size
prompt = processor.apply_chat_template(messages, add_generation_prompt=True)
inputs = processor(text=[prompt], images=[[image]], return_tensors='pt', padding=True, size=size)
inputs = {k: v.to(model.device) for k, v in inputs.items()}
return inputs
# Example: caption a sample anime image
image = Image.open(requests.get('https://img.arz.ai/5A7A-ckt', stream=True).raw).convert("RGB")
inputs = prepare_inputs(image)
stop_sequence = "</RATING>"
streamer = TextIteratorStreamer(
processor.tokenizer,
skip_prompt=True,
skip_special_tokens=True,
)
custom_stopping_criteria = StoppingCriteriaList([
StopOnTokens(processor.tokenizer, stop_sequence)
])
with torch.no_grad():
generation_kwargs = dict(
**inputs,
streamer=streamer,
do_sample=False,
max_new_tokens=512,
pad_token_id=processor.tokenizer.pad_token_id,
stopping_criteria=custom_stopping_criteria,
)
import threading
generation_thread = threading.Thread(target=model.generate, kwargs=generation_kwargs)
generation_thread.start()
for new_text in streamer:
print(new_text, end="", flush=True)
generation_thread.join()
高級用法
文檔中未提及高級用法相關代碼,故跳過此部分。
📚 詳細文檔
訓練詳情
- 微調數據集:40 萬對動漫圖像和合成英文描述對。
- 描述生成:合成描述使用 Llama 4 Maverick 生成。
- 任務:圖像到文本,專注於高質量動漫風格描述。
- 基礎模型:HuggingFaceTB/SmolVLM-500M-Base
許可證
Apache 2.0(繼承自基礎模型和訓練組件)
歸屬說明
該模型是 HuggingFaceTB/SmolVLM-500M-Base 的微調衍生模型,使用大語言模型生成的合成數據,用於動漫圖像描述任務。
⚠️ 重要提示
問題提示必須固定為 "describe the image",該模型並非設計用於視覺問答,它嚴格是一個圖像描述模型,不用於回答任意視覺問題。
💡 使用建議
在使用該模型時,確保輸入的是動漫風格的圖像,以獲得最佳的描述效果。
Clip Vit Large Patch14
CLIP是由OpenAI開發的視覺-語言模型,通過對比學習將圖像和文本映射到共享的嵌入空間,支持零樣本圖像分類
圖像生成文本
C
openai
44.7M
1,710
Clip Vit Base Patch32
CLIP是由OpenAI開發的多模態模型,能夠理解圖像和文本之間的關係,支持零樣本圖像分類任務。
圖像生成文本
C
openai
14.0M
666
Siglip So400m Patch14 384
Apache-2.0
SigLIP是基於WebLi數據集預訓練的視覺語言模型,採用改進的sigmoid損失函數,優化了圖像-文本匹配任務。
圖像生成文本
Transformers

S
google
6.1M
526
Clip Vit Base Patch16
CLIP是由OpenAI開發的多模態模型,通過對比學習將圖像和文本映射到共享的嵌入空間,實現零樣本圖像分類能力。
圖像生成文本
C
openai
4.6M
119
Blip Image Captioning Base
Bsd-3-clause
BLIP是一個先進的視覺-語言預訓練模型,擅長圖像描述生成任務,支持條件式和非條件式文本生成。
圖像生成文本
Transformers

B
Salesforce
2.8M
688
Blip Image Captioning Large
Bsd-3-clause
BLIP是一個統一的視覺-語言預訓練框架,擅長圖像描述生成任務,支持條件式和無條件式圖像描述生成。
圖像生成文本
Transformers

B
Salesforce
2.5M
1,312
Openvla 7b
MIT
OpenVLA 7B是一個基於Open X-Embodiment數據集訓練的開源視覺-語言-動作模型,能夠根據語言指令和攝像頭圖像生成機器人動作。
圖像生成文本
Transformers 英語

O
openvla
1.7M
108
Llava V1.5 7b
LLaVA 是一款開源多模態聊天機器人,基於 LLaMA/Vicuna 微調,支持圖文交互。
圖像生成文本
Transformers

L
liuhaotian
1.4M
448
Vit Gpt2 Image Captioning
Apache-2.0
這是一個基於ViT和GPT2架構的圖像描述生成模型,能夠為輸入圖像生成自然語言描述。
圖像生成文本
Transformers

V
nlpconnect
939.88k
887
Blip2 Opt 2.7b
MIT
BLIP-2是一個視覺語言模型,結合了圖像編碼器和大型語言模型,用於圖像到文本的生成任務。
圖像生成文本
Transformers 英語

B
Salesforce
867.78k
359
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98