# OccNet-Course packages BEV to occupancy perception as a course repo

> Charmve/OccNet-Course is a Chinese-language course repository for surrounding semantic occupancy perception in autonomous driving, holding lecture slides, dataset preparation notes, source code for a SurroundOcc walkthrough and deployment chapters. It is a teaching package rather than a library, and most of the video content sits outside the repository.

**Charmve/OccNet-Course** — 国内首个占据栅格网络全栈课程《从BEV到Occupancy Network，算法原理与工程实践》，包含训练数据制作、训练和端侧部署。Surrounding Semantic Occupancy Perception Course for Autonomous Driving (docs,  ppt and source code) 在线课程主页：http://111.229.117.200:8100/ (作者独立搭建)

- Repository: https://github.com/Charmve/OccNet-Course
- Stars: 800 · Forks: 91
- Language: Python
- License: BSD-3-Clause
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/charmve-occnet-course

## A teaching package with slides, videos and code side by side

OccNet-Course describes itself as a full stack course on occupancy grid networks, running from BEV to occupancy networks and covering algorithm principles and engineering practice, with the three practical strands of training data production, training and on-device deployment. The repository description in English calls it a surrounding semantic occupancy perception course for autonomous driving, and the primary language of the code is Python. What sits in the tree is wider than a library would be: numbered chapter directories that carry their own slides and notes, plus top level folders for code, dataset, dev, docker, projects, scripts, src, tools and viz. That structure tells you the intent. A reader is meant to open a chapter, read the slides, then move into the folders that hold the runnable pieces for that chapter. Teams that want an occupancy perception model for production will not find an installable package here. Teams that want to be walked through the field, with the data preparation and the deployment story attached, will find something unusually complete for an open repository.

## The chapter list is the actual curriculum map

The chapter directories read as a syllabus with explicit durations, which is unusual for an open repo and makes the shape of the course easy to judge. Chapter01_Overview-of-BEV-Perception is three weeks and moves from bird's eye view perception basics through the differences against perspective view, the link between BEV and OccNet, and a survey of mainline methods split into forward prediction and backward mapping, naming LSS, BEVDet, BEVFormer, DETR3D and FUTR3D. Chapter02_Overview-of-Occupancy-Grid-Networks is one and a half weeks on the occupancy grid network itself, covering 3D semantic scene completion and 3D scene prediction, the pure vision and multimodal classification split, the basic flow of an occupancy network and its advantages and challenges. Chapter03_Introduction-to-Key-Datasets-and-Benchmarks is a week, Chapter04_Vision-Based-Occupancy-Algorithms is six weeks and the largest block, Chapter05 covers point cloud and multimodal fusion based occupancy schemes, Chapter06 is hands on model deployment with quantization, acceleration and deployment, Chapter07 is a course outlook and summary, Chapter08 is a final project and Chapter09 an appendix. The ratio is telling: a third of the course is background on BEV and occupancy fundamentals before any implementation starts.

## Dataset preparation is treated as a first class step

Chapter03_Introduction-to-Key-Datasets-and-Benchmarks is where the course gets practical, and the chapter listing names its parts: an introduction to mainstream datasets with nuScenes and SemanticKITTI listed individually, a section on how to build your own occupancy dataset pointing at SurroundOcc, a benchmark comparison that introduces the metrics and then compares the current state through Occ3D and OpenOccupancy, and a section on the main challenge and competition scene. A course that spends a week on how to produce the labels is making a deliberate point, and it matches the description's claim of covering training data production. For a reader who wants to reproduce published numbers, this is the chapter that decides whether the rest of the course is useful, because a perception model is only as good as the occupancy ground truth it is trained on. The repository root also carries a dataset/ directory, so some of that preparation tooling appears to live alongside the slides rather than only in the video.

## Where to get the course and what to open first

There is no install step to document here, and pretending otherwise would be misleading. The project does not present a command to run, and the slides and videos are the primary artefacts. The repository tells you where to get them: the online course site at http://111.229.117.200:8100/, the chapter directories in the tree, and the Baidu netdisk links attached to each chapter row for the video and the slide decks. A sensible first pass for an engineer is short. Open Chapter03_Introduction-to-Key-Datasets-and-Benchmarks and find out whether the dataset you plan to use is covered, because that choice constrains everything later. Then open the chapter matching your sensor setup, Chapter04_Vision-Based-Occupancy-Algorithms for camera work or Chapter05_Point-Cloud-and-Multimodal-Fusion-Based-Occupancy-Schemes for lidar and fusion. Only after that is it worth going into the code directories, where the layout offers code/, projects/, src/, scripts/, tools/, dev/, docker/, dataset/ and viz/ as the places to look for runnable code. The repository also keeps a CHANGELOG and a CHANGELOG.md, and the README asks readers not to fork because updates land in the original, so clone rather than fork if you want to follow along.

## The SurroundOcc walkthrough is the reusable code lesson

