Skip to main content

pygaze is a gaze estimation framework for python based on eth-xgaze.

Project description

PyGaze

PyGaze is a wrapper for the outstanding work of pytorch_mpiigaze_demo and eth-xgaze to provide a simple api to estimate the gaze of humans, either on images or in realtime.

Gaze

Buy Me A Coffee

Installation

pip install pygaze

API

  • First create an instance of PyGaze.
  • Call predict on the instance to get a list of faces in the image and a gaze vector.
  • To render information extracted from an image, instanciate PyGazeRenderer and call render() according to the examples.

Example usage

from pygaze import PyGaze, PyGazeRenderer
import cv2

image = cv2.imread("jonas.jpg")
pg = PyGaze()
pgren = PyGazeRenderer()
gaze_result = pg.predict(image)
for face in gaze_result:
    print(f"Face bounding box: {face.bbox}")
    pitch, yaw, roll = face.get_head_angles()
    g_pitch, g_yaw = face.get_gaze_angles()
    print(f"Face angles: pitch={pitch}, yaw={yaw}, roll={roll}.")
    print(f"Distance to camera: {face.distance}")
    print(f"Gaze angles: pitch={g_pitch}, yaw={g_yaw}")
    print(f"Gaze vector: {face.gaze_vector}")
    print(f"Looking at camera: {pg.look_at_camera(face)}")
	
    img = pgren.render(image, face, draw_face_bbox=True, draw_face_landmarks=False, draw_3dface_model=False,draw_head_pose=False, draw_gaze_vector=True)
    cv2.imshow("Face", img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

Todo

  • Add a flag to predict() to pass already detected faces in an image.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pygaze-1.2.2-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

Details for the file pygaze-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: pygaze-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 19.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for pygaze-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c8301ea10780c51b9a2bf69322538f867167bebf5aa09f967b868be34622a372
MD5 61062cfda39528d2f157b0b420d147a2
BLAKE2b-256 291632d187eb5cac032a8ab62159d3a22ae21ed9e5abba65cc47589a15e631c0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page