Skip to main content

robotpipe Python Library

Project description

robotpipe Python Library

========================

License


The code of robotpipe Python Library is released under the MIT License.

There is no limitation for both academic and commercial usage.

robotpipe Python Library is an artificial intelligence learning library,

including mainstream advanced artificial intelligence libraries, such as

InsightFace, yolov8, paddleocr, etc.

本项目具备如下推理功能:

  • 人脸检测

  • 人脸识别

  • 人脸年龄与性别识别

  • 人脸106个特征点

  • 换脸

B站演示地址: https://space.bilibili.com/485304569

安装


安装opencv

.. code:: python

pip install opencv-python-headless==4.6.0.66

pip install opencv-python==4.6.0.66

pip install opencv-contrib-python==4.6.0.66

安装onnxruntime

.. code:: python

pip install onnxruntime

若你的电脑支持gpu,可以进入如下安装

.. code:: python

pip install onnxruntime-gpu

pip安装

.. code:: python

pip install robotpipe==0.0.3

若安装失败,请指定安装路径

.. code:: python

pip install robotpipe==0.0.3 -i https://pypi.tuna.tsinghua.edu.cn/simple

导入权重文件




在用户目录下新建\ ``.robotpipe``\ 文件夹



.. code:: python



   C:\Users\KAI\.robotpipe\models

   在models里面放入权重文件



从百度网盘中下载权重文件,并解压释放进去



功能演示

--------



人脸检测

~~~~~~~~



.. image:: ./images/detect.jpg



.. code:: python



   from robotpipe import FaceDetection

   from robotpipe import draw_faces

   import cv2 as cv

   import numpy as np



   if __name__ == '__main__':

       face_detection = FaceDetection()

       img = cv.imread('images/trump1.jpg')

       faces = face_detection.predict(img)

      

       dst = draw_faces(img,faces)

       

       cv.imshow('img',dst)

       cv.waitKey(0)



人脸识别

~~~~~~~~



.. image:: images/recog.jpg



.. code:: python



   from robotpipe import FaceRecognition

   import cv2 as cv

   import numpy as np



   if __name__ == '__main__':

       face_recognition = FaceRecognition()

       trump1 = cv.imread('images/trump1.jpg')

       trump2 = cv.imread('images/trump2.jpg')

       

       # 获取人脸特征

       feats1 = face_recognition.predict(trump1)

       feats2 = face_recognition.predict(trump2)

       

       sim = face_recognition.compute_sim(feats1,feats2)



       # 根据相似度,输出结果

       if sim<0.2:

           conclu = 'they are not the same'

       elif sim>=0.2 and sim<0.28:

           conclu = 'they are looks like the same people'

       else:

           conclu = 'they are the same people'



       print(sim,conclu)



       cv.imshow('trump1',trump1)

       cv.imshow('trump2',trump2)

       cv.waitKey(0)



人脸年龄与性别识别

.. image:: images/genderage.jpg

.. code:: python

from robotpipe import FaceAttribute

from robotpipe import draw_faces

import cv2 as cv

import numpy as np

if name == 'main':

   face_attr = FaceAttribute()

   img = cv.imread('images/trump1.jpg')

   

   # 获取人脸特征

   faces = face_attr.predict(img)

   # 1 表示男性, 0,表示女性

   print(faces[0])

   dst = draw_faces(img,faces)

   cv.imshow("images/1.jpg",dst)

   cv.waitKey(0)

人脸106个特征点




.. image:: images/landmark.jpg



.. code:: python



   from robotpipe import FaceLandmark

   import cv2 as cv

   import numpy as np

   from robotpipe import draw_faces,draw_landmarks



   if __name__ == '__main__':

       face_attr = FaceLandmark()

       trump1 = cv.imread('images/trump1.jpg')



       # 获取人脸特征106个特征点

       faces = face_attr.predict(trump1)



       retimg = draw_landmarks(trump1,faces)

       cv.imshow('trump1_landmark',retimg)

       cv.waitKey(0)



换脸

~~~~



.. image:: images/swapper.jpg



.. code:: python



   from robotpipe import FaceSwapper



   import cv2 as cv

   import numpy as np



   if __name__ == '__main__':

       face_swapper = FaceSwapper()

       trump1 = cv.imread('images/trump1.jpg')

       target = cv.imread('images/1.jpg')



       sourceFace = face_swapper.get_source_face(trump1)



       dst = face_swapper.predict(sourceFace, target)

      

       cv.imshow("trump1",trump1)

       cv.imshow("1",target)

       cv.imshow("dst", dst)

       cv.waitKey()



若运行代码出现一下错误,则是\ ``opencv-python-headless``\ 与\ ``opencv-python``\ 版本不匹配的原因



.. code:: python



   cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:1272: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage'



卸载\ ``opencv-python-headless``,重新安装



.. code:: python



   pip install opencv-python-headless==4.6.0.66

   pip install opencv-python==4.6.0.66

   pip install opencv-contrib-python==4.6.0.66



本项目参考以下工程:



`InsightFace <https://insightface.ai/>`__



`PaddleOCR <https://github.com/PaddlePaddle/PaddleOCR>`__

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

robotpipe-0.0.4.tar.gz (482.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robotpipe-0.0.4-cp39-cp39-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.9Windows x86-64

File details

Details for the file robotpipe-0.0.4.tar.gz.

File metadata

  • Download URL: robotpipe-0.0.4.tar.gz
  • Upload date:
  • Size: 482.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for robotpipe-0.0.4.tar.gz
Algorithm Hash digest
SHA256 3dac9f36efd713a3c866f855ea6e258d51c6ba653d9b5ac1d33a900e64ce393b
MD5 52772ee15dfee23a0dc4829600e3c9b1
BLAKE2b-256 83a15714d34c04fa4d7a76fd372622f0e42e4ba441c7df073e0802892dbbacdb

See more details on using hashes here.

File details

Details for the file robotpipe-0.0.4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: robotpipe-0.0.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for robotpipe-0.0.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2858cd94e486cba47b9a00835f3cdda0b12baabded6a16af33bbb40e2eeb183a
MD5 218d247656b97ad6b8008713af2146c4
BLAKE2b-256 c9cc19f9591d9927ab70914abc1276c6cb32b3703081d7746ccc67c192ff9aac

See more details on using hashes here.

Supported by

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