{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/dvgaze-dual-view-gaze-estimation","title":"DVGaze: Dual-View Gaze Estimation","arxiv_id":"2308.10310","date":"2023-08-20","proceeding":"ICCV 2023 1","authors":["Yihua Cheng","Feng Lu"],"abstract":"Gaze estimation methods estimate gaze from facial appearance with a single camera. However, due to the limited view of a single camera, the captured facial appearance cannot provide complete facial information and thus complicate the gaze estimation problem. Recently, camera devices are rapidly updated. Dual cameras are affordable for users and have been integrated in many devices. This development suggests that we can further improve gaze estimation performance with dual-view gaze estimation. In this paper, we propose a dual-view gaze estimation network (DV-Gaze). DV-Gaze estimates dual-view gaze directions from a pair of images. We first propose a dual-view interactive convolution (DIC) block in DV-Gaze. DIC blocks exchange dual-view information during convolution in multiple feature scales. It fuses dual-view features along epipolar lines and compensates for the original feature with the fused feature. We further propose a dual-view transformer to estimate gaze from dual-view features. Camera poses are encoded to indicate the position information in the transformer. We also consider the geometric relation between dual-view gaze directions and propose a dual-view gaze consistency loss for DV-Gaze. DV-Gaze achieves state-of-the-art performance on ETH-XGaze and EVE datasets. Our experiments also prove the potential of dual-view gaze estimation. We release codes in https://github.com/yihuacheng/DVGaze.","url_abs":"https://arxiv.org/abs/2308.10310v1","url_pdf":"https://arxiv.org/pdf/2308.10310v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"dvgaze-dual-view-gaze-estimation","repo_url":"https://github.com/yihuacheng/dvgaze","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"gaze-estimation","task_name":"Gaze Estimation"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.10310","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.10310"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/yihuacheng/DVGaze","reach":null}],"summary":{"ran":4},"by_repo_kind":{"official":{"samples":4,"ran":4,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"c43e936b053a6c1a","entry":"PositionalEncoder","repo":"yihuacheng/DVGaze","repo_kind":"official","path":"Code/eth/transformer.py","file_url":"https://github.com/yihuacheng/DVGaze/blob/HEAD/Code/eth/transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c43e936b053a6c1a"}},{"code_sha256_prefix":"abc77230cad0f7d4","entry":"Transformer","repo":"yihuacheng/DVGaze","repo_kind":"official","path":"Code/eth/transformer.py","file_url":"https://github.com/yihuacheng/DVGaze/blob/HEAD/Code/eth/transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"abc77230cad0f7d4"}},{"code_sha256_prefix":"f7b41bc0cb02526c","entry":"TransformerEncoder","repo":"yihuacheng/DVGaze","repo_kind":"official","path":"Code/eth/transformer.py","file_url":"https://github.com/yihuacheng/DVGaze/blob/HEAD/Code/eth/transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f7b41bc0cb02526c"}},{"code_sha256_prefix":"f632b3589956e8e9","entry":"TransformerEncoderLayer","repo":"yihuacheng/DVGaze","repo_kind":"official","path":"Code/eth/transformer.py","file_url":"https://github.com/yihuacheng/DVGaze/blob/HEAD/Code/eth/transformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f632b3589956e8e9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}