jussi t. lindgren, phd - inria
TRANSCRIPT
![Page 1: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/1.jpg)
1
J. T. Lindgren / OpenViBE 1
Introduction to
OpenViBE
Jussi T. Lindgren, PhD [email protected]
HYBRID / Inria Rennes
![Page 2: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/2.jpg)
2
J. T. Lindgren / OpenViBE 2 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 2
Part I
What is OpenViBE?
![Page 3: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/3.jpg)
3
J. T. Lindgren / OpenViBE 3 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 3
An open source software platform for BCI
Enjoyed by research labs, clinicians, teachers,
game developers and hobbyists worldwide
![Page 4: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/4.jpg)
4
J. T. Lindgren / OpenViBE 4 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 4
OpenViBE Team 2013
Coordination at Inria (group HYBRID @ Rennes, France)
• http://team.inria.fr/hybrid/
• Primary research area: Virtual Reality
• Project leader: Anatole Lécuyer
• OpenViBE lead engineers: Jozef Legény & Jussi T. Lindgren
Landscape at Inria:
• Involved teams : HYBRID (Rennes), ATHENA (Sophia),
POTIOC (Bordeaux), NEUROSYS (Nancy)
• Involved personnel: 5 researchers & 5 developers
Industry:
• Earlier OpenViBE developers Yann Renard & Laurent Bonnet
now work at a related startup
![Page 5: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/5.jpg)
5
J. T. Lindgren / OpenViBE 5 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 5
• Data acquisition from various biosignal devices
• Graphical design of signal processing chains
• Plugins for DSP, classification, visualization and more
• Online and offline data processing
• Core in C++. Interfaces with script languages and various
file formats.
Key features of OpenViBE
![Page 6: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/6.jpg)
6
J. T. Lindgren / OpenViBE 6 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 6
Client (”Designer”)
Server
Architecture
ACME
Driver
TCP/IP
Network
acquisition
Classifier
Filter
Display
VRPN
server
ACME
Amplifier
• Boxes are plugins
• Solid arrows denote EBML-
encoded streams of different
types (signal, stimulation, ...)
Arbitrary DAG designs are possible
(Shown chain is for illustration only)
Computer A
Computer A or B
![Page 7: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/7.jpg)
7
J. T. Lindgren / OpenViBE 7 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 7
Server: Its mostly about drivers
+ more unstable, unsupported & beta drivers
+ drift correction, software tagging, …
Vendor Devices
BrainMaster Atlantis, Discovery
Brain Products actiCHamp, BrainAmp, ...
Emotiv EPOC
g.Tec gUSBamp, gMobilab+
MicroMed SD LTM
MindMedia NeXus32B
NeuroSky MindSet (MindWave in SVN)
OpenEEG MonolithEEG, Modular EEG P2
TMSi Porti32
![Page 8: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/8.jpg)
8
J. T. Lindgren / OpenViBE 8 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 8
“Designer” Client
No programming skills required
Make your own DSP chains
![Page 9: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/9.jpg)
9
J. T. Lindgren / OpenViBE 9 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 9
Client plugins include
DSP
Basic math, detrending, epoching, spatial and temporal filters, spectral
analysis, signal generators, statistics, FastICA, windowing, ...
Visualizations
Signal, Power Spectrum, Graz, Matrix, Topographic Maps: 2D & 3D,
Cue Image, Voxel Display, ...
Classifiers
SVM, LDA
Other
Script language interfaces, file I/O, etc ...
![Page 10: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/10.jpg)
10
J. T. Lindgren / OpenViBE 10 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 10
Client: Various real-time displays
![Page 11: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/11.jpg)
11
J. T. Lindgren / OpenViBE 11 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 11
Some approaches implemented on OpenViBE
P300
SSVEP Motor Imagery
Neurofeedback
![Page 12: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/12.jpg)
12
J. T. Lindgren / OpenViBE 12 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 12
OS’es & dev-tools supported
Windows: binary available
or compile with MSVC
In SVN: Visual Studio IDE support
(release in June-July 2013)
Ubuntu: LTS & latest. Fedora: 2 latest
Windows XP & Windows 7
Linux: source only
GNU C++ build environment
required
![Page 13: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/13.jpg)
13
J. T. Lindgren / OpenViBE 13 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 13
Software requirements
• Mandatory dependencies
• Server: Cmake, Boost, GTK
• Client: Cmake, Boost, Ogre, OIS, CEGUI, GTK, Expat
• Strong recommendations
• Client: VRPN, ITPP
• Optional
• Client: ALUT, Eigen3, Lua, Matlab, Python27, Vorbis
• On Linux, most dependencies are used from distribution
packages or downloaded by the installer
• On Windows, the installer downloads the deps
![Page 14: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/14.jpg)
14
J. T. Lindgren / OpenViBE 14 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 14
License
v0.15.0 and before:
Codebase mostly under LGPL 2
Some plugins under GPL2
Near future:
The whole codebase will likely switch to
Want to see your code in the OpenViBE distribution?
• New stuff : New plugins, drivers, scenarios and applications
can be freely contributed. You keep your rights.
• Changes to core components: Rights transfer to Inria required
![Page 15: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/15.jpg)
15
J. T. Lindgren / OpenViBE 15 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 15
• Past development effort: ≈ 22 man-years at Inria (and various
multi-partner projects since 2005)
• On-going support (2013-2015): 4 Inria engineers with 100%
allocation to OpenViBE
• Inria startup: Mensia Technologies (launched in Nov 2012)
can support commercial users of OpenViBE
More information at
http://openvibe.inria.fr
Commitment to OpenViBE
![Page 16: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/16.jpg)
16
J. T. Lindgren / OpenViBE 16 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 16
Part II
Interoperability
![Page 17: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/17.jpg)
17
J. T. Lindgren / OpenViBE 17 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 17
Format Read Write
BCI2000 X
BCI comp. IIIb ASCII
Brainamp X
CSV X X
EDF X
GDF X X
OV (≈ EBML) X X
Raw X
Type Read Write
Lua Stim Stim
Matlab X X
Python X X
TCP/IP EBML
VRPN X X
Direct I/O File I/O
Current I/O plugins in OpenViBE
![Page 18: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/18.jpg)
18
J. T. Lindgren / OpenViBE 18 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 18
Well-defined kernel interfaces and stream specifications exist
Good to know…
• OpenViBE uses 32:32 fixed point simulated time, in seconds
• OpenViBE .ov files are catenated EBML chunks w/o headers
• There is no SDK: build against the OpenViBE source tarball
User and developer documentation gets you started
http://openvibe.inria.fr/documentation-index/
Understanding OpenViBE
![Page 19: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/19.jpg)
19
J. T. Lindgren / OpenViBE 19 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 19
Making OpenViBE understand ‘XYZ’
Plugin contributions are very welcome
E.g.
• Readers/writers for new file formats
• Language plugins (like Matlab & Python boxes)
• Boxes to pass data to/from external software
• Drivers that actually read from another application
• TiA plugin already exists as an extension from Gipsa-Lab
![Page 20: Jussi T. Lindgren, PhD - Inria](https://reader031.vdocuments.net/reader031/viewer/2022012510/618765d62ce3411fcc3d1b7c/html5/thumbnails/20.jpg)
20
J. T. Lindgren / OpenViBE 20 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 20
We’re happy to collaborate on developments
Catch us by email, forum, or IRC
http://openvibe.inria.fr/contact/