While OpenWRT is really good and often the best one for really constrained Linux HW, adding features like secure-boot and secure storage to the builds can be much more difficult than on Yocto. Especially when vendors like NXP provide that functionality in their Yocto BSPs. This can be important for commercial projects because a lot of customers are now asking for such features to secure end-devices.
For more training data, I wonder if you could make Lego parts in Sketchup or some 3D program, then render them in a 'scene' similar to your camera setup using a renderer like Maxwell or V-Ray or whatever. Then you could maybe be able to generate unlimited numbers of sample images to train on.
I'm doing a similar experiment now to train a model to parse out an image of a blood pressure monitor that's a 7-segment LCD display. To do it I separated out each segment of the display as masks with Gimp/Photoshop and then I can create my own images by just overlaying them on top of an image of a blank LCD display. That gets me basically unlimited training photos.
If you could render the 3D parts from various angles, colours, etc then something similar might be possible.
Also, you said you're doing modified VGG and into 20k classes. That works, but another thing to maybe try is use binary_crossentropy as the loss function and a sigmoid (instead of softmax) on the final activation layer, to be able to do multiclass classification.
Then your labels could be a vector of shape possibilities, colour possibilities, or whatever you could divide your 20k classes into.
Thanks for writing this up and adding all these detailed notes! Super awesome work on this, it's very cool.
The air puffs seem like the most unreliable parts at the moment?
Maybe if you could have some manual labour, one thing to do would be to mount a project above the setup to shine a graphic you generate onto it.
If you have bins labeled, you could project the label next to or on top of the part as it's moving on the conveyor. That way if you have human pickers, you're not constrained by the number of bins with each needing its own air-puff solenoid.
His way is a lot safer. It's never a "$1" chip, you also need a power supply for that chip, breadboard (or dev kit) which puts price into cheapo webcam range.
On top of that, breaking out to LCD pins or their drivers is not easy. They're often very fine-pitch pins, if they have pins at all, some can be QFNP packages making it even harder to get to the pins.
There's a big risk of just straight-up breaking the thermometer doing this, so if you attempt it, it's best to buy a backup.
Personally, rather than thinner/lighter I'd pay for it to be a bit bigger but capable of letting me open it up and replace RAM and the SSD as was possible up to the 2013 ones.
Check out DirtyPCBs too. Based in Shenzhen but offers next-day DHL. Usually a 4 to 6 day turn-around time for me; great prices and good quality too.
If you're in a bigger city, also check out some smaller shops near you. There are a few nearby in the suburbs of Chicago for me and sometimes I go to them for quick turn-around time and a price that's higher than DirtyPCBs/Seeed's, but much closer than Advanced Circuits'.
https://www.amazon.com/ALITOVE-WS2812B-Individually-Addressa... are perfectly cromulent LEDs and less expensive than Neopixels. Not as cheap as the RGB strips, but if you pick off more points for colour analysis, you could adjust them along the edges, if you really wanted to.
Nice work on the project!
I will add that if you can afford the time and effort to do so, it would be good to design your system in the beginning to work on multiple providers without many issues. That means trying as hard as you can to use as little provider-specific things as you can (RDS, DynamoDB, SQS, BigTable, etc). In most cases, pjlegato's 1) will still apply.
But you get a massive side-benefit (main benefit, I think) in cost. There are huge bidding wars between providers and if you're a startup and know how to play them off each other, you could even get away with not having to pay hosting costs for years. GC, AWS, Azure, Rackspace, Aliyun, etc, etc are all fighting for your business. If you've done the work to be provider-agnostic, you could switch between them with much less effort and reap the savings.
As the hiring party, how would you feel about a hypothetical deadline from the hiree on how long you have to evaluate them and present an offer? Would limiting your time for that evaluation be unreasonable too?
It's what fuses and diodes are used for. You know how when you write a program you never trust user-input? This should be the same thing, but physically. A well-designed USB port wouldn't fry the computer like it did.
No big deal, you can make it work. axTLS is a pretty lightweight TLS implementation that you could strap to your TCP framework and make it work fine. It's also BSD-licensed so you can put it in proprietary stuff.
You can program the ESP8266 yourself. For its TCP stack it uses lwip which you can also compile yourself. The 802.11 stack is more of a black box though, but not necessarily the TCP stack.
Hmm, look's like Vishay's VCNL3020 in there? Or the good ol' Sharp GP2Y0A21YK0F.
Left wondering why you need a base controller and the dual-PIR's though, especially if the PIR's are connected to DC voltage anyway and not battery-powered like some other commentor said.
I get you would wanna use wifi to talk up to your cloud and maybe that's what the base is for. But seems like a waste if you got something expensive like a Raspberry Pi or other ARM A-series in there.
There are much cheaper wifi chipsets out there now these days that could do the same thing without needing all that cost and space of an ARM Cortex A-core, plus wifi, Linux, etc. You could probably get away with putting a small wifi chipset in each of the dual-PIR housings and still come out ahead in cost. The ESP8266 sounds perfect for it actually.
Hmmm I was under the impression that cash was part of their operating expenses. They have retail stores, their campus, most of their employees and all their most expensive employees are all in the US too. But you're right, it's probably still enough to eat 3 months worth of royalty payments.
Also likely, this isn't going to be the only or last fuck-you Apple is going to be giving artists or content producers. The ones who agree to be screwed for the 3-month opening trial will be push-overs who can be leaned on again when the time comes.