跳到主要内容

vww

VWW (Visual Wake Words) — 轻量级卷积神经网络人体检测库。基于 MobileNet-like 深度可分离卷积架构,INT8 量化,纯 C99 实现,零外部依赖。

API

#include <vww.h>

int vision_vww(struct vision_t * v);
参数说明
v输入图像(支持灰度或 RGB 格式,分辨率须 >= 96x96),内部中心裁剪(保持宽高比,短边对齐 96 像素)后缩放到 96x96。若输入分辨率 < 96x96,需先通过 vision_resize 预处理放大
返回值人体置信度百分比 (0-100)

Shell 命令

vww 命令用于检测图像中的人体。

vww <image>
# 检测图像中的人体
vww person.jpg
# 输出: person: 87%

网络结构

MobileNet-like 深度可分离卷积网络,共 12 层。

类型输入输出步长
L0CONV2D96x96x348x48x83x32x2
L1DWCONV2D48x48x848x48x83x31x1
L2CONV2D48x48x848x48x161x11x1
L3DWCONV2D48x48x1624x24x163x32x2
L4CONV2D24x24x1624x24x321x11x1
L5DWCONV2D24x24x3224x24x323x31x1
L6CONV2D24x24x3224x24x321x11x1
L7DWCONV2D24x24x3212x12x323x32x2
L8CONV2D12x12x3212x12x641x11x1
L9DWCONV2D12x12x6412x12x643x31x1
L10CONV2D12x12x6412x12x641x11x1
L11DWCONV2D12x12x646x6x643x32x2

输出经全局平均池化 + 全连接层分类。

量化

  • 权重: INT8
  • 偏置: INT32
  • 缩放因子: INT32
  • 激活函数: ReLU

所有权重和偏置编译时内嵌在代码中,无需外部模型文件。