JavaScript 中的猫脸检测 - 适用于 TXJS 2012 演讲的演示
Kittydar 是 kitty radar 的缩写。Kittydar 会获取一张图像 (canvas),并告诉你图像中所有猫的位置:
var cats = kittydar.detectCats(canvas);
console.log("there are", cats.length, "cats in this photo");
console.log(cats[0]);
// { x: 30, y: 200, width: 140, height: 140 }对于节点:
npm install kittydar或者点击 浏览器文件
Kittydar 使用一个 canvas 元素。在 node 中,您可以通过 node-canvas 获取一个 Canvas 对象。
Kittydar 会在猫头周围绘制一个近似的矩形。每个矩形都有一个左上角的 x 和 y 值,以及矩形的 width 和 height 值。
Kittydar 首先将图像切分成许多"窗口",以检测是否存在猫头。对于每个窗口, kittydar 都会首先从图像数据中提取更易处理的数据。具体来说,它使用 hog-descriptor 库计算图像的 方向梯度直方图 描述符。此数据描述了图像中的边缘的方向(图像从光变暗或从暗变光)以及它们的强度。此数据是一个数字向量,然后输入到 神经网络,该向量会给出一个数值,范围在 0 到 1 之间,表示直方图数据是否代表猫。
神经网络(其 JSON 位于此仓库中)已通过成千上万只猫头的照片及其直方图以及成千上万只非猫进行预先训练。请参阅仓库中的节点训练脚本。
暂无开放 Issues,或尚未同步最近议题。