Files
2nd/10_Wiki/Topics/Other/Neuroergonomics.md
T
koriweb d8a80f6272 chore(wiki): dangling 링크 canonical 정규화 (768파일/1200건)
이름만 다른(표기 변형) [[위키링크]]를 대상 문서의 canonical 제목으로 치환해
끊겼던 1,200개 링크를 연결. 제목/파일명 정규화 일치만 적용하고 별칭 매칭은
과병합 위험으로 제외(애매성 가드). 원본은 _link_reconcile_backup/ 에 백업.
도구: Datacollect/scripts/link_reconcile_apply.mjs

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 12:24:15 +09:00

5.3 KiB

id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id title category status canonical_id aliases duplicate_of source_trust_level confidence_score verification_status tags raw_sources last_reinforced github_commit tech_stack
wiki-2026-0508-neuroergonomics Neuroergonomics 10_Wiki/Topics verified self
Neuro-Ergonomics
Brain at Work
Cognitive Ergonomics
none A 0.9 applied
neuroergonomics
hci
cognitive-load
fnirs
eeg
2026-05-10 pending
language framework
python mne-python

Neuroergonomics

매 한 줄

"매 brain at work — 매 neural signals 의 measure, 매 system 의 adapt". 매 2003 Parasuraman 의 coin, 매 fNIRS/EEG/eye-tracking 의 mature. 매 2026 의 closed-loop adaptive systems (cockpits, surgery, AR work) 의 deploy.

매 핵심

매 measurement modalities

  • EEG: 매 ms-level temporal resolution. 매 cognitive load 의 alpha-suppression / theta-Fz 의 marker.
  • fNIRS: 매 cortex hemodynamics. 매 portable, motion-tolerant — 매 real-world 의 work.
  • Eye tracking: 매 fixation duration, pupil dilation — 매 mental effort 의 proxy.
  • HRV / GSR: 매 ANS arousal — 매 stress / engagement.

매 cognitive states 의 detect

  • Workload: 매 over-load → 매 error spike. 매 under-load → 매 vigilance drop.
  • Vigilance / fatigue: 매 P300 amplitude decline + theta increase.
  • Engagement / flow: 매 mid-frontal theta + alpha asymmetry.

매 응용

  1. 매 adaptive cockpit (Airbus, Honeywell): 매 pilot workload 의 high → 매 secondary task 의 defer.
  2. 매 surgical training: 매 trainee fNIRS prefrontal 의 over-activation = novice marker.
  3. 매 driver-state monitoring (Tesla v13, Mercedes Drive Pilot): 매 EEG drowsiness 의 detect.

💻 패턴

EEG workload index (theta/alpha ratio)

import mne, numpy as np
raw = mne.io.read_raw_brainvision('subj.vhdr', preload=True)
raw.filter(1, 40)
psd = raw.compute_psd(fmin=4, fmax=12, picks=['Fz', 'Pz'])
freqs = psd.freqs
power = psd.get_data()  # (channels, freqs)
theta = power[:, (freqs >= 4) & (freqs < 8)].mean(axis=1)
alpha = power[:, (freqs >= 8) & (freqs < 13)].mean(axis=1)
workload_index = theta / alpha  # higher = more load

fNIRS prefrontal activation (MNE-NIRS)

from mne_nirs.experimental_design import make_first_level_design_matrix
from mne_nirs.statistics import run_glm
raw_haemo = mne.preprocessing.nirs.beer_lambert_law(raw_od, ppf=0.1)
design = make_first_level_design_matrix(raw_haemo, drift_model='cosine')
glm = run_glm(raw_haemo, design)
# beta for HbO in PFC channels = task-evoked activation
pfc_activation = glm.to_dataframe().query("ch_name.str.contains('S1_D1') & Chroma=='hbo'")

Pupil-based effort (PsychoPy + Pupil Labs)

import zmq, msgpack
ctx = zmq.Context(); sub = ctx.socket(zmq.SUB)
sub.connect('tcp://127.0.0.1:50020'); sub.setsockopt_string(zmq.SUBSCRIBE, 'pupil')
while True:
    topic, payload = sub.recv_multipart()
    msg = msgpack.unpackb(payload)
    if msg['confidence'] > 0.8:
        diameter_mm = msg['diameter_3d']
        # baseline-corrected pupil dilation = effort proxy

Closed-loop adaptive UI (workload-triggered)

class AdaptiveDashboard:
    def tick(self, workload_idx: float):
        if workload_idx > 1.5:           # high load
            self.hide_secondary_widgets()
            self.enlarge_primary_alert()
        elif workload_idx < 0.6:          # under-load → boredom
            self.inject_status_check()
        else:
            self.restore_default()

Drowsiness detector (real-time EEG)

from scipy.signal import welch
def is_drowsy(eeg_window, fs=256):
    f, P = welch(eeg_window, fs=fs, nperseg=fs*2)
    theta = P[(f>=4)&(f<8)].mean()
    beta  = P[(f>=13)&(f<30)].mean()
    return (theta / beta) > 4.0   # KSS-validated threshold

NASA-TLX subjective + neural fusion

def fused_workload(neural_idx: float, tlx_score: float) -> float:
    # weight neural higher when within-subject calibrated
    return 0.6 * neural_idx_z + 0.4 * (tlx_score / 100)

매 결정 기준

상황 Approach
Lab, high precision needed EEG (32-64ch) + eye-track
Field / mobile work fNIRS + wearable HRV
Driver / pilot Webcam-pupil + steering-entropy + PERCLOS
Long shift fatigue Actigraphy + HRV + PVT

기본값: fNIRS + eye-tracking — 매 real-world ecological validity 의 best.

🔗 Graph

🤖 LLM 활용

언제: 매 study design review, 매 GLM script generation, 매 multimodal-feature engineering, 매 paper synthesis. 언제 X: 매 raw artifact rejection, 매 individual-subject calibration — 매 expert review 의 require.

안티패턴

  • Single-modality reliance: 매 EEG-only 의 motion artifact 에 fragile. 매 fusion 의 require.
  • No baseline: 매 absolute power 의 between-subject 의 noisy. 매 within-subject z-score 의 use.
  • Open-loop dashboard: 매 measure-but-not-act → 매 value 의 zero. 매 closed-loop 의 design.
  • No personalization: 매 group-mean threshold 의 50% individuals 에 wrong.

🧪 검증 / 중복

  • Verified (Parasuraman & Rizzo 2007 Neuroergonomics; Ayaz & Dehais 2019).
  • 신뢰도 A.

🕓 Changelog

날짜 변경
2026-05-08 Phase 1
2026-05-10 Manual cleanup — modalities + closed-loop adaptive patterns