Keystone-Technologies / keystone-technologies.github.io

1 stars 0 forks source link

Using Optical Character Recognition for fitness equipment. #46

Open lizmayfield13 opened 8 years ago

lizmayfield13 commented 8 years ago

Problem

While working out on a machine you want to be able to take the calories, time, etc from teh machine and remember them for future needs or data analysis. When your workout is done it's hard to catch all of the items on the workout machine to put them into your phone correctly. It normally goes away before you can type them all in and you risk losing some of that data as the machines do not save them at gyms. Even with an app that you have to input data into, it's not always possible to get all you need. I find myself just taking a picture and then going back and typing out the info later from the photo, or just forgetting altogether.

Proposal

Create a way to be able to take a photo of the equipment's screen and have the app read the screen for you and turn the photo into data.

When your workout is done, you simply take a pic of the screen and then the app does all the work to grab the data and make it meaningful.

CalebAlbers commented 8 years ago

I know that LifeFitness has their Connect app that allows you to hook up your phone or take a picture of a QR code to import the information automatically. On the other hand, that seems silly. Having an app just for one brand of fitness equipment? Perhaps we could look more at a unified standards like how HL7 is used to interface healthcare systems.

What if there was one standard that both workout equipment companies could use, as well as apps like MyFitnessPal or DailyBurn so that you could automagically send workout stats in a way that can be understood by any platform. Does something like this exist? If it does, why isn't it being adopted? Are there ways we could improve on what is currently out there?

lizmayfield13 commented 8 years ago

I don't think anything like that exists yet. I've googled around and not seeing anything for photo recognition for workout machines. I did see one for a company that is trying to do photo recognition for a plate to break down what is on it and how many calories it is, but it's a long way off. As far as a program for all machines, that would be the ideal future solution, but I think that would start getting into the actual production of fitness equipment which we aren't quite on the scale for yet. :) I wasn't sure what HL7 was until I just looked it up, but that is a great idea to strive for.

Also, I'm not sure if you meant to type "automagically" but that is an amazing word and I may have to use it.

CalebAlbers commented 8 years ago

Rest assured, "automagically" was intended!

Trying to introduce and gain traction on a standard API certainly wouldn't be easy. It would probably involve putting forth effort to hook into what fitness equipment manufacturers already offer (say, for example, a device that plugs into the USB port of a treadmill and grabs the information automatically), that way gym owners could offer it as a service to their clients.

