The Raspberry Pi 4 is a great upgrade from the previous Rpi 3. It even performs (surprisingly well) object and facial recognition with the Tensorflow Lite framework (1-2.5 fps) or OpenCV library (1.5 - 8 fps) and PiCamera.

 

During my first applications of Tensorflow Lite and OpenCV for facial recognition with my Raspberry 4 I realized that long term usage would be quite critical due to temperature issues of the CPU.

Without any cooling device (passive/active): Under normal working load the CPU temperature averages 50 - 60 °C . In case you do CPU intensive duties the temperature rises fast and may lead to performance reduction due to protection measures...

 

Hence, I decided to perform a passive cooling comparison without / with heatsink and thermal compound with respect to facial recognition.

 

Set-Up:

Raspberry Pi 4 Model B Rev1.1

NoIR Camera (5MP w/ 1080p)

Aluminium Heat Sinks

Thermal Compound

BLE Temp & Humidity Sensor

Face recognition with OpenCV, Python, and deep learning

Own scripts to log CPU temperature, CPU load average and ambient temperature + humidity via BLE

Set Up

 

 

Test 1: No Heat Sink

 

Max CPU Temp: 84 °C

Average CPU Temp while facial recognition is running: 81.5 - 82.5 °C

Max load average 1: 5.92

 

Ambient Temperature (room): 23.1 - 23.6 °C

 

The following figures show CPU Temperature & load averages respectively ambient temperature & humidity over time:

No Heat Sink: CPU Temp and Load Averages

 

No Heat Sink: Ambient Temperature and Humidity over Time

 

 

 

Test 2: With Heat Sink and Thermal Compound

 

Max CPU Temp: 83 °C

Average CPU Temp while facial recognition is running: 81 - 82 °C

Max load average 1: 4.35

 

Ambient Temperature (room): 24.1 - 24.3 °C

 

The following figures show CPU Temperature & load averages respectively ambient temperature & humidity over time: (Actually this graph is neater because there are no interruptions)

Heat Sink: CPU Temp and load averages over time

Heat Sink: Ambient Temperature & Humidity over Time

 

Conclusion

Test 2 with aluminium heat sinks and a special thermal compound resulted in a CPU temperature decrease of 1 - 1.5 °C (if you take into account the higher ambient temperature during Test 2, a decrease of like 2 °C). Frankly, I expected a temperature decrease of 3 - 4 °C. On the other hand, load average 1 of Test 2 is way below load average 1 of Test 1. In the near future I will get some cooling fans and add the results to this post.

 

Questions:

 

 

 

-     Why is load average 1 deviating between Test 1 and 2?

-     Are copper heat sinks the better choice?

 

If you have any questions, feel free to contact me.

 

Best regards,

Ruben