{"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/arxiv-2608-31107","title":"VeriCam: A Verification Baseline for the Classification of Unknown Data","arxiv_id":"2608.31107","date":"2026-08-31","proceeding":null,"authors":["Lucas Wojcik","Gabriel E. Lima","Sergio M. Silva","Eduil Nascimento","David Menotti"],"abstract":"The advent of foundation models have enabled a new era in zero-shot classification. Yet, key challenges persist. Despite their impressive generalization power that leverages the immense pre-training knowledge, both foundation models for image and text as well as vision-text hybrids lack the representational power needed for fine-grained, minutiae-based class separation that some real-world tasks require. To address the current gaps in the literature, we propose VeriCam, a pipeline designed to learn highly specialized features that enable classification of unknown classes in unseen data. VeriCam works by leveraging the representation power of image models trained for the verification task, where the model develops an intricate feature space that incorporates fine-grained details. By training a model to discriminate between pairs of images from the same and different classes, a relational graph is constructed, representing the class relationships between data points. We then present two approaches for graph clustering: a naive algorithm and a specific setup for the Leiden graph clustering algorithm. The pipeline is validated on the LPLCv2 dataset, which comprises real-world traffic surveillance images. We show that the dataset carries an inherent capture device bias that is posed as a generalization challenge for downstream License Plate recognition tasks such as OCR. As such, we dynamically identify capture devices with a label-agnostic approach, enabling the construction of a fair and unbiased benchmark. In the cross-device scenario, our pipeline reaches an F1-Score of 93.45 in the verification baseline and a V-Measure score of 80.13 in the clustering step. All code is publicly available at https://github.com/lmlwojcik/VeriCam","url_abs":"https://arxiv.org/abs/2608.31107","url_pdf":"https://arxiv.org/pdf/2608.31107","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2608.31107","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2608.31107"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/lmlwojcik/VeriCam","reach":{"status":"ok"}}],"summary":{"unverified":14},"by_repo_kind":{"found_in_text":{"samples":14,"ran":0,"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":14,"samples":[{"code_sha256_prefix":"fd79f9f072bc81da","entry":"ViT_pretrained","repo":"lmlwojcik/VeriCam","repo_kind":"found_in_text","path":"models/pretrained.py","file_url":"https://github.com/lmlwojcik/VeriCam/blob/HEAD/models/pretrained.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fd79f9f072bc81da"}},{"code_sha256_prefix":"6ce3b807d2ca3b48","entry":"build_initial_relations","repo":"lmlwojcik/VeriCam","repo_kind":"found_in_text","path":"clustering_step.py","file_url":"https://github.com/lmlwojcik/VeriCam/blob/HEAD/clustering_step.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6ce3b807d2ca3b48"}},{"code_sha256_prefix":"c71a1a66731a0f0c","entry":"conclude_slice","repo":"lmlwojcik/VeriCam","repo_kind":"found_in_text","path":"callbacks.py","file_url":"https://github.com/lmlwojcik/VeriCam/blob/HEAD/callbacks.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c71a1a66731a0f0c"}},{"code_sha256_prefix":"9bff081af83b983c","entry":"cosine_distance","repo":"lmlwojcik/VeriCam","repo_kind":"found_in_text","path":"trainer.py","file_url":"https://github.com/lmlwojcik/VeriCam/blob/HEAD/trainer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9bff081af83b983c"}},{"code_sha256_prefix":"ff91359cbc0ebff0","entry":"dict_to_string","repo":"lmlwojcik/VeriCam","repo_kind":"found_in_text","path":"models/utils.py","file_url":"https://github.com/lmlwojcik/VeriCam/blob/HEAD/models/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ff91359cbc0ebff0"}},{"code_sha256_prefix":"4e985781d7f8683c","entry":"dict_to_table","repo":"lmlwojcik/VeriCam","repo_kind":"found_in_text","path":"models/utils.py","file_url":"https://github.com/lmlwojcik/VeriCam/blob/HEAD/models/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4e985781d7f8683c"}},{"code_sha256_prefix":"6728894b82ddf812","entry":"dict_to_table","repo":"lmlwojcik/VeriCam","repo_kind":"found_in_text","path":"utils.py","file_url":"https://github.com/lmlwojcik/VeriCam/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6728894b82ddf812"}},{"code_sha256_prefix":"5380893bc65f4d27","entry":"gen_idxs","repo":"lmlwojcik/VeriCam","repo_kind":"found_in_text","path":"clustering_step.py","file_url":"https://github.com/lmlwojcik/VeriCam/blob/HEAD/clustering_step.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5380893bc65f4d27"}},{"code_sha256_prefix":"5d117ff3c8629355","entry":"gen_metrics","repo":"lmlwojcik/VeriCam","repo_kind":"found_in_text","path":"evaler.py","file_url":"https://github.com/lmlwojcik/VeriCam/blob/HEAD/evaler.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5d117ff3c8629355"}},{"code_sha256_prefix":"48083a980ae78bff","entry":"load_image","repo":"lmlwojcik/VeriCam","repo_kind":"found_in_text","path":"dataset.py","file_url":"https://github.com/lmlwojcik/VeriCam/blob/HEAD/dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"48083a980ae78bff"}},{"code_sha256_prefix":"3115da38db17dc2c","entry":"proc_fname","repo":"lmlwojcik/VeriCam","repo_kind":"found_in_text","path":"clustering_step.py","file_url":"https://github.com/lmlwojcik/VeriCam/blob/HEAD/clustering_step.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3115da38db17dc2c"}},{"code_sha256_prefix":"572106df621f0a23","entry":"resize_with_pad","repo":"lmlwojcik/VeriCam","repo_kind":"found_in_text","path":"dataset.py","file_url":"https://github.com/lmlwojcik/VeriCam/blob/HEAD/dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"572106df621f0a23"}},{"code_sha256_prefix":"7a75e5ca37d16b4b","entry":"start_training","repo":"lmlwojcik/VeriCam","repo_kind":"found_in_text","path":"callbacks.py","file_url":"https://github.com/lmlwojcik/VeriCam/blob/HEAD/callbacks.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7a75e5ca37d16b4b"}},{"code_sha256_prefix":"3172bdd39ebb3121","entry":"update_step","repo":"lmlwojcik/VeriCam","repo_kind":"found_in_text","path":"callbacks.py","file_url":"https://github.com/lmlwojcik/VeriCam/blob/HEAD/callbacks.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3172bdd39ebb3121"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CV","source":"arxiv_daily_20260901.json"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,264 of the 9,581 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9581,"papers_checked":6264},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}