R

Reconhecimento Facial com Face API 和 Node.js Reconhecimento Facial com Face API 和 Node.js

2025-06-08

Reconhecimento Facial com Face API 和 Node.js

Reconhecimento Facial com Face API 和 Node.js

Reconhecimento Facial com Face API 和 Node.js

屏幕截图-10-14-19-下午-02-02.png

Dando 继续在Node.js 中继续使用 Cognitivos 服务和 IA com Node.js,最终实现同时翻译 com 或翻译文本和vimos 或 poderosofazer uso dos Serviços Cognitivos para deixar as nossas aplicações mais智力、动态和互动!

Hoje,vamos falar um pouco sobre o Face Api。 Porém,vamos entender um pouco o que seria o Face API!

什么是 Face API?

face-api-cs.jpg

O Face API是Azure认知服务,允许探测器、侦察器和图像分析器对人类进行分析。 Como ele faz isso?感谢算法! E o Face API 可能具有不同的功能!正文:

  • ➡️ Reconhecimento Facial:允许重新调整人类的形象。额外的一系列信息:gênero、idade、emoção entre outros pontos。

  • ➡️面部验证:aqui a API irá avaliar se dois rostos pertencem à mesma pessoa。

  • ➡️ Encontrar Rostos Semelhantes:不同的面部验证,可以通过 API 获取面部图像和识别信息,matchPerson并通过 API面部过滤器实现 - 验证和恢复面部列表pertencem a mesma pessoa。

  • ➡️ Agrupamento 面部护理:从头开始,与各种团体的 rostos desconhecidos 结合在一起。 Aqui se faz uso da API Face - 组

  • ➡️身份识别:aqui o uso da API é bem legal。识别 Pois Podemos 的检测和比较 com uma 基础的数据。 Esse recurso 和 legal Podemos fazer uso de gerenciamento de fotos。您可以使用 API 来获取更多信息,并获取有关人脸识别的文档

有关 Face API 的更多信息,请参阅AQUI 的概述。

刷新应用程序!

Sim,这是一个在 Node.js 上使用 Face API 的代码和应用程​​序的时刻。 Para isso, utilizaremos:

您可以通过大学学院或大学的阿尔古玛学院的学生,了解有关Azure for Students 的信息。此内容包含 100,00 美元的受益人信用证,用于免费管理服务,但需要持有信用证。 Para ativar essa conta, bastam acessar o link ao lado: AQUI

Todo o codigo desenvolvido desse artigo encontra-se disponível AQUI。您可以通过 Azure 来安装和使用本教程。

Criando Recurso do Face API(无 Azure)

Assim,como no artigo anterior,precisamos criar um Recurso do Face API no Portal Azure。 Após isso, aí sim, poderemos começar a codar a nossa applicação。 Caso não Saibam,bastam seguir o passo a passo no gif abaixo:

01---face-api-nodejs.gif

观察图像,然后点击 Azure Portal 的 Recurso dentro,然后key点击endpoint。 Guardem essa key,pois precisaremos dela para o próximo passo。

屏幕截图-10-14-19-下午-04-16.png

开发或代码

Agora que já temos a nossa key,vamos agora criar a plicação em Node.js para fazer uso do Face API。首先,打开Visual Studio Code,然后将面食放入项目中,然后再进行操作,然后将其放入项目中package.json



> npm init -y


Enter fullscreen mode Exit fullscreen mode

Com esse comando ele criará um arquivo padrão do package.json。 Porém,abre o Visual Studio Code e altere o arquivo conme o código abaixo:

  • 档案:package.json



{
  "name": "faceapi-node.js-demo",
  "version": "1.0.0",
  "description": "Demo para realizar reconhecimento de imagem via Face API & Node.js",
  "main": "face-detection.js",
  "scripts": {
    "dev": "node src/face-detection.js"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/glaucia86/faceapi-node.js-demo.git"
  },
  "keywords": [
    "nodejs",
    "cognitive-services",
    "azure",
    "face-api",
    "javascript"

  ],
  "author": "Glaucia Lemos",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/glaucia86/faceapi-node.js-demo/issues"
  },
  "homepage": "https://github.com/glaucia86/faceapi-node.js-demo#readme"
}



