I'm interested in starting a project that will identify the face of a Lego mini figure from a digital photo. My goal is to eventually map the expression of a person's face to the Lego mini figure.

I don't have any experience working with image recognition technology (my technical experience is mainly in web technology), and I am looking for recommended platforms or resources that I could get started with.

Most helpful would be recommendations for image recognition technologies (Python would be great!) that I could start to experiment with.

NOTE: I'm aware of SparkAR as a library designed to for Instagram camera effects specifically, and even though I'm not interested in Instagram, I wonder if there are comparable libraries/studios/products for working with image recognition development.

  • 1
    $\begingroup$ Welcome to AI Stack Exchange. By "identify" do you mean that you want to locate the miniature's face in the image (plus perhaps its pose), but not necessarily identify it as "figure C" from some collection? Even with that clarifcation, it is likely this will be a bit broad or you will get vague answers trying to describe your whole project outline. If you could add what you are starting with and what your specific, current block is to continuing with the project work, then that would help narrow things down to items you might need right now $\endgroup$ Jan 20 '20 at 14:52
  • $\begingroup$ Thanks @NeilSlater! I added some details. I am very early in the process, and mostly interested in what technologies or libraries would be good to investigate first. Essentially, what are the most popular frameworks people currently use for this type of product, if any? $\endgroup$ Jan 26 '20 at 21:41

Since you are mainly interested in starter libraries and packages to read up on here are some pointers:

Image recognition as well as general spatial classification mainly consists of two major tasks.

  1. Translating images to data that can be fed into a ML model of any kind.

  2. Building a model that is able to use this data to complete tasks like classification (which lego figure is this?), spatial clustering (which pixels form the "face"), etc.

For the first task you will find a lot of python libraries that suit the task but `` PIL/Pillow``` should be the main library for this. So start by reading some documentation and transferring the images you do have (this includes standardizing and cleaning the images to improve the results of step 2).

For the second task the actual model you will use depends on your task but generally speaking some form of neural net is a good place to start and if you prefer python then you should look into tensorflow and keras (easy to use interface to tensorflow).

Where to start

Start with the classical MNIST numbers recognition case and if you have grokked that, you will now where to go from there or at least be able to ask a more specific question here.



Not the answer you're looking for? Browse other questions tagged or ask your own question.