Lenovo Mini PC running Shinobi with Object Detect!
Hardware Test Notes : A Mini PC that does Object Detection and Motion Detection without a GPU!
This is not an endorsement. We just found this hardware did a complex task at a very reasonable price point. This is not a new computer and has been obsoleted.
Server Information
CPU |
Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz, 4 Cores |
RAM |
8 GB DDR3 |
HDD |
512 GB SSD |
OS |
Alma Linux 9.2 |
Test Started |
July 15, 2023 |
Product Dimensions |
18.03 x 3.43 x 17.78 inch; 3.22 Kilograms |
Server Model | Lenovo Thinkcentre M92p Tiny |
---|
Camera Information
SecuPlug IPD-D53L02-BS |
Resolution : 2592x1944 (5MP) FPS : 15 I-Frame : 15 Bitrate : 3096 Bitrate Type : CBR H.264 |
PTZ Outdoor |
5 |
SecuPlug YM800N |
Resolution : 3840x2160 (8MP) |
Dome Outdoor |
3 |
Brand/Model | Video Configuration | Notes | Qty |
---|
No audio recording. The Office of the Information and Privacy Commissioner for British Columbia (OIPC) has issued guidelines suggesting that audio recording is generally not considered reasonable in the context of video surveillance, even in public places, except in very limited circumstances.
If I did want audio recording I would set the Audio Codec to AAC.
Resource use of Cameras
8 Cameras in total. Use is showing percentages during Idle times. Idle means it is watching streams and doing Motion Detection. No Motion detected so the Object Detector is not engaged. When the object detector is engaged for a camera it will consume at least 5% more CPU. 5% additional for each camera with Object Detection engaged.
In my setup all cameras are never triggered at the same time so it never reaches the max resource use at any given time. As long as I maintain at least 10% free on the CPU, it has kept running as expected.
CPU |
41% |
RAM |
47% |
Resource | Typical Use |
---|
Detector Information
Detectors |
Enabled |
Notes |
Motion DetectionBuilt-In by Kevin GodellCPU Only |
Yes, 2 FPS |
Regions were created to only trigger in certain areas. Accuracy Mode was enabled to better detect movement inside the Regions. |
Object DetectionTensorFlow 4.1.0 PluginCPU Only |
Yes, 2 FPS |
Runs for 5 seconds if motion is detected. Detections take ~2 seconds per frame to register on CPU only. |
Automatic PTZ Tracking |
Yes |
With Event Filters enabled the PTZ cameras follow person, car, and truck tags. |
Recording is created when an accepted object is detected. Accepted Objects are filtered through the Event Filters.
Impressive Aspects of this Setup
- Consistent CPU use. Not constantly spiking doing the same things.
- The CPU can do Object Detection without GPU assistance in under 3 seconds per frame.
- Cameras easily found and added by ONVIF Scanner.
- Server’s physical size is small, low energy footprint.
Known Issues with this Setup
- The server must be kept in a cool environment and must be kept in a vertical position with both sides getting airflow. It seems to get very hot very fast when it is sitting flat, horizontally. When it was flat it crashed. When standing vertical it has had one case of high heat but did not crash. I flipped it upside down, still vertical, and it appears to work much cooler.
- Alma Linux 9.2 seems to work strangely with PM2 sometimes. You may find that Shinobi is continuously restarting under PM2. Just run npm i pm2@latest -g && pm2 update to fix it.
- SecuPlug cameras offer AAC audio but Shinobi/FFmpeg cannot read these AAC streams. They need to be set to PCM_ULAW or something similar in the camera then converted to AAC in Shinobi to get audio from these cameras.