방석센서 그래프(Lite protocol)

방석센서의 측정 회로인 Core 보드와 PC를 USB케이블 연결하세요.
Arduino 소스코드 다운로드(Lite)
페이지 설명 ▼ 펼치기/접기

실행 방법

  1. PoseLab Core 보드를 PC와 USB로 연결합니다.
  2. 'Serial 연결' 누르기에서 'USB Single Serial'을 선택하세요.
  3. 센서를 눌렀을 때에 그래프 색이 바뀌면 연결된 것입니다.

구성 설명

  • 히트맵 : 압력에 따른 voltage 변화를 화면에 표시. 위치 좌표는 mm 단위입니다.
  • 면적(Area) : 압력 값 영역의 넓이입니다. 100은 압력값이 100 이상인 면적, 300은 300 이상인 면적을 의미합니다.
  • Screenshot : 화면을 캡쳐합니다.
  • Start Recording : 데이터를 CSV 파일로 저장합니다. 화면에 보이는 무게중심, 면적, 최대값 등의 분석 정보와 AI 레이블/추론 결과를 함께 저장합니다.
  • Random, Prev, Next 버튼은 가상 데이터를 생성합니다. Core 보드 없이 그래프를 시뮬레이션해보는 용도입니다.

KNN 실험해보기 (K-Nearest Neighbors)

KNN이란?

새 데이터가 들어오면, 저장된 샘플 중 가장 가까운 K개를 찾아 다수결로 분류합니다. 학습 시간 = 0초!

직접 해보세요

  1. 레이블 이름 입력 후 '+ 추가' 버튼 클릭 — 자세 레이블 2개 추가 (예: "왼쪽 기울임", "오른쪽 기울임")
  2. 각 레이블에서 '● Record' 버튼을 눌러 10~100개씩 샘플 수집 후 '▶ 분류 시작' 클릭 — 즉시 예측! K값을 1→7로 바꿔보며 안정성 차이를 관찰
  3. '즉시 분류' 버튼 클릭. 우측 화면에서 자세를 구분하는 것을 볼 수 있습니다. "비슷한 것끼리 묶는다"는 가장 단순한 AI
  4. '실시간 분류 결과'창에서 여러분이 학습한 AI 모델이 실시간 데이터를 분류한 결과를 보여줍니다.
  5. 샘플 수집 : AI 체험을 돕는 도구입니다. 레이블 생성 > Record > 분류 준비 > 분류 시작 의 순서로 진행하시면 됩니다.
샘플 수집

레이블 관리

KNN 설정

5
3
샘플을 수집하면 즉시 분류 가능합니다
실시간 분류 결과
레이블을 추가하고 샘플을 수집한 뒤
▶ 분류 시작을 누르세요
KNN 알고리즘 ▼ 펼치기/접기

KNN에서 '승자'를 추론하는 방법

1) 저장된 샘플 활용하기
레이블 별로 저장(Record)한 샘플 수가 있습니다.
예를 들어서 left가 50개, right가 40개, front가 40개, back이 40개라면 총 170개의 샘플이 존재합니다.

170개 샘플 중에 가장 '가까운' 샘플을 K개 구합니다. (K는 사용자 설정값)
그 K개가 가진 레이블을 투표해서 승자를 결정합니다.

KNN이 "가깝다"를 판단하는 방법 — 거리 계산

  1. 채널별 차이(diff) 구하기
    샘플 하나(예: 132번)를 고정하고, 채널 0번부터 31번까지 각각 현재 데이터 값에서 뺍니다.
    diff[i] = cur[i] - sample[132][i]      (i = 0 ~ 31)
  2. 32개 차이를 하나의 거리로 합치기
    distance[132] = sqrt( diff[0]² + diff[1]² + ... + diff[31]² )
    제곱을 합산하는 이유는 절대값과 달리, 차이가 클수록 벌점이 비선형적으로 커지기 때문입니다.
    이게 "샘플 132번과 현재 데이터 사이의 거리"입니다. 채널 32개가 이 한 줄에서 숫자 1개로 합쳐지는 것입니다.
  3. 모든 샘플에 반복
    샘플 170개에 대해 170개의 거리값을 얻습니다.
    distance[0], distance[1], ..., distance[169]
  4. 가장 가까운 K개 고르기
    170개의 거리값 중에서 가장 작은 값 K개(예: K=3)를 골라냅니다.
  5. 다수결로 최종 판정
    뽑힌 K개 샘플이 각각 어떤 레이블이었는지 확인하고, 가장 많이 나온 레이블을 최종 승자로 채택합니다. 이것이 KNN에서 말하는 "다수결(majority vote)"입니다.
    예) K=3에서 뽑힌 샘플 → 왼쪽 기울임, 왼쪽 기울임, 오른쪽 기울임
        → 왼쪽 2표 : 오른쪽 1표 → "왼쪽 기울임" 판정
분석 그래프 ▼ 펼치기/접기
Sum
Area(cm²) ≥100 ≥500
Max
Velocity(Max channel)
Avg
CoF x y
총 샘플: 0
레이블 수: 0
상태: 샘플 없음
추론: