qlyoung's wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
bird_bar [2026/02/22 19:22] – [v1] qlyoungbird_bar [2026/03/26 21:39] (current) – link to devkit qlyoung
Line 1: Line 1:
 ====== bird bar ====== ====== bird bar ======
  
-Bird bar is a bird feeder with a camera on it. Each frame from the camera's video feed is run through a classifier model to recognize any birds in the picture. Each bird is labeled with its species above its head and the resulting video is live-streamed to the internet. Species data is collected in a time series database.+Bird bar is a bird feeder with a camera on it. A computer vision model watches the feed to identify the species of birds that visit the feeder. The video feed is also live-streamed to the internet, where live info about the birds is shownPatron data is collected in a time series database for analysis.
  
 Live stream: https://twitch.tv/thebirdbar Live stream: https://twitch.tv/thebirdbar
Line 27: Line 27:
 The first feeder was a generic acrylic bird feeder. The camera was an old webcam I had lying around. Since it's mounted outside it needed to be weatherproofed. I did that with plastic wrap. Subsequent attempts greatly improved the design. The first feeder was a generic acrylic bird feeder. The camera was an old webcam I had lying around. Since it's mounted outside it needed to be weatherproofed. I did that with plastic wrap. Subsequent attempts greatly improved the design.
  
-{{birdbar:feeder:feeder-with-camera.jpg?0x300|Bird feeder showing webcam pointed at it}} {{:feeder-with-camera-outside.jpg?0x300|Picture of webcam attached to the side of my apartment building}} {{:webcam-condom.jpg?0x300|Picture of the webcam completely wrapped in plastic wrap secured by orange duct tape sitting on my window sill}}{{ :webcam-tupperware-lid.jpg?0x300|Picture of a tupperware lid taped over the camera as a sort of primitive rain shield}}+{{birdbar:feeder:feeder-with-camera.jpg?0x300|Bird feeder showing webcam pointed at it}} {{:feeder-with-camera-outside.jpg?0x300|Picture of webcam attached to the side of my apartment building}} {{:webcam-condom.jpg?0x300|Picture of the webcam completely wrapped in plastic wrap secured by orange duct tape sitting on my window sill}} {{:webcam-tupperware-lid.jpg?0x300|Picture of a tupperware lid taped over the camera as a sort of primitive rain shield}}
  
 Additional weatherproofing measures included a plastic tupperware lid taped over the camera as a sort of primitive precipitation shield. Additional weatherproofing measures included a plastic tupperware lid taped over the camera as a sort of primitive precipitation shield.
Line 34: Line 34:
  
 I should also mention this installation is located on the second floor of my apartment building. Putting it up and performing maintenance involves leaning out of the window, so I was anxious to build a durable, maintenance free installation. I should also mention this installation is located on the second floor of my apartment building. Putting it up and performing maintenance involves leaning out of the window, so I was anxious to build a durable, maintenance free installation.
 +
 +===== Hardware =====
 +
 +As of 2026 birdbar runs on an [[https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-orin/nano-super-developer-kit/|Nvidia Jetson Orin Nano]]. With a TensorRT-optimized kernel and recent firmware upgrades to the board to unlock additional performance, classification takes about 50 ms/frame, achieving around 20 frames per second. Classification runs at 480x800 resolution.
 +
 +In the past (2021 thru early 2026) the setup was an Intel NUC with a discrete PNY GTX 1070 connected via Thunderbolt 3 in an eGPU enclosure. It's wild that what used to take a dedicated computer and discrete graphics card has now shrunk to fit entirely on a SODIMM SoM package!
 +
 +Webcam is a Logitech Streamcam.
  
 ===== Bird Identification ===== ===== Bird Identification =====
Line 88: Line 96:
 For the data oriented, here is the summary information for the training run of the model I ended up using: For the data oriented, here is the summary information for the training run of the model I ended up using:
  
-{{:final-training-results.png?400|Composite image with various graphs depicting various training metrics, including recall, precision, loss, and mean average precision on both training and validation sets}} {{:pr-curve.png?400|PR curve}}+{{:final-training-results.png?0x400|Composite image with various graphs depicting various training metrics, including recall, precision, loss, and mean average precision on both training and validation sets}} {{:pr-curve.png?0x400|PR curve}}
  
 These metrics are all good and show that the model trained very nicely on the dataset. These metrics are all good and show that the model trained very nicely on the dataset.
Panorama theme by desbest
bird_bar.1771788127.txt.gz · Last modified: by qlyoung
CC Attribution-Noncommercial-Share Alike 4.0 International Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 4.0 International