cat-emotion-dataset
收藏资源简介:
一个用于猫情绪识别的多模态数据集,包含带有详细视觉特征注释、思维链分析和情绪标签的猫图像。数据集共有13,592个样本,分为4种情绪类别:放松、快乐、攻击性和悲伤。每个样本以JSON对象的形式存储在'metadata.jsonl'中,包含图像路径、视觉特征、思维链分析和最终情绪标签等字段。README还详细描述了每种情绪类别的特征,并提供了加载数据集的示例代码。
A multimodal dataset for cat emotion recognition, containing cat images with detailed visual feature annotations, chain-of-thought analyses and emotion labels. The dataset consists of 13,592 samples, categorized into four emotion classes: relaxed, happy, aggressive and sad. Each sample is stored as a JSON object in 'metadata.jsonl', with fields including image paths, visual features, chain-of-thought analyses, final emotion labels and other relevant fields. The README also elaborates on the features of each emotion category and provides sample code for loading the dataset.
Cat Emotion Dataset 概述
数据集简介
这是一个用于猫情绪识别的多模态数据集,包含带有详细视觉特征标注、思维链分析和情绪标签的猫图像。
数据集统计
- 总样本数:13,592
- 情绪类别数:4
情绪分布
| 情绪类别 | 数量 | 百分比 |
|---|---|---|
| Relaxed | 8,389 | 61.7% |
| Happy | 4,031 | 29.7% |
| Aggressive | 707 | 5.2% |
| Sad | 465 | 3.4% |
数据格式
metadata.jsonl 中的每一行都是一个 JSON 对象,包含以下字段:
json { "image": "images/00001.jpg", "visual_features": "ears slightly back, narrowed eyes, tight mouth, head lowered, tail not visible, indoor neutral background", "cot_analysis": "The cats ears are positioned slightly backward, and its eyes are narrowed with a fixed gaze, indicating focus or irritation...", "final_emotion_label": "Aggressive" }
字段描述
| 字段 | 描述 |
|---|---|
image |
图像文件的相对路径 |
visual_features |
观察到的视觉特征列表(耳朵、眼睛、嘴巴、身体姿势、尾巴、环境),以逗号分隔 |
cot_analysis |
思维链推理,解释视觉特征如何推导出情绪标签 |
final_emotion_label |
最终情绪标签,取值为:Relaxed、Happy、Aggressive、Sad |
情绪类别定义
- Relaxed:平静、舒适、自在。特征包括耳朵直立、眼神柔和、身体姿势放松。
- Happy:满足、顽皮、满意。特征包括耳朵前倾、眼睛睁大、嘴巴放松。
- Aggressive:愤怒、烦躁、防御。特征包括耳朵平贴、眼睛眯起、露出牙齿、身体紧绷。
- Sad:不快乐、有压力、焦虑。特征包括耳朵下垂、回避目光、姿势畏缩。
使用方式
加载数据集
python import json
with open(metadata.jsonl, r) as f: samples = [json.loads(line) for line in f]
print(f"Total samples: {len(samples)}") print(f"First sample: {samples[0]}")
加载图像
python from PIL import Image import json
with open(metadata.jsonl, r) as f: sample = json.loads(f.readline())
image = Image.open(sample[image]) print(f"Emotion: {sample[final_emotion_label]}") print(f"Visual features: {sample[visual_features]}")
许可证
本数据集仅供研究使用。




