{"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/seesawfacenets-sparse-and-robust-face","title":"SeesawFaceNets: sparse and robust face verification model for mobile platform","arxiv_id":"1908.09124","date":"2019-08-24","proceeding":"arXiv 2019 8","authors":["Jintao Zhang"],"abstract":"Deep Convolutional Neural Network (DCNNs) come to be the most widely used solution for most computer vision related tasks, and one of the most important application scenes is face verification. Due to its high-accuracy performance, deep face verification models of which the inference stage occurs on cloud platform through internet plays the key role on most prectical scenes. However, two critical issues exist: First, individual privacy may not be well protected since they have to upload their personal photo and other private information to the online cloud backend. Secondly, either training or inference stage is time-comsuming and the latency may affect customer experience, especially when the internet link speed is not so stable or in remote areas where mobile reception is not so good, but also in cities where building and other construction may block mobile signals. Therefore, designing lightweight networks with low memory requirement and computational cost is one of the most practical solutions for face verification on mobile platform. In this paper, a novel mobile network named SeesawFaceNets, a simple but effective model, is proposed for productively deploying face recognition for mobile devices. Dense experimental results have shown that our proposed model SeesawFaceNets outperforms the baseline MobilefaceNets, with only {\\bf66\\%}(146M VS 221M MAdds) computational cost, smaller batch size and less training steps, and SeesawFaceNets achieve comparable performance with other SOTA model e.g. mobiface with only {\\bf54.2\\%}(1.3M VS 2.4M) parameters and {\\bf31.6\\%}(146M VS 462M MAdds) computational cost, It is also eventually competitive against large-scale deep-networks face recognition on all 5 listed public validation datasets, with {\\bf6.5\\%}(4.2M VS 65M) parameters and {\\bf4.35\\%}(526M VS 12G MAdds) computational cost.","url_abs":"https://arxiv.org/abs/1908.09124v3","url_pdf":"https://arxiv.org/pdf/1908.09124v3.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":"seesawfacenets-sparse-and-robust-face","repo_url":"https://github.com/cvtower/SeesawNet-pytorch-reimplement","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"seesawfacenets-sparse-and-robust-face","repo_url":"https://github.com/cvtower/SeesawNet_pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"seesawfacenets-sparse-and-robust-face","repo_url":"https://github.com/cvtower/seesawfacenet_pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"seesawfacenets-sparse-and-robust-face","repo_url":"https://github.com/didi/AoE","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"gone","observed_at":"2026-09-17","how":"tree_404+repo_404"}},{"paper_slug":"seesawfacenets-sparse-and-robust-face","repo_url":"https://github.com/pshashk/seesaw-facenet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"seesawfacenets-sparse-and-robust-face","repo_url":"https://github.com/Recognito-Vision/Android-FaceRecognition-FaceLivenessDetection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"face-recognition","task_name":"Face Recognition"},{"task_slug":"face-verification","task_name":"Face Verification"},{"task_slug":"lightweight-face-recognition","task_name":"Lightweight Face Recognition"}],"methods":[{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/lightweight-face-recognition-on-agedb-30","task":"Lightweight Face Recognition","dataset":"AgeDB-30","model":"Seesaw-shuffleFaceNet(mobi)","rank_in_archive_order":2,"of":5,"metrics":{"Accuracy":"0.9648","MParams":"2.8"},"uses_additional_data":false},{"leaderboard":"/sota/lightweight-face-recognition-on-cfp-fp","task":"Lightweight Face Recognition","dataset":"CFP-FP","model":"Seesaw-shuffleFaceNet(mobi)","rank_in_archive_order":4,"of":4,"metrics":{"Accuracy":"0.9307","MParams":"2.8"},"uses_additional_data":false},{"leaderboard":"/sota/lightweight-face-recognition-on-lfw","task":"Lightweight Face Recognition","dataset":"LFW","model":"Seesaw-shuffleFaceNet(mobi)","rank_in_archive_order":4,"of":6,"metrics":{"Accuracy":"0.9965","MParams":"2.8"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1908.09124","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1908.09124"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cvtower/seesawfacenet_pytorch","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cvtower/SeesawNet-pytorch-reimplement","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cvtower/SeesawNet_pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/didi/AoE","reach":{"status":"gone","observed_at":"2026-09-17","how":"tree_404+repo_404"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Recognito-Vision/Android-FaceRecognition-FaceLivenessDetection","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pshashk/seesaw-facenet","reach":null}],"summary":{"ran_draft_wrong":4,"ran":2,"ran_honours":1,"unverified":10},"by_repo_kind":{"listed":{"samples":17,"ran":7,"repositories":3}},"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":5,"samples":[{"code_sha256_prefix":"41b5161a608d5f29","entry":"Block","repo":"pshashk/seesaw-facenet","repo_kind":"listed","path":"model.py","file_url":"https://github.com/pshashk/seesaw-facenet/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"41b5161a608d5f29"}},{"code_sha256_prefix":"b71052fb86154367","entry":"Conv","repo":"pshashk/seesaw-facenet","repo_kind":"listed","path":"model.py","file_url":"https://github.com/pshashk/seesaw-facenet/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b71052fb86154367"}},{"code_sha256_prefix":"0db9f814cdec6488","entry":"conv_1x1_bn","repo":"cvtower/SeesawNet_pytorch","repo_kind":"listed","path":"code/models/imagenet/seesaw.py","file_url":"https://github.com/cvtower/SeesawNet_pytorch/blob/HEAD/code/models/imagenet/seesaw.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0db9f814cdec6488"}},{"code_sha256_prefix":"80d427a5f4557b3d","entry":"conv_bn","repo":"cvtower/SeesawNet_pytorch","repo_kind":"listed","path":"code/models/imagenet/seesaw.py","file_url":"https://github.com/cvtower/SeesawNet_pytorch/blob/HEAD/code/models/imagenet/seesaw.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"80d427a5f4557b3d"}},{"code_sha256_prefix":"b7f364dbce963974","entry":"get_affine_transform_matrix","repo":"cvtower/seesawfacenet_pytorch","repo_kind":"listed","path":"src/mtcnn_pytorch/src/align_trans.py","file_url":"https://github.com/cvtower/seesawfacenet_pytorch/blob/HEAD/src/mtcnn_pytorch/src/align_trans.py","link_basis":"harvester_set","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":"b7f364dbce963974"}},{"code_sha256_prefix":"8b5594729a056dad","entry":"hard_sigmoid","repo":"pshashk/seesaw-facenet","repo_kind":"listed","path":"model.py","file_url":"https://github.com/pshashk/seesaw-facenet/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8b5594729a056dad"}},{"code_sha256_prefix":"b4e2f92e3ce5abc6","entry":"tformfwd","repo":"cvtower/seesawfacenet_pytorch","repo_kind":"listed","path":"src/mtcnn_pytorch/src/matlab_cp2tform.py","file_url":"https://github.com/cvtower/seesawfacenet_pytorch/blob/HEAD/src/mtcnn_pytorch/src/matlab_cp2tform.py","link_basis":"harvester_set","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":"b4e2f92e3ce5abc6"}},{"code_sha256_prefix":"6b0e6100d2ca104e","entry":"calibrate_box","repo":"cvtower/seesawfacenet_pytorch","repo_kind":"listed","path":"src/mtcnn_pytorch/src/box_utils.py","file_url":"https://github.com/cvtower/seesawfacenet_pytorch/blob/HEAD/src/mtcnn_pytorch/src/box_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6b0e6100d2ca104e"}},{"code_sha256_prefix":"c4e1ca09fcca76fc","entry":"convert_to_square","repo":"cvtower/seesawfacenet_pytorch","repo_kind":"listed","path":"src/mtcnn_pytorch/src/box_utils.py","file_url":"https://github.com/cvtower/seesawfacenet_pytorch/blob/HEAD/src/mtcnn_pytorch/src/box_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c4e1ca09fcca76fc"}},{"code_sha256_prefix":"15396a0e5161d1a2","entry":"detect_faces","repo":"cvtower/seesawfacenet_pytorch","repo_kind":"listed","path":"src/mtcnn_pytorch/src/detector.py","file_url":"https://github.com/cvtower/seesawfacenet_pytorch/blob/HEAD/src/mtcnn_pytorch/src/detector.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"15396a0e5161d1a2"}},{"code_sha256_prefix":"d074710facc3ca20","entry":"findNonreflectiveSimilarity","repo":"cvtower/seesawfacenet_pytorch","repo_kind":"listed","path":"src/mtcnn_pytorch/src/matlab_cp2tform.py","file_url":"https://github.com/cvtower/seesawfacenet_pytorch/blob/HEAD/src/mtcnn_pytorch/src/matlab_cp2tform.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d074710facc3ca20"}},{"code_sha256_prefix":"7068d53e5a1d27e7","entry":"get_config","repo":"cvtower/seesawfacenet_pytorch","repo_kind":"listed","path":"src/config.py","file_url":"https://github.com/cvtower/seesawfacenet_pytorch/blob/HEAD/src/config.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7068d53e5a1d27e7"}},{"code_sha256_prefix":"a88ec2b4b2ac122c","entry":"get_reference_facial_points","repo":"cvtower/seesawfacenet_pytorch","repo_kind":"listed","path":"src/mtcnn_pytorch/src/align_trans.py","file_url":"https://github.com/cvtower/seesawfacenet_pytorch/blob/HEAD/src/mtcnn_pytorch/src/align_trans.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a88ec2b4b2ac122c"}},{"code_sha256_prefix":"522ee6c31c17d845","entry":"nms","repo":"cvtower/seesawfacenet_pytorch","repo_kind":"listed","path":"src/mtcnn_pytorch/src/box_utils.py","file_url":"https://github.com/cvtower/seesawfacenet_pytorch/blob/HEAD/src/mtcnn_pytorch/src/box_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"522ee6c31c17d845"}},{"code_sha256_prefix":"c2027475131174ef","entry":"run_first_stage","repo":"cvtower/seesawfacenet_pytorch","repo_kind":"listed","path":"src/mtcnn_pytorch/src/first_stage.py","file_url":"https://github.com/cvtower/seesawfacenet_pytorch/blob/HEAD/src/mtcnn_pytorch/src/first_stage.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c2027475131174ef"}},{"code_sha256_prefix":"1a075d92bb280328","entry":"show_bboxes","repo":"cvtower/seesawfacenet_pytorch","repo_kind":"listed","path":"src/mtcnn_pytorch/src/visualization_utils.py","file_url":"https://github.com/cvtower/seesawfacenet_pytorch/blob/HEAD/src/mtcnn_pytorch/src/visualization_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1a075d92bb280328"}},{"code_sha256_prefix":"6661cdf22fccc11e","entry":"tforminv","repo":"cvtower/seesawfacenet_pytorch","repo_kind":"listed","path":"src/mtcnn_pytorch/src/matlab_cp2tform.py","file_url":"https://github.com/cvtower/seesawfacenet_pytorch/blob/HEAD/src/mtcnn_pytorch/src/matlab_cp2tform.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6661cdf22fccc11e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}