Brain Computer Interface w/ Python and OpenBCI for EEG data

preview_player
Показать описание
Learning how to read EEG data in Python for the purposes of creating a brain computer interface with hopes of doing things like controlling characters in a game and hopefully much more!

#BCI #EEG #Python
Рекомендации по теме
Комментарии
Автор

siraj : watch me build a brain reading Machine in a week

abcdxx
Автор

Hello sentdex,

usually for sampling rates something called the Nyquist criteria is used for the sampling frequency. It states that the sampling frequency must be at least double the frequency of the signal you're sampling. Brain waves are not pure sinusoids so they're a series of multiple pure sinusoids of differing frequency and phase (aka a Fourier series), you'd want your sampling rate to be higher than the frequency of the last sinusoid in the Fourier series. The problem with sampling at a frequency that's lower than double the frequency of the sampled signal is that when you try to reconstruct your signal (synthesis) the frequency of the reconstructed signal will reflect around the sampling rate (which was lower than the Nyquist rate). For example the maximum frequency of the Gamma waves is 100 Hz, and you used a device to sample the wave at 150 Hz, when you reconstruct the signal you will get a signal at 50 Hz instead of the original 100 Hz, this is called Aliasing which is bad and results in noise, that's why aliasing is a big deal in video graphics :D. The system you are using uses a sampling frequency of 250 Hz as someone else mentioned in the comments so it the acquired signals can be reconstructed without aliasing.

AdoobII
Автор

Now use an RNN to predict your next thought 💭 😋

FuZZbaLLbee
Автор

Sentdex in a week: uploading my brain to the singularity w/ python

willaxesawian
Автор

This is why im glad i clicked the subscribe button 3 years ago, looking forward to next video and no i have the best job in the world as someone pays me to work from home and i sit there watching you :)

JasonPurkiss
Автор

You're amazing. Every time trying something new.

Shah_Khan
Автор

you can bypass the print lag by writing it inline:
print("each line", end="\r")
It's an easy way to see if you have the bursting going on.

Gunthr
Автор

The docs have the sample rate: "For OpenBCI Cyton the sampling rate is 250Hz and it sends data to buffer every half second." This buffer behavior explains the bursting you saw in the raw data dump, but it doesn't affect the sample rate.


Also, just in my opinion, I'd probably FFT the data to get frequency features for ML to ingest, rather than trying to use resampling as a low-pass filter.

rpetti
Автор

This reminds me a project of a friend, where he was playing pong with similar system. Can't wait to see what you will do with that !

JeanJeanThe
Автор

I talked with a friend about something along these lines. Two days later sentdex just uploads an awesome video, you're the best!

dw
Автор

That was on a whole new level to be honest to you and i am eagerly waiting for your next uploads in this context. You could use unsupervised learning to cluster the type of waveforms into some activity. Though you would have to create a data set I believe, with you thinking about different things and then capturing those particular impulses of the response from this wonderful machine and training the machine on it.


Good Luck mate!!!

harishlakshmanapathi
Автор

I just recently started learning python. My wife has a friend that due to a car accident hasn't had speech or mobility save her eyes and some in one hand for the last 15 years. She recently lost her mother to make matters worse. Thank you so much for posting this! I'll be working towards seeing if I can get her the ability to send messages and browse the internet.

Aitiustus
Автор

I was reading to see where BCI technology is at today. So excited to see what you'll do with it.

Rick-urej
Автор

You do the community such an amazing service by providing the content you do, and presenting it how you do. Amazing amazing work.

jamesdonnelly
Автор

Michael Reeves did a pretty good video on making his car drive forward using his thoughts. He used one of those toys you mentioned. All he did for that was check if the reading went above a certain threshold. So it'll be really cool what kind of control you can get using some proper ML.


I really look forward to this :)

notgate
Автор

LOVE THIS PLEASE KEEP IT UP!
I always had an interest in BCI, would love it if you make it a long series!

becauseiwanttoanime
Автор

U can use unsupervised learning to cluster this data and control some sort of robot or automate some task.

nakulsingh
Автор

This is so cool! Python is so cool for interfacing with things easily

mrcobalt
Автор

Record data while watching porn. See what gets lit up.

charliemclegend
Автор

I don't know edward snowden has a youtube channel

anakinskywalkerrr