Enter fullscreen mode Exit fullscreen mode

佩菲托!集市上,大声喊出符合图像的 estrutura do projeto :src -> face-detection.js

屏幕截图-10-16-19-下午-01-49.png

没有档案.gitignore,包括后续的代码块

  • 档案:.gitignore


node_modules
lib
.env


Enter fullscreen mode Exit fullscreen mode

展示! Vamos agora 安装为依赖项 no nosso projeto。 Precisaremos de 2:

  • 请求:通过 código 实现不需要 Face API 的 ajudará 实现。

  • dotenv : 这是一个伟大的协议,包括在 Azure 应用程序中提供的服务,并且不支持外发,该协议是一个环境变量,可以在我们的本地环境中进行精确的“设置”。

Para isso, vamos instalar esse dois pacotes com o seguinte comando via prompt:




> npm i request dotenv



Enter fullscreen mode Exit fullscreen mode

没有最终结果,o nosso arquivo package.jsonficará da seguinte maneira:



{
  "name": "faceapi-node.js-demo",
  "version": "1.0.0",
  "description": "Demo para realizar reconhecimento de imagem via Face API & Node.js",
  "main": "face-detection.js",
  "scripts": {
    "dev": "node src/face-detection.js"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/glaucia86/faceapi-node.js-demo.git"
  },
  "keywords": [
    "nodejs",
    "cognitive-services",
    "azure",
    "face-api",
    "javascript"
  ],
  "author": "Glaucia Lemos",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/glaucia86/faceapi-node.js-demo/issues"
  },
  "homepage": "https://github.com/glaucia86/faceapi-node.js-demo#readme",
  "dependencies": {
    "dotenv": "^8.2.0",
    "request": "^2.88.0"
  }
}



Enter fullscreen mode Exit fullscreen mode

Agora,vamos 可以通过 Face API 和 Node.js 实现逻辑或图像识别。

Criando 逻辑没有 arquivo 'face-detection.js'

Abram 或 arquivoface-detection.js包括后续的 código abaixo 区块:

  • 档案:face-detection.js



/**
 * arquivo: src/facedetection.js
 * Data: 16/10/019
 * Descrição: Arquivo responsável por realizar o reconhecimento facial usando o Face API & Node.js
 * Author: Glaucia Lemos
 */

'use strict';

const request = require('request');

require('dotenv').config();

const subscriptionKey = process.env.SUBSCRIPTION_FACE_API_KEY;
const uriBase = process.env.URI_BASE;
const imageUrl = 'https://cdn-ofuxico.akamaized.net/img/upload/noticias/2019/05/13/silvio_santos_reproducao_instagram_349201_36.jpg';



Enter fullscreen mode Exit fullscreen mode

Aqui estamos fazendo or chamada de 2 pacotes: requesteo dotenv.徽标 abaixo,criando 3 variáveis para processar as informações geradas para nós no Portal Azure:keyendpointe uma url de uma imagem que estaremos pegando na internet!

注意什么是变化的subscriptionKeyuriBaseestamos criando uma espécie 变化的秘密? É justamente aí que usaremos o pacote dotenv。 Para isso,crie um arquivo chamado .env,fora da Pasta srce vejam como ela deve ficar:

屏幕截图-10-16-19-下午-02-18.png

请注意以下信息:关键点、端点和所有信息!请注意,您可以在 GitHub 上下载或使用.gitignoreGitHub 上的文件。 Justamente,para evitar de ser usado por outras pessoas!

Dando 继续nosso desenvolvimento,vamos agora concluir esse arquivo!包括以下内容:

  • 档案:face-detection.js


const params = {
  'returnFaceId': 'true',
  'returnFaceLandmarks': 'false',
  'returnFaceAttributes': 'age,gender,headPose,smile,facialHair,glasses,' +
  'emotion,hair,makeup,occlusion,accessories,blur,exposure,noise'
};

const options = {
  uri: uriBase,
  qs: params,
  body: '{"url": ' + '"' + imageUrl + '"}',
  headers: {
    'Content-Type': 'application/json',
    'Ocp-Apim-Subscription-Key' : subscriptionKey
  }
};

