数据集:
- imagenet-1k
语言:
- en
库名称: transformers
许可证: cc-by-nc-4.0
Hiera模型(Tiny版,基于IN1K微调)
Hiera是一种_层次化_视觉Transformer模型,兼具快速、强大且极其_简洁_的特性。该模型在论文《Hiera: 去芜存菁的层次化视觉Transformer》中提出,在广泛图像视频任务中超越现有技术_且速度显著更快_。
工作原理

传统视觉Transformer(如ViT)在全网络中使用相同的空间分辨率和特征维度。但这种方式效率低下:早期层不需要过多特征维度,深层网络则不需要过高空间分辨率。早期层次化模型(如ResNet)通过初始减少特征维度和后期降低分辨率来解决这个问题。
虽然Swin和MViT等专业视觉Transformer采用了层次化设计,但为了在ImageNet-1K全监督训练中追求最优结果,这些模型通过添加特殊模块来弥补ViT缺乏的空间偏置,导致结构日趋复杂。尽管这些改进能产生FLOPs指标亮眼的模型,但实际运行效率反而降低。
我们发现这些复杂设计大多_并非必要_。不同于通过架构修改手动添加空间偏置,我们选择直接_教导_模型学习这些偏置。通过MAE训练,可以简化或移除现有Transformer中_所有_冗余模块,同时_提升准确率_。最终诞生的Hiera架构极其高效简洁,在多项图像视频识别任务中达到业界最优水平。
使用场景与限制
Hiera可用于图像分类、特征提取或掩码图像建模。本特定检查点专为特征提取设计。
使用方法
from transformers import AutoImageProcessor, HieraModel
import torch
from PIL import Image
import requests
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
image_processor = AutoImageProcessor.from_pretrained("facebook/hiera-large-224-hf")
model = HieraModel.from_pretrained("facebook/hiera-large-224-hf")
inputs = image_processor(images=image, return_tensors="pt")
outputs = model(**inputs)
也可通过HieraBackbone
提取不同阶段的特征图,加载模型时设置out_features
参数。以下示例展示如何提取各阶段特征图:
from transformers import AutoImageProcessor, HieraBackbone
import torch
from PIL import Image
import requests
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
image_processor = AutoImageProcessor.from_pretrained("facebook/hiera-large-224-hf")
model = HieraBackbone.from_pretrained("facebook/hiera-large-224-hf", out_features=['stage1', 'stage2', 'stage3', 'stage4'])
inputs = image_processor(images=image, return_tensors="pt")
outputs = model(**inputs)
feature_maps = outputs.feature_maps
引用信息
若使用Hiera或相关代码,请引用:
@article{ryali2023hiera,
title={Hiera: 去芜存菁的层次化视觉Transformer},
author={Ryali, Chaitanya and Hu, Yuan-Ting and Bolya, Daniel and Wei, Chen and Fan, Haoqi and Huang, Po-Yao and Aggarwal, Vaibhav and Chowdhury, Arkabandhu and Poursaeed, Omid and Hoffman, Judy and Malik, Jitendra and Li, Yanghao and Feichtenhofer, Christoph},
journal={ICML},
year={2023}
}