Skip to content

sohyeon98720/Unlocking-System-with-Gaze-Tracking

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unlocking System with Gaze Tracking

시선 추적을 이용한 잠금 해제 시스템

image image image HitCount


시스템 설명
개발 기간
개발자
하드웨어 제작
사용 프로그램
사용 기술
결과


◼ 시스템 설명

  • 카메라를 이용하여 실시간 동공 영상 촬영

  • 모니터와 사용자 눈의 움직임간 동기화를 위한 캘리브레이션 과정 수행

  • 사용자의 눈의 움직임에 따라 유니티에서 캐릭터의 눈이 움직임

  • 아바타의 눈 움직임에 따라 비밀번호가 입력됨


◼ 개발 기간

  • 2019/08/19 ~ 2019/09/11

◼ 개발자


◼ 하드웨어 제작

- 준비물

image

  • 웹캠의 적외선 차단 필름 제거
  • 자외선 차단 필름을 넣음   <<선명한 동공 영상을 얻기 위해 적외선 영상을 만듦!
  • 카메라 주위에 적외선 램프 고정

-완성품

  • 3D 프린팅을 이용하여 카메라 케이스를 제작하였다.

◼ 사용 프로그램

  • Tinkercad: 하드웨어 제작시 카메라 케이스의 3D 도면을 만듦

  • CL-Eye Test: 안경에 부착된 카메라를 통해 눈 영상 촬영

  • OpenCV: 동공 추출, 시선 추적, Calibration

  • Unity: 프로그램 제작, 아바타의 눈 움직이게끔 함

  • Visual Studio: 프로그래밍, 시선 관련 데이터 처리


◼ 사용 기술

-동공 추출

  • HoughCircles 함수를 이용하여 원을 찾음

  • 찾을 수 있는 원의 최소 반지름, 최대 반지름, 원 사이의 거리를 조절하여 동공 하나만 추출하도록 함

    image

  • Circle 함수를 이용해 동공에 원을 그리고, 그 중심좌표를 찾음


-캘리브레이션

image

  • '눈이 화면을 보고 있다'라고 인식하게끔 하기 위해 필요한 과정.
  • 화면과 사용자 간의 거리가 항상 일정하지 않기 때문에 이 과정이 필요하다.

image
→캘리브레이션 과정

  1. 왼쪽 위, 오른쪽 아래를 볼 때의 동공의 중심 좌표를 찾는다.
  2. 두 점을 기준으로 9개 점의 좌표를 계산한다.
  3. 패턴 입력 화면에서 전체 화면을 9개의 영역으로 나누어 점의 좌표와 연관시킨다.

◼ 결과

  • 동공이 잘 인식되지 않는 상황을 대비하여 몇 초 이후에 넘어가는 것이 아니라 동공 프레임이 몇 개 들어왔는가에 따라 다음 화면으로 자동으로 넘어가게끔 구현하였다.

  • 메인 화면
    image

  • 개발자 보기
    image

잠금 설정시

  • 캘리브레이션
    image
    • 왼쪽 위, 오른쪽 아래를 일정 프레임씩 보게 함으로써 화면을 보는 눈의 위치를 파악한다.

  • 비밀번호 등록하기
    image
    image
    -비밀번호 등록하기 단계에서 비밀번호를 입력하면 레몬이 노란색으로 표시된다.
    • 비밀번호 입력은 9개의 영역중 한 구역에 일정 프레임 이상 있을 경우 선택이 되었다고
    • 비밀번호는 3자리에서 5자리까지 설정 가능하다.
    • 비밀번호가 5자리 인 경우 5자리가 입력되면 자동으로 확인 창으로 넘어가며, 3 또는 4자리인 경우 가운데 캐릭터를 일정 프레임동안 보면 다음 화면으로 넘어간다.

  • 입력한 비밀번호 확인하기
    image

잠금 해제시

  • 캘리브레이션
    image
    • 왼쪽 위, 오른쪽 아래를 일정 프레임씩 보게 함으로써 화면을 보는 눈의 위치를 파악한다.

  • 잠금 해제하기
    image

    • 잠금 해제하기 단계에서는 레몬의 색은 바뀌지 않는다. 대신 비밀번호가 입력되었음을 확인할 수 있도록 자릿수가 체크 된다.
    • 비밀번호가 3-4자리인 경우에는 3-4자리만 입력이 되면 바로 해제 성공/해제 실패 창으로 넘어간다.

    image


  • 잠금 해제 실패시
    image

Releases

No releases published

Packages

No packages published

Languages

  • C# 76.2%
  • Mathematica 11.5%
  • C++ 6.5%
  • ShaderLab 5.8%