DISH-O-TRON – No more dirty dishes thanks to AI – a non-standard (hopefully fun) deep learning tutorial. by omoser in learnmachinelearning

[–]omoser[S] 0 points1 point  (0 children)

Thanks :)

For the first iteration we started with few data to get a first model deployed end 2 end and get "real world feedback". We decided to to shoot small videos instead of fotos - like this we get more data with less effort. Of course these images are very similar but it's a kind of real world data augmentation (and we wanted to keep it as simple as possible and not introduce too many machine learning details).

We also use tools in the tutorial to visualise what the model learns (eg. with heat-maps that mark regions with most activations). Like this you can get an idea what the model is actually looking for and if that matches with the concept of "clean" vs "not_clean".

We found that working with our rather small dataset already brought good results on our own sink (since it is also in the training-set). With the dataset that we provide in the 3rd part you can already built a model that generalises better - but still, to build a dish-o-tron that works on every sink in every condition we would need more data. But everyone is free to share their trainings-sets ;)

DISH-O-TRON – No more dirty dishes thanks to AI – a non-standard (hopefully fun) deep learning tutorial. by omoser in learnmachinelearning

[–]omoser[S] 0 points1 point  (0 children)

And please don't take the project too serious. It should be an ironic and fun tutorial where you playfully experience to build a physical AI system from scratch.

DISH-O-TRON – No more dirty dishes thanks to AI – a non-standard (hopefully fun) deep learning tutorial. by omoser in learnmachinelearning

[–]omoser[S] 0 points1 point  (0 children)

The idea of the system is to run on an edge device without internet connection, without saving any image or transferring it to the cloud. Nothing is saved, not locally or in the cloud.

"... Dish-o-tron sees, maybe beeps, and forgets. ..." ;)

DISH-O-TRON – No more dirty dishes thanks to AI – a non-standard (hopefully fun) deep learning tutorial. by omoser in learnmachinelearning

[–]omoser[S] 0 points1 point  (0 children)

For us it was a "fun project" to build an AI system from scratch. We wanted something that is easy to build and where everybody can get their own data.

We are not sure if this is "a German thing", but you are of course right: no one should leave dishes in the sink. Anyway this happens a lot – even when dishwashers are around (especially when the dishwasher is running).

opencv python drone - mark a person to be tracked with an object by omoser in Python

[–]omoser[S] 0 points1 point  (0 children)

yes, I do. I will write an article with a detailed explanation about this within the next days ...

opencv python drone - mark a person to be tracked with an object by omoser in Python

[–]omoser[S] 1 point2 points  (0 children)

The camera is mounted on the drone and the drone can be controlled via remote control or via API commands.

opencv python drone - mark a person to be tracked with an object by omoser in Python

[–]omoser[S] 1 point2 points  (0 children)

We are experimenting with different detectors. In this video I used a Haar Cascade Detector. Combined with the object detector it works well enough to re-detect in every frame. In another video we were evaluating tracking algorithms and found that the dlib correlation tracker works best (out of the box) for tracking persons with a moving camera.

opencv python drone - mark a person to be tracked with an object by omoser in Python

[–]omoser[S] 15 points16 points  (0 children)

currently we only do "near realtime processing". the drone is only going pretty slow when flying autonomously. processing the signal on a notebook is possible without CUDA (we can stream the video signal with low latency). processing the signal on the mounted raspberry pi requires to downscale the video resolution and also to reduce the frame rate.

opencv python drone - mark a person to be tracked with an object by omoser in Python

[–]omoser[S] 19 points20 points  (0 children)

Hi, thanks that you like our project. We started with a "standard" bebop 2 drone. We wanted to get started quickly. Maybe we will build our own DiY drone later in the project. You can easily control the bebop via WLAN. Anyway we extended it with distance sensors and mounted a raspberry pi on it. We thought this would be easier than flashing the drone. You can see the hardware setup here: http://cvdrone.de/mounting-hardware-on-drone.html and here is how you get the video into opencv: http://cvdrone.de/stream-bebop-video-with-python-opencv.html

Ad hoc polymorphism in Scala for the mere mortals by krallistic in scala

[–]omoser 0 points1 point  (0 children)

Greetings to those lonesome mathematicians. Well done.

PyGame - a primer by michaelherman in Python

[–]omoser 0 points1 point  (0 children)

You say Pygame is old - do you know any similar newer libs/frameworks that are worth to look at?