Skip to main content
Version: Release

SeeSo SDK

About

SeeSo SDK is a library that calculates where the user is looking at on the screen in real time using RGB image from the camera.

All computation is done locally on the device.

What SeeSo SDK provides

Gaze

We define Gaze as the position where the user is looking at.

SeeSo SDK provides Gaze in 2D screen coordinates (x, y).

Eye Movements

SeeSo SDK classifies two types of Eye Movements:

  1. Fixation: When the user's gaze is focused on a specific position
  2. Saccade: When the user's gaze is moving from one point to another

What to prepare

SeeSo SDK

1. Manual(Download)

SeeSo SDK is available for various platforms. To install the SDK, you can either download it from the SDK section on manage.seeso.io

2. Android Installation

For Android development, you can use gradle to install SeeSo SDK:

allprojects {
repositories {
...
maven {
url "https://seeso.jfrog.io/artifactory/visualcamp-seeso-android-gradle-release/"
}
}
}
dependencies {
...
implementation "camp.visual:seeso-gazetracker:latest.release"
implementation "camp.visual:seeso-libgaze:latest.release"
}

3. iOS Installation

For iOS development, you can utilize CocoaPods. CocoaPods is a dependency manager for Cocoa projects. For usage and installation instructions, please refer to the CocoaPods website. To integrate SeeSo into your Xcode project using CocoaPods, specify it in your Podfile:

pod 'SeeSo'

4. Flutter Installation

Added seeso_flutter to sample_app's pubspec.yaml file.

dependencies:
flutter:
sdk: flutter
seeso_flutter:^1.0.0
Android
  1. Add the maven repository URL 'https://seeso.jfrog.io/artifactory/visualcamp-seeso-android-gradle-release/' to the build.gradle file where seeso is located.

    allprojects {
    repositories {
    ...
    maven {
    url "https://seeso.jfrog.io/artifactory/visualcamp-seeso-android-gradle-release/"
    }
    }
    }
  2. Add the following dependencies to the app/build.gradle file.

    dependencies {
    ...
    implementation "camp.visual:seeso-gazetracker:latest.release"
    implementation "camp.visual:seeso-libgaze:latest.release"
    }
iOS
  1. Add permission to your Info.plist file.

      <key>NSCameraUsageDescription</key>
    <string></string>
  2. Add PERMISSION_CAMERA=1 to your Podfile.

    target.build_configurations.each do |config|
    config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
    '$(inherited)',
    ...
    'PERMISSION_CAMERA=1'
    ]
    end

5. Web Installation

For web development, you can use npm to install SeeSo SDK:

npm install seeso

License key

Before using SeeSo SDK, you need to [generate a license key](https://manage.seeso.io/#/console/license-keys\).

You can find more information about the license key here

Network connected environment

Because SeeSo SDK requires authentication, network connected environment is required.

Camera

SeeSo SDK requires image of the user from a camera as its input data.

For mobile devices, this can be frontal-camera. For laptops and desktops, if build-in camera is not available, extra hardware is required.

How SeeSo SDK works

technical-overview/overview.png

Step 1: Authentication

SeeSo SDK validates the license key and check its match to the application information*.

If the authentication is successful, the SeeSo Server will issue a session and the SeeSo SDK will construct a GazeTracker instance.

Step 2: Frontal Face Image Capture

GazeTracker instance captures frontal face image to calculate 2D gaze points.

Step 3: Gaze & Eye Movement Calculation

GazeTracker instance executes pre-processing, image processing, and deep-learning computation on the captured image.

The calculated outputs (Gaze and Eye Movement) will be passed to your application through callbacks.


  1. Match to application information is only checked when a production key is used.