논문: Revealing Key Details to See Differences: A Novel Prototypical Perspective for Skeleton-based Action Recognition (arXiv:2411.18941)
발표 시기: 2024년 11월
키워드: Skeleton-based Action Recognition, Prototype Learning, GCN, Fine-grained Differences


📌 1. 왜 스켈레톤 기반 행동 인식인가?

우리가 영상 속 사람의 행동을 인식하려면 일반적으로 RGB 이미지를 사용합니다.
하지만 조명, 배경, 옷 색깔 등 다양한 요소가 방해 요소로 작용하죠.

이런 한계를 극복하기 위해 등장한 것이 바로
**“스켈레톤 기반 행동 인식 (Skeleton-based Action Recognition)”**입니다.

사람의 **관절 위치(joint coordinates)**만을 사용해서 행동을 인식하기 때문에,
배경과 조명 변화에 강하고, 계산량도 훨씬 적습니다.


🧩 2. 문제의식 — “비슷한 행동을 구분하기 어렵다!”

예를 들어,

  • “손 흔들기(Waving)” vs “손 들기(Raising hand)”
  • “앉기(Sitting down)” vs “숙이기(Bending)”

이런 행동들은 관절의 움직임 패턴이 매우 유사합니다.

기존 모델들은 시퀀스 전체를 평균적으로 표현하기 때문에,
이 **미세한 차이(key difference)**를 잘 포착하지 못합니다.


💡 3. 제안 방법 — ProtoGCN: 프로토타입 기반 차이 학습

🔸 핵심 아이디어

각 행동 클래스마다 **대표적인 형태(Prototype)**를 학습합니다.
그 후, 새로운 입력 시퀀스가 이 프로토타입과 얼마나 다른가를 계산하여
행동을 분류합니다.

즉, 단순히 “이 행동은 ~같다”가 아니라
👉 **“이 행동은 왜 ~와 다르다”**를 학습하는 접근입니다.


🔸 구조 개요

  1. Skeleton Graph Construction
    • 관절들을 노드로, 연결 관계를 엣지로 구성
  2. GCN 기반 피처 추출
    • 공간적(spatial) + 시간적(temporal) 관계를 학습
  3. Prototype Comparison Module
    • 각 클래스의 프로토타입과 거리(distance) 계산
  4. 차이(Δ Feature) 기반 분류기
    • 입력의 ‘차이 벡터’를 통해 최종 행동 인식

🧪 4. 실험 결과

✅ 데이터셋

  • NTU RGB+D 60, 120 등 표준 스켈레톤 행동 데이터셋
  • Kinetics-Skeleton 등 대규모 벤치마크 포함

✅ 결과 요약

비교 모델정확도(%)특징
ST-GCN 84.7 기본 GCN 구조
CTR-GCN 89.2 Temporal 관계 강화
ProtoGCN (제안) 92.3 미세한 차이 인식 향상
  • 혼동 행렬(confusion matrix) 분석 결과,
    유사한 행동 쌍 간의 오분류가 대폭 감소함.
  • 시각화 실험에서도 프로토타입과 입력의 차이 벡터가
    실제로 의미 있는 움직임 영역에 집중되는 것이 확인됨.

⚙️ 5. 분석 — 이 논문의 의의

🌟 장점

  • Fine-grained 구분력 향상: 세밀한 동작 차이를 명시적으로 학습
  • 설명 가능성(Interpretability): “왜 이 행동이 다른지”를 이해할 수 있음
  • 프로토타입 재활용 가능성: 새로운 클래스 학습 시 효율적 전이 가능

⚠️ 한계

  • 클래스 수가 많아질수록 프로토타입 메모리 관리가 복잡
  • 실제 환경 노이즈(센서 오류, 가림 현상)에 대한 추가 검증 필요
  • 시간적 패턴(temporal pattern) 복합성이 충분히 반영되지 않을 수 있음

🔮 6. 향후 연구 및 응용 가능성

