4 ms·
I'm trying to learn something about deep learning and do an end-to-end project with computer vision. I have a raspberry pi and picamera and wanted to detect th
by Ftuuky 6y ago
I'm trying to learn something about deep learning and do an end-to-end project with computer vision.
I have a raspberry pi and picamera and wanted to detect the pigeons in my balcony and then play a sound or something to shoo them away.
But it's going nowhere, I'm too dumb to even start properly :(
- Nvidia and CUDA stuff is so hard, I can't set it up properly no matter what
- Tried YOLO but without CUDA and OpenCV I can't run it in video. Don't know how to fix it
- Tried to copy other projects but can't find anything that I can parse with my amateur brain. I get lost and doesn't matter how many youtube videos I watch or stackoverflow pages I check, it's errors after errors after errors.
- Tried in windows but that's not viable. Installing Ubuntu nearly broke my pc and somehow a virtualbox messes up the whole thing. Currently looking at this.
So yeah big mess, I'm way over my head and it's not fun anymore. But I still want to shoo away the pigeons and love the idea of learning more about DL/CV but guess I need to learn about the basics first, practice in other things before doing this.
- brailsafe 6y agoLove the idea, I've wanted to do something similar. I don't have anything very helpful, but I'd guess that the reason virtualbox isn't working is because it doesn't have direct access to the graphics hardware. Just a guess though, I ran into a similar problem trying to run Kali linux in VirtualBox but didn't have a ton of success because the system didn't have direct access to the Wifi module. Alternatively, you could simply shoot the pigeons with a pellet gun and it would be just as fun. What's your background?
- Ftuuky 6y agoThe damned pigeons don't come to the balcony when I'm there, and make a mess everywhere. I don't want to hurt them just that they hang somewhere else! My background is anthropology but I've always worked as a data analyst (read: excel guy) but got "promoted" as project manager for a team that has some data scientist doing automation projects and got interested in CV and NLP. I know python but for data analytics (pandas, seaborn, scikit, and so on) but never did anything for myself in DL and just wanted to learn more while building something (I miss doing stuff besides slideware tasks). Regarding virtualbox, I will probably give up and look again into dual boot Linux. Will ask a friend that is an experienced coder to hold my hand while I do that. Thanks for your reply!
- brailsafe 6y agoKeep with it if you can. Again, I told have any hard experience in that area, but I'm a software developer by trade, and a geography person (kind of) by academics. Physical Anthro and Geo have some crossover, and both stand to be going in the direction of applying some DL techniques at present and going forward. Particularly in the areas of remote sensing if you want a rabbit hole to dive into :) Unix can be a nightmare, and you just have to suffer it for a while to get used to the patterns. Otherwise, My recommendation is to just work slowly through the bits and pieces. The amount of projects that people seem to have just slapped together in a weekend is daunting, but far from reality for everyone. The expectation of fast progress is the enemy of actual progress.
- vthommeret 6y agoI’m also picking up deep learning with a focus on computer vision. Do the first lesson of Fastai’s Practical Deep Learning for Coders — https://course.fast.ai/ https://course.fast.ai/ It explains that trying to use your own GPU takes a lot of energy that you should focus elsewhere when you’re getting started. Paperspace Gradient (referenced in the link) offers free Jupyter Notebooks with GPU’s you can use for 6 hours at a time (and re-start when they expire). You can get a classifier that distinguishes dog breeds up and running in less than a day and probably a few hours if you just watch the video and follow along with the notebook.
- Ftuuky 6y agoI've seen that recommended here in HN before, maybe I really need those lessons before venturing any further. Thanks for the recommendation!
- michaelt 6y ago> I'm too dumb to even start properly :( It's not you. I have decades of Linux development experience, I've developed machine vision systems before, and I have a doctorate. And twice I've given up in frustration while trying to just get the CUDA drivers installed. I honestly don't know why nvidia hasn't made it simpler.
- serjserj 6y agoI would drop CUDA and Nvidia mess, you don't need GPU neither for training or running inference, CPU should suffice. I would start with running a pre trained network that's based on COCO set, on top of every frame that you get from camera. So basically you're doing object detection on images. After the success of this POC, you can gather about 1000 images of pigeons together with transfer learning, again on the same pre trained COCO model. https://medium.com/object-detection-using-tensorflow-and-coco-pre/object-detection-using-tensorflow-and-coco-pre-trained-models-5d8386019a8 https://medium.com/object-detection-using-tensorflow-and-coc...
- Ftuuky 6y agoThanks for the heads-up! That's probably a lot more viable for my situation. I scrapped around 3000 images of pigeons from the internet hopefully it's enough for a decent POC.
- hikarudo 6y agoYOLO will be slow on a raspberry pi. Try instead SSD MobileNetv2 with quantization-aware training and run inference with Tensorflow Lite; you should get at least a few frames per second. I recommend starting with a pre-trained model (COCO, for instance) and finetuning for your images. However, even with finetuning you probably need > 10k images to get good results.
- Ftuuky 6y agoThanks for the heads-up, will look into that!
- jitendrac 6y agoOnce I read an article related to similar problem, The author was keeping track of specific birds and small animals at his back garden. As I remember, they used openCV and Tensorflow for project and trained system with images(may be 1000 images) set of birds. pretty much successfully identified birds most of the time.
- biswaroop 6y agoTo setup CUDA, I highly recommend nvidia-docker. It makes it super easy, especially if you're familiar with docker. All you need is the official graphics drivers from the NVIDIA homepage.
- mendelbot 6y agoI found this book to be the most approachable Deep Learning book that actually helped me build something. https://www.manning.com/books/deep-learning-with-python https://www.manning.com/books/deep-learning-with-python
- otter-in-a-suit 6y agoIf I may: https://github.com/otter-in-a-suit/scarecrow https://github.com/otter-in-a-suit/scarecrow