<< return to Vizycam.com

Birdfeeder app notes, technical, etc

Nice work getting a network trained :slight_smile:

Could you send me a link to your network and we’ll give it a look?

Edward

Many thanks … see https://github.com/plord12/vizy-training/releases/tag/0.0.1

Hi Peter,
Sorry, we aren’t able to get it to run on this end (we tried various ways to grab the tensors.) Are you able to run the graph on your training machine?

Edward

Yes. The picture above was generated once trained.

( if it matters I’ve been using tensorflow 2 ).

As mentioned originally in this thread it would be great to understand exactly how the birdfeeder app was generated so we can repeat with a different data set.

The Tensorflow work we did was at the beginning of the project and needs to be updated. Getting the inference code to work with TensorFlow2 shouldn’t be too involved. It requires updating the code in /usr/local/lib/python3.7/dist-packages/kritter-0.0.3-py3.7.egg/kritter/tf/tfdetector.py. – it’s certainly less effort than training your own network :slight_smile:

We don’t have any useful notes we can share regarding how the birdfeeder network was generated, unfortunately. We will provide this after we update the network. Our software team hopes to tackle this next month.

Edward

Any updates on these ?

All I want to get to is the birdfeeder app working for local (UK) birds. Happy to invest more time and effort on this ( I’ll have more time soon ), but I want to build on what you’ve built rather than re-invent.

Many thanks.

Hi Peter,
In short, no we haven’t made headway on this. We’re pushing for the Motionscope application release, which is pushing things back. My apologies…

Edward

Hello together!

I have recently installed the camera and also use the Birdfeeder app but to my regret I found that it only detects American birds and I am based in Europe. What about the implementation regarding birds in Europe? Would be good to know if there is a specific date or if I and others could help with the programming.

Thank you for your efforts and have a nice day.

-CRM

Hello,
European bird identification is definitely on our list. How about this – give us the next 3 weeks to reassess this effort. Feel free to bug us on this thread if we haven’t replied before April 5. :slight_smile:

Edward

1 Like

Hello,
We’ve been looking into the next version of our object detection and classification software – what it should use: Tensorflow vs PyTorch, and what specifically should the birdfeeder classifier do to get the most accurate results.

I don’t have a specific date as to when we will have this ready, but our goal is to release sometime this summer. Given what our users have requested:

  • We will release a new version of Bird Feeder with networks for North American and European bird species
  • Recent software versions (Tensorflow or PyTorch) will result in improved speed and accuracy.

And for those who want to develop their own Vizy applications with custom detection/classification networks;

  • We will include detailed instructions on how to make your own detection/classification networks.
  • An online compute platform will be available (e.g. Google Colab) for training your own networks, or modifying existing ones.
  • Our goal is for an end-to-end detection/classification solution – Vizy can help gather the data (pictures and labels), format the data, and test/use the newly trained networks.

Right now we’re leaning toward Google Colab and a generic framework (e.g. PyTorch). Edge Impulse looks interesting – it’s easier to use but more proprietary. Google Colab and PyTorch (for example) is more difficult to use (more knobs to adjust, more functionality), but more open. We’re guessing that a more open framework is preferable, but we’re interested in everyone’s thoughts.

Edward

I don’t know enough to comment on which framework should be used (sorry). And I probably won’t be developing custom detection and classification networks any time soon.

But I am interested in using existing detection and classification networks that are provided with Vizy (especially more general ones like Coco). When you update the instructions, can you also provide some additional documentation on that? For example: can we read a jpg file from disk and detect / classify objects in that?

Hi Ed,
If you look at the Tflow and Tflite examples as a starting point, you just read a jpg into an array (with cv2.imread) and pass it into tflite.detect(). Let me know if you had something else in mind.

Edward

1 Like

That will be really great. I’ve resisted investing too much time on this mostly due to the old version of tensorflow used.

Minor comment is that I would like to also have other common (non-bird) garden animals included (fox, hedgehog, squirrel, rat, cat, dog etc ).

This is essential … it must be possible for us to replicate your training, and expand with own images/bounding boxes.

I don’t have a strong view … I would be tempted to try training on the desktop first though.

Perfect.

Yes, exactly.

It would be great to enable alternative alert mechanisms ( eg send signal/telegram messages ) as an extension point … maybe even as simple as calling an external script.

Thanks :slight_smile:

We’ve been looking at various “texting” interfaces for alerts. It needs to be:

Quick – only a few seconds between message sent and message received
Rich media – images in addition to text. Bonus points for video.
Mobile alert – alerts you when a new message is available
Easy set-up – if it requires an account, it should be free to sign-up. If a separate app is required it shouldn’t be a headache to get up and running and connected to your Vizy.

Gmail is easy and we’ll add it as a “text message” option, but it’s not quick and emails don’t typically have mobile alerts. SMS is an option, but there are carrier and country complications because they use the mobile network. We will add IFTTT. Its message functionality isn’t very sophisticated, but it’s great for events and tying into other things (e.g. home automation). It’s also very simple for us to integrate, which is a plus. Discord should work fine as an alert provider and gets bonus points because it offers 2-way communication – Vizy could receive messages as well as send them. Pushsafer is not well-known, but it’s nice because it has lots of options for alerts (sounds, images, icons) and it’s very maker-centric. There are others I’m sure – we’re open to suggestions!

Edward

Well, I’m already using https://github.com/AsamK/signal-cli to send signal messages for my daily electricity consumption

I know telegram has a decent API … eg https://github.com/rahiel/telegram-send

I run both on my phone + desktop, so get alerts as needed.

Do you use the Signal app to receive the messages/alerts?

Yes - thats the phone screenshot above.

Signal looks like it hits all of the requirements quite well :slight_smile:

Thank you Edward - that worked.

I need to study tensor flow newbie basics instead of jumping in and generating exceptions. :slightly_smiling_face:

Cool – just curious, what are you working on?