/ Модель

Характеристики

Лицензия
Apache 2.0
Архитектура
convnextv2 · dense
Базовая модель
convnextv2-large-22k-384
Библиотека
transformers
Опубликована
13 дек 2025

kawai-aesthetic-scorer-convnextv2

Классификация изображенийИзображение → label3 профессии

Модель ConvNeXtV2 распределяет аниме и 2D-иллюстрации по пяти уровням эстетической оценки, отражающим предпочтения автора.

116скачиваний за 30 дней5лайковвеса обновлены14 дек 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Kawai Aesthetic Scorer — модель классификации изображений, разработанная автором kawaimasa для оценки иллюстраций в соответствии с личными эстетическими предпочтениями, главным образом в аниме и 2D-арте. Она дообучена на ConvNeXtV2 Large с весами facebook/convnextv2-large-22k-384 и распределяет изображение по пяти классам от SS до C, выдавая вероятности классов. Обучение проходило с progressive resizing от 384 до 768 пикселей; для предсказаний важно сохранять описанную в карточке предобработку: пропорциональное изменение размера, черные поля до квадрата, нормализация ImageNet.

Модель предназначена для отбора и ранжирования изображений в датасетах аниме и иллюстраций по предпочтениям автора. Её оценки субъективны и не являются универсальной оценкой качества или красоты. На фотографиях, 3D, реалистичном и западном художественном стилях результат может быть ненадежным. Модель не служит NSFW-классификатором или фильтром безопасности. Лицензия — Apache-2.0.

Сценарии применения

  • отбор аниме-иллюстраций для обучающего датасета
  • ранжирование 2D-арта по предпочтениям автора
  • фильтрация коллекции иллюстраций по пяти уровням оценки
  • расчёт взвешенного эстетического балла для изображений

Ограничения

Оценки отражают личные предпочтения автора и могут быть ненадежны для фотографий, 3D, реалистичного и западного художественного стиля. Модель не предназначена для NSFW-детекции или фильтрации безопасности; для корректных результатов требуется соответствующая обучению предобработка изображений.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Kawai Aesthetic Scorer (ConvNeXtV2, 768px)

これは「一般的な美的評価モデル」ではなく、**作者の主観的な好み(主にアニメ/2Dイラスト系)**に合わせて、 大量画像から学習用データを効率的に選別するためのスコアラー(5クラス分類)です。

目的 / 背景

既存の美的評価モデルには以下の課題がありました:

  • モノクロ画像・デフォルメ画像などが不当に低く評価されやすい
  • 過激/刺激の強い作品に対して「品質」としての評価が適切に機能しないケースがある
  • 作者の好みではない(例:過度にリアル、特定の西洋風)スタイルを高評価しがち
  • 一般にクオリティタグの基準として用いられるdanbooru等のユーザ投票scoreベース評価は、漫画や吹き出し・ミーム・二次創作などのナラティブ要素に強く反応し、AI生成用のデータセットのクオリティ評価としては不適格な側面がある

このモデルは上記問題を解消し、アニメ、イラスト系データセットを作者の主観的な好みを反映しつつ美的評価することを目的として作成されました。


できること

  • 画像を 5段階(SS/S/A/B/C相当) に分類し、確率(softmax)を出力します
  • 任意で、確率から スカラーの加重スコアに変換して使用します(後述)

できないこと / 注意

  • 一般的な画質・美しさ・審美性の評価モデルではありません
  • 写真・実写・3D・西洋絵画調・リアル寄りなどでは期待通りに動かない可能性があります
  • NSFW判定器・安全フィルタではありません(別途フィルタを併用してください)

ラベル定義(モデル出力クラス)

モデルは 5クラス分類です。model.config.id2label にも格納されています。

既定の対応(例):

  • 0: SS_tier
  • 1: S_tier
  • 2: A_tier
  • 3: B_tier
  • 4: C_tier

※ README上では便宜的に SS/S/A/B/C と書きますが、実際のラベル名は id2label を確認してください。


