UPDATE 31 August 2019:  See my RoadTest of the Raspberry Pi 4B using OpenCV to do face recognition here

UPDATE 23 August 2019:  This is an update of an earlier post about a RoadTest of the Raspberry Pi 4B with a comparison to the Raspberry Pi 3B+ using OpenCV to do facial recognition.  Issues were identified in that post that held up the RoadTest.  The issues have now been resolved and the solution posted at the bottom of this post.


I am one of the fortunate persons chosen to RoadTest the new Raspberry Pi 4B and I have received it all bright and shiny and in good shape.  Time was set aside this past week to make a start but unfortunately there are RoadBlocks described below and for a change they are not of my own doing...


Proposed RoadTest


In my Picasso Art Deluxe project the Pi Model 3B+ was stretched to the limit (and maybe past it) doing facial recognition using OpenCV.  My proposal was to perform a head to head comparison of the Pi Model 3B+ to the Pi Model 4 while doing the same tasks.  The Raspberry Pi 4B RoadTest proposal had the following outline:


  • Brief Unboxing and Contents Description
  • Python 3.7 Software Compatibility in Rasbian Buster Vs. Python 3.5
  • Frame rate (frames / second) recognition Raspberry Pi 4 Vs. Raspberry Pi 3B+
  • Influence of the following will be explored:
    • Number of different faces in dataset
    • Number of training photos
    • Training photo size
    • Other variables testing uncovers
  • Observations on differences and issues, if any, in modifying the project to use the Raspberry Pi 4
  • Summary


The RoadBlocks


Notice that possible incompatibilities between the 3B+ and the Model 4 were recognized.  Well, they are more difficult than I imagined at least for the moment and here they are:


  • As is well known the Pi 4 only runs the Rasbian Buster distro
  • The latest version of OpenCV, and the version used in the Picasso Art Deluxe using Stretch will not link and make on Buster
  • After some searching, there is an older version of OpenCV in the Rasbian Repository that will install on Buster
  • Facial recognition uses piwheels to install some modules.  It does not support Buster yet but the site states they “plan to add Raspian Buster (Python 3.7) in due course” so even the older version of OpenCV won't work.
  • Trying to resolve the module problem on my own led to so many issues I have set it aside.  Smarter people than me are working on it.


Separately I checked into RetroPie since the completion prize for the PiCasso contest was a very nice Picade arcade kit and found that they have as of this date not released a version of RetroPie that works with Buster (but are working on it).


Next Steps


Be aware that there are some incompatibilities with the Pi 4 currently.  As of now I don't have a good project that I can get working on the Pi 4 although it is a near certainty these issues will be resolved in the future.  I plan to check again on status of OpenCV regularly in the coming weeks but will also be thinking about alternates in the event that is not done in a timely fashion.


A proper RoadTest in the proper form will be forthcoming...


Issues Resolved (23 August 2019)


After more searching and failures I found this site with a recipe that allowed me to install facial recognition on the Raspberry Pi 4B using Buster, Python 3.7 and OpenCV 4.1.0:


Building OpenCV 4.1.0 on Rasbian Buster and Raspberry PI4


I did not pursue what changes were made to allow it to work but many thanks to the author!  It is clear, relatively easy to follow and worked first time.  Be prepared to spend several hours downloading, compiling, linking, and installing.  Now on to the RoadTest itself...