{"id":13828685,"url":"https://github.com/natanielruiz/deep-head-pose","last_synced_at":"2025-07-09T06:32:59.511Z","repository":{"id":41157036,"uuid":"112430035","full_name":"natanielruiz/deep-head-pose","owner":"natanielruiz","description":":fire::fire: Deep Learning Head Pose Estimation using PyTorch.","archived":false,"fork":false,"pushed_at":"2023-05-23T08:43:50.000Z","size":221232,"stargazers_count":1554,"open_issues_count":58,"forks_count":366,"subscribers_count":30,"default_branch":"master","last_synced_at":"2024-08-05T09:18:14.352Z","etag":null,"topics":["deep-learning","deep-neural-networks","face-pose","gaze","gaze-estimation","head","head-pose","head-pose-estimation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/natanielruiz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-29T05:16:12.000Z","updated_at":"2024-07-30T08:56:12.000Z","dependencies_parsed_at":"2022-07-14T08:31:27.817Z","dependency_job_id":null,"html_url":"https://github.com/natanielruiz/deep-head-pose","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natanielruiz%2Fdeep-head-pose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natanielruiz%2Fdeep-head-pose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natanielruiz%2Fdeep-head-pose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natanielruiz%2Fdeep-head-pose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/natanielruiz","download_url":"https://codeload.github.com/natanielruiz/deep-head-pose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225492420,"owners_count":17482869,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","deep-neural-networks","face-pose","gaze","gaze-estimation","head","head-pose","head-pose-estimation"],"created_at":"2024-08-04T09:02:59.866Z","updated_at":"2024-11-20T08:31:02.970Z","avatar_url":"https://github.com/natanielruiz.png","language":"Python","funding_links":[],"categories":["Python","Paper implementations｜论文实现","Paper implementations"],"sub_categories":["Other libraries｜其他库:","Other libraries:"],"readme":"# Hopenet #\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgur.com/K7jhHOg.png\" width=\"380\"\u003e\u003cbr\u003e\u003cbr\u003e\n\u003c/div\u003e\n\n**Hopenet** is an accurate and easy to use head pose estimation network. Models have been trained on the 300W-LP dataset and have been tested on real data with good qualitative performance.\n\nFor details about the method and quantitative results please check the CVPR Workshop [paper](https://arxiv.org/abs/1710.00925).\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"conan-cruise.gif\" /\u003e\u003cbr\u003e\u003cbr\u003e\n\u003c/div\u003e\n\n**new** [GoT trailer example video](https://youtu.be/OZdOrSLBQmI)\n\n**new** [Conan-Cruise-Car example video](https://youtu.be/Bz6eF4Nl1O8)\n\n\nTo use please install [PyTorch](http://pytorch.org/) and [OpenCV](https://opencv.org/) (for video) - I believe that's all you need apart from usual libraries such as numpy. You need a GPU to run Hopenet (for now).\n\nTo test on a video using dlib face detections (center of head will be jumpy):\n```bash\npython code/test_on_video_dlib.py --snapshot PATH_OF_SNAPSHOT --face_model PATH_OF_DLIB_MODEL --video PATH_OF_VIDEO --output_string STRING_TO_APPEND_TO_OUTPUT --n_frames N_OF_FRAMES_TO_PROCESS --fps FPS_OF_SOURCE_VIDEO\n```\nTo test on a video using your own face detections (we recommend using [dockerface](https://github.com/natanielruiz/dockerface), center of head will be smoother):\n```bash\npython code/test_on_video_dockerface.py --snapshot PATH_OF_SNAPSHOT --video PATH_OF_VIDEO --bboxes FACE_BOUNDING_BOX_ANNOTATIONS --output_string STRING_TO_APPEND_TO_OUTPUT --n_frames N_OF_FRAMES_TO_PROCESS --fps FPS_OF_SOURCE_VIDEO\n```\nFace bounding box annotations should be in Dockerface format (n_frame x_min y_min x_max y_max confidence).\n\nPre-trained models:\n\n[300W-LP, alpha 1](https://drive.google.com/open?id=1EJPu2sOAwrfuamTitTkw2xJ2ipmMsmD3)\n\n[300W-LP, alpha 2](https://drive.google.com/open?id=16OZdRULgUpceMKZV6U9PNFiigfjezsCY)\n\n[300W-LP, alpha 1, robust to image quality](https://drive.google.com/open?id=1m25PrSE7g9D2q2XJVMR6IA7RaCvWSzCR)\n\nFor more information on what alpha stands for please read the paper. First two models are for validating paper results, if used on real data we suggest using the last model as it is more robust to image quality and blur and gives good results on video.\n\nPlease open an issue if you have an problem.\n\nSome very cool implementations of this work on other platforms by some cool people:\n\n[Gluon](https://github.com/Cjiangbpcs/gazenet_mxJiang)\n\n[MXNet](https://github.com/haofanwang/mxnet-Head-Pose)\n\n[TensorFlow with Keras](https://github.com/Oreobird/tf-keras-deep-head-pose)\n\nA really cool lightweight version of HopeNet:\n\n[Deep Head Pose Light](https://github.com/OverEuro/deep-head-pose-lite)\n\n\nIf you find Hopenet useful in your research please cite:\n\n```\n@InProceedings{Ruiz_2018_CVPR_Workshops,\nauthor = {Ruiz, Nataniel and Chong, Eunji and Rehg, James M.},\ntitle = {Fine-Grained Head Pose Estimation Without Keypoints},\nbooktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) Workshops},\nmonth = {June},\nyear = {2018}\n}\n```\n\n*Nataniel Ruiz*, *Eunji Chong*, *James M. Rehg*\n\nGeorgia Institute of Technology\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnatanielruiz%2Fdeep-head-pose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnatanielruiz%2Fdeep-head-pose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnatanielruiz%2Fdeep-head-pose/lists"}