{"id":26246172,"url":"https://github.com/zillow/psmnet-layout","last_synced_at":"2026-04-20T16:33:57.039Z","repository":{"id":66175617,"uuid":"596725008","full_name":"zillow/psmnet-layout","owner":"zillow","description":null,"archived":false,"fork":false,"pushed_at":"2023-02-17T00:17:50.000Z","size":9322,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-01-01T18:38:41.542Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/zillow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-02-02T19:57:13.000Z","updated_at":"2025-02-25T06:04:11.000Z","dependencies_parsed_at":"2023-02-20T23:16:08.012Z","dependency_job_id":null,"html_url":"https://github.com/zillow/psmnet-layout","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zillow/psmnet-layout","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zillow%2Fpsmnet-layout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zillow%2Fpsmnet-layout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zillow%2Fpsmnet-layout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zillow%2Fpsmnet-layout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zillow","download_url":"https://codeload.github.com/zillow/psmnet-layout/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zillow%2Fpsmnet-layout/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32055398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2025-03-13T13:17:32.501Z","updated_at":"2026-04-20T16:33:57.030Z","avatar_url":"https://github.com/zillow.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PSMNet: Position-aware Stereo Merging Network for Room Layout Estimation\nCreated by Haiyan Wang, Will Hutchcroft, Yuguang Li, Zhiqiang Wan, Ivaylo Boyadzhiev, Yingli Tian, Sing Bing Kang from \u003ca href=\"https://www.zillow.com/\" target=\"_blank\"\u003eZillow\u003c/a\u003e and \u003ca href=\"https://www.ccny.cuny.edu/\" target=\"_blank\"\u003eThe City College of New York\u003c/a\u003e.\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"assets/network.png\" alt=\"framework\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\n## Introduction\n\nThis repository contains the pytorch demo code for our \u003ca href=\"https://openaccess.thecvf.com/content/CVPR2022/papers/Wang_PSMNet_Position-Aware_Stereo_Merging_Network_for_Room_Layout_Estimation_CVPR_2022_paper.pdf\" target=\"_blank\"\u003ePSMNet\u003c/a\u003e paper, which aims at estimating layout from multi-view panoramas. Our paper has been accepted at CVPR 2022. Our system, called Position-aware Stereo Merging Network or PSMNet, is an end-to-end joint layout-pose estimator. PSMNet consists of a Stereo Pano Pose (SP2) transformer and a novel Cross-Perspective Projection (CP2) layer. The stereo-view SP2 transformer is used to implicitly infer correspondences between views, and can handle noisy poses. The pose-aware CP2 layer is designed to render features from the adjacent view to the anchor (reference) view, in order to perform view fusion and estimate the visible layout. Our experiments and analysis validate our method, which significantly outperforms the state-of-the-art layout estimators, especially for large and complex room spaces.\n\n## Installation\n\nWe recommend conda for installation:\n\n```\nconda create -n psmnet python=3.7\nconda activate psmnet\nLinux: pip install torch==1.8.1+cpu torchvision==0.9.1+cpu torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html / Mac: pip install torch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0)\npip install -r requirements.txt\n```\n\n## Pretrained Model\n\nFirst, please download the [pretrained model](https://drive.google.com/file/d/1IuOXkLj3Rb9ywzu3g3NP_IRPi71NJ_RO/view?usp=sharing) by running the following commands: \n\n```\nmkdir checkpoints\ncd checkpoints\ngdown 1IuOXkLj3Rb9ywzu3g3NP_IRPi71NJ_RO\ncd ..\n```\n\n## Predict\n\nPlace two ZInD panoramas and the corresponding PSMNet GT data file in the assets folder (or use the existing provided files). For our demo, the PSMNet GT data file provides the GT pose, in order to simulate a noisy input pose for refinement, as well as the vanishing angle parameter for manhattan-aligned post-processing. Then, run the following command to load the pretrained model and predict the 3D layout:\n\n```\npython demo.py \n```\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"assets/demo.png\" alt=\"framework\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\n\n## Dataset\nThe pair-wise PSMNet data was derived from ZInD, and partitioned according to the ZInD public train/test/val split. The zipped data for each partition may be downloaded here: [train](https://files.zillowstatic.com/research/public/StaticFiles/psmnet/train.zip), [test](https://files.zillowstatic.com/research/public/StaticFiles/psmnet/test.zip), [valid](https://files.zillowstatic.com/research/public/StaticFiles/psmnet/valid.zip). Each data file is named by the concatenation of the corresponding ZInD identifiers for each panorama in the pair, and contains the relative pose, the joint visible layout, the vanishing angles for each panorama, and the ceiling height, as well as the metrics used for analysis in the paper: covisibility score and spatial overlap. \n\n\n## Citation\n\nIf you find our work useful for your research, please consider citing:\n\n```\n@InProceedings{Wang_2022_CVPR,\n    author    = {Wang, Haiyan and Hutchcroft, Will and Li, Yuguang and Wan, Zhiqiang and Boyadzhiev, Ivaylo and Tian, Yingli and Kang, Sing Bing},\n    title     = {PSMNet: Position-Aware Stereo Merging Network for Room Layout Estimation},\n    booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},\n    month     = {June},\n    year      = {2022},\n    pages     = {8616-8625}\n}\n```\n\n## Related Projects\n\n[DuLa-Net](https://github.com/SunDaDenny/DuLa-Net)\n\n[LoFTR](https://github.com/zju3dv/LoFTR)\n\n## License\nThis work is released under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License (see LICENSE file for more details).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzillow%2Fpsmnet-layout","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzillow%2Fpsmnet-layout","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzillow%2Fpsmnet-layout/lists"}