Welcome to the LectureSight project!

This site is dedicated to research and development around an open source camera tracking solution for use in the classroom (and beyond...). The software is being developed under the umbrella of the Opencast Community and in accordance with the Opencast code conventions.

This demo video shows the current state of development.

 Reference documentation is now available at docs.lecturesight.org.

This Wiki is organized into three main sections that mirror the main topics we take on in this project.

  • Research - This section is devoted to the academic aspects of the project. Here you can find, publications, thoughts and links around the research on this project and computer vision in general. 
  • Development - This section holds all the development documentation of the project. It is the central place where developers can find information needed to develop modules for LectureSight.
  • Operation - This section holds tutorials on how to operate LectureSight and detailed manuals for each module of the system. This is the place where users should go to get started.  


Space Index

0-9 ... 8 A ... 0 B ... 1 C ... 3 D ... 3 E ... 0
F ... 3 G ... 1 H ... 2 I ... 1 J ... 0 K ... 0
L ... 4 M ... 0 N ... 0 O ... 4 P ... 2 Q ... 1
R ... 1 S ... 2 T ... 0 U ... 0 V ... 4 W ... 0
X ... 0 Y ... 0 Z ... 0 !@#$ ... 0    


Page: 1. Prerequisites
LectureSight is a software build up of modules for the OSGI software modularization framework [All07 http://opencast.jira.com/wiki/node30.html#alliance2007osgi] for the Java programming language. Java itself is platform-independent but LectureSight relies
Page: 1.1. Hardware
As mentioned, as the host system for LectureSight a fairly modern personal computer that is capable of running Linux is sufficient. CPU LectureSight was designed with the goal of being capable of running on a single 2 GHz core. The system should not take
Page: 1.2. Software
Operating System In principal every modern Linux distribution can serve as host operating system. A kernel supporting Video4Linux or Video4Linux2 is the only requirement for the video analysis. LectureSight has already been tested with the following distr
Page: 2. Installation
The pre-compiled binary distribution for production systems can be downloaded here lecturesight-0.3-rc1.tar.gz Extract the software e.g. to /opt/ tar -xfvz lecturesight-0.3-rc1.tar.gz mv lecturesight-0.3-rc1 /opt Change into the lecturesight directory and
Page: 3. Configuration
The whole system configuration is loaded from a Java properties file that, by default, is conf/lecturesight.properties. You can edit this file with a text editor or directly in the LectureSight GUI (Menu: Services > System Configuration) where you can als
Page: 3.1. Overview Camera
By default LectureSight will try to use /dev/video0 as the overview camera with a resolution of 320x240 pixels. This is only the default resolution that most web-cams should be capable of. In operation, however, a resolution around VGA (640x480 or so) sho
Page: 3.2. PTZ-Camera
Out of the box there is no PTZ-camera configured in LectureSight, though the driver for cameras speaking Sony's VISCA protocol is shipped with the system. You can activate the driver by setting the configuration property cv.lecturesight.ptz.visca.ports an
Page: 3.3. Calibration
After getting the overview camera and the PTZ camera to work, we have to calibrate the system so that the two can work together correctly. First we have to tell the PTZ camera where in it's field of operation the bound of the scene lie that the overview c



Page: Bibliography
Hoshen and R. Kopelman. Percolation and cluster distribution. i. cluster multiple labeling technique and critical concentration algorithm. Physical Review B, 14(8):3438, 1976 O. Kalentev, A. Rai, S. Kemnitz, and R. Schneider. Connected component labeling


Page: Camera Operator (bak)
This page describes how the camera operator works. The camera operator basically interprets data sent by a "tracker" and translates into commands for the PTZ-Camera through the "camera-control". The camera operator is just a part of the OpenTrack system.
Page: Camera Setup
In the current version the overview camera and the PTZ camera must be mounted in the same location. camera_setup_scaled.png
Page: Camera Steering Worker
Bundle File: lecturesight-steeringworker-impl.jar The bundle provides the so called "Camera Steering Worker". It is responsible for moving the camera. The steering worker is given a target position and is constantly monitoring the cameras position and d


Page: Decorator Color Histrogram
Bundle File: lecturesight-decorator-color.jar The bundle provides a service that implements an ObjectDecorator. For object that fit configurable size criteria, the service creates and updates color histograms. The number of bins of the histograms can be
Page: Decorator Head
Bundle File: lecturesight-decorator-head.jar The bundle provides a service that implements an ObjectDecorator. It purpose is to find the head of a tracked person. A K-means clustering is performed on the foreground pixels of a given object creating a Vo
Page: Development



Page: Final 0.3 Release Sprint
The University of Manchester supports the current sprint towards the final 3.0 release version of LectureSight. Development activity during the sprint will focus on the over-all stability of the software and the robustness of the camera tracking. The aime
Page: Foreground Region Tracker
Bundle File: lecturesight-regiontracker-impl.jar The bundle provides the Foreground Region Tracker Service. It tracks regions in the foreground model by mapping labels produced by the connected component analysis in subsequent frames. The service is als
Page: Frame Source Manager
Bundle File: lecturesight-framesource-impl.jar The FrameSource bundle provides the infrastructure responsible for managing FrameSource implementations. It discovers video input plugins and is responsible for setting up FrameSources with the propper in


Page: Getting Started
This section should serve as a step-by-step guide to setting up and running LectureSight in a productive environment First discussed are the prerequisites of hard- and software. The reader may skip that section completely if the host system has already b


Page: Hardware Components
Current Test System The current test system that is part of the experimental setup in the lecture hall has following configuration CPU Intel Core 2 Duo RAM 2 GB GPU Nvidia GT 220, 512 MB CAM FaceVision TouchCam N1 OS Ubuntu 10.04
Page: Heart Beat
Bundle File: lecturesight-heartbeat The bundle provides the so called "Heart Beat" service. It is responsible for controlling the execution of the video analysis services. It listens for several OpenCL service signals that indicate that all services hav


Page: iCal Scheduler
Bundle File: lecturesight-scheduler.jar The bundle provides a service that loads a schedule from an iCalendar (RFC-2445) file and starts/stopps object tracking and camera control accordingly. Changes to the file are detected and the internal schedule is




Page: LectureSight 0.3-rc2
Download LectureSight Requirements The following minimal requirements need to be fulfilled in order to properly run LectureSight: CPU: Core2 Duo 2.4 GHz GPU: OpenCL 1.1 compatible Disk free: 20 MB Overview Camera: see list of tested models https://open
Home page: LectureSight Project Home
Welcome to the LectureSight project! This site is dedicated to research and development around an open source camera tracking solution for use in the classroom (and beyond...). The software is being developed under the umbrella of the Opencast Community h
Page: LectureSight Server - Development Overview
Page: LectureSight UI - first mockup




Page: Object Tracker
Bundle File: lecturesight-objecttracker-impl.jar The bundle provides an Object Tracker Service for tracking and re-discovering of objects. It relies on the Foreground Region Tracker Service and considers moving regions of a reasonable size as objects of
Page: Operation
This section is the source of information about setting up and running LectureSight in the lecture hall or seminar room. Here you can find tutorials for beginners as well as detailed manuals for every functional module in LectureSight. LectureSight runnin
Page: Other technologies, solutions or projects
There are numerous solutions to provide automated tracking in a classroom setting, some of them use radio or IR technology, some ex post analysis of long shot recordings, some have mats on the floor. Here's the place to describe these. Current solution at
Page: Overview Cameras
USB WebCams In general any USB WebCam that is compatible with Video4Linux can serve as overview camera for LectureSight. Experiments with different models have shown that the more stable the image delivered by camera is the more stable is the tracking. Es


Page: PTZ Cameras
Sony VISCA Protocol The system supports Sony's VISCA protocol out-of-the-box. The driver detects the model and version of the camera and loads a fitting parameter set. If the camera model is unknown, the driver loads the profile for the Sony EVI-D30. Mos
Page: Publications
This is a collection of documents around the LectureSight project: Heger, Garry (2010): Open Track. Bachelor's Thesis at HES-SO http://opencast.jira.com/wiki/download/attachments/18383148/garry_heger_open_track_report.pdf?version=1&modificationDate=128203


Page: Quick start guide LectureSight 0.3
Download LectureSight Requirements The following minimal requirements need to be fulfilled in order to properly run LectureSight: CPU: Core2 Duo 2.4 GHz GPU: OpenCL 1.1 compatible Disk free: 20 MB Overview Camera: see list of tested models https://openc


Page: Research
This section is dedicated to the academic aspects of the project. Here you can find a list of publications about the project as well as a list of scientific papers and books that have influenced the work on the project. Also there is an overview of the ar


Page: Service Bundle Manuals
In this section detailed manuals for all bundles that hold implementations of services in LectureSight can be found. The subsections explain the functionalities of those modules and give insight into the inner workings of the services. Further more all co
Page: Simple Camera Operator
Bundle File: lecturesight-cameraoperator-simple.jar The Simple Camera Operator bundle provides a most basic implementation of a camera operator service. When activated it drives the camera into home position and waits for targets. When the object tracke




Page: Video Analysis Services
Bundle File: lecturesight-videoanalysis-impl.jar The bundle provides services for real time video analysis. The implementation is responsible for finding moving objects of a certain size in the scene. In detail the bundle holds three different services
Page: Video File Frame Source
Bundle File: lecturesight-framesource-videofile.jar The bundle provides a FrameSource implementation that reads frames from a video file. It is based on GStreamer. It depends on the set of codecs installed in the host operating systems what formats are su
Page: Video4Linux Frame Source
Bundle File: lecturesight-framesource-v4l.jar The bundle provides a FrameSource implementation for accquiring frames from Video4Linux and Video4Linux 2 devices. Arguments for creation of a new FrameSource from this implementation can be provided in the
Page: VISCA Camera Driver
Bundle File: lecturesight-ptzcontrol-visca.jar The bundle provides a driver for cameras speaking the VISCA protocol defined by Sony. On activation the service tries to initialize all VISCA cameras on a configured serial devices. Upon discovery of a VISC







Project Homepage: www.lecturesight.org

Documentation: docs.lecturesight.org

Issue Tracker: issues.lecturesight.org

Code Repository: code.lecturesight.org

Currently on our plate

Key Summary