Introduction to computer vision and its applications
A.A. 2025/2026
Obiettivi formativi
This course introduces participants to the foundational concepts and methodologies of computer vision, with a particular focus on applications within the humanities studies. Through theoretical insights and practical tools, it aims to:
Present key artificial intelligence techniques, especially supervised deep learning models.
Explore computer vision tasks such as image classification, semantic segmentation, and text recognition.
Demonstrate how to prepare and process visual datasets for humanities research.
Foster an understanding of tools like Roboflow, Google Teachable Machine, and Transkribus for real-world applications.
Present key artificial intelligence techniques, especially supervised deep learning models.
Explore computer vision tasks such as image classification, semantic segmentation, and text recognition.
Demonstrate how to prepare and process visual datasets for humanities research.
Foster an understanding of tools like Roboflow, Google Teachable Machine, and Transkribus for real-world applications.
Risultati apprendimento attesi
By the end of this course, students will be able to:
Understand Core Concepts: Explain the distinctions between AI, machine learning, and deep learning, and describe their relevance to computer vision.
Apply CV Techniques: Identify and implement basic computer vision tasks, such as image classification, using appropriate tools.
Develop Annotated Datasets: Create and manage labeled image datasets suitable for training classification models using platforms like Roboflow.
Experiment with AI Tools: Use Google Teachable Machine for training simple classifiers and interpret the results.
Process Historical Manuscripts: Apply convolutional neural networks for handwritten text recognition through tools such as Transkribus.
Critically Engage with Humanities Data: Reflect on the methodological challenges and opportunities of applying CV in digital humanities contexts.
Students will also have access to all materials via the myAriel platform and can consult the instructor during office hours or by email.
Understand Core Concepts: Explain the distinctions between AI, machine learning, and deep learning, and describe their relevance to computer vision.
Apply CV Techniques: Identify and implement basic computer vision tasks, such as image classification, using appropriate tools.
Develop Annotated Datasets: Create and manage labeled image datasets suitable for training classification models using platforms like Roboflow.
Experiment with AI Tools: Use Google Teachable Machine for training simple classifiers and interpret the results.
Process Historical Manuscripts: Apply convolutional neural networks for handwritten text recognition through tools such as Transkribus.
Critically Engage with Humanities Data: Reflect on the methodological challenges and opportunities of applying CV in digital humanities contexts.
Students will also have access to all materials via the myAriel platform and can consult the instructor during office hours or by email.
Periodo: Secondo semestre
Modalità di valutazione: Esame
Giudizio di valutazione: voto verbalizzato in trentesimi
Corso singolo
Questo insegnamento può essere seguito come corso singolo.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Secondo semestre
Programma
Questo corso di 40 ore introduce gli studenti delle scienze sociali agli approcci computazionali e visuali nelle digital humanities. Attraverso esercitazioni pratiche, l'esplorazione di concetti di IA e casi di studio applicati, gli studenti acquisiranno basi concettuali e tecniche per esplorare criticamente come i metodi computazionali possano essere impiegati per l'analisi culturale basata su testi e immagini.
Il calendario è suddiviso in quattro parti, con un'alta intensità nella Parte B.
PARTE A: Python per l'analisi del testo
Obiettivo: raggiungere una capacità di "semplice analisi del testo" con Python.
· Introduzione: panoramica del corso, basi di Colab, primi script in Python.
· Fondamenti di Python: variabili, strutture dati (liste, dizionari), controllo di flusso (cicli, condizioni) e definizione di funzioni.
· Gestione dei dati: lavoro con file di testo di base; introduzione alle librerie principali (ad es. NumPy, Matplotlib per visualizzazioni di base).
· Elaborazione del testo: tokenizzazione, filtraggio (stopword) e conteggi di frequenza.
· Mini-analisi: realizzazione e riflessione su un'analisi di base di un corpus (ad es. discorsi, policy brief, manifesti).
PARTE B: Fondamenti di IA e Computer Vision con classificazione di immagini
Obiettivo: basi concettuali e pratiche di IA e apprendimento automatico (ML).
· Contesto IA: introduzione a IA e ML, applicazioni in ambito culturale.
· Tipi di apprendimento: supervisionato, non supervisionato e per rinforzo.
· Dati per la visione: dati di immagine (pixel, feature), costruzione e annotazione di dataset di immagini.
· Basi delle reti neurali: dal percettrone alle reti neurali artificiali. Comprendere l'apprendimento di base: propagazione in avanti/all'indietro e discesa del gradiente.
· Strumenti di deep learning: introduzione alle reti neurali convoluzionali (CNN) e al concetto di transfer learning.
· Esperienza pratica: dimostrazione e uso di uno strumento di IA "no-code" per la classificazione di immagini (ad es. Teachable Machine). Ispezione visiva e interpretazione dei risultati.
PARTE C: Trascrizione di manoscritti e strumenti HTR
Obiettivo: esperienza pratica con workflow avanzati di riconoscimento del testo.
· Dati storici: pre-processing e segmentazione del layout di manoscritti storici.
· OCR vs HTR: comprensione concettuale e sfide del riconoscimento della scrittura a mano.
· Workflow HTR: introduzione a una piattaforma HTR dedicata (ad es. Transkribus): caricamento dei dati, selezione del modello, basi dell'addestramento (dimostrazione).
· Applicazione e valutazione: dimostrazione dell'output di trascrizione, valutazione della qualità e analisi degli errori.
· Esercitazione in classe: sessione guidata sui concetti di addestramento del modello con un dataset di esempio.
PARTE D: Presentazioni degli studenti e riflessione critica
Obiettivo: consolidare l'apprendimento tramite applicazione, presentazione critica e discussione.
· (Focus: Applicazione) Presentazione/consegna dell'esercizio con Teachable Machine (lavoro di gruppo, 10% del voto finale).
· (Focus: Analisi critica) Presentazioni di articoli accademici basati su IA nell'ambito culturale (lavoro individuale, 20% del voto finale).
· Discussione tra pari sulle opportunità e i limiti dell'IA nella ricerca culturale. Chiusura del corso e riflessione finale.
Il calendario è suddiviso in quattro parti, con un'alta intensità nella Parte B.
PARTE A: Python per l'analisi del testo
Obiettivo: raggiungere una capacità di "semplice analisi del testo" con Python.
· Introduzione: panoramica del corso, basi di Colab, primi script in Python.
· Fondamenti di Python: variabili, strutture dati (liste, dizionari), controllo di flusso (cicli, condizioni) e definizione di funzioni.
· Gestione dei dati: lavoro con file di testo di base; introduzione alle librerie principali (ad es. NumPy, Matplotlib per visualizzazioni di base).
· Elaborazione del testo: tokenizzazione, filtraggio (stopword) e conteggi di frequenza.
· Mini-analisi: realizzazione e riflessione su un'analisi di base di un corpus (ad es. discorsi, policy brief, manifesti).
PARTE B: Fondamenti di IA e Computer Vision con classificazione di immagini
Obiettivo: basi concettuali e pratiche di IA e apprendimento automatico (ML).
· Contesto IA: introduzione a IA e ML, applicazioni in ambito culturale.
· Tipi di apprendimento: supervisionato, non supervisionato e per rinforzo.
· Dati per la visione: dati di immagine (pixel, feature), costruzione e annotazione di dataset di immagini.
· Basi delle reti neurali: dal percettrone alle reti neurali artificiali. Comprendere l'apprendimento di base: propagazione in avanti/all'indietro e discesa del gradiente.
· Strumenti di deep learning: introduzione alle reti neurali convoluzionali (CNN) e al concetto di transfer learning.
· Esperienza pratica: dimostrazione e uso di uno strumento di IA "no-code" per la classificazione di immagini (ad es. Teachable Machine). Ispezione visiva e interpretazione dei risultati.
PARTE C: Trascrizione di manoscritti e strumenti HTR
Obiettivo: esperienza pratica con workflow avanzati di riconoscimento del testo.
· Dati storici: pre-processing e segmentazione del layout di manoscritti storici.
· OCR vs HTR: comprensione concettuale e sfide del riconoscimento della scrittura a mano.
· Workflow HTR: introduzione a una piattaforma HTR dedicata (ad es. Transkribus): caricamento dei dati, selezione del modello, basi dell'addestramento (dimostrazione).
· Applicazione e valutazione: dimostrazione dell'output di trascrizione, valutazione della qualità e analisi degli errori.
· Esercitazione in classe: sessione guidata sui concetti di addestramento del modello con un dataset di esempio.
PARTE D: Presentazioni degli studenti e riflessione critica
Obiettivo: consolidare l'apprendimento tramite applicazione, presentazione critica e discussione.
· (Focus: Applicazione) Presentazione/consegna dell'esercizio con Teachable Machine (lavoro di gruppo, 10% del voto finale).
· (Focus: Analisi critica) Presentazioni di articoli accademici basati su IA nell'ambito culturale (lavoro individuale, 20% del voto finale).
· Discussione tra pari sulle opportunità e i limiti dell'IA nella ricerca culturale. Chiusura del corso e riflessione finale.
Prerequisiti
Nessuna preparazione pregressa in informatica è richiesta; è invece auspicabile una familiarità con fonti culturali e storiche (testi, immagini, manufatti), poiché ispireranno i progetti applicati. È utile un'alfabetizzazione matematica di base, cioè percentuali, medie, lettura di grafici semplici e un po' di algebra. È desiderabile una consapevolezza generale dell'IA maturata tramite notizie o dibattiti culturali (non sono richieste conoscenze tecniche). Pur non essendo obbligatorie, eventuali esperienze pregresse in programmazione, statistica o con strumenti digitali d'uso quotidiano (ad es. Excel, fotoritocco) sono benvenute. Si richiede la disponibilità a lavorare in coppia, a eseguire notebook Colab guidati e a imparare a interpretare semplici metriche di valutazione. Tutto il Python essenziale sarà insegnato da zero.
Metodi didattici
Il corso combina lezioni tenute dal docente, in cui vengono introdotti i concetti chiave di intelligenza artificiale e reti neurali, con esercitazioni guidate in Python e attività di classificazione. Le lezioni frontali e le dimostrazioni forniranno le basi teoriche necessarie, mentre i notebook Colab e i casi di studio permetteranno agli studenti di applicare queste idee passo dopo passo. Con l'avanzare del corso, si passerà da esercizi strutturati a lavori di progetto collaborativi, applicando metodi computazionali a materiali culturali e storici. La partecipazione attiva a discussioni, lavori a coppie e sviluppo dei progetti è fortemente incoraggiata, poiché il corso si fonda su un'interazione continua tra spiegazione e pratica. La frequenza, pur non essendo obbligatoria, è vivamente consigliata per tenere il passo con le componenti sia concettuali sia applicative.
Materiale di riferimento
- Slides, handouts, scholarly articles provided by the instructor.
- Brian Kokensparger, 2018, Guide to Programming for the Digital Humanities: Lessons for Introductory Python
- Think Python: How to Think Like a Computer Scientist by Allen B. Downey (Second Edition, 2015), covering the key topics discussed in lectures. https://open.umn.edu/opentextbooks/textbooks/43, https://greenteapress.com/wp/think-python-2e/
- A Beginner's Guide to Python 3 Programming by J. Hunt (https://minerva.unimi.it/permalink/39UMI_INST/i9q3jt/alma991017213265306031)
- NumPy (https://numpy.org/) and pandas (https://pandas.pydata.org/) have excellent documentation online.
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning (Adaptive Computation and Machine Learning series), online: https://www.deeplearningbook.org/
- David G. Stork, 2023, Pixels & Paintings: Foundations of Computer-assisted Connoisseurship
- Brian Kokensparger, 2018, Guide to Programming for the Digital Humanities: Lessons for Introductory Python
- Think Python: How to Think Like a Computer Scientist by Allen B. Downey (Second Edition, 2015), covering the key topics discussed in lectures. https://open.umn.edu/opentextbooks/textbooks/43, https://greenteapress.com/wp/think-python-2e/
- A Beginner's Guide to Python 3 Programming by J. Hunt (https://minerva.unimi.it/permalink/39UMI_INST/i9q3jt/alma991017213265306031)
- NumPy (https://numpy.org/) and pandas (https://pandas.pydata.org/) have excellent documentation online.
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning (Adaptive Computation and Machine Learning series), online: https://www.deeplearningbook.org/
- David G. Stork, 2023, Pixels & Paintings: Foundations of Computer-assisted Connoisseurship
Modalità di verifica dell’apprendimento e criteri di valutazione
Per gli studenti frequentanti, la valutazione complessiva delle competenze teoriche e applicative acquisite si baserà su un esame orale finale sui materiali didattici forniti (50%), sulla preparazione di lavori individuali e di gruppo (30%) e sulla partecipazione attiva durante le lezioni (20%). Durante il corso potranno essere forniti strumenti di autovalutazione agli studenti frequentanti. Per gli studenti non frequentanti, le conoscenze e competenze sviluppate saranno valutate tramite un esame orale finale sui materiali didattici forniti (50%) e sulla preparazione di un lavoro individuale o collettivo (50%).
L'esame orale finale consiste in una discussione volta a valutare la comprensione dei principali concetti introdotti nel corso, la capacità di esporli con chiarezza e di collegare i diversi temi e questioni affrontati, nonché l'abilità di analizzare casi di studio con adeguati strumenti teorici e con consapevolezza critica.
L'esame orale finale consiste in una discussione volta a valutare la comprensione dei principali concetti introdotti nel corso, la capacità di esporli con chiarezza e di collegare i diversi temi e questioni affrontati, nonché l'abilità di analizzare casi di studio con adeguati strumenti teorici e con consapevolezza critica.
Docente/i
Ricevimento:
Ingresso B, 3° piano, studio 3014 (A16)