Electroencephalogram based brain-computer interface: Applications, challenges, and opportunities