| tags |
|
|---|
Comparative study of 3D hand gesture recognition methods — DTW, Edit-Distance, Three-Cents ($3), and BiLSTM — evaluated on the Huang et al. (2019) dataset with rigorous nested cross-validation, ablation study, and statistical hypothesis testing.
This repository doubles as an Obsidian knowledge vault tightly integrated with Zotero for academic reference management.
Note: The actual project code (implementations, experiments, datasets, results) lives in the main project repository: 👉 Matteo-glz/MLSMM2154_Artificial-Intelligence_gesture_recognition
This repo is the research workspace for that project — literature notes, concept maps, paper annotations, and course material organised in Obsidian.
- Vault Structure
- Prerequisites
- Zotero Setup
- Obsidian Setup
- Plugin Configuration
- Workflow: Importing a Paper from Zotero
- Templates Reference
- Git & Collaboration Notes
ai-gesture-recognition/
├── 00_AI_Knowledge_Graph_MOC.md # Master map of content (both projects)
├── Concepts/ # ML/AI concept notes (CNNs, Transformers, etc.)
├── Foundations/ # Math foundations (probability, optimisation, …)
├── Papers/ # Literature notes (one per paper, keyed by citekey)
│ ├── 00_Papers_MOC.md # Full index of paper notes by topic
│ └── images/ # PDF annotation images exported by Zotero
├── Project - Gesture Recognition/ # Gesture recognition project (MLSMM2154)
├── Project - Movie Recommender System/ # RecSys project (MLSMM2156 Hackathon)
│ ├── 00_HOME.md # Main index + best results at a glance
│ ├── Workflow/ # Pipeline notes (data, split, eval, models, webapp…)
│ ├── Codes/ # Code explanation notes (all Python files)
│ └── Webapp/ # Flask server and cascade recommendation pipeline
├── Course - Sequence Modeling/ # Lecture notes + 10 exam Q&A with full derivations
├── Workflows/ # Reusable ML pipeline notes
├── Templates/ # Obsidian note templates
│ ├── zotero-import-paper.md # Primary Zotero import template (Nunjucks)
│ ├── zotero-template.md # Lightweight Zotero template
│ ├── literature-note.md # Manual literature note
│ ├── topic-note.md # Concept / topic note
│ └── thinking-note.md # Fleeting / thinking note
├── Zotero_Import/ # BibTeX exports from Zotero (gitignored)
├── Daily Notes/ # Daily log notes
└── .obsidian/ # Obsidian config (plugins, settings)
Note: The Claude/ folder (AI assistant memory) and Course - Sequence Modeling/ are gitignored and will not be pushed to GitHub.
| Tool | Version | Purpose |
|---|---|---|
| Obsidian | ≥ 1.1.1 | Note-taking application (desktop) |
| Zotero | ≥ 6 | Reference manager |
| Better BibTeX for Zotero | latest | Citekey generation & BibTeX export |
| Git | any | Version control |
Download and install Zotero for your platform. Create a free account for cloud sync if desired.
Better BibTeX generates stable, human-readable citekeys (e.g., Vaswani2017_Transformer) and enables auto-export of .bib files.
- Download the latest
.xpifrom the BBT releases page. - In Zotero: Tools → Add-ons → Install Add-on From File… and select the
.xpi. - Restart Zotero.
The vault uses the pattern [auth:capitalize][year]_[title:select=1:capitalize] to produce keys like Vaswani2017_Transformer. To set this:
- Open Zotero → Edit → Preferences → Better BibTeX.
- Under Citation keys, set the format to:
[auth:capitalize][year]_[shorttitle:capitalize] - Click Refresh to regenerate all keys.
Install the Zotero Connector browser extension. This lets you save papers directly from Google Scholar, arXiv, ACM DL, and most publisher sites into Zotero with one click.
To keep a local .bib backup:
- Right-click a Zotero collection → Export Collection…
- Choose Better BibTeX format.
- Enable Keep Updated for live auto-export.
- Save to
Zotero_Import/inside this vault.
These
.bibfiles are gitignored — they contain local file paths that differ between machines.
Clone or download this repository, then in Obsidian: Open folder as vault and select the repository root.
On first open, Obsidian will warn about community plugins. Click Trust author and enable plugins to activate all four plugins listed below.
The Zotero Integration plugin communicates with the running Zotero desktop app over a local HTTP connection. Make sure Zotero is open whenever you want to import notes.
Four community plugins are used. All are pre-installed in .obsidian/plugins/.
Version: 3.2.1 | Author: mgmeyers
This plugin connects to the running Zotero app and imports paper metadata, abstracts, highlights, and PDF annotations directly into Obsidian notes using a Nunjucks template.
Saved configuration (.obsidian/plugins/obsidian-zotero-desktop-connector/data.json):
| Setting | Value | Meaning |
|---|---|---|
database |
Zotero |
Uses your local Zotero library |
noteImportFolder |
Papers |
New notes land in Papers/ |
outputPathTemplate |
Papers/{{citekey}}.md |
One file per paper, named by citekey |
imageOutputPathTemplate |
Papers/images/{{citekey}}/{{fileName}} |
PDF annotation images |
templatePath |
Templates/zotero-import-paper.md |
Template applied to every import |
openNoteAfterImport |
true |
Opens the note immediately after creation |
How to import a paper: see Workflow below.
Version: 2.20.5 | Author: SilentVoid / Zachatoo
Provides advanced Handlebars-style templating (<% tp.* %> syntax) for new notes. Used alongside the Zotero template's Nunjucks syntax.
Recommended settings (set manually in Obsidian → Settings → Templater):
| Setting | Recommended value |
|---|---|
| Template folder location | Templates |
| Trigger Templater on new file creation | Enabled |
| Automatic jump to cursor | Enabled |
Version: installed | Author: blacksmithgu
Treats your vault as a queryable database. Use it to generate dynamic lists of unread papers, papers by topic, etc.
Example query — all unread papers:
TABLE authors, year, tags
FROM "Papers"
WHERE status = "unread"
SORT year DESC
Example query — papers tagged transformer:
TABLE title, year
FROM "Papers"
WHERE contains(tags, "transformer")
SORT year ASC
Version: installed | Author: phibr0
Adds custom commands to Obsidian's toolbar, ribbon, and context menus. Used here to create a one-click "Import from Zotero" ribbon button so you don't need to open the command palette every time.
This is the standard workflow to go from a PDF in Zotero to a structured literature note in Obsidian.
- From browser: Click the Zotero Connector extension button on any article page (arXiv, ACM, Springer, etc.). Zotero auto-fills all metadata.
- From PDF: Drag the PDF into Zotero. Right-click → Retrieve Metadata for PDF.
- Manual: File → New Item → Journal Article, then fill in fields.
Open the PDF inside Zotero (double-click). Use the built-in PDF reader to:
- Highlight text (yellow = key claim, green = method, red = limitation — customise as you like).
- Add comments to highlights.
All highlights are stored in Zotero and will be pulled into Obsidian during import.
- Make sure Zotero is running.
- In Obsidian, open the Command Palette (
Cmd/Ctrl + P). - Run Zotero Integration: Import notes.
- Search for the paper by title, author, or citekey.
- Press Enter — Obsidian creates
Papers/<citekey>.mdusingTemplates/zotero-import-paper.md.
The generated note contains:
- YAML frontmatter (title, authors, year, journal, citekey, DOI, tags, status)
- Abstract
- All highlights and annotations with page numbers
- Synthesis scaffold (Core Claim, Method, Key Findings, Limitations, Relevance)
- Backlink to open the item in Zotero
Open the new note and fill in the Synthesis section. Then link to concept notes:
## Connections
- Core architecture → [[Concepts/Attention_Transformer]]
- Compared with → [[Papers/Hochreiter1997]]Used automatically by the Zotero Integration plugin. Variables use Nunjucks syntax ({{variable}}). Key variables:
| Variable | Description |
|---|---|
{{title}} |
Paper title |
{{authors}} |
Author list |
{{date | format("YYYY")}} |
Publication year |
{{publicationTitle}} |
Journal or conference name |
{{citekey}} |
Better BibTeX citekey |
{{DOI}} |
DOI string |
{{abstractNote}} |
Abstract text |
{{desktopURI}} |
Deep-link to open item in Zotero |
{{annotations}} |
Array of PDF annotations |
annotation.annotatedText |
Highlighted text |
annotation.page |
Page number |
annotation.comment |
Your annotation comment |
A simpler alternative with the same Nunjucks variables, without the synthesis callout blocks. Useful for quick imports.
For manually created literature notes (no Zotero import). Uses Templater <% tp.* %> syntax.
For concept or topic notes in Concepts/ and Foundations/.
Fleeting / atomic thinking notes for the daily workflow.
- All
.mdnote files (Concepts/,Foundations/,Papers/,Course - Sequence Modeling/, etc.) - Obsidian plugin binaries and manifests (
.obsidian/plugins/) - Obsidian core settings (
.obsidian/app.json,community-plugins.json,core-plugins.json) - The Zotero Integration
data.json(so template and output path config is shared) - All templates in
Templates/
| Path | Reason |
|---|---|
Claude/ |
AI assistant memory — personal and session-specific |
.obsidian/workspace.json |
Local UI state (open tabs, panels) — differs per machine |
.obsidian/plugins/*/data.json |
Most plugin settings contain local paths; exception: Zotero Integration |
Zotero_Import/*.bib |
BibTeX exports contain absolute local file paths |
.DS_Store, ._* |
macOS metadata |
__pycache__/, .venv/ |
Python build artefacts |
git clone https://github.com/<your-username>/ai-gesture-recognition.gitThen:
- Open the folder as an Obsidian vault.
- Install and start Zotero with Better BibTeX.
- The Zotero Integration plugin will use the committed
data.json— no manual reconfiguration needed.