request.post(options, (error, response, body) => {
  if (error) {
    console.log('Error ao identificar a imagem: ', error);
    return;
  }

  let jsonResponse = JSON.stringify(JSON.parse(body), null, '  ');
  console.log('JSON Response\n');
  console.log(jsonResponse);
});



Enter fullscreen mode Exit fullscreen mode

没有任何代码块,我们声明了不同的变化,以便通过 URL 来实现通过 URL 识别图像的方式。请注意,在paramsjson 格式中,参数参数中的内容是不同的。 Face API 的基本参数、AQUI分析器

屏幕截图-10-16-19-下午-03-22.png

为此,我们将 Json 重新命名为各种请求信息params

Vamos 测试了应用程序?! Vejam no gif abaixo como testar:

02---face-api-nodejs.gif

观察一下 api 的返回结果,看看我的家乡的图像,你的马罗姆,不是我们所使用的,而是根据我的资料推断出来的。

Vejam or retorno abaixo para a imagem do Silvio Santos

  • JSON 响应



[
  {
    "faceId": "8b121a4e-407a-4b91-9b90-4ba2592a6329",
    "faceRectangle": {
      "top": 82,
      "left": 237,
      "width": 163,
      "height": 163
    },
    "faceAttributes": {
      "smile": 1,
      "headPose": {
        "pitch": -6.3,
        "roll": 4.4,
        "yaw": -7.5
      },
      "gender": "male",
      "age": 50,
      "facialHair": {
        "moustache": 0.1,
        "beard": 0.1,
        "sideburns": 0.1
      },
      "glasses": "NoGlasses",
      "emotion": {
        "anger": 0,
        "contempt": 0,
        "disgust": 0,
        "fear": 0,
        "happiness": 1,
        "neutral": 0,
        "sadness": 0,
        "surprise": 0
      },
      "blur": {
        "blurLevel": "medium",
        "value": 0.42
      },
      "exposure": {
        "exposureLevel": "goodExposure",
        "value": 0.72
      },
      "noise": {
        "noiseLevel": "medium",
        "value": 0.46
      },
      "makeup": {
        "eyeMakeup": false,
        "lipMakeup": false
      },
      "accessories": [],
      "occlusion": {
        "foreheadOccluded": false,
        "eyeOccluded": false,
        "mouthOccluded": false
      },
      "hair": {
        "bald": 0.17,
        "invisible": false,
        "hairColor": [
          {
            "color": "brown",
            "confidence": 1
          },
          {
            "color": "black",
            "confidence": 0.85
          },
          {
            "color": "gray",
            "confidence": 0.48
          },
          {
            "color": "blond",
            "confidence": 0.1
          },
          {
            "color": "red",
            "confidence": 0.09
          },
          {
            "color": "other",
            "confidence": 0.05
          }
        ]
      }
    }
  }
]


Enter fullscreen mode Exit fullscreen mode

合法吗?! Mas, e se eu quiser ver a imagem eo retorno no browser?!这就是问题所在!在应用程序之外,请执行以下操作:demo-2

  • Node.js
  • 哈巴狗
  • 表达
  • 引导
  • JQuery

Vejam em ação aqui no gif abaixo:

03---face-api-nodejs.gif

Todo o codigo desenvolvido encontra-se AQUI。没有明确的存储库可以作为应用程序开发执行器! ;)

帕拉夫拉斯·菲奈斯

Podemos fazer muitas coisas lawais usando o Face API com Node.js 和 JavaScript。 Pois como se trata de uma API aberta,可以使用不同的方法!

Lembrando que o Face API 可以使用其他语言,例如:

Abaixo listo alguns recursos e links 重要的链接,可用于使用 Face API 的应用程序:

您将在未来重新编写 Vue.js 教程!通过使用 Face API 和 Node.js 来实现直播。 Assim que,aguardem!

E para ficarem por dentro de várias outras novidades, no deixem de me seguir lá no twitter!

叽叽喳喳

不! Até a próxima série pessoal! 😍

鏂囩珷鏉ユ簮锛�https://dev.to/azure/reconhecimento-facial-com-face-api-node-js-1h6p
PREV
系列:如何利用微服务构建无服务器 GraphQL API
NEXT
使用会话在 Azure Functions 中进行有序队列处理