Inside the six week vision block, the chapter listing reaches a code practical at 4.2.12, titled a reproduction of SurroundOcc, and it is broken into four sub-sections that are worth reading as a plan for how to learn any model in this family. First comes data processing, then an analysis of the model structure source code, then the training method covering ground truth supervision and loss, and finally training and inference visualisation. That ordering is the practical value of the repository: it tells you that a model is understood by taking its data pipeline apart, then its forward pass, then its supervision, then by looking at what it produces. The same four-part shape is repeated for the individual methods it treats in depth, TPVFormer, OccFormer, OccDepth, OccNeRF and SelfOcc, each broken into algorithm motivation, main structure, loss function and experimental method with performance analysis. The vision block also covers monocular 3D detection with PGD, SMOKE, Monoflex and FCOS, which is a detour worth knowing about in advance.

## Deployment is a chapter, not an afterthought

Chapter06_Hands-on-Model-Deployment-Quantization-Acceleration-and-Deployment takes model deployment, quantization, acceleration and deployment as its subject, and Chapter05_Point-Cloud-and-Multimodal-Fusion-Based-Occupancy-Schemes covers the other sensor route. The presence of a full deployment chapter separates this course from a pure paper-reading list, and it matches the three strands named in the project description: training data production, training, and on-device deployment. The repository layout supports that reading. There are docker/ and dev/ directories for environment work, scripts/ for the glue, tools/ for utility code, viz/ for visualisation, and src/ and projects/ for the implementation itself, alongside code/ and a Chapter08_FinalProject directory with a packaged archive form. The README lists the deliverables of the course as source code, development environment, documents and slide decks, video, and after-class question answering. Only the first three are files you can read in the repository; the last two are the hosted parts.

## The hosted content is the weak point of an otherwise open repo

Here is the honest limitation. The lecture videos are not in the repository. The chapter tables link each video to a Baidu netdisk share with an extraction code, the code four jja for the first chapter and wl1f for the second, and the online course site is given as an http address on a bare IP, http://111.229.117.200:8100/ in the news entry and http://111.229.117.200:7003/ in the course directory header. A reader outside the network that serves those links may simply not be able to reach the course site or the video archives, and the slides are only a summary of the teaching. The content itself is written in Chinese, which narrows who can use it as a learning path even though the code and the repository titles are in English. The README also notes the course started as a proposal on 2023.9.10, that the online site went live on 2023.11.20, and that a standard edition with source code and slides was expected to be opened in April 2024, with further updates going to CHANGELOG.md. The project also asks readers not to fork, since a fork would not receive updates. There are no GitHub releases, so the version marker for anything you pull is the commit, and the last push was on 2026-06-25.

## Following the upstream papers and repos instead of a course

There is a real alternative, and it is the one most research engineers already take: read the original papers and clone the original implementations. Chapter 04 names TPVFormer, OccFormer, OccDepth, VoxFormer, Occ-BEV, OccNeRF, SelfOcc, BEV-IO and SurroundOcc, and Chapter 01 names LSS, BEVDet, BEVFormer, DETR3D and FUTR3D, so the upstream work is identifiable and reachable without the course. The difference in approach is what surrounds the code. The upstream route gives you the model and its paper, and leaves you to work out where the labels come from, how the training schedule is set, and what deployment looks like on your hardware. The course route front-loads that context: the dataset chapter precedes the algorithm chapters, the code walkthrough fixes an order for reading an unfamiliar implementation, and the deployment chapter closes the loop. If you already know the field, the upstream route is faster and gives you current results. If you do not, or if your team is spread across people who each know only part of the pipeline, the ordering is what you are actually paying for.

## Conclusion

Adopt OccNet-Course when your team is starting on occupancy perception and wants the dataset preparation steps, a documented code reading path and the deployment chapter in one place, and when Chinese-language slides and video links are acceptable for your team. Do not adopt it as a codebase, since the value is in the teaching content rather than an importable package, and do not plan around the course site, which is served from a bare IP address. Check first that the chapter directories you care about contain what you expect, that the Baidu netdisk links for videos are reachable from your network, and that the code in code/ and projects/ runs against the dataset layout described in Chapter 03.

## FAQ

### What does the OccNet-Course repository actually contain?

It holds numbered chapter directories with slides and notes, plus top level folders including code/, dataset/, dev/, docker/, projects/, scripts/, src/, tools/ and viz/. Lecture videos are hosted outside the repository on Baidu netdisk links, and the course site is served from an IP address.

### Is OccNet-Course usable outside Chinese-speaking teams?

The slides, video and README are written in Chinese, while code and directory names are in English. A reader who cannot work from Chinese slides can still use the code walkthrough structure and the repository layout, but the teaching content itself is not translated.

### Does OccNet-Course cover how to build occupancy training data?

Yes. The project description names training data production as one of its strands, and Chapter03_Introduction-to-Key-Datasets-and-Benchmarks includes a section on how to make your own occupancy dataset, pointing at SurroundOcc, alongside nuScenes, SemanticKITTI and benchmark comparisons through Occ3D and OpenOccupancy.

### Does OccNet-Course cover on-device deployment?

Chapter06_Hands-on-Model-Deployment-Quantization-Acceleration-and-Deployment treats deployment, quantization and acceleration as its own block, and the project description lists on-device deployment alongside training and data production.

## Sources

- [Charmve/OccNet-Course on GitHub](https://github.com/Charmve/OccNet-Course)
- [Issues](https://github.com/Charmve/OccNet-Course/issues)
- [License: BSD-3-Clause](https://github.com/Charmve/OccNet-Course/blob/main/LICENSE)
- [README](https://github.com/Charmve/OccNet-Course/blob/main/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/charmve-occnet-course
