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

传统视觉Transformer(如ViT)在整个网络中保持相同的空间分辨率和特征数量。但这种设计效率低下:早期层不需要过多特征,而深层网络则不需要过高空间分辨率。ResNet等层次化模型通过初始减少特征数量、后期降低空间分辨率来解决这一问题。
Swin和MViT等专业视觉Transformer虽采用了层次化设计,但为了在ImageNet-1K全监督训练中达到最佳效果,这些模型通过添加特殊模块来弥补ViT缺乏的空间偏置,导致结构日趋复杂。尽管这些改进带来了可观的FLOPs指标提升,但实际运行效率反而降低。
我们发现这些复杂设计大多并非必要。通过MAE训练方法,我们无需手动添加空间偏置模块,而是让模型自主学习这些偏置特性。这一创新使得Hiera在简化或移除现有Transformer冗余模块的同时,反而提升了准确率,最终形成这个在多项图像视频识别任务中领先的高效简洁架构。
使用场景与限制
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-base-224-hf")
model = HieraModel.from_pretrained("facebook/hiera-base-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-base-224-hf")
model = HieraBackbone.from_pretrained("facebook/hiera-base-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}
}