{ "info": { "author": "Fausto Morales", "author_email": "faustomorales@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "License :: OSI Approved :: MIT License", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Operating System :: Unix", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only" ], "description": "# keras-facenet\n\nThis is a simple wrapper around [this wonderful implementation of FaceNet](https://github.com/davidsandberg/facenet). I wanted something that could be used in other applications, that could use any of the four trained models provided in the linked repository, and that took care of all the setup required to get weights and load them. I prefer using Keras wherever possible because of its API, so I used the [example provided here](https://github.com/nyoki-mtl/keras-facenet) and implemented it as part of the code.\n\nEnough background -- so how are you supposed to use this?\n\n## Installing\n```\npip install keras-facenet\n```\n\n## Usage\nTo get the embeddings for cropped images of some faces, you can do something like the following.\n\n```\nfrom keras_facenet import FaceNet\nembedder = FaceNet()\n\n# images is a list of images, each as an\n# np.ndarray of shape (H, W, 3).\nembeddings = embedder.embeddings(images)\n```\n\n`keras-facenet` expects you to provide cropped images of faces and does not ship with a face detector. You can use another library of your choice to get those lovely cropped images. I provide two examples below.\n\n### Using `keras-facenet` with `mira`\n`mira` is another package I developed to do simple object detection. Install it using `pip install mira`\n\nThen you can use `mira` to extract faces with the built-in [MTCNN](https://kpzhang93.github.io/MTCNN_face_detection_alignment/paper/spl.pdf) model.\n\n```\nfrom mira.detectors import MTCNN\nfrom keras_facenet import FaceNet\n\ndetector = MTCNN()\nembedder = FaceNet()\n\nfaces = detector.detect(image)\nembeddings = embedder.embeddings([\n face.selection.extract(image) for face in faces\n])\n```\n\n### Using `keras-facenet` with `face_recognition`\n`face_recognition` is a fantastic all-in-one package for face detection and recognition. Anecdotally, I find that its face detection model is not quite as good as MTCNN and that the embeddings are not quite as good as FaceNet. but you can use its detection model with FaceNet as follows.\n\n```\nfrom face_recognition import face_location\nfrom keras_facenet import \n\nembedder = FaceNet()\n\nfaces = face_locations(image)\nembeddings = embedder.embeddings([\n image[t:b, l:r] for for t, r, b, l in faces\n])\n```\n\n### Logging\nTo see what's going on under the hood, set logging to view `INFO` logs. If using in a Jupyter notebook, you can use the following.\n\n```\nimport logging\n\nlogging.basicConfig()\nlog = logging.getLogger()\nlog.setLevel('INFO')\n```\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/faustomorales/keras-facenet", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "keras-facenet", "package_url": "https://pypi.org/project/keras-facenet/", "platform": "", "project_url": "https://pypi.org/project/keras-facenet/", "project_urls": { "Homepage": "https://github.com/faustomorales/keras-facenet" }, "release_url": "https://pypi.org/project/keras-facenet/0.1a5/", "requires_dist": [ "opencv-python (>=3.0.0)", "keras" ], "requires_python": "", "summary": "A package wrapping the FaceNet embedding model", "version": "0.1a5" }, "last_serial": 5214554, "releases": { "0.1a1": [ { "comment_text": "", "digests": { "md5": "2e01b0e8afa7e111ca8a4183587e0663", "sha256": "6abc90ae8437d5de8f54ab63bded684e6ea86d674a09f19e8a152318b11523d5" }, "downloads": -1, "filename": "keras_facenet-0.1a1-py3-none-any.whl", "has_sig": false, "md5_digest": "2e01b0e8afa7e111ca8a4183587e0663", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10745, "upload_time": "2019-04-22T02:14:48", "url": "https://files.pythonhosted.org/packages/b1/b4/88fe52accf0449faffc45ec06c0b4f8f9816228ceb025e050c568e89f1bb/keras_facenet-0.1a1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f48859145b9705938ea9d7ba199eedf5", "sha256": "dd9285fd9865d92fd76b3433ff024c7ce12d5801f04072d267d0823eee512887" }, "downloads": -1, "filename": "keras-facenet-0.1a1.tar.gz", "has_sig": false, "md5_digest": "f48859145b9705938ea9d7ba199eedf5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10051, "upload_time": "2019-04-22T02:14:50", "url": "https://files.pythonhosted.org/packages/73/45/4623672ed00461e7ef89fa03cc5cb1f09e41e6384c3e58eb00f5bd07a75a/keras-facenet-0.1a1.tar.gz" } ], "0.1a2": [ { "comment_text": "", "digests": { "md5": "1f070dbeb44cb5c268a7d688c7ac9ef0", "sha256": "8be6eb8400ee5192476bd2b023e2c6ab372d87180dc4c1b9ffd08e5655b466d1" }, "downloads": -1, "filename": "keras_facenet-0.1a2-py3-none-any.whl", "has_sig": false, "md5_digest": "1f070dbeb44cb5c268a7d688c7ac9ef0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10744, "upload_time": "2019-04-30T20:37:29", "url": "https://files.pythonhosted.org/packages/bf/2f/7e89c25929c5778ce501a1db1932f6cde63cea7eb36494e6a2e253c197c7/keras_facenet-0.1a2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c127e13b9626f492b09d53a4358a06ba", "sha256": "154b2c267701f93788627268a1baf8ae190d3d5ffcfb6b92381b3da3275293e0" }, "downloads": -1, "filename": "keras-facenet-0.1a2.tar.gz", "has_sig": false, "md5_digest": "c127e13b9626f492b09d53a4358a06ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10059, "upload_time": "2019-04-30T20:37:31", "url": "https://files.pythonhosted.org/packages/66/6d/3a9d8d73f92ba34d80834ddf1d0637f8f75c6181804b12d2943d005b2f12/keras-facenet-0.1a2.tar.gz" } ], "0.1a3": [ { "comment_text": "", "digests": { "md5": "f6d73a65e6ccb9eb90dd4e7c6c77bf59", "sha256": "e1094a990f5cae664e752a39653e9a26c7193926973dac060862c57ed04be9e3" }, "downloads": -1, "filename": "keras_facenet-0.1a3-py3-none-any.whl", "has_sig": false, "md5_digest": "f6d73a65e6ccb9eb90dd4e7c6c77bf59", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10762, "upload_time": "2019-04-30T21:32:11", "url": "https://files.pythonhosted.org/packages/83/f0/4eb3ccbbb5f0cec73be37186b5a7892d16c7446bba137e90405f4d3554d7/keras_facenet-0.1a3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "637f44ca1b6578cfdfd329eaa647bb47", "sha256": "188e6b89f74be0f69a006d7569880e9c315142fd092bcef836eed0d7b4bae8cc" }, "downloads": -1, "filename": "keras-facenet-0.1a3.tar.gz", "has_sig": false, "md5_digest": "637f44ca1b6578cfdfd329eaa647bb47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10064, "upload_time": "2019-04-30T21:32:13", "url": "https://files.pythonhosted.org/packages/49/eb/e3b24e28ca2f18a9add48263670936d8098e22be142a373f3e14e556ab75/keras-facenet-0.1a3.tar.gz" } ], "0.1a4": [ { "comment_text": "", "digests": { "md5": "d3af7d419aa4a033af3d2e3520d36c9f", "sha256": "084fd54bd4f0401be842781528dd90450148d735ae6119b3bcd148e7435a595f" }, "downloads": -1, "filename": "keras_facenet-0.1a4-py3-none-any.whl", "has_sig": false, "md5_digest": "d3af7d419aa4a033af3d2e3520d36c9f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10847, "upload_time": "2019-05-01T20:27:11", "url": "https://files.pythonhosted.org/packages/4a/a0/a307c76ac4221ebbc4d2f4e1c6ed9d44ebe0bb4023d5085fd0cab71f9b5b/keras_facenet-0.1a4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1443cf5e29a489dd258c1c05ce13c56a", "sha256": "d0a503f1b407febcce30f29c428728e8fc8771fad60565aadfe7ddb01ae55e8b" }, "downloads": -1, "filename": "keras-facenet-0.1a4.tar.gz", "has_sig": false, "md5_digest": "1443cf5e29a489dd258c1c05ce13c56a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10415, "upload_time": "2019-05-01T20:27:12", "url": "https://files.pythonhosted.org/packages/82/f3/819c4481536d83ef20ed09d54700b52c05c9ff4b411f5615df856858770a/keras-facenet-0.1a4.tar.gz" } ], "0.1a5": [ { "comment_text": "", "digests": { "md5": "27cf9ee103abf2ce254a7c3656bbfe6e", "sha256": "b6aec68997ea4e33956c4bc581feefac2a8181c54c5123a31c9628c80664b9b4" }, "downloads": -1, "filename": "keras_facenet-0.1a5-py3-none-any.whl", "has_sig": false, "md5_digest": "27cf9ee103abf2ce254a7c3656bbfe6e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10854, "upload_time": "2019-05-01T22:31:20", "url": "https://files.pythonhosted.org/packages/cb/02/c54e423454cb2aa17e91f0bc7417e9ea8995bc19fa6e68013e23794d1498/keras_facenet-0.1a5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad6a31fb1c218eba508de21a1ed0dd22", "sha256": "74a7a812b79cd7826e143f34b4a87b7f02cd6362588133b3bd6d4462dc8cfeab" }, "downloads": -1, "filename": "keras-facenet-0.1a5.tar.gz", "has_sig": false, "md5_digest": "ad6a31fb1c218eba508de21a1ed0dd22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10433, "upload_time": "2019-05-01T22:31:21", "url": "https://files.pythonhosted.org/packages/43/aa/1ac5d3457607a7dde78bc5aa38a1f8456625cfca5c8ecce0f9cebe62d292/keras-facenet-0.1a5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "27cf9ee103abf2ce254a7c3656bbfe6e", "sha256": "b6aec68997ea4e33956c4bc581feefac2a8181c54c5123a31c9628c80664b9b4" }, "downloads": -1, "filename": "keras_facenet-0.1a5-py3-none-any.whl", "has_sig": false, "md5_digest": "27cf9ee103abf2ce254a7c3656bbfe6e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10854, "upload_time": "2019-05-01T22:31:20", "url": "https://files.pythonhosted.org/packages/cb/02/c54e423454cb2aa17e91f0bc7417e9ea8995bc19fa6e68013e23794d1498/keras_facenet-0.1a5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad6a31fb1c218eba508de21a1ed0dd22", "sha256": "74a7a812b79cd7826e143f34b4a87b7f02cd6362588133b3bd6d4462dc8cfeab" }, "downloads": -1, "filename": "keras-facenet-0.1a5.tar.gz", "has_sig": false, "md5_digest": "ad6a31fb1c218eba508de21a1ed0dd22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10433, "upload_time": "2019-05-01T22:31:21", "url": "https://files.pythonhosted.org/packages/43/aa/1ac5d3457607a7dde78bc5aa38a1f8456625cfca5c8ecce0f9cebe62d292/keras-facenet-0.1a5.tar.gz" } ] }