Code Monkey home page Code Monkey logo

birbcam's People

Contributors

jdpdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

birbcam's Issues

Save Birbvision evaluation result

After evaluating a photo with Birbvision, save the results with the photo

For each photo, save a file with the information:

  • Location of full-resolution image
  • Location of thumbnail image
  • Top X number of predictions with label and confidence

The server can utilize these files to serve images and metadata

Add control console

Add a simplified version of the debug console that only shows the control section

Segment images before passing into Birbvision

The Birbvision model expects the bird to be prominent in the image, but images from the camera are often not bird-centered. So instead of passing one image, segment it into parts that separately get classified.

Assuming the source image is big enough, divide the image into three sections with overlap:

  • 50% width on left side
  • 50% width on right side
  • 50% width centered

Concerns

  • Performance
    • Early indication is that classifying on a single image isn't much of a burden

Run new photos through Birbvision evaluator

Whenever the monitor takes a photo, run it through Birbvision for ML evaluation

This task does not involve doing anything with the evaluation

Concerns:

  • How does ML evaluation effect performance?
    • Should evaluation be done on a separate thread?

Automatic exposure adjustment

Adjust exposure automatically to try to maintain a target level.

  • Use the exposure set by user as the target
  • Evaluate every configured amount of time

[BUG] App crashes when accessing a large picture log

Describe the bug
App crashes when trying to write to the picture log when the picture log has become too big

To Reproduce
Crash point appears to be when the picture log is a little north of 1 MB, and the crash happens when attempting to write to it.

Raspberry Pi (please complete the following information):

  • OS: Buster

Additional context
When this happens, the whole drive the picture log resides on is set to read-only access.

Evaluate motion vector processing

PiCamera offers motion estimation and the PiMotionAnalysis class. Evaluate if this data can be used to weed out false positives from the detector from things like swaying of the feeder.

Utilize ISO when adjusting exposure

Currently, automatic exposure adjustment only uses shutter to match the exposure. ISO adjustment can be used to expand the range of the adjustment, improve image quality, and minimize use of less useful shutter speeds.

Concerns:

  • One stop of ISO is a big change, but smaller increments may not be as useful as small shutter increments
  • Need to determine logic for deciding whether to change ISO
    • Configure a range of optimal shutter speeds?
  • After adjusting ISO the direction of shutter movement may need to be reversed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.