이 접근은 단순한 행동 인식을 넘어

  • 스포츠 동작 분석,
  • 헬스케어 재활 모니터링,
  • 감정 행동 인식 등 다양한 분야로 확장될 수 있습니다.

또한, 프로토타입 기반 학습은 Vision 분야 외에도
음성, 텍스트 등 다른 도메인으로의 확장 가능성이 매우 높습니다.


✍️ 7. 마무리 — “차이를 학습하는 인공지능”

이 논문은 스켈레톤 인식 분야에서
단순히 ‘패턴을 인식하는 AI’가 아니라
차이를 이해하는 AI’로의 전환을 보여줍니다.

ProtoGCN은 단순히 동작을 분류하는 것이 아니라,
“무엇이 다르기에 다른 행동인지”를 배웁니다.

핵심 문장:
“Action recognition should not only see similarity, but also understand difference.”

작년에 갤럭시북4 프로 사서 사용하고 있다가 이번에 루나레이크 나오면서 5프로로 갈아탔습니다.

ai 기능은 갤럭시북4에도 조금 들어갔지만 이번에 ai select와 copilot 기능이 더욱 강력하게 나왔다고 합니다.

 

배터리 효율과 발열이 잘 잡혀서 all day 배터리 사용 가능해서 지금 사용중인데 배터리와 발열 잡힌게 체감이 되서

제일 맘에 듭니다.

 

사운드도 일반 스피커와 다르게 영화관처럼 울려서 들리는 사운드가 또렷하게 나오고 갤럭시 생태계의 연결성은

미리 사용해보셨던 분들은 말하지 않아도 아실꺼라고 믿습니다.

 

프로 버전은 역시 마우스가 없어도 탭 말고 터치로도 조작 가능한게 좋고 대학생분들 과제나 리포트 쓸 때 ai의 도움을

받으면 좋을꺼 같습니다.

 

실제 데스크탑 사용 사진입니다.

 

언박싱 사진 입니다.

 

이번에 css grid 공부를 다시 보고 있는데

예전에 한번 봤던 것들이지만 안쓰고 까먹다가 다시보니 흥미로운 것을 정리하려고 한다

grid-template을 사용할 때 반복적인 경우 보통 아래 사진과 같이

repeat(반복될만큼의 숫자, 반복되는 넓이)

이렇게 많이 쓰게 되는데 열이나 행으로 동적으로 늘어나는 경우를 대비할 수 없다.

grid repeat() 예시

 

이런 경우를 위해서 앞에 반복되는 숫자 대신에 auto-fit, auto-fill 이란 속성이 있었다.

둘다 모두 지정된 크기 이하로 떨어질 경우 반응형으로 만들어주는데 

차이점은 여백의 공간이 있을 때 확인할 수 있다.

 


auto-fill의 경우

auto-fill
auto-fill

 

auto-fill 예시 사진
auto-fill 예시 사진

 

여백의 공간이 생기면 그곳에도 박스가 있다는 가정하에 넓이가 측정된다

 

 

auto-fit의 경우

auto-fit
auto-fit

 

auto-fit 예시 사진
auto-fit 예시 사진

 

auto-fit으로 설정하면 나머지 공간을 알아서 존재하는 박스들이 나눠 가진다.

개인적으로 auto-fit이 훨씬 좋아보인다.

Prisma와 planetScale을 사용하여 백엔드를 작업하는데

유저 한명을 삭제하면 그 유저가 가지고 있던 토큰을 삭제하는 방법

 

유저 모델과 토큰 모델 설계구조
유저 모델과 토큰 모델 설계구조

 

위와 같은 상태에서는 prisma studio에서 유저를 삭제하면 에러가 난다.

onDelete: Cascade

속성으로 유저가 삭제되면 연결된 토큰이 삭제되게 설정 가능

'NextJS' 카테고리의 다른 글

[NextJS] NextJS에서 Link Component 사용하기  (0) 2023.04.09

+ Recent posts