学習データの概要(Ground Truth)

  • 手動で評価・分類した 約6万枚の画像データセット
  • 5段階 Tier(SS/S/A/B/C)

学習時の前処理(重要:推論も同じにしてください)

このモデルは 学習時に以下の前処理で学習しています。
推論時も 同じ前処理にしないと、構図や余白の扱いが変わり 分類/スコアがズレる可能性が高いです。

前処理フロー

  1. RGB へ変換
  2. アスペクト比を維持したまま、長辺が image_size(例:768)になるようにリサイズ
  3. 余白を 黒でパディングして image_size x image_size の正方形にする(レターボックス)
  4. ToTensor()
  5. Normalize(mean=[0.485,0.456,0.406], std=[0.229,0.224,0.225])

推論(最小例)

Requirements

# pip install torch torchvision transformers pillow

import torch
import torch.nn.functional as F
from PIL import Image
import torchvision.transforms as T
from transformers import AutoModelForImageClassification

# === 学習時の前処理に合わせる: アスペクト比維持リサイズ → 黒パディングで正方形化 → Normalize ===
class PadResizeProcessor:
    def __init__(self, size: int = 768):
        self.size = size
        self.normalize = T.Compose([
            T.ToTensor(),
            T.Normalize(mean=[0.485, 0.456, 0.406],
                        std=[0.229, 0.224, 0.225]),
        ])

    def __call__(self, image: Image.Image) -> torch.Tensor:
        image = image.convert("RGB")
        w, h = image.size

        # アスペクト比維持で長辺を size に合わせる
        scale = self.size / max(w, h)
        nw, nh = int(w * scale), int(h * scale)
        image = image.resize((nw, nh), Image.Resampling.LANCZOS)

        # 黒パディングで正方形に
        canvas = Image.new("RGB", (self.size, self.size), (0, 0, 0))
        canvas.paste(image, ((self.size - nw) // 2, (self.size - nh) // 2))
        return self.normalize(canvas)

repo_id = "kawaimasa/kawai-aesthetic-scorer-convnextv2"
device = "cuda" if torch.cuda.is_available() else "cpu"

model = AutoModelForImageClassification.from_pretrained(repo_id).to(device).eval()
proc = PadResizeProcessor(size=768)

img = Image.open("path_your_image.png")
pixel_values = proc(img).unsqueeze(0).to(device)

with torch.no_grad():
    logits = model(pixel_values=pixel_values).logits
    probs = F.softmax(logits, dim=-1)[0]  # shape: [5]

pred_id = int(torch.argmax(probs).item())
pred_label = model.config.id2label.get(pred_id, str(pred_id))

print("pred:", pred_label)
print("probs:", probs.detach().cpu().tolist())

加重スコア(任意)

確率 probs = [SS,S,A,B,C] を 1つのスカラーに潰したい場合の例です。

  • 重み:[1.0, 0.9, 0.5, -0.5, -1.0]
  • weighted_score = sum(probs[i] * weight[i])
weights = torch.tensor([1.0, 0.9, 0.5, -0.5, -1.0], device=device)
weighted_score = (probs * weights).sum().item()
print("weighted_score:", weighted_score)

※この重みは「作者の好み」に合わせた例です。用途に応じて変更してください。


学習の概要(簡易)

  • ベースモデル:ConvNeXtV2 Large(22k/384)
  • 学習方法:Progressive Resizing(384 → 512 → 768 の3段階)

Intended Use(想定用途)

  • アニメ/2Dイラスト系データセットから、「作者の嗜好に合う」画像をスクリーニングする
  • 個人の美的基準でのランキング、フィルタリング

Out-of-Scope Use(想定しない用途)

  • 一般的な美的評価・客観的な画質指標としての利用
  • NSFW/安全判定・コンテンツモデレーション
  • 公平性・多様性評価など高い説明責任が求められる用途

免責

本モデルの出力は作者の主観に強く依存します。結果の解釈と利用は自己責任でお願いします。

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers · image-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
ConvNextV2ForImageClassification
Ревизия весов
1519098

0 моделей