smartcrop.js is a content aware image cropping library. On this page you can see how it operates on a large set of (>100) images. This page is designed to show you both the strengths and weaknesses of this open source library. Please note that this page is running just smartcrop.js without any additional face detection. You can play with face detection in the testbed.
You can learn more about the library on it's github page. You can try it out on your on images using the testbed.