From f2d8c0d70310915ae29ceb2dcb8290eab09e116a Mon Sep 17 00:00:00 2001 From: arudaev Date: Thu, 7 May 2026 15:25:45 +0200 Subject: [PATCH] docs: add presentation deck resource links --- README.md | 12 ++++++++++++ app/app.py | 6 ++++-- src/utils/hub.py | 13 ++++++++++++- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9a1b790..fa0696a 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ python_version: "3.10" **Large-Scale Chest X-Ray Pathology Detection** — Deep Learning & Big Data Project [![CI](https://github.com/arudaev/chexvision/actions/workflows/ci.yml/badge.svg)](https://github.com/arudaev/chexvision/actions/workflows/ci.yml) +[![Deck](https://img.shields.io/badge/Slides-GitHub%20Pages-0f766e?logo=githubpages)](https://arudaev.github.io/chexvision/) [![Dataset](https://img.shields.io/badge/HF-Dataset-blue?logo=huggingface)](https://huggingface.co/datasets/arudaev/chest-xray-14-320) [![Demo](https://img.shields.io/badge/HF-Demo-orange?logo=huggingface)](https://huggingface.co/spaces/arudaev/chexvision-demo) [![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/) @@ -23,6 +24,16 @@ python_version: "3.10" --- +## Project Resources + +- [Presentation deck](https://arudaev.github.io/chexvision/) +- [Live demo](https://huggingface.co/spaces/arudaev/chexvision-demo) +- [Dataset](https://huggingface.co/datasets/arudaev/chest-xray-14-320) +- [Scratch model](https://huggingface.co/arudaev/chexvision-scratch) +- [DenseNet model](https://huggingface.co/arudaev/chexvision-densenet) + +--- + ## Overview CheXVision tackles **automated chest X-ray pathology detection** at scale using the [NIH Chest X-ray14](https://www.nih.gov/news-events/news-releases/nih-clinical-center-provides-one-largest-publicly-available-chest-x-ray-datasets-scientific-community) dataset — 112,120 frontal-view X-ray images labeled with 14 pathological conditions. @@ -288,6 +299,7 @@ All heavy compute runs in the cloud. Local machines are for editing and lightwei | Component | Platform | Notes | |-----------|----------|-------| | Source code | [GitHub](https://github.com/arudaev/chexvision) | CI on every push (lint, test, type check) | +| Presentation deck | [GitHub Pages](https://arudaev.github.io/chexvision/) | Browser-based project presentation | | Dataset | [HF Dataset](https://huggingface.co/datasets/arudaev/chest-xray-14-320) | 36 Parquet shards · 320×320 · pinned revision | | Training | [Kaggle kernels](kaggle/) | Free T4 GPU; `dispatch.py` fully automates push | | Model (scratch) | [arudaev/chexvision-scratch](https://huggingface.co/arudaev/chexvision-scratch) | Auto-uploaded by kernel after training | diff --git a/app/app.py b/app/app.py index 2086d29..8f05ac0 100644 --- a/app/app.py +++ b/app/app.py @@ -36,6 +36,7 @@ # HF Hub model repos HF_SCRATCH_REPO = "arudaev/chexvision-scratch" HF_DENSENET_REPO = "arudaev/chexvision-densenet" +PRESENTATION_DECK_URL = "https://arudaev.github.io/chexvision/" def _try_load_checkpoint( @@ -218,7 +219,7 @@ def main() -> None: st.markdown("**Large-Scale Chest X-Ray Pathology Detection** — Upload a chest X-ray for AI-powered analysis.") st.sidebar.header("About") - st.sidebar.markdown(""" + st.sidebar.markdown(f""" **Dataset**: NIH Chest X-ray14 (112,120 images) **Two Models**: @@ -229,8 +230,9 @@ def main() -> None: - Multi-label: 14 pathologies - Binary: Normal vs Abnormal + [Presentation Deck]({PRESENTATION_DECK_URL}) | [GitHub](https://github.com/arudaev/chexvision) | - [Dataset](https://huggingface.co/datasets/arudaev/chest-xray-14) + [Dataset](https://huggingface.co/datasets/arudaev/chest-xray-14-320) """) sidebar_selected_sample = render_sidebar_samples() diff --git a/src/utils/hub.py b/src/utils/hub.py index 7fdf29c..dd437c4 100644 --- a/src/utils/hub.py +++ b/src/utils/hub.py @@ -15,6 +15,9 @@ "CHEXVISION_DATASET_REVISION", "44443e6ee968b3c6094b63f14a27698c40b50680", ) +PROJECT_REPO_URL = "https://github.com/arudaev/chexvision" +PRESENTATION_DECK_URL = "https://arudaev.github.io/chexvision/" +DEMO_SPACE_URL = "https://huggingface.co/spaces/arudaev/chexvision-demo" # NIH Chest X-ray14 pathology labels in canonical order PATHOLOGY_LABELS = [ @@ -401,6 +404,13 @@ def render_model_card( > 14-class chest X-ray pathology detection + binary normal/abnormal classification > on the NIH Chest X-ray14 dataset (112,120 images). +## Project Resources + +- [GitHub repository]({PROJECT_REPO_URL}) +- [Presentation deck]({PRESENTATION_DECK_URL}) +- [Live demo]({DEMO_SPACE_URL}) +- [Dataset](https://huggingface.co/datasets/{dataset_repo}) + ## Architecture {arch_diagram} @@ -442,7 +452,8 @@ def render_model_card( CheXNet (Rajpurkar et al., 2017) — the seminal paper establishing DenseNet-121 for chest X-ray classification — reported **0.841 macro AUC-ROC** on a comparable split of this dataset. CheXVision-DenseNet matches this benchmark. See the -[CheXVision demo](https://huggingface.co/spaces/arudaev/chexvision-demo) for live inference. +[CheXVision demo]({DEMO_SPACE_URL}) for live inference, or the +[presentation deck]({PRESENTATION_DECK_URL}) for the project walkthrough. ## Citation