Skip to main content

Face recognize, Object tracking, OCR

Project description

Hawk-eyes

A library for Computer Vision, flexible and easy to use. The library uses a lot of models like ArcFace, RetinaFace, FaceLandmark, OCRModels .... These models will be downloaded automatically when used for the first time, please make sure your network connection is not blocked to google drive.

Install

Hawk-eyes is available on pypi.org, if you just want to use it for your project, install it using pip. Requires:

  • python>=3.8
  • torch==1.8
  • onnxruntime==1.7 (or onnxruntime-gpu)
pip install hawk-eyes

Methods

Supported methods:

1. Face Recognition

1.1 Face detection

Retina Face: Single-stage Dense Face Localisation in the Wild

import cv2
from hawk_eyes.face import RetinaFace

retina = RetinaFace(model_name='retina_s')

img = cv2.imread('path/to/image.png')
bboxes, kpss = retina.detect(img)
for box in bboxes:
    box = box[:4].astype(int)
    cv2.rectangle(img, (box[0],box[1]), (box[2],box[3]), (0,255,0),thickness=2)
cv2.imshow('image', img)
cv2.waitKey(0)

1.2 Face extract feature use ArcFace

ArcFace: Additive Angular Margin Loss for Deep Face Recognition

import cv2
from hawk_eyes.face import RetinaFace
from hawk_eyes.face import ArcFace

arc = ArcFace(model_name='arcface_s')
retina = RetinaFace(model_name='retina_s')

img = cv2.imread('path/to/image.png')
bboxes, kpss = retina.detect(img)
for box,kps in zip(bboxes, kpss):
    emb = arc.get(img, kps)
    print(emb)

1.3 Get similar

Coming soon

1.4 Get face landmarks, face angles

import cv2
from hawk_eyes.face import RetinaFace, Landmark

retina = RetinaFace(model_name='retina_s')
landmark = Landmark()

img = cv2.imread('path/to/image.png')
bboxes, kpss = retina.detect(img)
for box,kps in zip(bboxes, kpss):
    land = landmark.get(img, box)
    angle = landmark.get_face_angle(img, land)
    print(angle)

2. Tracking

import cv2
from hawk_eyes.face import RetinaFace
from hawk_eyes.tracking import BYTETracker

bt = BYTETracker()
retina = RetinaFace(model_name='retina_s')

cap = cv2.videoCapture(0)
ret, _ = cap.read()
while ret:
    ret, frame = cap.read()
    boxes,_ = retina.detect(frame)
    boxes, ids = bt.predict(frame, boxes)
    print(ids)

Project details


Download files

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

Source Distribution

hawk_eyes-2.0.8.tar.gz (39.6 kB view details)

Uploaded Source

Built Distribution

hawk_eyes-2.0.8-py3-none-any.whl (44.7 kB view details)

Uploaded Python 3

File details

Details for the file hawk_eyes-2.0.8.tar.gz.

File metadata

  • Download URL: hawk_eyes-2.0.8.tar.gz
  • Upload date:
  • Size: 39.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.12

File hashes

Hashes for hawk_eyes-2.0.8.tar.gz
Algorithm Hash digest
SHA256 e497746441dd5012086c3a6e32ebc5bc2b48147159f5983728f6df92a5cc33d2
MD5 57eb189e670d1fb410467e559dd7fd55
BLAKE2b-256 e3528d3a1c07c5fd633d18b2477766218bc9a9c40b07ee5ac67977acf81fecd6

See more details on using hashes here.

File details

Details for the file hawk_eyes-2.0.8-py3-none-any.whl.

File metadata

  • Download URL: hawk_eyes-2.0.8-py3-none-any.whl
  • Upload date:
  • Size: 44.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.12

File hashes

Hashes for hawk_eyes-2.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 86ad9d17326a4a3a63466990d41e749c77035080be1080bd8ddb5ffe009ac4f4
MD5 4cf58ec2ebe17d6fd66fcdc55995a596
BLAKE2b-256 f24e89c2c08de228aac939892e693fd833277a2454fa0323e907e468a5449760

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