Art is often made to appeal to a specific set of viewers. This is the 11th and final blog in a series exploring the idea of using AI to recognize a viewer and adapt art to their age or interest. The intent is to encourage early art appreciation while being attractive to all household members.
In the first 9 blogs the plan, build, facial recognition, art, and art viewer were described. In the 10th blog the completed project was presented. This concluding blog will summarize the project and outline potential future areas for improvement.
What is it?
The PiCasso Art Deluxe is an art exhibit that uses AI to recognize the viewer and display art tailored to them. The design is retro inspired and uses two Raspberry Pi computers - one to do the facial recognition and one for the display. Art that is Raspberry Pi themed, much of it developed on a Raspberry Pi, was created with my grandchildren and is displayed when a family member is recognized.
The concept is also well suited to other uses. For example, it could recognize family members and give them the weather, the traffic on their route to work, their schedule for the day, etc. on their way out the door. The display could change with the time of day, season, etc.
The Block Diagram shows the parts and pieces that make it work.
How was it developed?
The project was documented in 10 blogs about a week apart.
- Week 1: The concept was described and a plan laid out. Resources were identified and an initial Block Diagram presented.
- Week 2: OpenCV Face Detection was loaded onto the Raspberry Pi 3B+ and tested. Steps for improving facial recognition were identified.
- Week 3: Cabinet design and fabrication started. The faceplate is plywood and fabricated with traditional hand tools. The knobs and decorative label were done with a 3D printer.
- Week 4: The Python code that communicates from the facial recognition Raspberry Pi to the Pi controlling the display was written. Since the Raspberry Pi has GPIO available more than sufficient for the number of family members, GPIO was used rather than serial as originally envisioned.
- Week 5: The first art was developed - a simple little animated cartoon developed with Scratch on the Raspberry Pi.
- Week 6: The cabinet was largely completed. A bezel was made on the 3D printer to go around the display and a mount made for the camera.
- Week 7: More art was created, this time based on drawings from my grandchildren.
- Week 8: The project was mechanically completed - i.e. the mounting, clips, restraints, etc. to hold everything together. Image recognition progressed. More art from the children was incorporated.
- Week 9: Pi Presents, software for interactive multimedia applications for museums and such was used to control the display based on input from the facial recognition AI.
- Week 10: The fully integrated project is presented. There is a demonstration video of the working project.
How well did it turn out?
The art was a big success and looks good on the display. Pi Presents does a good job of managing the display. The children like the animations and enjoyed doing the art that went into them. Scratch on the Raspberry Pi is a lot of fun and I intend to use it with my grandson this summer. I am happy with the way the project looks and expect to be using the 3D printer a lot more in future.
Facial recognition is a bit hit or miss. I was hoping to get some more training images and do more art with the kids this weekend but due to unforeseen circumstances was unable to do that. It now has high accuracy recognizing me, probably due to age and the fact that I wear glasses. It sometimes mixes my two granddaughters up and when it errs it is normally with the older one. It sometimes recognizes there is a face but does not identify it as a person in the database. Frame rate is relatively slow.
How about a demonstration?
Well, if you insist...
Please excuse the crass commercialization of my art. I had hoped to make a demonstration using the grandkids but won't get a chance to see them before the contest closes. If you would prefer to see an actual demonstration, have a look at the video in Week 10.
What might be improved?
Clearly the facial recognition frame rate and accuracy would benefit from more work. Hardware tailored to AI on the edge is beginning to show up at prices that hobbyists can afford. There are a number of rough edges on the software but these could be cleared fairly quickly. Power currently comes in via two USB supplies and that could be consolidated. Sound is sent out to an external amp and speaker which could be incorporated into the cabinet. Numerous enhancements such as control over Bluetooth, selection of "channels" using the control knobs, etc. are possible.
Thanks for reading - comments and suggestions are always welcome.
UPDATE 01 SEPTEMBER 2019: I have posted new material on increasing frame rate and accuracy using a Raspberry Pi 4 in this RoadTest
Blogs in this series
PiCasso Adapting Art to Viewers: Introduction Blog #1
PiCasso Adapting Art to Viewers: OpenCV Face Detection, Blog #2
PiCasso Adapting Art to Viewers: Cabinet Design, Blog #3
PiCasso Adapting Art to Viewers: Pi talks to Pi, Blog #4
PiCasso Adapting Art to Viewers: Grandpa Shark, Blog #5
PiCasso Adapting Art to Viewers: More on Cabinet Design, Blog #6
PiCasso Adapting Art to Viewers: New Art, Blog #7
PiCasso Adapting Art to Viewers: Mechanical Complete, Blog #8
Top Comments