A finger detection method comprising the steps of: acquiring a hand connected region from a user's depth image; calculating the central point of the hand connected region; calculating a plurality of extremely far points in the hand connected region that have extremum 3D geodesic distances from the central point; detecting fingertips and finger regions from the plurality of calculated extremely far points; and outputting fingertip positions and the finger regions, wherein the step of detecting fingertips and finger regions from the plurality of calculated extremely far points further comprises the steps of: determining the plurality of extremely far points as a plurality of fingertip candidate points P; and for each fingertip candidate point P, implementing the following iteration process:initializing a predetermined distance threshold; detecting, step by step, the 3D geodesic distances between the surrounding points of the fingertip candidate point P and the fingertip candidate point P from inside to outside starting from the fingertip candidate point P; and adding the surrounding points into the finger point set if the 3D geodesic distances are less than the predetermined distance threshold; if the width of the finger point set is less than a first threshold Th1, adding the predetermined distance threshold with a step size, or otherwise judging whether there are still unprocessed fingertip candidate points P; and if there are still unprocessed fingertip candidate points P, then selecting a next unprocessed fingertip candidate point P and repeating the iteration process; and if there are not unprocessed fingertip candidate points P, exiting the iteration process. acquiring a hand connected region from a user's depth image; calculating the central point of the hand connected region; calculating a plurality of extremely far points in the hand connected region that have extremum 3D geodesic distances from the central point; detecting fingertips and finger regions from the plurality of calculated extremely far points; and outputting fingertip positions and the finger regions, wherein the step of detecting fingertips and finger regions from the plurality of calculated extremely far points further comprises the steps of: determining the plurality of extremely far points as a plurality of fingertip candidate points P; and for each fingertip candidate point P, implementing the following iteration process:initializing a predetermined distance threshold; detecting, step by step, the 3D geodesic distances between the surrounding points of the fingertip candidate point P and the fingertip candidate point P from inside to outside starting from the fingertip candidate point P; and adding the surrounding points into the finger point set if the 3D geodesic distances are less than the predetermined distance threshold; if the width of the finger point set is less than a first threshold Th1, adding the predetermined distance threshold with a step size, or otherwise judging whether there are still unprocessed fingertip candidate points P; and if there are still unprocessed fingertip candidate points P, then selecting a next unprocessed fingertip candidate point P and repeating the iteration process; and if there are not unprocessed fingertip candidate points P, exiting the iteration process. determining the plurality of extremely far points as a plurality of fingertip candidate points P; and for each fingertip candidate point P, implementing the following iteration process:initializing a predetermined distance threshold; detecting, step by step, the 3D geodesic distances between the surrounding points of the fingertip candidate point P and the fingertip candidate point P from inside to outside starting from the fingertip candidate point P; and adding the surrounding points into the finger point set if the 3D geodesic distances are less than the predetermined distance threshold; if the width of the finger point set is less than a first threshold Th1, adding the predetermined distance threshold with a step size, or otherwise judging whether there are still unprocessed fingertip candidate points P; and if there are still unprocessed fingertip candidate points P, then selecting a next unprocessed fingertip candidate point P and repeating the iteration process; and if there are not unprocessed fingertip candidate points P, exiting the iteration process.