Applications of Artificial Intelligence in Ecology
A five-day intensive course on practical AI for wildlife biologists: computer vision for camera traps, deep learning for bioacoustics, and AI-assisted statistical & mechanistic modeling with Claude Code.
Course description
Camera traps, autonomous recording units, and other passive sensors now generate datasets so large that no field biologist can manually process them. At the same time, large language models like Claude have become genuinely useful for writing simulations, fitting statistical models, and producing reproducible analyses. This course teaches you how to use both worlds — pretrained deep-learning models for media (images and audio) and AI coding assistants for analysis — to do better ecology, faster.
You will not write Python from a blank page. You will run, modify, and reason about well-annotated code, and you will use Claude Code to help you go from a biological question to a defensible analysis.
Learning outcomes
By the end of the course you will be able to:
- Run pretrained detectors (MegaDetector, YOLO) on camera-trap imagery and interpret precision, recall, and confidence thresholds in an ecological context.
- Fine-tune a YOLO/Darknet classifier on a labelled subset of the Oregon Critters dataset and evaluate it honestly.
- Run BirdNET and PNW-Cnet on field audio, train a small spectrogram classifier, and reason about false positives in soundscape data.
- Install and use Claude Code on macOS and Windows, in both the terminal and the desktop app, and integrate it into a research workflow.
- Use Claude Code to simulate data, prove that a statistical model recovers unbiased parameters, test assumption violations, and produce a reproducible report.
- Recognize when AI tools are likely to be wrong, and when they are likely to be correct.
- Use GUI alternatives (Shiny PNW-Cnet for audio review; Njobvu-AI for collaborative image labeling and training) when a command-line workflow isn't appropriate for the team or the task.
Pre-course materials (do these before Day 1)
- Watch Sara Beery's intro lecture (~70 min): YouTube. Beery leads the MIT computer-vision-for-biodiversity group; this lecture frames the whole "why CV for ecology" question better than anything else you'll find, and several of our morning lectures build directly on it.
- Skim the 12 PDF / PPT slide decks on the Lecture Slides page (each links to a file in the course's GitHub release). These slides were prepared by Sara Beery for her CV short course and are used in this course with attribution — please don't redistribute. They form the technical backbone of the CV lectures (Days 1–3) and are referenced by topic in the detailed schedule.
- Run through the software pre-flight on the
Python tutorial; make sure
claude --versionworks (see Claude Code setup).
Prerequisites
- A laptop (macOS, Windows, or Linux) on which you have admin rights to install software.
- A free LILA BC account to download the Oregon Critters dataset.
- A Claude account with access to Claude Code (the instructor will provide a temporary code for the course week).
- Some prior exposure to R or another statistical language is helpful. No Python required.
- Familiarity with at least one of: occupancy modeling, mark–recapture, N-mixture models, species distribution models, or population viability analysis.
Grading
| Component | Each | Count | Total |
|---|---|---|---|
| Labs (1–11) | 20 pts | 11 | 220 pts |
| Final project (code + report) | 50 pts | 1 | 50 pts |
| Course total | 270 pts | ||
There are no exams. Letter grades are assigned on the standard scale (A ≥ 90%, B ≥ 80%, C ≥ 70%, D ≥ 60%). Late labs are accepted at −5 pts/day for up to four days.
Lab structure
Each lab has a written handout, a runnable Jupyter or .py file, and a deliverable:
usually a short PDF (1–3 pages) with figures, plus the modified code. Lab points break down as:
- 10 pts — code runs and produces the required outputs.
- 6 pts — written interpretation of the results (what does this mean biologically?).
- 4 pts — one "go-further" question per lab (open-ended, graded on effort).
Final project (50 pts)
Use what you have learned to answer a small research question of your choice. Examples:
- Estimate occupancy of a focal species in a published camera-trap dataset using a YOLO classifier you trained, and quantify the bias introduced by classifier error.
- Run BirdNET or PNW-Cnet on a soundscape you collect or download and produce a species list with calibrated confidence thresholds.
- Build a simulation that tests whether a chosen statistical model (occupancy, N-mixture, Cormack-Jolly-Seber, integrated population model, etc.) recovers unbiased parameters when one key assumption is violated.
See final project page for the rubric and the timeline.
Datasets and tools
| Resource | Used for |
|---|---|
| Oregon Critters | Camera-trap labs (3, 4, 5) |
| MegaDetector | Animal detection baseline (Lab 3) |
| Ultralytics YOLO & Darknet | Detection & classification (Labs 3–5) |
| BirdNET | Bird vocalization ID (Lab 6) |
| pycnet-audio & Shiny PNW-Cnet | Pacific Northwest forest acoustic monitoring (Labs 7, 11) |
| Njobvu-AI | Collaborative GUI for image labeling and model training (Lab 11) |
| Claude Code | AI-assisted simulation, analysis, and report writing (Labs 8–10, project) |
R packages unmarked, nimble, RMark |
Statistical modeling for Labs 9–10 |
Schedule at a glance
| Day | Morning | Afternoon |
|---|---|---|
| 1 · Foundations | Intro to AI in ecology · Lab 1: Python | PyTorch & the DL workflow · Lab 2: PyTorch |
| 2 · Camera traps I | Object detection (YOLO/MegaDetector) · Lab 3: Detection | Training & fine-tuning detectors · Lab 4: Custom YOLO |
| 3 · Camera traps II & bioacoustics | Species classification on cropped detections · Lab 5: Classifier | Intro to bioacoustic monitoring · Lab 6: BirdNET |
| 4 · Bioacoustics & Claude Code | PNW-Cnet & custom spectrogram CNNs · Lab 7: PNW-Cnet | Claude Code setup & usage · Lab 8: Pipeline Evening: Lab 11 (GUI workflows — Shiny PNW-Cnet + Njobvu-AI) |
| 5 · Statistical modeling | Parameter recovery & mechanistic models · Lab 9: Sim | Assumption violations & defensible reporting · Lab 10: Analysis |
See the full schedule for room assignments, readings, and per-session times.
Academic honesty & use of AI
This course is about using AI. You are expected and encouraged to use Claude Code on labs and your final project. You are required to:
- Disclose, in a "tools used" appendix in your reports, which AI tools you used and roughly what for ("I used Claude Code to write the simulation in section 2 and to draft the figure captions").
- Be able to explain any code or analysis you submit. If asked in person, you must be able to reason about why the model converged the way it did, why a threshold was chosen, etc. "Claude wrote it" is not a defense.
- Not submit AI-generated scientific writing verbatim. Your interpretation paragraphs and conclusions must be your own words; you may use Claude to suggest edits to your own prose.