Different methods of detecting someone.

In researching different methods of AR detection, I came across two different ways I could approach the program.

 

The first method would make use of libraries such as OpenCV, which can be used for facial recognition in pictures. I could take a picture using the smart glasses inbuilt camera, then use OpenCV to detect faces in the picture, and cover them up, then project the edited picture to the user. This would have the drawback of being a static image, which wouldn’t be very useful in blocking someone out.

The other method involved libraries like Vuforia, which have object tracking. I could pass in a target for the library to track. I could make a target for someone to wear, and when Vuforia detects the target it spawns a cube, which the user can then move to cover someone’s face. This would be able to work in real time, with the only problem being how to get the target on someone, or deal with moving the cube meters away from the target, and having to manually move the cube to cover someone instead of the cube moving when the person moves.

Ideally, the best method would be to take a picture of someone with the in built camera, use OpenCV to detect faces in the photo, and have those photos uploaded to a Vuforia database as targets. This would combine the use of both libraries and provide the best of both methods. However, this method has ethical considerations with regards to the uploading of someone’s face, which makes this a very bad idea. There is also the issue of people being animate with their face and body which would make object detection unreliable if someone were to turn their head, compared to having a badge on their chest which would still be visible to the camera if someone turned their head.

 

As such, I decided to go for the simpler option of merely finding a library that supports object detection, and create a badge that it can recognise to then spawn a cube for the user to cover up someone’s face.

Leave a Reply

Your email address will not be published. Required fields are marked *