--------------------------------------- faceLAB Version 4.5.0 - June 2007 Copyright Seeing Machines 2007 --------------------------------------- About This Release ------------------ This is a +0.2.0 upgrade for faceLAB 4.3 which provides significant tracking performance improvements and addresses a number of issues as listed below. Summary of Improvements Version 4.5.0 ------------------------------------- * Removed support for Leutron and Imperx framegrabbers. As this is no longer supported hardware. * New gaze-tracking system. Gaze is tracked using either the iris or pupil depending on which performs better. Decision to track the iris or pupil can be automatically determined based on tracking quality analysis or set manually. Precision gaze tracking now only requires a single IR source. * The high-accuracy eyeball location measurements from the gaze tracker are used to refine the head position computed by the head tracker. * Improved real-time gaze filtering prevents poor tracking results entering the output data stream. * Iris visibility is now dynamically adjusted to ensure that only the iris contour is tracked and not the eyelids. * Camera configuration and tracking setup user interfaces have been revised. Instructions and control layout is clearer. * The screen intersection display uses animated stimuli that improve gaze fixation during calibration. * Tracking displays provide larger images of the eyes for a clearer view of tracking features. * Gaze direction and head pose vectors keep a consistent colour scheme throughout the application. The colour of gaze vectors is set based on tracking quality in the world model. * The world model now renders seperate gaze vectors for each eye. * User files are now stored under "My Documents", allowing faceLAB to operate without an administrator account. * New example world models. * Tracking defaults are set based on CPU performance to ensure older faceLAB machines run at full frame-rate. * Zoom range for analogue cameras has been increased to allow precision configurations where subjects sit close to the cameras. * Potential thread race conditions have been identified and fixed. * The performance of video displays has been improved to prevent high CPU usage on some graphics cards. * The internal error reporting mechanism has been improved to ensure any furture software errors can be identified and corrected quickly and easily. * Fixed an aesthetic issue that caused the avatar to register blinks twice in accurate display mode. * Fixed an issue converting logfiles to text where the world model object name is blank. * Fixed incorrectly displayed warning when logging at low frame rates with a -silent command line option. * World model intersections are now only calculated while the subject is tracked. * If logging options are specified on the command-line, logging will automatically start when tracking does. * Enabled Memory Pooling to reduce memory contention and improved performance. * Fixed potential crash on shutdown. * Fixed potential errors in unicode conversion. * Fixed Singleton architecture. * Fixes for QT Code called from non-main thread when the gaze intersection object changes. * A stability issue related to OpenGL fireGL drivers on some IBM notebooks was identified and fixed. Summary of Improvements Version 4.3.1 ------------------------------------- * Improved Automatic HeadModels. Faces are detected with greater accuracy over a larger range of distances. Mouth corners are found with greater accuracy. * Updated lens-filter usage recommendations. * Improved performance for Core 2 Duo processor machines. * Fixed "Digital camera detection after faceLAB installation". [Relevance: faceLAB 4.3+] (SP#412) * Fixed "Tracking Setup Wizard: Could not find requested object type". [Relevance: faceLAB 4.0+] (SP#418) * Fixed "Tracking Setup Wizard: Reference point editing shows off-centre overlays". [Relevance: faceLAB 4.3+] (SP#416) * Fixed "Unable to determine disk space left". [Relevance: faceLAB 4.0+] (SP#451) * Fixed "SID: Screen selection is incorrectly enabled". [Relevance: faceLAB 4.0+] (SP#442) * Fixed "Overwriting existing world model textures". [Relevance: faceLAB 4.0+] (SP#435) Summary of Improvements Version 4.3.0 ------------------------------------- * Gaze tracking performance has been improved through better confidence metrics on eye images. * The template selection algorithm has been changed to produce a more stable pose estimation that also reduces noise on classic gaze measurement. * Eyelid tracking overlays have been updated to increase stability, especially as the eyes close. * Head tracking parameters have been tuned to produce more robust and stable head tracking, which produces a more stable classic gaze. * Fixed "Hide 'Wearing Glasses' option for Classic and Wide FOV modes". [Relevance: faceLAB 4.0+] (TT#1609) * Fixed "SID - Add capability to start SID calibration using the mouse". [Relevance: faceLAB 3.2+] (TT#1606) * Fixed "SID - Add option to turn off head intersection and gaze intersection display". [Relevance: faceLAB 3.2+] (TT#1604) * Fixed "SID - Make the point sequence predictable with minimum distance between points". [Relevance: faceLAB 2.0.2+] (TT#1602) * Fixed "UI - Should automatically launch Camera Configuration Wizard when starting faceLAB with uncalibrated Stereo-Head". [Relevance: all faceLAB versions] (TT#1601) * Fixed "Logging - Can log both realtime and accurate data to the same port". [Relevance: all faceLAB versions] (TT#1599) * Fixed "Flea Lens Configuration instructions refer to iris setting that doesn't exist". [Relevance: faceLAB 4.1+] (TT#1597) * Fixed "User Manual - inconsistent use of meters and metres". [Relevance: all faceLAB versions] (TT#1423) * Fixed "Graphs - Range of head movement may not be big enough (especially in z)". [Relevance: all faceLAB versions] (TT#1384) * Fixed "GUI - SID - Add custom points 'use defaults' button'. [Relevance: faceLAB 3.2+] (TT#1196) * Fixed "GUI - make the buttons on the Control Window, Stereo-Head tab bigger vertically". [Relevance: all faceLAB versions] (TT#1150) * Fixed "Eye Tracking slider precisions not accurate" [Relevance: faceLAB 3.0+] (TT#785) Summary of Improvements Version 4.2.2 ------------------------------------- * Improved the performance of digital Flea cameras in outdoor conditions. Testing in cars shows significant performance improvements. * Updated the 'Advanced Camera Controls' dialog to allow greater control of camera parameters. * Updated the data format in the User Manual to fix ASCII field numbering and to include missing binary data tables. [Relevance: faceLAB 4.2+] * Removed the dependence on CPU tick for accurate timing so that faceLAB can run on dual-core PCs. Summary of Improvements Version 4.2.1 ------------------------------------- * Added support for Sony FCB-480C model camera. This camera is identical in function and geometry to the FCB-480B, but is lead-free and has a new serial number. * Updated drivers for Point Grey Flea cameras (1.6.0.4). * Fixed "Incorrect Gaze Statistics" when calibrating using the SID. Display was "-1.$ degrees". [Relevance: all faceLAB versions] (TT#1316) * Removed restrictions on zoom levels for Classic and Precision Gaze camera configurations. [Relevance: faceLAB 3.0+] * Re-included option to take a tilt snapshot immediately and also added the option to set the delay for timed tilt snapshot. [Relevance: faceLAB 4.2.0] (TT#1507) * Fixed "Labels in world model become white-blue rectangles when tracking with some NVidia videocards." [Relevance: all faceLAB versions] (TT#1511) Summary of Improvements Version 4.2.0 ------------------------------------- * Several GUI improvements including: - Improved tilt calibration with timer delay to capture snapshot. - Updated Camera Calibration Wizard page order to be more consistent. - Removed calibration target dimensions from the GUI. * Updated Installer to use prerequisites to simplify driver installation. * Updated the user manual to: - fix binary and ASCII byte numbering mistakes. - include hardware and software changes since faceLAB 4.0. * Fixed "Classic gaze has a bias in the vertical magnitude" issue. [Relevance: faceLAB 4.0+] (TT#1447) * Fixed "Cameras revert to previous configuration when recalibrating a Stereo-Head and choosing to calibrate with the server" issue. [Relevance: faceLAB 4.0+] (TT#1436) * Fixed "Automatic brightness control not working after calibration" issue. [Relevance: faceLAB 4.1+] (TT#1435) * Fixed "Frame Time Inconsistency in Endpoint" issue. [Relevance: faceLAB 4.0+] (TT#1434) * Fixed "faceLAB crash after running for 6 days" issue. [Relevance: faceLAB 4.1+] (TT#1425) * Fixed "Out of focus during camera calibration when you set an automatic focus" issue. [Relevance: faceLAB 4.0+] (TT#1393) * Fixed "Multiple network interfaces problem". [Relevance: faceLAB 1.0+] (TT#1105) Summary of Improvements Version 4.1.1 ------------------------------------- * Using the 'revert' option in the Tracking Setup Wizard 'Edit Features' page for a full-head model no longer causes a crash. [Relevance: faceLAB 4.0.0, 4.0.1, 4.1.0] (TT#1427) * Gaze calibration results for Precision Gaze mode are computed without an offset. There was an offset in gaze after calibration when the gaze was outside the screen region. In faceLAB 4.1.0 if 1 point gaze calibration was used it was impossible to calibrate the gaze without an offset, even in the screen region. [Relevance: faceLAB 4.0.1, 4.1.0] (TT#1426) * Running multiple instances of faceLAB causes an error message to be displayed instead of causing a crash. [Relevance: faceLAB 4.1.0] (TT#1422) Summary of Improvements Version 4.1.0 ------------------------------------- * faceLAB now supports the use of PointGrey Flea cameras with fixed zoom lenses. These cameras have the advantage of being more compact than Sony Cameras, and also provide double the vertical image resolution. Only "faceLAB Classic" and "Precision Gaze" camera configurations are available when using Fleas. * The Camera Configuration Wizard has been extended to include a step-by-step procedure for configuring the Flea cameras and their lenses. * Gaze accuracy and robustness has been substantially improved for people with Asiatic eyes. * To support this improvement, a new "Eye Type" option has been added to the Tracking Setup Wizard. A "Default Eye Type" option has also been added to the Hints pane of the Control Window, which determines the Eye Type used for Automatic Initialisation Head-Models and for new Manual Head-Models. * Gaze Object Intersections (the 3D intersection between gaze vectors and World Model spheres and planes) have been added to the faceLAB output data stream (for Precision Gaze camera configurations only). The new fields are labelled "GOI_X", "GOI_Y", and "GOI_Z", and have been included in a new GazeIntersectionOutputData sub-component of the WorldOutputData. * Gaze vergence data is now included in EyeOutputData text logfiles (for Precision Gaze camera configurations only). This includes 3D gaze vergence points (VERGE_PNT_X, VERGE_PNT_Y, and VERGE_PNT_Z), the vergence distance from the Head-Model origin (VERGE_DIST), and the vergence angle in radians (VERGE_ANGLE). Note that this data is not included in binary EyeOutputData files, and is only added when converting binary files to text. * Pupil diameter measurements are now filtered to improve quality of the data. (TT#1313) * Automatic initialisation has been upgraded to be better at rejecting non-face regions. This improves the speed of initialisation, whilst also reducing the likelihood of generating erroneous automatic face models. * The faceLAB start-up dialog has been improved to list information about each installed Stereo-Head, including the chosen Camera Configuration, the camera type, and the number of days since calibration. * The "Set Animations" and "Set Sounds" dialog box interface (launched from the "SID" pane of the Control Window) has been improved. * The Wearing Glasses selection made in the Tracking Setup Wizard now persists within saved Head-Models. * Fixed a bug where the "Select Fields" button for Network Realtime Logging (on the Logging pane of the Control Window) would actually configure Network Accurate Logging. (TT#1341) * Fixed a bug where the WorldOutputData object intersection ID and name were not always matching. (TT#1346) * Numerous minor user interface improvements. Summary of Improvements Version 4.0.1 ------------------------------------- * Gaze accuracy in Precision Gaze camera configurations has improved significantly. * Improvements in the gaze tracking algorithms have eliminated the need for the "Age Selection" page of the Tracking Setup Wizard, and it has now been removed. * The faceLAB data stream is now configurable: The logging of top-level components of the EngineOutputData can be toggled ON/OFF. Each data logging stream (Disk logging, Accurate and Realtime Network Logging, Accurate and Realtime Serial Logging) can be configured independently. Use the Select Fields buttons on the Logging Pane of the Control Window launch dialog windows to facilitate this. Refer to the manual for details. * An interface for configuring serial port logging has been added to the Logging pane of the Control Window. This interface allows the selection of COM ports for both Realtime and Accurate data streams. * The number of calibration points used for the Screen Calibration procedure can now be selected (in the SID pane of the Control Window) as 1, 5, or 9 points. Note that the use of 9 points is recommended in most situations, as it results in more accurate intersection data. 5 points, or if necessary 1 point, should only be used where absolutely necessary (e.g. with subjects of short attention spans). Refer to the manual for details. * Fixed a bug where the eye_close_calib field could include negative values in logged data. (TT#1325) * Fixed a bug where EngineOutputData time stamps were frequently incorrect when using Imperx framegrabbers. (This affects only the faceLAB laptop solution.) * Fixed a bug where trying to delete the World Screen in the World Model Editor caused a crash. (TT#1326) * Fixed a bug where Automatic initialising a new Head Model whilst Logging to Disk did not always create a new logfile, or log the associated annotation id (of 50). (TT#1290) * Reduced the maximum possible zoom in Precision Gaze camera configurations, which was too large. (TT#1309) * Fixed a bug where, in non Precision Gaze camera configurations, the gaze rotation angles for each eye would occasionally differ slightly when the head moved partially out of the field of view of one of the cameras. (TT#1312) * Fixed a problem with screen calibration of Gaze Quality Level 2: post-calibration screen intersection values could sometimes be unreasonably large when the subject's gaze deviated from the screen. (TT#1298) * Fixed a bug where the eyeballs of the World Model avatar were diverging when they should be converging. (TT#1268) * The last calibration point in the screen calibration sequence no longer remains on the SID whilst the calibration is computed. (TT#1321) * Fixed a bug where the Head Model menu Keyboard bindings were not enabled. (TT#1289) * Added units to the labels for the Saccade Distance Threshold and Saccade Window Size sliders. (TT#947) * Fixed a bug where after losing tracking, faceLAB could get itself into a state where it would continuously search for features without ever tracking them. (TT#1336) * The faceLAB installer now verifies the operation system is Windows XP. (TT#1319) * Improved the usability of the faceLAB installer by reducing the number of pop-up dialogs. Summary of Improvements Version 4.0.0 ------------------------------------- * faceLAB now supports three different tracking modes - Precision Gaze, faceLAB Classic, and Wide Field of View. The cameras are configured differently for each mode. * The Precision Gaze camera configuration allows for very precise measurements of gaze data. It requires that one camera be zoomed in close on the face, and therefore the head tracking volume is reduced. * The faceLAB Classic configuration permits a larger work volume than Precision Gaze, but with less precise gaze. The gaze accuracy and head tracking work volume is comparable to previous versions of faceLAB. * In the Wide Field of View camera configuration, the cameras are zoomed out to allow a large head tracking volume. This mode allows for Gaze Tracking (although accuracy will be reduced compared to the other modes). Eye analysis (i.e. blink, eye closure, and PERCLOS data) is not available when using this mode. * A Camera Configuration Wizard has been added to guide the user through the camera configuration selection and set-up procedure. * An IR Pod Position Wizard has been added to allow the user to specify the IR pod positions (needed for Precision Gaze configuration). * Gaze data is always produced, even if gaze has not been calibrated. * Gaze data is now output separately for each eye. * Gaze confidence has been replaced by a Gaze Quality Level, ranging between 0 and 3. * Pupil diameter measurements have been added to the faceLAB data stream (in Precision Gaze camera configuration only). * Image feature rectangle data has been added to the faceLAB data stream (e.g. mouth and eye image rectangles). * Logging to Disk now saves data into a unique directory containing five separate log files. * Gaze filtering can now be toggled for real-time and accurate data streams. * The Head Model "Method" selection (between "Feature Only" and "Features and Markers") has been removed. For improved tracking accuracy markers can still be added to the face, but there is no longer any need to distinguish between markers and features in the faceLAB interface. * The Head Model "Analysis" selection (between "Head Only", "Head and Eye", and "Head, Eye and Gaze") has been removed. Now all models track head, gaze, and eye by default. This selection has been superseded by the "Track Eyes" and "Track Eyelids" checkboxes (see below). * A "Track Eyes" checkbox has been added to allow all eye tracking (i.e. all gaze, eye closure, and pupillometry data) to be toggled on or off. * A "Track Eyelids" checkbox has been added to allow all eye analysis measurements (i.e. blink, eye closure, and PERCLOS data) to be toggled on or off. * Stereo-Head calibration management has been simplified. There are no longer multiple "positions" to switch between. If you wish to move the cameras, then you simply need to recalibrate with the Camera Calibration Wizard. * The Day/Night camera modes have been replaced with three illumination modes - IR light only, both IR and visible light, and visible light only. (visible light only is disabled in Precision Gaze camera configurations.) * Camera recalibration is no longer required when switching between illumination modes. * Support for animations and sounds has been added to the Screen Intersection Display. This is useful for grabbing the subject's attention during the screen calibration procedure. * A "manual" screen calibration mode has been added, allowing an experimenter to specify when the subject is looking at the screen calibration points. This is useful when the subject has a short attention span (e.g. an infant). * A screen calibration visual feedback display is now shown upon completing screen calibration. * An Eye Visibility Window has been added to the Screen Intersection Display to provide feedback on whether the head and eyes are tracking. * An Automatic Head Model diagnostic feature has been added, so the user can help improve future versions of faceLAB (see below for further details). * Three new panes have been added to the Controls window - Hints, SID and Options. * The Hints pane allows the user to provide "hints" to faceLAB. The "Head Range Settings" can be used to select the trade-off between the depth range for Head Model auto-initialisation and accuracy of auto-initialisation. The user can also indicate if the subject is wearing glasses to aid in the creation of automatic Head Models. * The SID (Screen Intersection Display) pane provides access to the controls for the SID, as well as the screen intersection calibration process. * The Options pane contains controls to change the display mode from Realtime to Accurate, set the Automatic Head Model Prompt Level, and toggle the Tips of the Day. * The camera auto focus option can be toggled from the Video window. Auto focus is on by default for Precision Gaze, while it is off for other camera configurations. * The camera images shown in the Video window are now resizable. * A camera image "Display Mirror Mode" option has been added. * If the subject's gaze is intersecting with an object in the world model, the object's label can be displayed on the video stream in the Video window. * IR pods positions are shown in the World Model view. * The camera calibration data collection algorithm has been improved. * Numerous other user interface improvements. Note For Windows XP Service Pack 2 Users ---------------------------------------- The installation of Service Pack 2 for Windows XP can cause the nVidia GeForce FX 5200 OpenGL driver to fail. When launching faceLAB, you will see a message stating "nVidia OpenGL Driver Driver Components mismatch. Exit is the only option." To fix this, you will need to install the latest version of your graphics card driver (available from www.nvidia.com). Installing Hardware ------------------- When you plug the USB connector of the Stereo-Head hardware cable into the faceLAB computer USB port for the first time, the Windows "Found New Hardware Wizard" will appear. Please follow these steps to install: 1. Insert the faceLAB installation CD into the CD-ROM drive. 2. Select the radiobutton labelled "Install the software automatically (Recommended)". 3. Click the Next button. 4. After a few seconds, a "Hardware Installation" dialog for a "SM Sync Controller" will appear. 5. Select the "Continue Anyway" button. 6. Select the Finish button. The Stereo-Head cable will now be ready for use with faceLAB. Diagnostics Data ---------------- Every time an automatic Head Model is created, a copy of the model is saved to the faceLAB Diagnostics directory. Depending on the chosen prompt level in the Options pane, the user can help to sort the models according to how well they track. It will help to improve future versions of faceLAB if this data is periodically zipped and sent to technical support at: support@seeingmachines.com. Compatibility ------------- It is possible to use the Stereo-Head hardware provided with faceLAB 4.0 with faceLAB 3.2. However, faceLAB 4.0 Stereo-Heads configuration files (*.sth) cannot be loaded by faceLAB 3 (this causes faceLAB 3 to freeze during start-up). It is not possible to use data files created with faceLAB 3 or earlier with faceLAB 4.0. Terminology Change from faceLAB 1.1 ----------------------------------- Eye opening and closure measurements have been standardized, now referring only to eye closure. This affects the following fields in the log file data format: RIGHT_EYE_OPEN has become RIGHT_EYE_CLOSE LEFT_EYE_OPEN has become LEFT_EYE_CLOSE RIGHT_OPEN_CONF has become RIGHT_CLOS_CONF LEFT_OPEN_CONF has become LEFT_CLOS_CONF EYE_OPEN_CALIB has become EYE_CLOSE_CALIB System Requirements ------------------- faceLAB 4.5 requires: * Minimum Pentium 4 3.0 GHz processor, or Pentium M 2.0GHz Dothan processor. * Windows XP operating system * screen resolution of 1280x1024, using normal fonts Known Issues ------------ If you have problems not mentioned below, please report them to support@seeingmachines.com * If after installation you recieve a message saying 'usbic2k.sys' on 'SmartcardReader Installation Disk #1' is needed. You will have to cancel driver installation by clicking cancel. And then run Windows Update, You should find in Windows Update under "Hardware Updates" a driver for a "USB Token Device" by "Feitian Technologies Co., Ltd." installing this update will restore the missing usbic2k.sys and restore faceLAB dongle functionality. * Data that is logged may sometimes contain up to 4 extra frames containing incorrect frame-numbers and experiment times. These frames can occur at the very beginning or the very end of the logging data. This can occur with both disk and network logging. The data in these frames is correct, only the frame-number and experiment time are incorrect. * The Control Window does not fit evenly into the "Tiled" Window arrangement when using Large Fonts. * The coloured data plots can occasionally skip forward several seconds * If using an analogue system. Disconnecting the USB sync controller while faceLAB is running with a Precision Gaze camera configuration, may cause the tracking to degrade in quality. Plugging the USB device back in while faceLAB is running will not change this. The user is advised to restart faceLAB if this occurs. * If you have faceLAB 1.0, faceLAB 1.1, faceLAB 2 and/or faceLAB 3.x installed on your machine, along with faceLAB 4.2, and you un-install every version below 4.2, this may cause problems with the PXC library. It may be necessary to re-install version 4.2 * The installation of some "windows updates" may delete the frame grabber driver registry entries. When this happens faceLAB will produce an error saying it cannot open the PXC library. The workaround: double click on the file "PXC.reg" file in the faceLAB directory to merge it with the registry. This will re-enable the PXC frame grabber registry settings after rebooting. * If you have faceLAB 1.0, faceLAB 1.1, faceLAB 2 or faceLAB 3.x installed, and you install faceLAB 4, sometimes the faceLAB 4 icon is not updated (Windows keeps a cached copy of the icons). To ensure that the icon is correct, change the screen depth in Windows (i.e. from 16 bit to 32 bit) and then change it back again. Contacting Us ------------- General Information: info@seeingmachines.com Technical Support: support@seeingmachines.com Please refer to the faceLAB user manual for other ways to contact us. Reporting faceLAB Issues ------------------------ To report an issue to the Seeing Machines technical support team, send an email to support@seeingmachines.com as follows: 1) Attach the "run log" for your faceLAB session. This can be found in: C:\Documents and Settings\[username]\Application Data\Seeing Machines\ faceLAB\Run Logs directory Note that faceLAB stores a number of run logs in this directory, each time stamped with the time your faceLAB session began. Please ensure you attach the correct file. 2) Describe the issue. 3) Describe the steps taken before the issue occurred. 4) Attach any data files you believe may be relevant. For example, if faceLAB crashed whilst loading a Head Model, attach all files in the directory corresponding to the Head Model. Or if you find a bug in the user interface, attach a screenshot.