Skip to main content

Face recognize, Object tracking, OCR

Project description

HawkEye

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

HawkEye 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

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.7.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

hawk_eyes-2.0.7-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hawk_eyes-2.0.7.tar.gz
  • Upload date:
  • Size: 20.9 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.7.tar.gz
Algorithm Hash digest
SHA256 0824b69058cebb294cfd05ab66d3ad473e895178eef2ecd673f7a8a83aad1977
MD5 4875891fdef16aa051e7e7e1aa275f9a
BLAKE2b-256 5dd621d2148256e8ea1d9f81f97e469ac465e03827e507fd084961cc49e7a986

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hawk_eyes-2.0.7-py3-none-any.whl
  • Upload date:
  • Size: 24.3 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b852a745afa706decc847a5d28ee900a10b4c8e723f00b93382b47a5e956d4d1
MD5 f0aef20d997845dcda43e6078bb84e4e
BLAKE2b-256 5100d3569b824bde12b54bac1cbc23fb0952f5a7cfbdedf1a3c5e60995d59814

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