{"url":"/method/hourglass-module","slug":"hourglass-module","name":"Hourglass Module","full_name":"Hourglass Module","full_name_withheld":false,"description_markdown":"An **Hourglass Module** is an image block module used mainly for pose estimation tasks. The design of the hourglass is motivated by the need to capture information at every scale. While local evidence is essential for identifying features like faces and hands, a final pose estimate requires a coherent understanding of the full body. The person’s orientation, the arrangement of their limbs, and the relationships of adjacent joints are among the many cues that are best recognized at different scales in the image. The hourglass is a simple, minimal design that has the capacity to capture all of these features and bring them together to output pixel-wise predictions.\r\n\r\nThe network must have some mechanism to effectively process and consolidate features across scales. The Hourglass uses a single pipeline with skip layers to preserve spatial information at each resolution. The network reaches its lowest resolution at 4x4 pixels allowing smaller spatial filters to be applied that compare features across the entire space of the image.\r\n\r\nThe hourglass is set up as follows: Convolutional and [max pooling](https://paperswithcode.com/method/max-pooling) layers are used to process features down to a very low resolution. At each max pooling step, the network branches off and applies more convolutions at the original pre-pooled resolution. After reaching the lowest resolution, the network begins the top-down sequence of upsampling and combination of features across scales. To bring together information across two adjacent resolutions, we do nearest neighbor upsampling of the lower resolution followed by an elementwise addition of the two sets of features. The topology of the hourglass is symmetric, so for every layer present on the way down there is a corresponding layer going up.\r\n\r\nAfter reaching the output resolution of the network, two consecutive rounds of 1x1 convolutions are applied to produce the final network predictions. The output of the network is a set of heatmaps where for a given [heatmap](https://paperswithcode.com/method/heatmap) the network predicts the probability of a joint’s presence at each and every pixel.","description_state":"present","introduced_year":null,"introduced_by":{"title":null,"paper":null,"first_author":null,"n_authors":0,"url_abs":null,"archive_paper_url":null},"source":{"url":"http://arxiv.org/abs/1603.06937v2","title":"Stacked Hourglass Networks for Human Pose Estimation","url_on_a_paper_host":true},"code_snippet_url":"https://github.com/bearpaw/pytorch-pose/blob/7ce6642f777e9da6249bd5b05330d57fa09ea37a/pose/models/hourglass.py#L54","code_snippet_url_on_a_code_host":true,"categories":[{"area":"Computer Vision","area_id":"computer-vision","collection":"Image Model Blocks","url":"/methods/category/image-model-blocks","pwc_aliases":[]}],"n_papers_tagged":31,"archive_num_papers":null,"papers_newest_first":[{"paper":"/paper/fiducial-focus-augmentation-for-facial","title":"Fiducial Focus Augmentation for Facial Landmark Detection","date":"2024-02-23","arxiv_id":"2402.15044","n_code_links":0,"syntology":null},{"paper":"/paper/to-perceive-or-not-to-perceive-lightweight","title":"To Perceive or Not to Perceive: Lightweight Stacked Hourglass Network","date":"2023-02-09","arxiv_id":"2302.04815","n_code_links":1,"syntology":null},{"paper":"/paper/robust-table-detection-and-structure","title":"Robust Table Detection and Structure Recognition from Heterogeneous Document Images","date":"2022-03-17","arxiv_id":"2203.09056","n_code_links":0,"syntology":null},{"paper":null,"title":"Deep Point Cloud Reconstruction","date":"2021-11-23","arxiv_id":"2111.11704","n_code_links":0,"syntology":null},{"paper":"/paper/stacked-hourglass-network-with-a-multi-level","title":"Stacked Hourglass Network with a Multi-level Attention Mechanism: Where to Look for Intervertebral Disc Labeling","date":"2021-08-14","arxiv_id":"2108.06554","n_code_links":1,"syntology":null},{"paper":"/paper/volnet-estimating-human-body-part-volumes","title":"VolNet: Estimating Human Body Part Volumes from a Single RGB Image","date":"2021-07-05","arxiv_id":"2107.02259","n_code_links":0,"syntology":null},{"paper":null,"title":"Automatic segmentation of vertebral features on ultrasound spine images using Stacked Hourglass Network","date":"2021-05-09","arxiv_id":"2105.03847","n_code_links":0,"syntology":null},{"paper":null,"title":"TetraPackNet: Four-Corner-Based Object Detection in Logistics Use-Cases","date":"2021-04-19","arxiv_id":"2104.09123","n_code_links":0,"syntology":null},{"paper":"/paper/traffic-camera-calibration-via-vehicle","title":"Traffic Camera Calibration via Vehicle Vanishing Point Detection","date":"2021-03-21","arxiv_id":"2103.11438","n_code_links":2,"syntology":null},{"paper":"/paper/relationnet-bridging-visual-representations","title":"RelationNet++: Bridging Visual Representations for Object Detection via Transformer Decoder","date":"2020-10-29","arxiv_id":"2010.15831","n_code_links":4,"syntology":{"ran":0,"of":5,"unverified":5,"pointer_only":0}},{"paper":"/paper/houghnet-integrating-near-and-long-range","title":"HoughNet: Integrating near and long-range evidence for bottom-up object detection","date":"2020-07-05","arxiv_id":"2007.02355","n_code_links":2,"syntology":null},{"paper":null,"title":"3D Pose Detection in Videos: Focusing on Occlusion","date":"2020-06-24","arxiv_id":"2006.13517","n_code_links":0,"syntology":null},{"paper":"/paper/rgbd-dog-predicting-canine-pose-from-rgbd","title":"RGBD-Dog: Predicting Canine Pose from RGBD Sensors","date":"2020-04-16","arxiv_id":"2004.07788","n_code_links":1,"syntology":null},{"paper":null,"title":"Single upper limb pose estimation method based on improved stacked hourglass network","date":"2020-04-16","arxiv_id":"2004.07456","n_code_links":0,"syntology":null},{"paper":null,"title":"SPCNet:Spatial Preserve and Content-aware Network for Human Pose Estimation","date":"2020-04-13","arxiv_id":"2004.05834","n_code_links":0,"syntology":null},{"paper":"/paper/spotnet-self-attention-multi-task-network-for","title":"SpotNet: Self-Attention Multi-Task Network for Object Detection","date":"2020-02-13","arxiv_id":"2002.05540","n_code_links":1,"syntology":null},{"paper":null,"title":"Multistage Model for Robust Face Alignment Using Deep Neural Networks","date":"2020-02-04","arxiv_id":"2002.01075","n_code_links":0,"syntology":null},{"paper":"/paper/matrixnets-a-new-scale-and-aspect-ratio-aware","title":"MatrixNets: A New Scale and Aspect Ratio Aware Architecture for Object Detection","date":"2020-01-09","arxiv_id":"2001.03194","n_code_links":1,"syntology":null},{"paper":"/paper/simple-pose-rethinking-and-improving-a-bottom","title":"Simple Pose: Rethinking and Improving a Bottom-up Approach for Multi-Person Pose Estimation","date":"2019-11-24","arxiv_id":"1911.10529","n_code_links":8,"syntology":null},{"paper":null,"title":"Single-shot 3D multi-person pose estimation in complex images","date":"2019-11-08","arxiv_id":"1911.03391","n_code_links":0,"syntology":null},{"paper":null,"title":"Analyzing Large Receptive Field Convolutional Networks for Distant Speech Recognition","date":"2019-10-15","arxiv_id":"1910.07047","n_code_links":0,"syntology":null},{"paper":null,"title":"Multi-task Localization and Segmentation for X-ray Guided Planning in Knee Surgery","date":"2019-07-24","arxiv_id":"1907.10465","n_code_links":0,"syntology":null},{"paper":null,"title":"Multi-task human analysis in still images: 2D/3D pose, depth map, and multi-part segmentation","date":"2019-05-08","arxiv_id":"1905.03003","n_code_links":0,"syntology":null},{"paper":"/paper/190408900","title":"CornerNet-Lite: Efficient Keypoint Based Object Detection","date":"2019-04-18","arxiv_id":"1904.08900","n_code_links":6,"syntology":{"ran":1,"of":27,"unverified":26,"pointer_only":0}},{"paper":"/paper/centernet-object-detection-with-keypoint","title":"CenterNet: Keypoint Triplets for Object Detection","date":"2019-04-17","arxiv_id":"1904.08189","n_code_links":20,"syntology":{"ran":2,"of":11,"unverified":9,"pointer_only":2}},{"paper":"/paper/group-wise-correlation-stereo-network","title":"Group-wise Correlation Stereo Network","date":"2019-03-10","arxiv_id":"1903.04025","n_code_links":2,"syntology":{"ran":0,"of":2,"unverified":2,"pointer_only":0}},{"paper":null,"title":"Exploring Stereovision-Based 3-D Scene Reconstruction for Augmented Reality","date":"2019-02-17","arxiv_id":"1902.06255","n_code_links":0,"syntology":null},{"paper":"/paper/bottom-up-object-detection-by-grouping","title":"Bottom-up Object Detection by Grouping Extreme and Center Points","date":"2019-01-23","arxiv_id":"1901.08043","n_code_links":2,"syntology":{"ran":1,"of":5,"unverified":4,"pointer_only":0}},{"paper":"/paper/cornernet-detecting-objects-as-paired","title":"CornerNet: Detecting Objects as Paired Keypoints","date":"2018-08-03","arxiv_id":"1808.01244","n_code_links":5,"syntology":{"ran":3,"of":11,"unverified":8,"pointer_only":0}},{"paper":null,"title":"Semi-Automatic RECIST Labeling on CT Scans with Cascaded Convolutional Neural Networks","date":"2018-06-25","arxiv_id":"1806.09507","n_code_links":0,"syntology":null}],"papers_shown":30,"tasks":[{"task":"/task/pose-estimation","name":"Pose Estimation","papers":10},{"task":"/task/object","name":"Object","papers":9},{"task":"/task/object-detection","name":"Object Detection","papers":9},{"task":"/task/object-detection-1","name":"object-detection","papers":9},{"task":"/task/multi-task-learning","name":"Multi-Task Learning","papers":3},{"task":"/task/3d-pose-estimation","name":"3D Pose Estimation","papers":2},{"task":"/task/decoder","name":"Decoder","papers":2},{"task":"/task/face-alignment","name":"Face Alignment","papers":2},{"task":"/task/multi-person-pose-estimation","name":"Multi-Person Pose Estimation","papers":2},{"task":"/task/segmentation","name":"Segmentation","papers":2},{"task":"/task/semantic-segmentation","name":"Semantic Segmentation","papers":2},{"task":"/task/stereo-matching-1","name":"Stereo Matching","papers":2},{"task":"/task/stereo-matching","name":"Stereo Matching Hand","papers":2},{"task":"/task/2d-human-pose-estimation","name":"2D Human Pose Estimation","papers":1},{"task":"/task/2d-pose-estimation","name":"2D Pose Estimation","papers":1},{"task":"/task/3d-human-pose-estimation","name":"3D Human Pose Estimation","papers":1},{"task":"/task/3d-multi-person-human-pose-estimation","name":"3D Multi-Person Human Pose Estimation","papers":1},{"task":"/task/3d-multi-person-pose-estimation","name":"3D Multi-Person Pose Estimation","papers":1},{"task":"/task/3d-volumetric-reconstruction","name":"3D Volumetric Reconstruction","papers":1},{"task":"/task/automatic-speech-recognition-2","name":"Automatic Speech Recognition","papers":1}],"tasks_shown":20,"n_tasks":49,"usage_by_year":[{"year":"2016","papers":1},{"year":"2018","papers":2},{"year":"2019","papers":10},{"year":"2020","papers":9},{"year":"2021","papers":6},{"year":"2022","papers":1},{"year":"2023","papers":1},{"year":"2024","papers":1}],"row_source":"embedded","archive":{"source":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","archive_url":"https://paperswithcode.com/method/hourglass-module"},"syntology_read_at":"2026-09-24T18:15:14+00:00"}