Проблема работы с face-api. js и Photoshop - PullRequest
1 голос
/ 02 марта 2020

Я создаю плагин для фотошопа, способный распознавать ориентиры лиц с помощью face-api. js. Кажется, он отлично работает только с браузерами, но с некоторыми проблемами в фотошопе. он перестает работать, когда достигает линии await faceapi.detectSingleFace(image).withFaceLandmarks(), но не возвращает ошибок.

Моя функция - набрать 68 баллов:

   var all_points = [];

   async function promise(){
      await faceapi.nets.faceRecognitionNet.loadFromUri('http://localhost:3000/models'),
      await faceapi.nets.faceLandmark68Net.loadFromUri('http://localhost:3000/models'),
      await faceapi.nets.ssdMobilenetv1.loadFromUri('http://localhost:3000/models')
   }

   promise();

   async function takePoints(){
      alert('takepoints!')                             #this works
      var img = await fetch(path_img)
      var myBlob = await img.blob()
      var image = await faceapi.bufferToImage(myBlob)

      alert(image.src)                                 #this works

      var displaySize = { width: image.width, height: image.height }
      var detections = await faceapi.detectSingleFace(image).withFaceLandmarks()

      alert(detections.landmarks)                      #not working

      var resizedDetections = await faceapi.resizeResults(detections, displaySize)
      var all_points = resizedDetections.landmarks._positions
      alert(all_points)

      return all_points
   }  

document.getElementById("my-btn").addEventListener('click', takePoints)

1 Ответ

0 голосов
/ 25 марта 2020

Я не знаю, работает ли это или помогает, потому что я действительно новичок во всем этом сценарии и не очень много понимаю, но вот мое предложение.

Возможно, вам нужно добавить следующее в ваш сценарий после
var detections = await faceapi.detectSingleFace(image).withFaceLandmarks()

var landmarks = await faceapi.detectFaceLandmarks(image)

И я думаю, что у меня возникла проблема с использованием await faceapi.detectSingleFace(image).withFaceLandmarks()

Попробуйте вместо этого await faceapi.detectAllFaces(image).withFaceLandmarks()

Я был бы очень признателен, если бы вы сказали мне, помогло ли это вам или вы продвинулись в своем проекте. Это именно то, что я тоже хочу построить (да, я знаю, что я новичок)

Пока мне удалось обработать несколько изображений в папке, экспортировать позиции Landmark в CSV и сохранить изображения в новую папку с распознаванием лиц и нарисованными ориентирами. Пока без Photoshop

Моя цель - обрезать изображения в Photoshop по точным ориентирам (координаты xy). Я должен обработать тысячи изображений и не хочу обрезать их вручную. С помощью координат он может быть автоматизирован (я надеюсь)

Так что было бы неплохо иметь этот скрипт в Photoshop. Пока не знаю как, но я добираюсь туда. Вы можете помочь?

...