Skip to page content
SAVRN
Search Plan a project

Open-weight model

FrameLite

by Tianshuo Li mon3tr/FrameLite

FrameLite is an open-weight model from Tianshuo Li, released under Apache License 2.0. Its published files total 224.4 MB.

Jianze Li 1, Kai Liu 1, Ziqing Zhang 1, Weihang Zhang 2, Yong Guo 1, Linghe Kong 1, Yulun Zhang 1,† 1. Stage I — Spatial and composition training. Learn spatial localization, composition preferences, and complete reference-frame prediction. 2.

Parameters—
Context—
Weights223.6 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Model Card

By Tianshuo Li, published under apache-2.0, revision 2fbe935372cd.

Jianze Li 1, Kai Liu 1, Ziqing Zhang 1, Weihang Zhang 2, Yong Guo 1, Linghe Kong 1, Yulun Zhang 1,† 1. Stage I — Spatial and composition training. Learn spatial localization, composition preferences, and complete reference-frame prediction. 2. Stage II — Quality-Guided Online Supervision (QOS). Generate greedy and sampled answers, evaluate complete-frame quality, and imitate the best answer. 3. Stage III — Greedy-Referenced Optimization (GRO). Refine fresh samples using positive and negative quality differences relative to the current greedy answer. At inference, FrameLite directly predicts one normalized crop through greedy decoding. No candidate search, external scorer, retrieval…

