A disclosed face detection system (and method) is based on a structure of a convolutional neural network (CNN). One aspect concerns a method for automatically training a CNN for face detection. The training is performed such that balanced number of face images and non-face images are used for training by deriving additional face images from the face images. The training is also performed by adaptively changing a number of trainings of a stage according to automatic stopping criteria. Another aspect concerns a system for performing image detection by integrating data at different scales (i.e., different image extents) for better use of data in each scale. The system may include CNNs automatically trained using the method disclosed herein.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method implemented on a computer system to automatically train a convolutional neural network (CNN) on face detection, the training method using a pool containing face images and a significantly larger number of non-face images, the training method occurring in stages, the stages comprising: formulating a training set for the stage, the training set having an approximately equal number of face images and non-face images derived from the images in the pool, the non-face images including non-face images that were false positives in earlier stages; and training the CNN using the training set for that stage. 2. The method of claim 1 wherein the stages further comprise: formulating a validation set of face images and non-face images for the stage, wherein the training set is used to train the CNN during that stage and the validation set is used to calculate the validation cost for that stage, and the validation cost is used to determine whether to continue training for the stage. 3. The method of claim 1 wherein training for a stage continues until a validation cost for that stage falls below a threshold cost. 4. The method of claim 1 wherein training for a stage continues until a validation cost for that stage does not improve within a predetermined training duration. 5. The method of claim 4 wherein the predetermined duration is a predetermined number of trainings for the stage. 6. The method of claim 1 wherein training continues for additional stages until a number of new false positives for a stage falls below a threshold. 7. The method of claim 1 wherein training continues for additional stages until a number of total false positives for a stage falls below a threshold. 8. The method of claim 1 wherein, for each successive stage, a percentage of false positives from earlier stages is an increasing percentage of the non-face images in the training set. 9. The method of claim 1 wherein the training set for a stage includes all of the false positives from the immediately preceding stage. 10. The method of claim 1 wherein the training set for a stage includes false positives from only the immediately preceding stage. 11. The method of claim 1 wherein the training set for a stage includes false positives from multiple preceding stages. 12. The method of claim 1 wherein face images in the training sets are derived by altering face images in the pool. 13. The method of claim 12 wherein face images in the training sets are derived by rotating, blurring, mirroring or distorting face images in the pool. 14. The method of claim 12 wherein face images in the training sets are derived by combining different face images in the pool. 15. The method of claim 1 wherein substantially all the face images in the pool are used to derive face images in the training set. 16. The method of claim 1 wherein less than half of the non-face images in the pool are used to derive non-face images in the training sets. 17. The method of claim 1 wherein the CNN is characterized by weights, and training the CNN comprises adapting the weights. 18. The method of claim 1 wherein the computer system includes a GPU, and training the CNN is implemented on the GPU. 19. The method of claim 1 wherein the CNN is a bi-scale CNN. 20. A non-transitory computer readable medium configured to store program code comprised of instructions, the instructions when executed by a processor cause the processor to train a convolutional neural network (CNN) on face detection, the training method using a pool containing face images and a significantly larger number of non-face images, the training method occurring in stages, the stages comprising: formulating a training set for the stage, the training set having an approximately equal number of face images and non-face images derived from the images in the pool, the non-face images including non-face images that were false positives in earlier stages; and training the CNN using the training set for that stage. 21. A system to automatically train a convolutional neural network (CNN) on face detection, the training method using a pool containing face images and a significantly larger number of non-face images, the training method occurring in stages, the stages comprising: formulating a training set for the stage, the training set having an approximately equal number of face images and non-face images derived from the images in the pool, the non-face images including non-face images that were false positives in earlier stages; and training the CNN using the training set for that stage. 22.-34. (canceled)