tiktok-person-detection || tiktok-scene-detection

license: apache-2.0
language:

  • en
  • zh
    tags:
  • tiktok
  • person-detection
  • face-detection
  • body-detection
  • gguf
  • mlp
  • deep-learning
    metrics:
  • accuracy
    base_model: []
    pipeline_tag: image-classification
    library_name: gguf

TikTok 视频人物检测模型

模型简介

基于深度MLP(多层感知器)的TikTok视频人物检测模型,能够检测视频中是否存在人物,以及人物的身体和脸部特征。

模型架构

输入层: 12维手工特征 ↓ 标准化 (X - mean) / std 隐藏层1: 2048神经元 (ReLU激活) ↓ 隐藏层2: 1024神经元 (ReLU激活) ↓ 隐藏层3: 512神经元 (ReLU激活) ↓ 输出层: 4类 (Softmax)

模型规格

项目数值
架构Deep MLP 4层
参数量2,651,652
模型大小10.12 MB
模型格式GGUF v3
输入特征12维
输出类别4类
准确率100.00%
优化器Adam
学习率0.005
训练轮数300 (提前停止)

人物类别

ID类别说明
0no_person无人
1face_only仅人脸
2body_only仅身体
3face_and_body人脸+身体

检测特征

模型通过分析以下特征来检测人物的身体和脸部:

脸部检测特征

  • 肤色像素比例 (YCbCr颜色空间)
  • 中心区域亮度 (脸部通常位于中心)

身体检测特征

  • 肤色区域分布范围
  • 整体图像亮度分布

辅助特征

  • 平均亮度、颜色饱和度、RGB通道均值
  • 边缘密度、对比度、纹理复杂度
  • 暖色调比例、垂直边缘比例

GGUF文件结构

模型包含10个张量:

  • W1 (12×2048), b1 (2048)
  • W2 (2048×1024), b2 (1024)
  • W3 (1024×512), b3 (512)
  • W4 (512×4), b4 (4)
  • X_mean (12) - 输入标准化均值
  • X_std (12) - 输入标准化标准差

使用方法

importnumpyasnpimportstructfromPILimportImage# 提取图像特征defextract_features(image_path):img=Image.open(image_path).convert('RGB')img=img.resize((64,64))arr=np.array(img,dtype=np.float32)/255.0# 提取12维特征gray=0.299*arr[:,:,0]+0.587*arr[:,:,1]+0.114*arr[:,:,2]brightness=np.mean(gray)# ... 完整的特征提取returnfeatures# 推理features=extract_features("video_thumbnail.jpg")features=(features-X_mean)/X_std# 前向传播z1=features @ W1+b1 a1=np.maximum(0,z1)z2=a1 @ W2+b2 a2=np.maximum(0,z2)z3=a2 @ W3+b3 a3=np.maximum(0,z3)z4=a3 @ W4+b4 pred=np.argmax(z4)print(f"人物类别:{PERSON_CLASSES[pred]}")

训练数据

  • 数据来源: Archive.org TikToks集合 (https://archive.org/details/tiktoks)
  • 训练样本: 287个 (4类,每类最多80个)
  • 标签生成: 基于肤色检测和图像特征的启发式规则

训练过程

EpochLossAccuracy
19.078432.06%
200.129398.61%
400.0006100.00% (停止)

局限性

  1. 标签为启发式规则生成,非人工标注
  2. 肤色检测受光照条件影响
  3. 仅基于缩略图分析,未使用视频时序信息
  4. 无法识别多个人物或人物身份

License

Apache 2.0


license: apache-2.0
language:

  • en
  • zh
    tags:
  • tiktok
  • scene-detection
  • video-analysis
  • gguf
  • mlp
  • deep-learning
    metrics:
  • accuracy
    base_model: []
    pipeline_tag: image-classification
    library_name: gguf

TikTok 视频场景检测模型

模型简介

基于深度MLP(多层感知器)的TikTok视频场景检测模型,能够对TikTok视频缩略图进行8类场景分类。

模型架构

输入层: 12维手工特征 ↓ 标准化 (X - mean) / std 隐藏层1: 2048神经元 (ReLU激活) ↓ 隐藏层2: 1024神经元 (ReLU激活) ↓ 隐藏层3: 512神经元 (ReLU激活) ↓ 输出层: 8类 (Softmax)

模型规格

项目数值
架构Deep MLP 4层
参数量2,653,704
模型大小10.12 MB
模型格式GGUF v3
输入特征12维
输出类别8类
准确率99.79%
优化器Adam
学习率0.005
训练轮数300 (提前停止)

场景类别

ID类别说明
0indoor室内场景
1outdoor室外场景
2urban城市场景
3nature自然场景
4night夜景
5stage舞台场景
6sports运动场景
7restaurant餐厅场景

输入特征 (12维)

特征说明
0平均亮度
1颜色饱和度
2-4RGB通道均值
5边缘密度
6中心区域亮度
7肤色像素比例
8对比度
9纹理复杂度
10暖色调比例
11垂直边缘比例

GGUF文件结构

模型包含10个张量:

  • W1 (12×2048), b1 (2048)
  • W2 (2048×1024), b2 (1024)
  • W3 (1024×512), b3 (512)
  • W4 (512×8), b4 (8)
  • X_mean (12) - 输入标准化均值
  • X_std (12) - 输入标准化标准差

使用方法

importnumpyasnpimportstructfromPILimportImage# 加载GGUF模型defload_gguf_model(gguf_path):withopen(gguf_path,'rb')asf:# 读取GGUF头部magic=struct.unpack('<I',f.read(4))[0]version=struct.unpack('<I',f.read(4))[0]n_tensors=struct.unpack('<Q',f.read(8))[0]# ... 解析元数据和张量returnmodel# 提取图像特征defextract_features(image_path):img=Image.open(image_path).convert('RGB')img=img.resize((64,64))arr=np.array(img,dtype=np.float32)/255.0# 提取12维特征...returnfeatures# 推理features=extract_features("video_thumbnail.jpg")features=(features-X_mean)/X_std# 前向传播z1=features @ W1+b1 a1=np.maximum(0,z1)z2=a1 @ W2+b2 a2=np.maximum(0,z2)z3=a2 @ W3+b3 a3=np.maximum(0,z3)z4=a3 @ W4+b4 pred=np.argmax(z4)print(f"场景类别:{SCENE_CLASSES[pred]}")

训练数据

  • 数据来源: Archive.org TikToks集合 (https://archive.org/details/tiktoks)
  • 训练样本: 487个 (8类,每类最多80个)
  • 标签生成: 基于图像手工特征的启发式规则

训练过程

EpochLossAccuracy
16.394260.99%
200.178798.15%
400.085299.79% (停止)

局限性

  1. 标签为启发式规则生成,非人工标注
  2. 仅基于缩略图分析,未使用视频时序信息
  3. 8类场景覆盖有限,未包含所有可能场景
  4. 仅适用于TikTok类短视频平台内容

License

Apache 2.0