Определение лица с помощью OpenCV с точками глаз и углов рта

Я работаю над проектом по распознаванию черт лица и обнаруживаю глаза, нос и рот, используя OpenCv с файлами Haarcascade xml. Но я хочу, чтобы точки глаз и уголки рта были в центре носа. Цель состоит в том, чтобы использовать это, чтобы предсказать эмоции. Я нашел эту ссылку, которая показывает, как это работает, и мне нужно, чтобы получить этот результат с помощью JAVA. Кто-нибудь может мне помочь?

Заранее спасибо.

http://cmp.felk.cvut.cz/~uricamic/flandmark/

в этой части мы получаем изображение лица и рисуем Rect на лице:

 public void drawFaces(BufferedImage image) {
    final List<PotentialFace> faces = FacialRecognition.run(image, db);
    if (faces.isEmpty()) {
      return;
    }
    Graphics2D g2 = image.createGraphics();
    g2.setStroke(new BasicStroke(2));
    currentFaces.clear();
    for (PotentialFace face : faces) {
      final Rectangle r = face.box;
      final Color c1, c2;
      final String msg;
      if (face.name == null) {
        c1 = c2 = new Color(scale(r.x, getWidth(), 255d), scale(r.y, getHeight(), 255d), 0).brighter();
        msg = "Click to tag";
      } else {
        c1 = new Color(face.name.hashCode()).brighter();
        c2 = new Color((int) (c1.getRGB() - 10*face.confidence));
        msg = String.format("%s: %f", face.name, face.confidence);
      }
      g2.setColor(c1);
      g2.drawRect(r.x, r.y, r.width, r.height);
      g2.setColor(c2);
      g2.drawString(msg, r.x + 5, r.y - 5);
      currentFaces.add(r);
    }

Ответы на вопрос(1)

Ваш ответ на вопрос