Wow, this is such a simple application of ML and it is incredibly valuable. On their website, they charge $100/month per device or $1000/year per device [0] and I bet they're making a killing.
Value pricing at it's finest.
If the customer saves $1000/month per device, they'll happily pay the $100/month. As it still saves them $900.
They don't care how complex/simple the ML implementation is.
It may not seem like it to those of us who know how to do it, but there actually is quite a barrier to entry. You or an organization needs to have the skills to utilize machine learning algorithms, test them thoroughly, package it in an easy-to-use application, then market it and compete against competitors. Just ask your every day Joe what you should do with a learning rate if your error rate suddenly spikes or how to monitor for overfitting. Then ask them how to form an LLC or how to create and audit a liability release waiver for clients.
I also think part of the "real skill" in this sort of business is making sure you have someone around when it breaks. If the pearl counting algo goes haywire, the pearl company wants to know that they'll have someone to contact to fix it.
The barrier to entry is that many niche markets that latch on to the original service over time are incredibly random and difficult to associate with a uniform market. You can build and price a cheaper app, but reaching the set of customers would be difficult.
I imagine it's all in the business development. I for one never would have thought to reach out to pearl traders to service their counting needs, and odds are they're not actively seeking out computer vision expertise.
Meanwhile industrial manufacturing have been using vision systems for years to count and inspect items. This solution is waaaaay cheaper than what other alternative packages are.
They could probably get away with charging a lot more if they build a lite assembly line style counter that takes in a video feed. (They might already have this, I didn’t look too much into it).
The difficulty of this depends on the acceptance criteria. I can imagine that the industrial requirements for FP/FN count make this quite an interesting and complicated problem.
I don't know about others, but because a lot of IT news comes to me from American medias, I _always_ consider it hype.
The reason is cultural: american can't seem to do without superlatives. They didn't eat good carrots yesterday, there were AMAZING carrots. They don't introduce me to their friends, but to their VERY BEST friends. They are always EXCITED to do X and SO something about Y.
The result is that none of those words have any value anymore. Louis C.K had a very good bit on that.
And then you add agenda, ads, and geek bias toward the new, and you got a recipe for over hype for pretty much everything (NoSQL all the things, Microservice all the things, PWA all the things, SPA all the things, OOP all the things, FP all the things, rust all the things, typescript all the things, etc).
So yes, my default assumption is that stuff on HN are over hyped (although interesting), until proven otherwise.
Perhaps it has to do with different interpretations of what is meant by best?
If I told you the best Thai place around where I live, I would tell you a place that is best not just because of its food, but also its price, parking, distance to travel. It is the best in that it is the most optimal given my own value judgment of those factors.
This is exactly right. Before I lived in Seattle, I was told (moving from the southwest), that there was no good Mexican food in Seattle.
Of course after I moved there I found quite a number of excellent Mexican food restaurants, and for a few years I wondered what strange definition they were using.
I eventually figured out that they meant that there was no good Mexican food within walking distance of downtown
As seen in this comment in another thread currently in the front page:
https://news.ycombinator.com/item?id=27263606
(Although the person that used 'best' in that story is from the UK).
But americans do get marketing though. I bet you know about a bunch of companies that were doing $thing in $country before, probably with better outcomes, but never got the recognition.
In Spain, for example, many industrial companies have a culture where marketing is nearly BS. That hurts them a lot IMO.
I think one of the reasons Americans overuse superlatives is because they're constantly bathed in expensive marketing.
Consequently, everyone is used to being told everything is good / great / the best. Which means anyone actually expressing that in a human capacity has to reach for "the very best" or similar.
The main reason I'm trying to cut down on my HN consumption a bit is the incessant pessimism. While a regular reality check is definitely useful, the "I'm so jaded by everything" vibe makes it hard to get excited about anything. I like being excited by things! It feels good and motivates me. Too much HN is a recipe for lethargy.
I think the most important reason to reduce consumption is due to everything being carefully curated.
Actual issues from a particular fruit company like the butterfly keyboard was cause of getting flagged, you weren't allowed to talk about it. Similar problems happen to this day.
Depends on your baseline excitement. If you're so hyped up that you think it can classify bad and good prospective employees from a single photo, you should tone it down because that's nonsense. If you think it's all fluff, then you are also wrong. There are many great ML applications for constrained scenarios.
But this pearl counting does not require modern ML at all. It can be done with decades old image processing algorithms like Canny edge detection, Hough transform, thresholding, Hu moments etc. How reliably is another question. This kind of stuff is/used to be called "Machine Vision" (related to computer vision, but in hard industry they like to say machine vision).
It’s a transformation which, by assuming the items are identical, turns quantity from a discrete value to a continuous one with some loss of precision. In many cases measurement times can be reduced my more than 99%.
ML needs data engineering like electrical devices need electrical infrastructure (i.e. generators, transmission lines, transformers, last mile lines).
It turns out companies have wildly different maturities and proficiencies with these precursors, in addition to simple company ages. Many from having under-invested in actual (not consulting BS) technology transformation and skilling for decades.
Consequently, ML is ridiculous to consider and doomed to failure for company A. While company B can toss a simple model at their well-architected data systems and get immediate ROI.
This is underappreciated, because VPs and consultants are not typically in the business of saying "Our systems are out of date and have poor hygiene, and we can't do this new thing because of that."
Machine Learning is not a single thing that can be useful or not.
It is more like the scientific method. It depends on the data available, and whether something in the arsenal can create something useful.
Most experiments yield absolutely nothing, and some achieve delightfully counter-intuitive useful results.
The criticism on HN -- perhaps correct(1) -- is not that it is hype but that it is not new. Is statistics great? of course, but its been around for decades, perhaps centuries, so it seems strange to proclaim how it will solve problems now.
(1) ML can be distinguished from statistics if you want to. I am not interested in this particular debate myself.
As usual, there are exaggerations on both sides. ML is genuinely useful for moderately complex problems like this one, and pretty rubbish for a bunch of other stuff it's been shoehorned on. There is no silver bullet, as usual.
Machine learning is extremely useful, used in hundreds of industries for probably a million different things. Most of these uses are not exciting.
The latest trendy forms of machine learning, which are all some form of deep learning neural network, are pushing beyond the boundaries of human capability, but for a fairly narrow set of usecases. Some people get excited cause they can exceed human capabilities for some object recognition type of task, and then end up thinking that SkyNet is around the corner and they rightfully get called out for it.
You should know though that it is rarely the experts that are guilty of overhyping. It's usually VCs, or product managers, or marketers, or regular software engineers that took an intro class on Coursera where they were told exactly how to solve a problem but haven't yet been exposed to how hard it is to generalize.
With deep neural networks in particular, all of the new innovations have come from novel neural connection topologies. Most of the successful new topologies are the result of attempts to model biological function of some sorts, but that is just the tip of the iceberg. With neuron counts technically unbounded, and the topological search space essentially being the factorial of the neuron count, we will never fully explore the capabilities of neural networks, and only an infinitessimally tiny fraction of those would ever be useful in any circumstance. So deep learning is still extremely exciting because the opportunities are so boundless, yet still extremely disappointing because of how hard it is to find anything useful.
Machine learning is a tool for solving certain tasks.
Usefulness lies in finding new places to use those techniques. The hype is about predictions that machine learning (or AI in hype-speak) will be able to do things that it is currently not able to.
Right now machine learning seems like a useful tool for certain tasks but not as revolutionary as e.g. the invention of the car.
A reasonable summary would probably be "useful in mostly though not always modest ways in many areas, but _severely_ overhyped". It's not nothing, but it's also probably not going to lead to self-driving cars or even fully-accurate voice recognition anytime soon, say.
The much better cameras help a lot, I guess. I remember scanning QR codes with a 2014 and a 2018 (yeah, already old) flagship phone and being amazed at the distance the latter was able to do it from. At least 3x the distance from the QR code vs the old model, and the autofocus was near instant, too.
I think what the CountThings app is doing is great. There are too many industries where tasks are being performed inefficiently due to a lack of applying readily available technology. They had the foresight to develop a product for a very common problem and make a business out of it.
I’m a bit surprised that this is making the rounds of HN though. OpenCV and other computer vision libraries have trivialized such counting applications for decades now. ML isn’t really necessary.
I don’t want to diminish OP’s work since the product seems to be well-developed and respond to a real need. I guess the challenge must have been making the app robust enough to support different workloads, lighting conditions, etc. I suppose the novelty factor is seeing to what extent the technology that we as developers and engineers work on every day is often disconnected from practical application.
For a non-tech company, implementing it may be easy but the hard part is getting someone around when it stops working. This saves 3 months for the pearl company, they're not paying someone full time for an implementation of computer vision counting.
SaaS allows this cost to be distributed across many clients, making it accessible for businesses that can't afford to keep around a full infrastructure and the engineers required to keep it running.
I still wouldn't consider this trivial. It takes a good bit of playing around with parameters like radius range and filters to consistently get all and only real circles. Even under ideal conditions, it's probably more than an hour of trial and error, and it's very easy for a layman to not fully understand why they're not getting the result they wanted. I'm no expert on jewelry but I imagine even a 0.1% error rate would be quite expensive, and that level of performance would be a real challenge for even someone very experienced with opencv.
Agree. Especially if you can control the image quality, background, etc, this can be done with less fancy methods. Heck, they probably don’t even need an image based solution. They could have also used mostly mechanical machines like how coin counters/sorters work, or used a bigger version of their old counting plate method but with detectors in each slot.
Background helps a lot, but if your things are relatively the same color, it's pretty easy to just filter out anything not within that color range and look for circles, even with an inconsistent background (though, admittedly it's harder).
That's effectively what I did with the ball tracking. I had a red ball and filtered out everything that wasn't roughly that shade. Certainly someone could have messed with me by wandering into frame with a red shirt :D
Well no that wouldn't be fully automatic. A counting machine that just funnels the pearls through a switch is simple, automatic, non-patent encumbered, and cheap.
amassing a library of scripts for various shapes is time-consuming, true.
however few of those templates do anything that openCV can't be massaged to do well, too.
Given that people are likely going to use only a few of the templates that they find useful for their own work, I find it hard to be able to find the value in paying 100/mo for a massive library filled with techniques that aren't useful for my particular work plus a UI with some polish.
Not only that , but counting stuff in the work place is often done as part of a process; it's dead easy to pipe openCV output into any system that might need to be aware of the count; it's not quite as easy with 'Counting Things' without a human in the loop.
In a an image with sufficient contrast between the foreground and the background, thresholding and using the fast radial symmetry transform[1] should do the trick. I have some really old code that I wrote a few years back that does something similar. I was able to use the same algorithm for counting objects in images captured from a Neubauer chamber [2] and saved countless man hours at my university.
Disclaimer: the project is really old, and from a time when I barely knew how to code. Lots of bad coding practices et al.
I just wanted to say that if you can count particles of things in microscope images, you can probably make great inroads at companies that do drug testing, like Covance or PPD in America. They're paying chemists to circle blobs on paper and count them. I bet they'd even appreciate someone to count their circles!
The company I work at did a project like this where the goal was counting of different types of bacterial colony forming units (CFUs) that were cultured in Petri dishes [0]. We presented our results at ESANN [1].
We are a custom ML & computer vision software company and about 7 years ago we got several requests in a short time period for counting items in images. We thought it was a great idea for a product and kind of started our journey as an internal startup.
Depends on the industry as well. Cell counting is a huge part of life science research and it's a well established business in lab-based pipelines (integral part of commercial solutions). However if you try to enter the realm of clinical field such as histology and pathology assistive technology it suddenly becomes tricky. Same with innovative diagnostic tools. You need clinical trials for those.
Yes, we should be able to count them if they are visible in the picture. Please email our support with a couple of sample images.
We are also doing classification for some of our templates/clients.
How accurate is the counting? For examples like the case study, I presume your customers will want very close to 100% accuracy, but many other use cases will only need rough numbers. How do you calibrate / verify your app?
You have to take into account the error rate of human counting when making the comparison.
I can also imagine the new process have other benefits. Like before, if a customer complained of getting fewer than ordered pearls, they would probably have to acknowledge that as a counting error on their side but not knowing. Now they have a picture/data to refer back to.
At least that's how it is where I work; the automation leads to reduced errors, and when they happen the amount of data makes it easier to track where it went wrong.
For most of our clients, we get to 100% accuracy. For some more difficult scenarios, a lower accuracy is ok for estimations (e.g. estimating the crop in agriculture).
It's also super easy to correct mistakes or to add items that are not visible in the image.
You don't mean 100% accuracy, that means mistakes are impossible. Perhaps your error rate is very rare, but it's a bit concerning you don't attempt to quantify it.
I disagree. If we consider a single customer with a particular application, we probably imagine an iterative process like this: the customer supplies some sample images, the system gets a few wrong, they add special cases, fine-tune the hyperparameters, whatever, and after all this they literally get 100% on the customer's holdout data. If that happens for several customers then the GP statement is justified (no other number is possible for these customers).
Possibly you're thinking of a single error rate across all customers? For other customers, as stated, it's not 100%. But taking an average across multiple customers is not meaningful when some are counting pearls and some are counting crops.
Suppose it depends on which part of the chain he attributes error, plausible lighting or poor positioning - anything that is an employee duty - does throw it off and then they scrub it.
But yeah. Still.
The article shows a photo with the pearls highlighted with circles. I'm generally skeptical of AI, but this system produces a certificate that a human can verify much faster than doing the work themselves. IMO, that's the right way to do it. You can trust the system 99% of the time, and check a random 1% by eye every day. Or, you can keep a human fully in the loop and still save time (though, if the error rate is too low, humans will get bored)
We iterated through different ideas and numbers. It's not an easy task, I can tell you that.
We also try to have a good variety of choices: enterprise license, yearly, monthly or even packages of 24h.
And we also have some free demo counting template, you don't need a license while using them. Including one to help people involved in the vaccination process: https://countthingsqanda.com/?p=1587
It seems to me that it would be useful for the app to count items on the left and right of a ruler (or some line) so correct number of items can be separated out from a pool.
What approach does it use? Does it use image segmentation (e.g. U-net) followed by classic image analysis? Or does it get the counts directly from the network?
If you have the skills, you should definitely try it.
We have a full team working on this for about 7 years. Constant improvements to our algorithms, new challenges, new technologies. A ton of other functionalities besides counting (e.g. forms, reports, integration). A lot of work on the backend, UX. Also, a lot of sales and marketing involved.
It is impressive you do it so fast. In case you have not thinked about it, some people will be interested by it in life sciences. Best I could do with the picture available on your website https://imgur.com/a/FKEkiFz compared to https://countthingsqanda.com/wp-content/uploads/2021/01/5-17... I got some wrong counts but the picture is really tiny to work with.
Technically many could do what dropbox did to create a similiar product when they were part of yc class. Many HN have a personal dropbox setup they made themselves.
The key that allowed them to be a billion dollar business was marketing, hype, strategy all things that could apply to any product technical or not.
If you want to make something similiar you could probably get to 80% really quickly. Putting together a product with a reputation is a different event with timing luck and risk. Building that 80% is low risk but high personal reward.
Has anyone built something to read and identify palms or lines in the hands?
People often don't know what's really needed by businesses until they see the use case. I remember 2 decades ago a family friend making fun of his son's project where they identified bad apples on a processing line in a packing facility. Pretty close to this project. He saw it and still didn't get it.
To counter other’s points on pricing - in the end it’s a question of utility vs price. 1k$ per year to cut time to count by 80% may be a great deal to many.
the article said it saved about three months of labour. if best alternative is someone counting in old labour intensive way with annual salary of around $50k then that's an O($10k) profit.
In this case, it would be reasonable that the person who uses the app would be responsible. The app takes the image and labels every pearl with a number. So the person just needs to check there were no missing or mislabeled pearls, which is much easier than counting.
In the example I would expect the app to get it right every time. In a more fuzzy setting it would still be faster (thousands of times) and [generally] more accurate but a person can account for how important accuracy is.
I guess the numbering added to the image is brilliant. A human can gaze over that and see something wrong right away.
Of course, but $100 per year to do the same is an even better deal.
I can only assume that their support for custom requests is absolutely incredible, because it should be pretty trivial for any potential competitor to put up a similar concept for a tenth of the price and still be making a profit.
But that's always the case with enterprise software I suppose. The improvement from 98% to 100% "quality" (whatever that means) is well worth a drastic price hike for most businesses.
This was my first thought: I could do this in half a day.
Then you look at their site and all the domains of application. My guess is they probably use a variety of models to get 100%: edge detection, CNN-style object detection, all sorts. And then aggregate/choose between the resulting predictions. Then they will probably have some layers of geometrical estimators.
The challenge here is 100% and on a wide variety of images. They'll need to maintain and collect data across a lot of domains, and find ways of coping with non-ideal ("in the field") input.
Google Lens isn't going to include a menu item for every single computer vision task with a simple specialized solution.
OpenCV provides circle detection out of the box: https://docs.opencv.org/3.4/d4/d70/tutorial_hough_circle.htm... The only part that's somewhat difficult is tuning the parameters correctly. I've found setting all thresholds very low (generating lots of false positives) and then culling overlap to work very well when I had to count individual atoms in electron microscopy images a few years ago.
This is great! A really simple technical idea paired with the right business model = success.
I've often wondered if there are other instances of this pattern - a phone app which solves some niche problem and is successful commercially being sold for a high price. Can anybody give other examples?
A colleague of mine recently published a paper on ML-based cell counting for human cancer cells.
It's open access and available here
https://www.mdpi.com/2076-3417/11/11/4912
It's not that it's impressive as a novel approach. It's impressive because they found a market with a need and delivered a product to meet that need. It's simple enough that it seems like an obvious need and yet complex enough that there's not that much competition.
ImageJ is suited to the needs of scientists and engineers. Perhaps one could craft a workflow using ImageJ but it would be much less integrated than the mobile app from the article.
> This seems rather a simple task, however, the app is expensive
It's easy to do it in an unreliable way. 1000$ a year doesn't seem very expensive if your business depends on it and you're saving a lot of time like in the OP.
> and limited with the templates for things it can count
It seems very specialized towards certain businesses, if you have a specific use case that isn't covered I'm guessing you can probably contact them and see if they can add it?
> Before they started using CountThings from Photos, counting pearls took almost 100 hours a year. After installing this app, the time needed for counting pearls has been reduced by 80%. It takes only 20 hours now.
Depending on what the salary is it barely breaks even, it's saving 2 working weeks a year. Depending how spread out the process is it might not even be time that can be put into something else, if it only save 5 minutes a day for instance, that's 5 minutes that's probably going towards lunch.
It's fairly disappointing for an off the shelf product that does exactly what you want, if you had to pay for any customization or RnD it's probably not worth it.
Besides the cost cutting, keep in mind that the employees that don't have to manually count are not getting fired. They are providing more and better client services.
I think this is an important point. It doesn't have to be "machines took my job". When I helped automate/streamline a government welfare program, it didn't mean case workers suddenly were without a job. It meant they could spend less time clicking on a computer, and more time doing the important human to human stuff and provide better care.
It doesn't have to, but eventually it will. At the first inevitable downturn, jobs that get cut in a newly-automated field will never come back.
People are creative, we will find new things to do (particularly as more and more people will get taught automation and coding in school, making them tech-adaptable for life, as opposed to the "boomer" generations who were often fundamentally tech-averse), but let's not kid ourselves that technology isn't burning away a bunch of jobs.
It's not really clear where that 3 months figure comes from. Do they have 6 people all saving 2 weeks? And if so do the share the device or is the cost scaling with employees? There's also another part:
> When taking inventory, they had 2 members of the staff counting pearls and it took 2 full days.
Some of those counting templates are very niche, which makes it intriguing to think of who is using them.
For instance, there is a 'Movie Tickets' counter, but it's not counting paper tickets. Instead, the example photo looks like a screenshot of a 'pick your seats' page from a theatre's booking process. So who is doing the counting here? It can't be the theatre, as they would already know the numbers. So is the customer using this with an automated process to find out how many tickets another company is selling?
Seems like a low price if it saves labor costs like in the OP. But they can only ask that price because it's such an obscure niche and other people probably didn't even consider that something like that is needed. Good chance they'll soon have competition.
edit: The app has 500k+ downloads and is rated at 3.5/5. People seem to complain about the fact that the templates are so limited. Real opportunity right there I'd guess.
It really depends how much time they are losing while manually counting. For most, the price is not high, the employees doing the counting can now focus on other more valuable tasks.
We also have pack of 24hour licenses that they can activate when it's inventory time, for example.
Do you know the true cost of a developer? When they are already hired they may seem free, but in practice that $100 dollars is probably less than hour worth of time.
As someone who was worked in Japan for 13 years, I can vouch that this is a very strong testimonial. A Japanese company will not adopt new technology like this unless it highly accurate.
so how would you go about doing this using ml?
is it a classification problem? Count the number of instances. Or do we do deep learning and say here is a picture the result is 10?
There exists an entire industry for counting and sorting things(e.g. optical bean sorting).
There also are rather cheap optical tachometers(measuring rotations by applying reflective tape on rotating surface). I would guess such devices could also be tailored for counting falling objects.
And also there are multiple old- school tricks for similar tasks. E.g. if you need to count nails, weight them all, then weight a single nail, then divide the weights to get count.
This scales better. Also, going by the pictures in the article, the pearls are of varying sizes, so making a machine to count them would be a tad more tricky.
When you're counting things of uniform size and density (like screws or coins, one type at a time), the usual trick is to weigh them all, then weigh a single one, then divide the two numbers.
The new camera approach obviously is a lot more accurate, powerful and simple now once you have it.
But totally agree looking at their previous solution it feels extremely primitive. There surely must have been a simple middle ground without the app, using a mechanical funnel, a wheel or one-dimensional photosensor to count these. Even if they are different sizes and not always exactly round, the shape and size is still rather uniform.
The picture in the bottom of the article shows that varying sizes of pearls need to be counted at the same time, making using weight very unreliable.
Even if only similar size pearls are allowed, small variations multiplied by a large amount of pearls can cause issues, such as distinguishing 100 pearls of 99 grams each from 99 pearls of 100 grams each.
They could use a simple sorting machine that sorts pearls based on size (like how most coin sorting machines work - run all coins over a small hole, the smallest coins fall through, then run have a slightly larger hole after that, and so on).
Then they could have a simple optical/laser sensor below each hole to count how many smallest, smaller, small, medium, large, larger, and largest pearls fall through each hole.
The benefit would then be that if customers wanted pearls of a certain size, they are already sorted.
Maybe there is an enterprising user here that reads this, can easily create it, and reaches out to pearl companies.
Pearl vary in size a lot; they can easily double in diameter, ie. possibly x 8 in weight. Weighting could be valuable, in addition to counting and measuring how round and shiny they are — but it would be the 4th or 5th more important aspect, at most.
Source: my distant family has a pearl farm and I implemented pricing algos.
Okay, I'm not sure why people use software to do the work that hardware has solved decades ago. Like, I know that pearls come in various shapes, sizes, and weights but they're discrete objects. I would have assumed a simple machine similar to an egg counter would've already been on patent for such uses just for pearls. I mean the ML use case is still neat but I always feel that people always grab computers for the wrong reasons for tasks that aren't that novel. Just my two cents.
Nobody cares that this is just an ad? It's got too many paragraphs of bullshit filler for something that's basically "they're taking pictures and counting the pearls using machine learning".
Of course we are trying to promote our business, writing some case studies is one way to do it.
But I shared this here not because I thought we will get clients from HN (probably we will be getting some competition instead) but because I thought it's an interesting application of technology that people would enjoy reading about.
Maybe we don't see things the same way but even learning about the manual process of counting pearls was interesting for me.
Seems like a pretty poor ad in that case -- they are advertising a profitable business sub-niche to a huge audience of engineers, many of whom have the knowledge, execution, and money to build a clone service and drive down margins.
I'm planning on sending this link over to our warehouse guys. We sell containers of many small things.
And... I could probably build something like this. Not as nice. And not in four hours. It'd take more than four hours of meetings to get it started. The app's price is well worth it, if we can work it into our processes.
Call me naive, but wouldn't this be a lot easier - and more low-tech, thus cheaper, to sort by size with a sieve, then weight individual size-bags, and divide by the size of one pearl?
So you need to make / order sieves, then get the counting person to sort, bag, weigh the items, calculate results. This will have a lot of mistakes too. And you end up with a process working only with that type of pearls. (Edit: forgot the solution debugging time)
The alternative here is to point the phone at a table.
The labour costs are relatively high and dominate most business costs. $100/mth is a rounding error in comparison. If you saved 4h of median-us-wage of work a month, it's free.
I am not familiar with pearls, but a mechanical sorting mechanism could damage them I think. Also, how is a mechanical sorting mechanism or an electronic counter simpler, cheaper or faster than a photo?
I thought pearls are quite strong, but I learned something today, I just learned that Pearl's Mohs hardness is 2.5 (between gypsum and calcite), meaning very soft in comparison to Diamonds (10).
Humans on the other hand are really good at looking at patterns.
I imagine a tray with some recesses that would receive the pearls after a bit of shaking or a funnel that would put all the pearls in a line and then somehow group them/count them should not be that hard to do.
And yes outsourcing this to someone else and employing machine learning apparently also works.
I think that was the old solution: they have a large tray with 100 slots and a bar which allows for multiples of 10 to be counted. The digits are done manually. The problem was that pearls could fall out of the tray and, as they are round, roll around on the floor taking up to 30m to find. It is a mechanism for counting out a specified number rather than determining how many are in a bag, which may be more limited. Another problem was that if workers forgot the partial sum, they would need to start again.
You need to know that the underlying technology is really basic and old. 15 years ago, I used a free library (blob counter) to build a VB.net application that counted and "sexed" fruit flies. The app as presented in this website is really similar. No rocket science going on here.
terrible example. You can just make a square from pearls and multiply. If you need to do a lot of it make a box with numbers on the side, tilt it then count and add the remaining row. The weight is probably not irregular enough to justify the tool. There are better examples on the website.
Pricing is just silly. I'm sure it is worth that much to some 0.001% of the potential market.
Counting elements from pictures is how old again now? 20 years? 30 years?
Sure, it's more reliable and you can run it on a phone. But maybe this could have been solved 20 years ago. (Yes, it might not have been as convenient, but for something that apparently is so important, it could have been applied earlier)
Japan, a country which in the 80s was synonymous with technological innovation seems to have slowed down dramatically in adopting new technologies
Edit: of course I'm not saying it's exclusive to Japan. My comment was more in the way of "the first time I saw an actual application of CV counting things in a practical setting was 20 years ago"
People outside IT field generally don't even know how counting thing from picture is very trivial computer vision task. This is common everywhere in the world.
The old method used to be template matching, and it probably still works well enough for problems like this. There are almost certainly now better approaches possible using Machine Learning.
In my experience, the main challenges with problems like this are dealing with varying lighting, scales, orientation and perspective. These can quickly become of diminishing returns – especially if the solution is provided as an app that provides near-immediate feedback.
My bet is they just invested a few months making a varied dataset, a few grand on mturk using labelme, some image augmentation, a few engineering tricks for a nice UX,some strategies for getting the model to converge on tricky test images, and got it to hit 100% accuracy fairly quickly.
[0] https://countthings.com/en/