{ "$schema": "https://posters.science/schema/v0.2/poster_schema.json", "titles": [ { "title": "PosterSentry: A Lightweight Multimodal Classifier for Scientific Poster Quality Assurance in Open Repositories" } ], "descriptions": [ { "description": "Scientific posters are one of the most common ways researchers share results, with millions presented every year. They hold rich, early findings, yet are rarely shared or reused afterward. The Posters.science project builds an index of FAIR (Findable, Accessible, Interoperable, Reusable) posters by pulling machine-actionable metadata from PDFs in open-access repositories. PosterSentry is a lightweight, open-source multimodal classifier that decides whether a PDF is a true scientific poster by combining three feature streams: static text embeddings, visual features, and structural cues. It is designed to be small and fast, with a 10 KB model head and about 60 MB embedding backbone, and can classify PDFs in under 1 second per file on CPU. PosterSentry is the cheap gate at the front of the pipeline, run before costly LLM-based metadata extraction downstream.", "descriptionType": "Other" }, { "description": "PosterSentry: a light-weight multimodal classification system for scientific poster quality assurance in open repositories\n\nJamey O’Neill1, Parth Sarin2, Adam Buttrick3, Bhavesh Patel1\n1FAIR Data Innovations Hub, California Medical Innovations Institute, San Diego, CA, United States. Email: joneill@calmi2.org\n2Graduate School of Education, Stanford University, Palo Alto, CA, United States.\n3California Digital Library, University of California Office of the President, Oakland, CA, United States.\n\nProject Website: https://huggingface.co/fairdataihub/poster-sentry \nSource Code: https://github.com/fairdataihub/poster-sentry-training \nLicense: MIT License\n\nMain Text of Abstract\nScientific posters are one of the most common ways researchers communicate their results. It is estimated that millions are presented annually at conferences. They contain rich, early-stage knowledge that could be extremely valuable. Yet, posters are rarely shared and reused. To address this, we began developing Posters.science, a platform to facilitate the sharing of FAIR (Findable, Accessible, Interoperable, Reusable) posters. The platform is also building an index of FAIR scientific posters by extracting machine-actionable metadata from PDFs stored in open-access repositories. After downloading and parsing more than 30,000 PDFs tagged in the Zenodo and Figshare repositories with labels indicating that they were posters, we identified an enormous quality issue. Many of those tagged PDFs contained non-poster documents such as multi-page research papers, conference programs, abstract books, presentation slides, and other documents that were not posters. This mislabeling likely occurred due to a lack of standardization in how researchers label their work.\n\nFigure 1. PosterSentry architecture. Text, visual, and structural features are extracted independently and concatenated into a 542-d vector for classification.\nBecause curating thousands of individual PDFs for accurate classification was impractically time-consuming, we built PosterSentry as a simple, multichannel system capable of determining if a given PDF is a valid scientific poster. We incorporated three separate modalities in PosterSentry to determine if a given PDF contains a scientific poster (Figure 1): 1) static text features, where first-page text is extracted via PyMuPDF and embedded with Potion-base-32m model2vec static embeddings (512 dimensions); 2) visual features consisting of color statistics, edge density, spatial complexity via fast fourier transform (FFT), white space ratio, and color diversity of the rendered page image (15 dimensions); 3) structural features such as page count, dimensions, number of fonts used in the document, number of text blocks in the document and text density of the pdf (also 15 dimensions). \nFeatures were normalized using StandardScaler from scikit-learn prior to being inputted into a logistic regression model. This normalization is important because otherwise the massive (512-dimension) static text embedding would dominate the smaller structural/visual features that provided strong discriminatory power when predicting whether or not a given PDF is a poster. For training, we used 3,606 examples (1,803 per class). Positive samples were single-page PDFs tagged as posters in Zenodo or Figshare, using a heuristic assumption of PDF page count and repository metadata. On a stratified 85/15 held-out split, PosterSentry achieved an overall accuracy of 87.3%, with strong performance in both classes (F1: 0.874 for non-posters, 0.871 for posters). Because the test set shares the same heuristic labeling as training, these figures reflect internal consistency rather than ground-truth accuracy. The top structural predictors were page count (-5.49), file size per page (+7.65), and total file size (-5.44); visual predictors included color diversity (+0.95) and edge density (+0.79). When applied to the entire 30,205-pdf database, PosterSentry correctly classified 80.2% of the documents as posters and 19.8% as non-posters.\nPosterSentry is deliberately simple. The model head is 10 KB (numpy .npz), with a ~60 MB embedding backbone downloaded once. Inference requires no GPU and no deep learning framework: only numpy, scikit-learn, PyMuPDF, and Pillow. In batch mode with multiprocessing, the entire 30K corpus is classified in under 30 minutes. This lightweight design is intentional: PosterSentry sits at the front of the Posters.science pipeline, screening PDFs before expensive LLM-based extraction of metadata . \nPosterSentry is fully open source (MIT). The model, code, and training data are published on HuggingFace. A limitation of the current training dataset is the lack of manual curation. To address that, we are planning to collaborate next with the Collaborative Metadata (COMET) initiative to create a manually curated benchmark set for rigorous external validation. Future work also includes active learning on borderline cases and integration with repository metadata APIs for multi-signal classification. In this presentation, we will present the development of PosterSentry, results across 30,205 poster PDFs from open repositories, and discuss collaboration with COMET. Posters are among the most common early-communication artifacts in biomedical and bioinformatics research, yet they remain chronically underrepresented in open science infrastructure. PosterSentry directly addresses this gap: by ensuring that records labeled as posters in open repositories actually contain posters, it enables downstream FAIR metadata tools like poster2json to operate reliably at scale. We believe this is directly relevant to the BOSC community.\n", "descriptionType": "Abstract" } ], "dates": [ { "date": "2026-07-15", "dateType": "Submitted", "dateInformation": "Submitted to Zenodo through Posters.science" }, { "date": "2026-07-15", "dateType": "Presented" } ], "types": { "resourceType": "Conference Poster", "resourceTypeGeneral": "Poster" }, "identifiers": [ { "identifier": "10.5281/zenodo.21381896", "identifierType": "DOI" } ], "creators": [ { "name": "James O'Neill", "givenName": "James", "familyName": "O'Neill", "nameType": "Personal", "nameIdentifiers": [ { "nameIdentifier": "https://orcid.org/0009-0001-8532-8405", "nameIdentifierScheme": "ORCID", "schemeURI": "https://orcid.org" } ], "affiliation": [ { "name": "California Medical Innovations Institute", "schemeURI": "https://ror.org", "affiliationIdentifier": "https://ror.org/0156zyn36", "affiliationIdentifierScheme": "ROR" } ] }, { "name": "Parth Sarin", "givenName": "Parth", "familyName": "Sarin", "nameType": "Personal", "nameIdentifiers": [ { "nameIdentifier": "https://orcid.org/0009-0004-9317-1446", "nameIdentifierScheme": "ORCID", "schemeURI": "https://orcid.org" } ], "affiliation": [ { "name": "Stanford University", "schemeURI": "https://ror.org", "affiliationIdentifier": "https://ror.org/00f54p054", "affiliationIdentifierScheme": "ROR" } ] }, { "name": "Adam Buttrick", "givenName": "Adam", "familyName": "Buttrick", "nameType": "Personal", "affiliation": [ { "name": "California Digital Library", "schemeURI": "https://ror.org", "affiliationIdentifier": "https://ror.org/03yrm5c26", "affiliationIdentifierScheme": "ROR" } ] }, { "name": "Bhavesh Patel", "givenName": "Bhavesh", "familyName": "Patel", "nameType": "Personal", "nameIdentifiers": [ { "nameIdentifier": "https://orcid.org/0000-0002-0307-262X", "nameIdentifierScheme": "ORCID", "schemeURI": "https://orcid.org" } ], "affiliation": [ { "name": "California Medical Innovations Institute", "schemeURI": "https://ror.org", "affiliationIdentifier": "https://ror.org/0156zyn36", "affiliationIdentifierScheme": "ROR" } ] } ], "publisher": { "name": "Zenodo", "publisherIdentifier": "https://doi.org/10.17616/R3QP53", "publisherIdentifierScheme": "DOI", "schemeURI": "https://doi.org" }, "publicationYear": 2026, "subjects": [ { "subject": "poster classification" }, { "subject": "machine learning" }, { "subject": "natural language processing" }, { "subject": "data science" } ], "language": "en", "relatedIdentifiers": [ { "relationType": "IsDescribedBy", "relatedIdentifier": "https://posters.science/discover/31199", "resourceTypeGeneral": "Other", "relatedIdentifierType": "URL" } ], "formats": [ "application/pdf" ], "version": "1", "rightsList": [ { "rights": "Creative Commons Attribution 4.0 International", "rightsUri": "https://creativecommons.org/licenses/by/4.0/legalcode", "rightsIdentifier": "CC-BY-4.0", "rightsIdentifierScheme": "SPDX", "schemeUri": "https://spdx.org/licenses/" } ], "fundingReferences": [ { "awardUri": "https://doi.org", "schemeUri": "https://ror.org", "awardTitle": "Poster Sharing and Discovery Made Easy with Posters.science", "funderName": "The Navigation Fund", "awardNumber": "https://doi.org/10.71707/rk36-9x79", "funderIdentifier": "https://ror.org/00mgfk810", "funderIdentifierType": "ROR" } ], "conference": { "conferenceName": "Bioinformatics Open Source Conference", "conferenceLocation": "Washington, DC, USA", "conferenceUri": "https://www.open-bio.org/events/bosc-2026/", "conferenceYear": 2026, "conferenceStartDate": "2026-07-14", "conferenceEndDate": "2026-07-15", "conferenceAcronym": "BOSC" }, "content": { "sections": [ { "sectionTitle": "PosterSentry: A Lightweight Multimodal Classifier for Scientific Poster Quality Assurance in Open Repositories", "sectionContent": "Scientific posters are one of the most common ways researchers share results, with millions presented every year. They hold rich, early findings, yet are rarely shared or reused afterward. The Posters.science project builds an index of FAIR (Findable, Accessible, Interoperable, Reusable) posters by pulling machine-actionable metadata from PDFs in open-access repositories." }, { "sectionTitle": "Problem", "sectionContent": "After parsing over 30,000 PDFs tagged as posters in Zenodo and Figshare, we found a large quality issue: many tagged PDFs were multi-page papers, conference programs, abstract books, or slide decks, not posters. The mislabeling comes from a lack of standard tagging, and it limits automated processing of posters, for instance to extract metadata." }, { "sectionTitle": "Solution: PosterSentry", "sectionContent": "PosterSentry runs at the front of the Posters.science pipeline, screening PDFs before any costly LLM-based metadata extraction. A lightweight, open-source multimodal classifier that decides whether a PDF is a true scientific poster by combining three feature streams: static text embeddings, visual features, and structural cues." }, { "sectionTitle": "How it Works", "sectionContent": "PosterSentry combines three feature streams: static text embeddings, visual features, and structural cues. Static embeddings use Potion-base-32M model2vec, visual features use color statistics, edge density, and spatial complexity (FFT), and structural cues use page count and size, font diversity, and text density of the PDF." }, { "sectionTitle": "Small and Fast", "sectionContent": "PosterSentry is small and fast, with a 10 KB model head and about 60 MB embedding backbone. It can classify PDFs in under 1 second per file on CPU, and the full 30K corpus in under 30 minutes." }, { "sectionTitle": "In one line", "sectionContent": "Clean the 'poster' label first, and everything downstream gets easier. PosterSentry is the small, fast filter that makes FAIR poster infrastructure trustworthy at scale, so the rich knowledge locked inside posters can finally be found and reused." }, { "sectionTitle": "Results", "sectionContent": "87.3% held-out accuracy, 30,205 PDFs classified. Trained on 3,606 real-world examples (1,803 per class, no synthetic augmentation). On a stratified 85/15 split: F1 = 0.871 (posters), 0.874 (non-posters). Across the full database, 80.2% classified as posters, 19.8% as non-posters. Top predictors: file size per page (+7.65), page count (-5.49), color diversity (+0.95)." }, { "sectionTitle": "Next steps", "sectionContent": "We are improving PosterSentry with COMET (Collaborative Metadata), a community effort improving metadata at its source in DataCite. Current training data labels are heuristically determined, so test figures show internal consistency more than ground truth. With COMET, we are requesting help from the community to label the training data. You can help us today by reviewing posters at survey.posters.science" }, { "sectionTitle": "Open Source", "sectionContent": "Model, code, and training data on Hugging Face under the MIT license. Let's downstream FAIR tools like poster2json run reliably at scale." }, { "sectionTitle": "Conclusions", "sectionContent": "Posters are among the most common early-communication artifacts in bioinformatics, yet they are rarely shared in open infrastructure. PosterSentry makes sure records labeled 'poster' really hold posters, so downstream FAIR tools can run at scale." }, { "sectionContent": "Model and data: huggingface.co/fairdataihub/poster-sentry Training code: github.com/fairdataihub/poster-sentry-training This poster: github.com/fairdataihub/postersentry-BOSC-2026 Project: posters.science" }, { "sectionContent": "James ONeill joneill@calmi2.org Bhavesh Patel bpatel@calmi2.org This work was supported by a grant from The Navigation Fund doi.org/10.71707/rk36-9x79" }, { "sectionContent": "fairdataihub.org Find this poster and all related resources bit.ly/postersentryBOSC26" }, { "sectionContent": "poster paper / slides / book" }, { "sectionContent": "No GPU, no deep-learning framework. just numpy, scikit-learn, PyMuPDF" }, { "sectionContent": "15-d\nConcatenate + StandardScaler" }, { "sectionContent": "Logistic Regression" }, { "sectionContent": "Where It Fits" }, { "sectionContent": "What Drives the Decision" } ] }, "tableCaptions": [ { "id": "table1", "caption": "File size per page" }, { "id": "table2", "caption": "Color diversity +0.95" }, { "id": "table3", "caption": "Edge density" }, { "id": "table4", "caption": "Page count -5.49" }, { "id": "table5", "caption": "Total file size -5.44" } ], "imageCaptions": [ { "id": "fig1", "caption": "PosterSentry architecture. Text, visual, and structural features are extracted separately and fused into a 542-d vector for classification." }, { "id": "fig2", "caption": "Structural cues (page count, file size) and visual cues carry the decision, not text alone." }, { "id": "fig3", "caption": "PosterSentry is the cheap gate at the front of the pipeline, run before costly LLM-based metadata extraction downstream." }, { "id": "fig4", "caption": "Logistic-regression coefficients reveal which signals drive the decision. A positive value pushes toward poster, a negative value toward non-poster. Normalization matters." } ], "researchField": "Computer Science" }