## 5 Application  
The proposed wearable camera has many interesting applications. For example, for a user at home, he or she can perform fingerspelling digits to remotely switch TV channels at will. When the TV has a video-on-demand service, the use of fingerspelling alphabets, such as \"O\" for \"OK\" and \"B\" for \"Back\", becomes an intuitive way to select the menu item. To demonstrate the practicability of the device, here we applied it to a more complex task of operating an assistive robotic arm to transport small wooden building blocks. This simulates the scenario for a disabled person using his/her hand gestures to command an assistive robot to fetch objects (see Figure 12). The video demo can be found at the link in the Supplementary Materials.  
For the simplicity and intuitiveness of the control commands, three old gestures and five new gestures were used, namely \"None\", \"Grab/Drop\", \"Up\" & \"Down\", \"Front\" & \"Back\", and \"Left\" & \"Right\", shown in Figure 12e. The user performed these gestures with his right hand to control the robotic gripper to move towards the desired direction, as well as grab/release building blocks. In the video demo, we successfully transported two red blocks from on the table to the top of two yellow blocks. A snapshot of the video is shown in Figure 12a-d. The detailed implementation is described below.  
* Gestures recognition  
The recognition algorithm is slightly modified for the new set of gestures. Among the eight gestures, the ones formed by different fingers were recognized by the steps described in the main  
Figure 11: (**a**) Three original images and (**b–d**) their hand segmentation results by the three methods. (**b**) Results of the proposed two-phase distance transformation, where the red line separates the palm and fingers. (**c**) Segmentation based on drawing a circle [30]. Four circles with different radii are displayed to show its performance. (**d**) Using the yellow lines to improve segmentation [29], each of which connects a point on the circle and its nearest pixel on the hand contour.  
article. The remaining ones were classified by the following approach: \"Grab/Drop\" and \"Front\" are distinguished by looking at the number of fingers in each region. \"None\" and \"Down\" are separated by the height of the palm centroid. \"Left\" and \"Right\" are differentiated by checking the direction of the finger, which was calculated by drawing a line between finger point and fingertip. Fingertip is the point on the intersection of hand contour and finger contour, and has a maximal sum of the distance to the two finger corners. Before recognition, we took one picture for each gesture to obtain the margin of different heights and the margin of different finger directions, and used the two margins to achieve the above classification.  
* Control of robot arm  
The robot has five degrees of freedom on its arm and one degree on its gripper. We adopted Resolved-Rate Motion Control [35] (pp. 180-186) to drive the gripper towards the direction of the front, back, up, and down. The linear speed was set at a moderate level of 0.04 m/s so that the user could give the right command in time. Moreover, the left and right rotation of the body of the robot arm was achieved by the bottom servo motor at an angular velocity of 0.2 rad/s. Moreover, since the frame rate of the video might drop to 8 frames per second under poor lighting conditions, we set the frame rate and control frequency as 8 per second, which was still fast enough for real-time control.