User Evaluation [1] : 질적 분석 및 양적 분석 (Qualitative & Quantitative Evaluation)
·
Human-Computer Interaction/User Evaluation
1. 사용자 경험의 측정  좋은 UX는 사용성을 기반으로 한 배우기 쉬움과 편리함, 유용성과 기능성을 충족하는 쓸모, 감성과 관련된 즐거움과 아름다움을 포함하며, 나아가 사용자에게 의미를 제공하는 경험으로 정의된다. 벤 랄프의 UX 피라미드는 이러한 요소를 체계적으로 정리하며, 특히 최근에는 사용자가 브랜드에 특별한 의미를 부여하는 팬덤 형성과 충성도를 중시하여 브랜드 가치와 사용자 경험의 상승효과를 도모하고 있다. UX 주요 구성 요소는 다음과 같다. - 사용성(Usability): 얼마나 배우기 쉽고 사용하기 편리한 지에 대한 것- 유용성(Usefulness): 얼마나 쓸모가 있는지에 대한 것- 감성(Affect): 얼마나 즐겁고 아름다운지에 대한 것UX를 측정하기 위해서는 사용자의 태도와 행동을 기..
User Evaluation [0] : HCI 연구에서의 사용자 평가
·
Human-Computer Interaction/User Evaluation
사용자 경험 테스트는 일반적으로 양적 연구와 질적 연구로 분류되어 진행된다. 양적 연구는 사용자의 행동과 성과를 수치화하여 통계적으로 분석하는 접근으로, 대규모 사용자를 대상으로 설계의 효과성을 검증하거나 가설을 엄밀히 테스트하는 데 중점을 둔다. 예를 들어, 작업 완료 시간, 오류율, 클릭 패턴, 시선 추적 데이터 등을 수집하며, A/B 테스트나 다변량 실험과 같은 실험적 방법론이 주로 사용된다. 이는 대규모 데이터에서 일반화 가능한 결과를 도출하거나 인터페이스의 효율성을 비교하는 데 적합하다. 반면, 질적 연구는 사용자의 심층적인 경험과 맥락을 이해하는 데 초점을 맞추며, 인터뷰, 관찰, 사고구술법(Think-Aloud Protocol) 등을 통해 사용자 행동의 이유와 감정을 탐구한다. 이 접근법은 ..
XR Device [2] : Microsoft Azure Kinect
·
Toolkit/Software Development Toolkit
Body Tracking  Azure Kinect Body Tracking은 Azure Kinect DK 장치와 Body Tracking SDK를 활용하여 사람의 신체 움직임을 실시간으로 추적하는 기술이다. 이 기술은 깊이 카메라와 IMU(관성 측정 장치)로부터 데이터를 수집하고, 이를 AI 기반 포즈 추정 알고리즘으로 처리하여 3D 신체 골격 정보를 제공한다. Azure Kinect SDK의 Body.cs 코드는 Azure Kinect에서 제공되는 데이터 처리, 변환, 저장, 복원을 포함하여 신체 추적 과정을 구현한다.  먼저, Azure Kinect 장치는 RGB 카메라와 깊이 카메라를 사용해 이미지를 캡처한다. 깊이 카메라는 ToF(Time of Flight)로 각 물체까지의 거리를 측정하며, 이 ..
Unity Programming [5] : 유니티 소프트웨어 설계 (Attribute, Gizmos)
·
Development/3D Engine Programming
Unity의 Attribute는 스크립트의 동작이나 Inspector의 표시 방식을 제어하기 위해 제공되는 메타데이터이다. 이들은 클래스, 필드, 메서드에 부여되어 Unity 에디터와 런타임에서 특정 동작을 수행하거나 사용자 경험을 개선하는 데 사용된다. 이를 통해 스크립트의 실행 순서를 조정하거나, Inspector에서 필드를 숨기거나 표시하고, 데이터 직렬화를 제어하거나, 개발 도구를 확장할 수 있다. 아래는 주요 Unity Attribute를 코드 예제와 함께 정리한 것이다.  [ExecuteAlways] [ExecuteAlways]는 스크립트를 Play 모드와 에디터 모드 모두에서 실행되도록 설정한다. 이를 통해 Unity 에디터에서 작업 자동화, 실시간 업데이트, 또는 상태 동기화 기능을 구현할..
Coding Test [0] : 코딩테스트 준비 (Coding Test Environment)
·
Test/Coding Test
코딩 테스트는 프로그래밍 능력을 평가하기 위해 주어진 문제를 해결하는 과정이다. 일반적으로 알고리즘, 자료구조, 수학적 사고, 문제 해결 능력을 측정하며 주어진 시간 내에 코드로 문제를 해결해야 한다. 온라인 플랫폼을 통해 진행되거나 대면 시험 형태로 이루어질 수 있으며 기업에서는 이를 통해 지원자의 기술적 역량과 논리적 사고를 평가한다. 코딩 테스트 문제는 배열, 문자열, 그래프 탐색, 정렬, 동적 프로그래밍, 또는 기타 컴퓨터 과학 개념을 활용한 문제로 구성되며, 효율성과 정확성이 중요하다. 코딩 테스트에 주로 이용되는 언어는 C++과 Python이다. C++과 파이썬은 각각의 장단점이 뚜렷하다. C++은 빠른 실행 속도와 세밀한 메모리 관리, STL(Standard Template Library)을..
Develpoment Report : Panoramic Stitching
·
카테고리 없음
컴퓨터 비젼 수업의 기말 과제로 Panorama 이미지 생성 프로젝트를 진행했다. 수업 시간에 배운 수학적 원리와 이론을 활용하여 여러 이미지를 하나로 병합하는 과제이다. 코너 포인트 검출, 포인트 매칭, Homography 계산, 그리고 이미지 병합을 필수적으로 진행하고 선택적으로 이미지 전처리 및 노이즈 제거, RANSAC, 그룹 조정, 톤 매핑을 구현하면 추가 점수를 받는 방식이다. 모든 기능은 직접 구현했으며 코드는 로컬 이미지 데이터를 읽어 Panorama 이미지를 생성하고 결과를 화면에 출력하거나 저장했다. 0. 이미지 불러오기import cv2import os# 이미지가 저장된 폴더 경로를 지정하세요folder_path = 'your_folder_path_here' # 실제 폴더 경로로 변..
Animation Kinematics [3] : 운동학 수치 해석 (Kinematics Numerical approach)
·
Computer Graphics/Animation
Development Report : 바디 트레킹 기반 2차원 입체 디스플레이 갭ㄹ
·
카테고리 없음
1. Motion Parallax(1) TV 화면 크기 계산 모션 패럴랙스 효과를 구현하려면 실제 TV 화면의 물리적 크기를 계산해야 한다. 화면 크기는 다음 공식을 통해 계산된다. 여기서 RD_m​은 화면 크기(미터), RD_i​는 화면 크기(인치)이다. 1인치 = 0.0254미터의 변환 계수를 사용한다. 이후 TV 화면의 폭과 높이는 종횡비(ar)를 고려해 계산된다. 예를 들어, 55인치 TV(16:9 비율)의 경우RDi​=55ar=16/9이 값을 대입하면, RSw≈1.21미터와 RSh≈0.68미터가 된다. 이는 이후 가상 카메라 투영 평면을 TV 화면과 정확히 일치시키는 데 사용된다.  (2) 사용자 좌표 정규화 Kinect는 사용자 머리 위치(E_tracked​)를 Kinect 센서 좌표계에서 추..
XR Device [1] : Leap Motion 2 핸드트레킹 (Handtracking)
·
카테고리 없음
리프모션(Leap Motion) 컨트롤러를 유니티(Unity)와 연동하여 손 추적 기능을 구현하려면 다음 단계를 따르면 된다. 더보기1. 리프모션 윈도우 SDK 설치 및 설정Ultraleap의 핸드 트래킹 소프트웨어 다운로드 페이지에서 최신 윈도우용 SDK를 다운로드하여 설치설치 후 시스템 트레이에 리프모션 아이콘이 나타나며, 트래킹 상태를 확인할 수 있다.2. 유니티 프로젝트 설정Ultraleap의 유니티 플러그인 페이지에서 'Tracking.unitypackage'와 'Tracking Examples.unitypackage'를 다운로드유니티 에디터에서 'Tracking.unitypackage'를 먼저 임포트한 후, 'Tracking Examples.unitypackage'를 임포트3. 예제 씬 실행 ..
Deep Learning [5] : 생성형 모델 (Generative Model)
·
카테고리 없음
생성형 모델은 데이터 생성 과정에 중점을 둔 모델로, 주어진 데이터셋과 유사한 새로운 데이터를 생성하기 위해 학습된다. 이 모델은 데이터의 잠재 확률 분포 p(x)를 학습하고, 이를 활용해 새로운 샘플을 생성하거나 기존 데이터의 특성을 이해하는 데 사용된다. 이 과정은 확률적이며, 데이터 생성이 랜덤 샘플링에 기반하기 때문에 같은 입력 데이터라도 결과가 달라질 수 있다. 생성 모델은 쉽게 말해 학습한 데이터를 흉내 내는 모델이라고 생각하면 쉽다. 예를 들어, 빵집에서 맛있는 빵을 만드는 비법을 배운다고 해보자. 이 모델은 빵집에서 맛있다고 평가받는 빵의 특징을 배우고 나서, 그 비슷한 빵을 만들어낸다. 완전히 똑같진 않지만, 빵집에서 만든 것과 유사한 느낌의 빵을 만들어낼 수 있는 것이다. 여기서 중요한..