4 ms·
I don't understand this example. Duck Hunt has only a few sprites, maybe four or six. It's really easy to just scan the whole image and match those sprites, ex
by jordigh 5y ago
I don't understand this example.
Duck Hunt has only a few sprites, maybe four or six. It's really easy to just scan the whole image and match those sprites, exactly pixel-by-pixel. This doesn't really need anything that could reasonably be called machine learning or computer vision. Synthetic 8-bit images can be handled with 8-bit algorithms. We don't need much art and we certainly don't need its state either.
Why pick such an example to advertise roboflow?
The article itself also has pretty much no details on how Roboflow works. Not a single code sample! Just links to Roboflow docs.
This is blogspam.
- awal2 5y agoWhen all you have is a hammer
- foobar33333 5y agoDon't really agree with this. It like saying "why did you use a phone to do that math when a simple calculator or even pen and paper would work" Sure it would work, but the phone also works and does way more. You might be able to use some trivial processing on duck hunt but it won't work on anything slightly more complex so why would you bother learning a method that only works on the most basic of games when you can develop something that can be applied everywhere.
- jimmies 5y agoI agree with you for the most part. This problem definitely doesn't require ML to achieve. However, if doing it with a classical approach (matching sprites) takes a person half a day, and doing it with the new fangled proprietary ml takes a person 20 minutes, I do see that doing it with the new fangled ml approach does have some merits. People want to get stuff done. I'm a barely passable programmer, so not exactly a shining benchmark, so maybe my view is distorted. I don't think I can do duck detection flawlessly with classical programming in half a day and it would be a total pain in the ass to do it that way, to be completely honest with you.
- awal2 5y agoYou can do sprite matching using new fangled ML tools and save the same amount of developer time.
- amelius 5y agoYeah, but in the classical approach your users don't need to have a GPU installed. This seems to be a case of "if you're holding a hammer, everything looks like a nail".
- dr_zoidberg 5y agoEdit: I'm pretty sure I missclicked to which comment I wanted to answer and now I can't find it... It said something along the ML approach being more developer-time efficient. You can definitely do it in 20 minutes if you know how (which is also applicable to the ML version): import cv2 import numpy as np red_duck = cv2.imread("red_duck.png", cv2.IMREAD_GRAYSCALE) # boilertplate etc, up to the point where you want to match your ducks on screen: res = cv2.matchTemplate(img_screen, red_duck, cv2.TM_CCOEFF_NORMED) positions = np.zeros_like(img_screen) positions[res > 0.7] = 1 # we found a duck # now do whatever you want with each position # on real life images you may need to do some additional post-processing, on 8-bit rendered images you probably don't need to
- namdnay 5y ago> This is blogspam Looking at the domain and the author, I'd say it was a straight-up advert
- akie 5y agoCompare current screen with previous screen, if something is moving upwards you shoot it. That's the only algorithm you need here.
- protomyth 5y agoBeing charitable, Duck Hunt is a well know game and this might be considered a tutorial for the software's use using a simple problem. It does look like an advert blog post, but simple examples let people get a feel for the code.
- martin_a 5y ago> simple examples let people get a feel for the code. There's no code in there. Just links to other articles and whatnot. I vote for blogspam, too.
- mbrodersen 5y agoAgree. Detecting things that move doesn’t require rocket surgery.