
原创作者:科采通 | 专注生理信号采集、可穿戴设备、数据分析
在人类的社交和行为中,情绪起着关键作用。但相比心率、血压等可量化的生理参数,情绪似乎更主观,难以衡量。那么,有没有办法客观识别一个人的情绪状态呢?
答案是肯定的:情绪会影响我们的生理反应,比如心跳、出汗、肌肉紧张、皮肤温度等。
Shimmer3 作为一款便携式高精度生理信号采集设备,为我们提供了一个探索情绪的“窗口”。

Shimmer3 是由 Shimmer Sensing 公司推出的可穿戴多传感器平台,广泛应用于生理信号采集、行为识别、临床研究等领域。
在情绪研究中,常用的模块包括:
生理信号 | 相关情绪线索 |
|---|---|
GSR(皮电) | 兴奋程度、焦虑、恐惧 |
HR/HRV(心率变异) | 放松 vs 紧张、快乐 vs 恐惧 |
Skin Temp(皮肤温度) | 压力状态 |
EMG(面部肌电) | 微笑、皱眉等肌肉动作 |
Respiration(呼吸) | 平稳 vs 急促,与愤怒、恐惧等相关 |
这使得我们可以从多模态生理数据出发,识别并分类用户的情绪状态。
利用 Shimmer3 收集受试者在不同情绪刺激下的生理信号数据,分析并识别其情绪状态(如快乐、悲伤、愤怒、恐惧等)。
.csv,对 GSR、HR、温度等进行滤波、归一化处理;
python复制编辑import pandas as pd
import matplotlib.pyplot as plt
from scipy.signal import find_peaks
# 读取 GSR 数据
data = pd.read_csv("shimmer3_gsr.csv")
gsr = data["GSR Conductance (uS)"]
# 简单去噪和平滑
gsr_smooth = gsr.rolling(window=10).mean()
# 提取 GSR 峰值(兴奋反应)
peaks, _ = find_peaks(gsr_smooth, distance=50, height=0.1)
# 可视化
plt.plot(gsr_smooth)
plt.plot(peaks, gsr_smooth[peaks], "x")
plt.title("GSR with Detected Peaks")
plt.xlabel("Time")
plt.ylabel("Conductance (uS)")
plt.show()在使用 Shimmer3 进行情绪实验过程中,我发现:
未来我计划在此基础上:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。