Read Tianshuo Li's full model card
# FrameLite: Decision-Oriented Aesthetic Cropping
with a Compact Vision–Language Model **Jianze Li**1, **Kai Liu**1, **Ziqing Zhang**1, **Weihang Zhang**2,
**Yong Guo**1, **Linghe Kong**1, **Yulun Zhang**1,† 1 Shanghai Jiao Tong University
2 Institute of Media Technology and Experience Design, Huawei
† Corresponding author [**Code**](https://github.com/JianzeLi-114/FrameLite) · [**Paper**](https://arxiv.org/abs/2610.17639) · [**Supplementary Material**](https://github.com/JianzeLi-114/FrameLite/releases/download/v1.0/FrameLite_supplementary.pdf) [![License](https://img.shields.io/badge/License-Apache%202.0-4f6d7a?style=flat-square)](https://huggingface.co/mon3tr/FrameLite/blob/main/LICENSE) [![Weights](https://img.shields.io/badge/Weights-224_MB-697d6c?style=flat-square)](https://huggingface.co/mon3tr/FrameLite/tree/main)

Abstract

Aesthetic image cropping improves composition by balancing subjects, context, and image boundaries. Large vision–language models bring semantic knowledge to this task, but their scale limits lightweight photography assistance. We propose FrameLite, a compact cropping model built on Qwen3.5-0.8B. Our approach is motivated by the observation that a small model can generate better crops than its first answer suggests. We develop three-stage training to turn this potential into stronger direct predictions. Spatial and composition training establishes localization and framing preferences. Quality-Guided Online Supervision (QOS) then learns the highest-quality complete answers among the current policy's generated candidates. Greedy-Referenced Optimization (GRO) further refines the policy using positive and negative quality differences relative to its current greedy answer. Both online stages use annotation-derived feedback, while inference returns one coordinate answer without search or an external scorer. Experiments show that FrameLite outperforms the compared large-VLM croppers across public benchmarks with a substantially smaller backbone. Controlled studies confirm that selecting high-quality training answers improves the final model beyond online sampling alone.

Method

  1. Stage I — Spatial and composition training. Learn spatial localization, composition preferences, and complete reference-frame prediction.
  2. Stage II — Quality-Guided Online Supervision (QOS). Generate greedy and sampled answers, evaluate complete-frame quality, and imitate the best answer.
  3. Stage III — Greedy-Referenced Optimization (GRO). Refine fresh samples using positive and negative quality differences relative to the current greedy answer.

At inference, FrameLite directly predicts one normalized crop through greedy decoding. No candidate search, external scorer, retrieval database, or external API is needed.

Model

Model Backbone Weights
FrameLite Qwen3.5-0.8B 224 MB

The FrameLite checkpoint contains the learned language LoRA and vision merger. Download Qwen3.5-0.8B separately and load both with the FrameLite API below.

Quick Start

Install the inference code

Use Python 3.10 and a CUDA GPU with BF16 support.

git clone https://github.com/JianzeLi-114/FrameLite.git
cd FrameLite

python3.10 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install torch==2.6.0 torchvision==0.21.0 \
  --index-url https://download.pytorch.org/whl/cu124
python -m pip install -r requirements.txt

Download the weights

Download the FrameLite weights and the Qwen backbone:

from huggingface_hub import snapshot_download

snapshot_download(
    repo_id="mon3tr/FrameLite",
    local_dir="weights/framelite",
    allow_patterns=[
        "framelite.safetensors",
        "inference_config.json",
        "LICENSE",
        "NOTICE",
    ],
)

snapshot_download(
    repo_id="Qwen/Qwen3.5-0.8B",
    local_dir="weights/framelite/base",
)

The two downloads place the FrameLite checkpoint and Qwen backbone under weights/framelite/.

Crop an image

python infer.py \
  --image assets/examples/mountain_reflection/input.jpg \
  --weights weights/framelite \
  --output-dir outputs \
  --device cuda:0

The CLI saves predictions to outputs/predictions.jsonl and valid crops to outputs/crops/. To process a directory, pass its path to --image; add --recursive to include subdirectories.

Python API

from framelite import FrameLite, crop_image

model = FrameLite.from_pretrained("weights/framelite", device="cuda:0")
image_path = "path/to/image.jpg"
result = model.predict(image_path)

if result["valid"]:
    print(result["bbox_normalized"])  # [x1, y1, x2, y2] in [0, 1]
    crop_image(image_path, result["bbox_normalized"]).save("crop.png")
else:
    print(result["error"])

Coordinates refer to the original image, with the origin at its top-left corner. The model returns a single crop, for example {"crop":[0.1,0.05,0.9,0.95]}. This JSON illustrates the output format.

Evaluation

The following results are reported in the paper. The same final model produces one crop per image on all three benchmarks.

GAICv2 Acc .85 ↑ GAICv2 Acc .90 ↑ FLMS IoU ↑ FLMS BDE ↓ FCDB IoU ↑ FCDB BDE ↓
0.9140 0.8340 0.8679 0.0297 0.7124 0.0704

Acc denotes GAICv2 Acc1/5 at the specified IoU threshold. See the paper for the evaluation protocol and the supplementary material for additional analyses.

Citation

@article{li2026framelite,
  title={FrameLite: Decision-Oriented Aesthetic Cropping with a Compact Vision--Language Model},
  author={Li, Jianze and Liu, Kai and Zhang, Ziqing and Zhang, Weihang and Guo, Yong and Kong, Linghe and Zhang, Yulun},
  journal={arXiv preprint arXiv:2610.17639},
  year={2026}
}

License and Acknowledgments

FrameLite task weights and inference code are provided under the Apache License 2.0. The separately downloaded Qwen3.5-0.8B backbone is distributed by Qwen under the Apache License 2.0; see NOTICE and the upstream model card.

We thank the developers of Qwen, Transformers, and PEFT.

Correspondence: Yulun Zhang.

Identity and Version

Repository
mon3tr/FrameLite
Publisher
Tianshuo Li
Task
Not stated by the source
Modality
Other
Library
Not stated by the source
Parameters
Not stated by the source
Languages
en
Revision
2fbe935372cdb63db3a02aef77edf7ae06b6be52
First published
2026-10-12
Last updated
2026-10-14

Files and Weights

8 files, 224.4 MB in total. The weights are 1 file totalling 223.6 MB in safetensors.

Weights1 file · 223.6 MB
Configuration1 file · 862 B
Documentation3 files · 19.6 KB
Other2 files · 821.2 KB
Repository1 file · 1.8 KB
Every file
FileTypeSizeSHA-256
framelite.safetensorsWeights223.6 MB 1a58395c537c
inference_config.jsonConfiguration862 B —
LICENSEDocumentation11.4 KB —
NOTICEDocumentation904 B —
README.mdDocumentation7.3 KB —
assets/method_overview.pngOther424.8 KB f958abde4414
assets/online_training.pngOther396.4 KB a43d5d85a427
.gitattributesRepository1.8 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
223.6 MB
Download from Tianshuo Li

Released by Tianshuo Li through its official repository on Hugging Face. Read the license.

Built From

Memory Requirements

PrecisionWeights in memory
As published223.6 MB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About FrameLite

Can I use FrameLite commercially?

Yes. FrameLite is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.