That being said, having software that grabs information via OCR would be more resilient, although harder to code. Perhaps we could make use of OpenGL to build this functionality? Maybe @s1037989 could weigh in. This could potentially be a part of a larger idea or platform that helps connect fitness tools together (a la #23).

s1037989 commented 8 years ago

I see two ways about how to go about this:

  1. Rally the entire fitness industry to make standard-protocol changes. It's a slow process, but extremely powerful in the end.
  2. Invent solutions that work with all existing fitness equipment. It's a potentially fast solution and one fraught with limitations.

Do you guys see any other alternative? Some grayer area? Some happy medium?

Personally, I tend to shy away from strategies of the no. 1 type. They seem too impractical, too much out of our control, too difficult for nobodies in the industry to make a difference. Moreover, the results of this type would take years to see the light. It's a noble effort and one that should be pursued, in addition to no. 2.

What could be done for no 2? With current IoT, unique specialty devices are being created all the time to address very specific problems. Vendors are selling "kits" of devices to allow you to sense everything you want. IoT sensors sense that which was not originally designed to be sensed... Can we just take a page from the IoT playbook?

Is it possible for a sensor of any type to sense all types of exercise? The FitBit -- albeit imperfectly -- is doing just that. It's an IoT sensor on your arm the detects your steps, mileage, time, HR, etc...

What other sensors? Can we put sensors on the equipment? And if so, can they be easily paired with any equipment user that bounces from one machine to the next every 5 minutes? There should be no setup involved, not for every machine that is.

So that's a question, to go the IoT route, can a phone be paired with any ol' sensor with no effort? One answer that I think would do this is iBeacon. iBeacon's sense proximity. With proper engineering and with an app installed, the app would detect the proximity of the iBeacon and therefore the machine being used. The app would then pick up the sensor data from that iBeacon and record it in a standard repo (like MyFitnessPal) accordingly.

Weight Bench: attach one to the bar and count reps. How would it know weight? Is counting at least mildly sufficient? Could you pair a beacon with an army of lightweight beacons that are just attached to every plate? Your phone would pick up the iBeacon army and know the counts and weights and times, etc...

Circuit machines. Place a light weight beacon on every plate, the number that are going up and down is the weight...

What about in this "kit" designing use-case specific sensors, perhaps a laser-tripping strip like for your garage door and it would be able to detect how many plates without adding a beacon to every plate.

It sounds costly to keep adding beacons, I know... But prices will continue to drop, especially if every gym in America bought Keystone Fitness KITs!

What about the treadmill? Is there any device that could be created that a gym could buy and attach to their 20yo fitness equipment? Would you just need to know how fast the roller at one end of the treadmill is spinning? And the gym provider would calibrate it online so that all app users would get the proper mileage when X revolutions of the roller is reported by the sensor? Incline could be easily handled by current ibeacon products. Is there any other information that a treadmill knows that would need to be sensed? Calories are actually just a product of time and HR, I'm pretty sure. Maybe they calculate incline and/or speed, but those have now been sensed...

So... it's clear that many different varieties of sensors would need to be developed and custom installed by gyms. But is that more, or less, practical than developing new fitness equipment standards across all fitness equipment manufacturers and not having access to these new features until the new (and expensive) equipment is purchased? You can read into my bias :) but I am truly interested in hearing anyone's thoughts on the standards and protocols methods as well.

Either way... what do you think? Do you think there's another way? Do you think either way has merit? Do you think neither way does? Do you think this is just a cool idea but one that will never fly? Do you think that this could be the rave-est of technologies that all the millennials are insisting be present at any gym that they join?

I really think you hit on an important topic, @lizmayfield13. This is the basis for the current IoT revolution, a projected trillion dollar industry by... 2018, is it?

CalebAlbers commented 8 years ago

Perhaps there is a combination of method 1 and method 2 that could be implemented. Have a standard and open API for anybody to use, but also have some devices (interfaces, really) for some of the most common types of fitness devices out there. From there, you can get a following, which makes it easier to get the common protocol implemented in new machines.

To expand on your ideas regarding weightlifting, there are actually a few ideas that some friends of mine have put together that measure most of what you mentioned. One of which is MuscleMetrics which works by attaching a device with sensors to the bar. On the other hand, something like RecoLift aims at using current wearables (namely an Android watch) to deliver the same information.

The later of those tends to get slightly more off-track of what the beginning idea was, however - how do we feasibly use current workout equipment to give us easily digestible statistics? I'm thinking it would be much cheaper to develop OCR capable of getting statistics from machines than it would be to deploy devices on each piece of workout equipment to give that data. Would it be worth offering both, potentially? Develop a standard that the OCR app hooks into, essentially making it modular?

s1037989 commented 8 years ago

Those are awesome examples you shared!

MuscleMetrics... That's exactly what I was talking about. But as you said, why not just a watch? It'd already be paired to you, it follows you to any gym so the gym need not participate (the clips likely would do the same), and it's way cheaper because you wouldn't have to attach a clip to every bar in America! I think I avoided the watch idea because Liz has commented in the meeting that FitBits are kind of inaccurate so I removed that idea from my mind. But, in the end, is a clip or FitBit any different from one another? No. But, indeed, one manufacturer could do a better job being sensitive or more tightly calibrated. A watch really could accomplish a lot in the way of most things fitness... Even if you needed to buy one for every arm and leg, that'd still be cheaper than every bar and weight in America.

So, for MuscleMetrics... Why not a watch? What are they able to achieve with a clip that they can't with a watch?

RecoLift... I'm just excited about their academic approach and I'd like to direct everyone's attention to Caleb's link for a textbook perfect example of how to progress or at least what to aim for as a final product in KIL. :)

The best cloud services out there are the ones that accept data input from all varieties of methods and sources. Yes, we should do X, Y, and Z. After all, what is the focus of the project? The data collection, or the data itself? Or the data presentation? I'm certain that it's not the data collection, i.e. the sensors. The sensors are just a means to an end. The big picture is in the data. People don't want the sensors, they want the data.