I think there is definitely space for improvement for 2 and 3, but then you would need to collect your own data. Are you a developer? We should talk if you're considering CoreML as we (Polarr) have ready to use, battle tested CoreML models for various computer vision purposes (email in my profile.)