Team’s Status Report For 10/10

Progress this week

Most of our work this week went into the design report. We brought the three workflows into one description and worked through the use cases, design tradeoffs, requirements, and tests we will need to show that the system works. We also checked that the report separates laptop results from plans for the Jetson. The three workflows still run separately on laptops. We have not run them together on the Jetson or completed a live camera-to-tablet test.

Alan compared simple image methods with the treadmill pose model and examined where its update delay comes from. Harry tested image subtraction for rack belongings. It gave more definite answers on the scored observations but also mistook a person for belongings four times. Jerry continued testing the bench workflow, documented its errors, and measured its perception check on a laptop CPU. The bench check still has the most work to do on accuracy.

Risks and responses

Running all three workflows on one Jetson is still our largest technical risk. The laptop measurements help us plan, but they do not tell us whether the combined workload will meet our update targets. We will run each check on the board, then measure them together before deciding whether we need faster models or changes to how often stations are checked.

The bench workflow still struggles to tell which person belongs to which bench and whether plates are on the working bar. Jerry is testing those failures on separate footage. The rack workflow needs longer recordings and more kinds of belongings before we can test a full five-minute wait. We also need more footage set aside for final evaluation across all three checks.

Recording permission at the apartment gym is resolved. Confirmation for the UC gym is still pending.

Design and schedule

We did not make a major change to the system design this week. We made the requirements more specific, including when a reading is unknown, what starts or stops an unattended timer, and how we will score delays and incorrect alerts. Those details give us clearer tests, but they have not been verified on the full system yet.

The design report took priority over hardware work and longer recordings this week. First Jetson checks are now planned for the week of October 19, followed by individual live workflows and then the combined tablet path.

Part A Global factors

Written by Harry

This system is not just limited to CMU gyms. People in other gyms could also benefit from knowing whether equipment is free before walking to it. Their gyms may have different layouts, lighting, machines, and internet access, though. BenchGuard processes video locally and lets someone adjust the areas assigned to each machine, which could help it work in different settings. We would still need to check camera placement and test accuracy at each new site. Our current clips do not show how well it would work everywhere.

The display should also be easy to understand without knowing how the system works. If a camera cannot see a machine clearly, showing unknown is more useful than guessing that it is free.

Part B Cultural factors

Written by Jerry

People have different expectations about resting between sets, sharing equipment, and leaving belongings nearby. Those expectations can vary between gyms as well as between communities. Our five-minute wait is a setting to test, not a rule that says someone has given up a rack or bench. A staff member would check a flagged station and decide what to do under that gym’s rules.

The message should describe what the system saw without blaming a member. We also need to test people working out with partners, taking longer rests, and walking past nearby machines. A gym would need to review the waiting time, wording, and camera notices before using the system.

Part C Environmental factors

Written by Alan

Cameras and computers use electricity and materials, so adding more equipment has a cost beyond its purchase price. We are reusing course inventory where we can and plan to test whether one clear camera view can cover more than one machine of the same type. We cannot assume that wider coverage saves resources if it makes the readings unreliable.

We will measure the Jetson’s power use with the workflows running before claiming any energy savings from a different model or setup. We also want mounts and other prototype parts that can be moved and reused as the camera positions change.

Harry’s Status Report For 10/10

Accomplished

Most of my time this week went into the design report. I worked on the squat-rack sections, the design tradeoffs and helped formalize the use case / design requirements, as well as the testing and verification. I also helped make sure the design presentation feedback was fully incorporated into the report.

I also tested whether image subtraction could replace the belongings detector. On 29 scored observations, it got 25 right but made four false calls after someone collected their items. The person was still in the belongings area, and image subtraction detected that visual change without knowing it was a person rather than an item. The detector got 19 right, made no wrong calls, and reported ten as unknown. Image subtraction gave more definite answers, but these false calls mean I would not replace the detector based on this test. I added the results to the report. The subtraction threshold was chosen using the same clips, so it still needs testing on separate footage.

Progress

The rack workflow still runs on recorded video on my laptop. I did not run it on the Jetson or collect the longer rack scenarios this week because the report took priority. Those are the main gaps now. My planned first rack run on the Jetson is October 21.

Deliverables

  • Run the rack workflow on the Jetson and record check time, memory use, and failures.
  • Record longer rack cases with different belongings, passersby, and a full unattended period, once recording permission is settled.
  • Keep some footage separate from development and ask a teammate to review a sample of the labels.
  • Work with Jerry and Alan on the shared station output and the first combined test.

Jerry’s Status Report For 10/10

Accomplishments this week

Much of my week went into combining and revising the design report. I worked through the architecture, state and timing rules, diagrams, schedule, and testing plan so that the report describes one consistent system. I also checked claims against the evidence we actually have, especially where laptop measurements or short clips could sound like completed Jetson or gym results.

I continued diagnosing the bench workflow on recorded and public footage. Its current 172 observation development bank has 96 correct full-state results, 47 wrong, and 29 unknown. The errors include trouble associating a person with the right bench and deciding whether plates are attached to the working bar. I tried several bounded changes and kept the failures documented instead of treating a better result on one view as a general fix.

For the report, I checked whether image subtraction could provide a simpler loaded-bar test. The existing bank lacks the sleeve regions and bare-bar references needed for a matched comparison. A separate, previously calibrated session gave promising load-only results, but its thresholds were chosen on that same session. I also timed the actual bench perception models on my laptop CPU: the median check took 325 milliseconds across 48 timed calls. That does not include the full camera-to-tablet path or tell us how fast the Jetson will run.

Schedule status

The report and bench diagnostics progressed, but bench accuracy is still below our target. We have not shown a reliable full five-minute bench event or run the workflow on the Jetson. I need to focus on the failures that affect the complete station state, then check changes on separate footage.

Deliverables for next week

  • Review the remaining person-to-bench and bar-attachment errors against the recorded frames.
  • Test a focused change on separate footage and keep the current baseline for comparison.
  • Collect or prepare approved bare, loaded, and return scenarios, including a full unattended period.
  • Agree on the shared output format and help connect the bench workflow to the tablet service.
  • Run the bench workflow on the Jetson when the board setup is ready.

Posted by Harry since Jerry doesn’t have his laptop right now

Alan’s Status Report for 10/10

Accomplishments this week

Most of my time this week went into the design report. Feedback asked us to justify our design choices with real comparisons, so I ran a few quick experiments on my laptop using our existing treadmill clips. No training was involved.

– Image subtraction vs. our pose model: Feedback asked whether simple image subtraction could replace deep learning, so I tested several classical methods on our two treadmill clips. The best one compared each frame with a photo of the empty belt and got 87.8% of checks right. However, it made 14 errors on settled states and flagged 11 of 20 people walking past as using a treadmill. The pose model got 98.6% right with zero errors, because it checks whether someone’s feet are actually on the belt instead of reacting to any change in the image.
– Delay: Our worst case of 3.5 s of delay breaks down into about 1 s where even the label was ambiguous (mid-step), 0.5 s of model lag, and 2 s of voting. Measured from when a person could actually tell, every change showed up within 2.5 s, well under our 5 s target.
– Voting rules and model size: Other voting windows made no fewer errors and only added delay, so we’re keeping 3 of 4 checks for “in use” and 5 of 6 for “available”. The larger YOLO11s-pose model gave the same results at about twice the CPU time, so we’re sticking with YOLO11n-pose.
– Test planning: I worked out how many trials we need to back up our accuracy targets: at least 36 error-free trials to support 92%. This set the size of our test plan.

Classical image-subtraction methods vs. the pose model on our treadmill clips. The pose model (star) gets every check right; the classical methods trade missed people for false alarms.

I also double-checked our treadmill labels against the video.

Schedule status

The treadmill software is still ahead of schedule as a laptop prototype. However, since the design report took priority, I didn’t get to last week’s hardware tasks: the Jetson board check, the live camera-to-tablet test, recording new clips, and the recording permission. These are now my main risk. Our schedule has the first Jetson tests in the week of October 19, after fall break, so I’ll start with the board check since everything else depends on it.

Deliverables for next week

– Run the treadmill board check on the Jetson by October 21 (timing, memory, temperature), and compare it with my laptop results.
– Try a TensorRT export of the pose model, and keep it only if its results match.
– Run a live test from the C922 camera to the tablet, timing how long each change takes to appear.
– Submit the UC gym recording permission request, and confirm our backup gym.
– Record more treadmill clips with teammates, saving some for final testing only.

Harry’s Status Report For 10/3

Accomplished

Jerry and I filmed the videos for all three use cases together. We planned the recordings to cover the main states and as many edge cases as we could. Our four squat-rack clips show an empty rack, someone exercising with belongings nearby, someone leaving those belongings, and someone returning to collect them.

I built the squat-rack workflow in two phases. During setup, models find the rack and propose areas for exercise, nearby attendance, and belongings beside or in front of it. I built a region editor so a gym staff member setting things up for the first time can adjust those areas or exclude a neighboring machine.

During detection, the system checks video twice per second for people and belongings. It reports whether the rack is available, in use, waiting after someone leaves items, or unknown because the evidence is insufficient. The five-minute review rule is implemented, but our recordings are too short to demonstrate a real alert.

On the four development clips, 54 of 63 scored rack-state observations were correct and nine were unknown. Belongings presence was correct in 52 of 64 observations, with 12 unknown. I compared two belongings models on my laptop. The default took a median of 376 milliseconds per check. A faster alternative took 92 milliseconds but missed more items. I also separated the models needed only during setup from those needed on every detection check. This helps us plan what may run at the same time on the Jetson, although these are laptop measurements rather than Jetson results. The accuracy results come from one camera view and labels prepared during development.

Progress

The squat-rack workflow runs on my laptop, and the team now has separate laptop workflows for all three use cases. The Jetson baseline planned for the week of September 28 is behind schedule. I have not run my workflow on the board or tested three feeds together. We will first agree on a shared output format and measure each workflow on the Jetson, then try them together before deciding whether scheduling changes are needed.

Deliverables

  • Contribute the squat-rack implementation, results, and limitations to the October 9 design report.
  • Record longer rack scenarios with bags, headphones, passersby, people behind the rack, and a full unattended period. Keep some footage for a separate evaluation and have a teammate review a sample of the labels.
  • Work toward a three-feed Jetson test, measuring processing time and memory for each workflow before measuring them together.

Team Status Report for 10/3

Progress this week

This week, each team member got one use case running on recorded video. All three workflows now run on laptops, have automated tests with more than 170 passing across the team, and have been submitted for team review. None has run on the Jetson yet.

Treadmill availability (Alan)

Alan’s check uses pretrained models and no training on gym footage. A pose model finds people’s feet, and a treadmill counts as in use when feet are on its belt. For setup, an open-vocabulary detector finds the treadmills in a photo of the empty row, and a segmentation model outlines each belt. Alan tested two team-filmed clips covering seven treadmills, 66 seconds, and six step-on or step-off events.

  • Every change was detected within 1.0 to 3.5 seconds.
  • There were no false free readings, and people walking past did not change a treadmill’s state.
  • A blocked treadmill was reported as unknown rather than free.

Alan also wrote a Jetson deployment guide and a one-command board check. He rehearsed both on a laptop.

Bench (Jerry)

Jerry built a local check for whether a bench is in use and whether plates remain on its bar. He gathered short private-gym recordings and tested the check on them. He also added a browser preview for reviewing predictions and handling stale observations. The tests exposed problems with camera angle and partly hidden equipment, and accuracy remains below the target.

Squat rack (Harry)

Harry added automatic rack setup with editable floor regions, plus detection of people and belongings. The workflow reports available, in use, waiting, review, or unknown. On four short team clips of one rack, 54 of 63 scored states were correct, nine were unknown, and none were wrong. Item presence was correct in 52 of 64 samples, with 12 unknown. These are development results from one camera view. None of the clips contains a full five-minute unattended episode.

Risks and responses

The largest technical risk is running all three checks on one Jetson. The workflows use different models. Treadmill uses a small pose model, squat adds an item detector to person and pose models, and bench uses several models, including its own equipment detector. Bench is expected to need the most computation, but we have not measured their combined speed or memory use on the board.

We will run the treadmill check first, then measure each workflow alone and all three together. If the combined workload does not fit, we can convert models to TensorRT, check racks and benches less often because their timers run for minutes, share a person detector where practical, or support fewer stations.

The bench check is our least mature workflow and remains below its accuracy target. Camera alignment and recognizing plates on the bar are the main problems. Jerry will isolate those failures, improve the pipeline, and evaluate changes on separate footage. Longer recordings will help test the five-minute timer, but they will not by themselves fix detection errors.

Our evaluation data is limited. Results so far come from short clips, often from one camera view, with labels made by one person or with assistant help. Each owner will record longer scripted sessions, hold some clips back for final testing, and ask a teammate to review a sample of the labels.

Recording permission is still unresolved. Team and private-gym recordings remain outside the code repository. We will confirm permission and consent before showing footage publicly. Access to the campus gym is also unconfirmed. If it is unavailable, we will use a controlled setup with consenting participants.

The three workflows were built in parallel and contain some overlapping code. Squat and treadmill, for example, use the same models during setup. We will agree on a shared data format and shared modules, then merge the workflows in a planned order.

Changes to the design

The main change is using models chosen for each use case instead of one shared detector with separate rules. Testing showed that the checks need different evidence. Treadmills depend on feet on the belt, squat racks depend on a person’s floor position and belongings, and benches depend on whether plates remain on the bar. No pretrained class covers plates on a bar. Using more models increases the likely Jetson workload, so we will measure each workflow and share a person detector where the implementations agree.

We made four other changes.

  • Automatic setup The treadmill belts and squat rack can now be found from an empty reference frame, with a preview for a person to confirm. This responds to design-review feedback about setup effort. The larger setup models run once on a laptop rather than on every check.
  • Unknown states Each workflow reports unknown when its area is blocked, the camera has moved, or observations are stale. An uncertain view should not be shown as free.
  • Treadmill confirmation A treadmill is shown as in use after three of the last four checks agree and as free after five of the last six. Previously, both changes required five of six. This reduced step-on delay by about one second in our tests, though it may make brief false detections more likely. None occurred in the tested clips.
  • Bench equipment detection The bench check now uses a trained detector because no pretrained class covers plates on a bar. This adds collection, labeling, and evaluation work. Our recordings remain evaluation-only for current and future training, so we do not test the detector on footage it learned from.

Updated schedule

Jetson work is about one week behind. Alan collected the board on October 2, but setup has not started. Camera and tripod requests submitted this week should make future recordings more repeatable. Fall break remains contingency time.

  • By October 6 Agree on the shared data format and merge order.
  • By October 7 Inventory the Jetson, run the treadmill check on recorded video, then begin running each workflow alone.
  • By October 9 Complete the design report. Each owner will write about their implementation, results with sample counts, and risks.
  • By October 10 Record longer scripted sessions, reserve held-out clips, and have a teammate review a sample of the labels.
  • Week of October 12 Alan will test a live treadmill camera-to-tablet path on the Jetson. Jerry will address bench failures and test changes on separate footage. Harry will test the squat check with people walking past and more types of belongings.
  • Before fall break ends Run all three workflows together on the Jetson and measure latency, memory, and temperature.
  • November 9 or 11 Demonstrate three checks running on the Jetson with a tablet dashboard

Alan Wang’s Status Report for 10/3

Accomplishments this week

This week I built a working local prototype of the treadmill availability check, from camera frames to a dashboard a tablet can open. It uses only pretrained models; nothing was trained on gym data. A pose model (YOLO11n-pose) finds people and their ankles. Each treadmill belt is stored as an outline, and a belt counts as occupied when someone’s feet land on it. Checks run twice per second. A belt is shown as in use after 3 of the last 4 checks agree, and as available only after 5 of the last 6 agree. Stale data, or a belt the camera cannot see, is shown as unknown, never as free.

I also automated the setup step so that belts no longer need to be outlined by hand. From a photo of the empty row, an open-vocabulary detector (Grounding DINO) finds each treadmill, and a segmentation model (SAM 2) outlines its belt. This found every belt in both of our test clips: 3 treadmills in one and 4 in the other. Two further checks make the system more robust. If the camera shifts, the outlines are re-aligned to the empty reference frame. If a belt is blocked from view, it is reported as unknown instead of free.

Treadmill pipeline: one-time automatic belt setup (top) and the per-check path from camera frame to tablet
(bottom).

I evaluated the pipeline in stages, from simple logic tests up to the full system. I first compared four zero-shot methods on stills from public stock footage: person box, pose, segmentation, and a CLIP image classifier. I then tested on two short clips we filmed from a camera angle similar to our planned mount. These clips include people stepping on and off, two people on adjacent treadmills, and people walking past.

– Across 66 seconds of footage, every step-on and step-off was caught.
– It was shown within 1.0 to 3.5 seconds.
– There were no false “free” readings and no state flips caused by people walking past.
– The CLIP classifier was rejected, because a person on a neighboring treadmill made empty belts look occupied.
– A replay through the dashboard matched the offline results exactly.
– In a synthetic test, a blocked belt changed to unknown within 2 seconds.

Member view during replay: 2 of 4 treadmills free.

These are small-sample laptop results, not a validation of accuracy at the gym. The clips were labeled by one person.

Clip 2: ground truth, per-check model output, and the state shown on the dashboard.

To prepare for the Jetson Orin Nano, I wrote a treadmill deployment guide on top of Jerry’s board runbook. I also wrote a one-command board check that records performance and compares results against our laptop reference, and a model export script for TensorRT. I rehearsed every step on my laptop up to the point that requires the board. That rehearsal found a bug where an unplugged camera stopped the server, which is now fixed. The code is organized into shared building blocks that the bench and squat workflows can reuse. It is in a pull request for team review.

Schedule status and corrective actions

The treadmill software is ahead of schedule for a local prototype. The main gaps are hardware and data. I have not yet run anything on the Jetson, and our test footage is short and comes from a single location and person. Recording permission for that footage still needs to be confirmed.

Next week I will run the board check on the Jetson as soon as I have access. If the per-check time is too high, I will first reduce the cost of camera re-alignment, which is currently the slowest step, before considering further model optimization. I will also record a longer, scripted set of clips with consenting teammates. These will include harder cases, such as someone standing beside or behind a treadmill and a crowded row. Some of these clips will be held back so that the final evaluation does not reuse tuning data.

Deliverables for next week

– Run the treadmill board check on the Jetson Orin Nano. Record per-check time, memory, temperature, and power mode, and compare the results with the laptop reference.
– Export the pose model to TensorRT on the board. Use it only if its results match PyTorch on our labeled clips.
– Run a live test from the C922 camera to a tablet, with scripted step-on and step-off events and a camera unplug test. Measure the time until each change appears on the tablet.
– Record and label additional treadmill clips, keep a held-out set for final testing, and have a teammate independently check a sample of the labels.
– Confirm recording permission for the clips we have filmed so far, and contribute the treadmill sections to the October 9 design report.

Jerry’s Status Report for 10/3

Accomplishments this week

This week, I moved from planning the equipment-state rules to testing a local prototype on recorded video. We divided the initial implementation by use case so each person can get one workflow working before we integrate them. I focused on the bench check, particularly whether someone is using the station and whether plates remain on the bar.

I gathered short recordings at a private gym with Harry, showing empty and occupied benches, with and without plates on the bar. I used these alongside public footage to inspect the prototype’s behavior. The tests exposed problems with camera angle, partially hidden equipment, and distinguishing plates on the bar from nearby equipment. I also developed a browser preview so I can compare the video with the system’s predictions and review mistakes more easily. These are preliminary tests, and I have not yet verified the full five-minute unattended scenario.

On the application side, I built a local path from timestamped observations to displayed station states and tested how it handles stale observations and simulated interruptions. This makes progress toward the dashboard and failure-handling work I planned last week, although integration with the other workflows remains unfinished.

I also submitted purchasing and inventory request forms for two cameras and a tripod to support live-camera testing and more consistent recording positions.

Schedule status and corrective actions

The recorded-video prototype and local display have progressed, but detection reliability and full integration still need work. Camera placement has a noticeable effect on the results, so I am prioritizing repeatable recordings and reviewing failure cases before expanding the setup. Jetson testing is still pending while Alan prepares the board. The current results are from laptop testing.

Deliverables for next week

  • Collect longer recordings from stable camera positions, including departure, return, and equipment-reset cases.
  • Improve the bench check using the errors found in the current recordings and evaluate it on separate footage.
  • Coordinate the observation format and displayed states with Alan and Harry.
  • Begin testing the camera-to-display path on the Jetson once it is ready.
  • Contribute the bench implementation, testing approach, and remaining risks to the design report.
Preliminary output on a private-gym recording showing an unoccupied bench with plates on the bar. This frame illustrates the prototype, not overall accuracy or a completed five-minute alert

Harry’s Status Report For 9/26

Accomplished

Most of my week went into working through the professor and TA feedback from our proposal presentation. To summarize, everyone agreed that the use case was valid, but questioned whether our implementation really fit it. A gym changes slowly, so we needed a better explanation of why we need models and a scheduler, how many cameras we actually need, and where our requirement numbers come from. These questions affect the cameras, parts, and software we would build, so I wanted to work through them before we went further with the design review.

I compared two proposed implementations: one where each camera covers a group of equipment, and another where we have one camera per machine. I estimated the UC gym to have around 10 treadmills, 6 squat racks, and 6 benches, and used that scale to compare setup, power, wiring, bandwidth, and processing needs. I calculated the dedicated-camera workload and put together a small script to see how sampling rate and processing time affect queue delays. These are estimates, and still need to be checked on the Jetson. I currently favor shared cameras covering small groups. A camera per machine would require 22 mounts, power connections, and feeds to maintain. Shared cameras reduce cost and wiring, but require confirming machine locations during setup. Camera count would depend on clear coverage, with separate machine groups to avoid cross-camera matching and double counting.

I also helped check the design presentation against the assignment guidance and worked on explaining the quantitative requirements. One thing the feedback pointed out was the difference between what the user needs and what each part of our system has to do to meet that need. For example, checking once per second and waiting for three consecutive observations takes up to three seconds after a change. Allowing another second for processing and updating the display gives a four-second budget within our proposed five-second target. That assumes the observations are fresh and correct, so it still needs testing. I also worked through what missing our accuracy targets would mean, like showing a treadmill as free when it is occupied or sending staff to check a station unnecessarily. We are still refining those justifications.

To get a better idea of whether shared-camera setup could work, I tried some models (Grounding DINO and SAM 2) on three treadmill photos. The straight-on photo gave five detections matching the five visible machines, including the one with a person on it. The diagonal view was messier, especially for distant machines and reflections, and some masks picked up parts of neighboring treadmills. This helped us think through camera placement and how much setup would be needed. It does not tell us how accurately we can detect whether a machine is in use. See below:

Progress

Behind on the parts order and the capture prototype. Our original schedule had parts ordering and the laptop prototype finished by September 25, with Jetson setup planned for September 28–October 9. I held off on ordering while we reconsidered the implementation, since one camera per machine would change a lot of what we needed. We had to sort out the general direction because it affected the whole team, but I recognize the order is now late. I will check the selected setup with the team, confirm what we can borrow, and submit the missing parts request as soon as possible. The laptop can now run models on still images, but I have not finished the recorded-video pipeline I planned last week. I will work on that while we wait for hardware.

Deliverables

  • Finish helping with the requirement explanations and design slides due September 27.
  • Update the parts list for the setup we plan to build, check inventory, and submit the order and Jetson loan request.
  • Get one recorded feed running through capture and inference, keeping timestamps and measuring processing time, memory, and how old each processed frame is. Repeat on the Jetson once we have it.
  • Agree with Jerry on the observation format and timestamps so my capture pipeline can connect to his application. Keep the results and remaining issues documented for the October 9 design report.

Team Status Report for 9/26

Progress this week

This week, we worked on the design-review presentation and went back through the professor and TA feedback from our proposal. They liked the use case, but wanted clearer reasons for our camera layout, processing approach, and quantitative requirements. We compared shared cameras with one camera per machine and worked through the cost, connections, setup, and processing needs. We also reviewed the slides against the assignment guidance and documented the questions we still need to resolve.

Our preliminary experiments covered the pretrained detector, simple image processing, equipment-state logic, inference timing, scheduling, and image transport. These used laptop measurements, generated images, public examples, and simulated inputs. They have not established performance in the UC gym or on the Jetson. The YOLO11n class list does not include weight plates, and the original state prototype exposed a case where a person lingering near a station delayed an unattended flag. We also tested equipment detection and segmentation on treadmill photos. A straight-on view gave clearer machine regions than a crowded diagonal view, but some masks included neighboring equipment. These results helped narrow what we need to test next.

We also worked on separating user requirements from subsystem requirements. The five-second treadmill target needs a budget for sampling, confirming a change, processing, and updating the dashboard. We are refining the accuracy justifications around incorrect availability and unnecessary staff trips. These are proposed budgets, not achieved response times.

Design changes and their costs

Our working plan is shared cameras covering small, separate groups of machines. We are planning three selected views for the prototype, rather than claiming three cameras can cover an entire gym. More cameras could be added where clear coverage requires them. This reduces mounts, power connections, and feeds compared with one camera per machine, but we still need to confirm machine regions during setup. Keeping each machine in one camera group avoids cross-camera matching and double counting.

We used an estimated 10 treadmills, 6 squat racks, and 6 benches for the UC gym comparison. A dedicated-camera design would mean 22 camera installations. Even with inexpensive cameras, powering and connecting that many devices adds work. Shared views trade some setup and placement effort for fewer devices to maintain.

We plan to share the person/belongings detector across feeds and use separate equipment rules. We will start with PyTorch and add TensorRT only if measurements show a need. The unattended waiting period is a configurable five-minute starting point that still needs staff input and testing. For plates, we will compare simple image processing with a plate-specific method before committing to extensive training.

These changes require updates to the parts list, camera plan, timer rules, tests, and documentation. We will keep one current specification so older ten-minute settings and runtime assumptions do not conflict. The design review also delayed purchasing because the two camera approaches needed different hardware. The order is now behind, and we need to resolve it promptly.

Significant risks and mitigation

  • Hardware: The parts order is not submitted, and Jetson/camera availability is still unconfirmed. Harry will check inventory and loan options, update the parts list, and submit the missing items. Laptop work will continue while hardware is pending.
  • Gym access: Placement, recording, and demo approval remain open. Jerry will coordinate the request with the team. A controlled setup with consenting volunteers is our fallback.
  • Detection and visibility: Plates on a bar, stored plates, passersby, and blocked views can produce misleading results. Alan will test staged cases and camera angles before a larger labeling or training effort.
  • Incorrect flags: Jerry will test returns, passersby, brief detection errors, and stale or blocked views. Unreliable observations should produce an unknown state rather than show equipment as free. We also need to distinguish attendance at one station from someone using a neighboring station, so one person’s presence does not suppress another station’s flag.
  • Processing load: We have not shown that three feeds need a complex scheduler. Harry will compare simpler scheduling methods and measure update delay, memory, and gaps between equipment checks on the actual board.

Schedule and next steps

Parts ordering and the recorded-feed prototype are behind the original September 25 target. The fake-data dashboard, camera-placement tests, and initial recording work also need to catch up. We have updated the schedule to keep laptop capture, vision tests, and application work moving in parallel.

The slides are due September 27. By the next report on October 3, Harry will submit the missing parts request and establish a timestamped single-feed laptop baseline, Alan will prepare an initial staged vision comparison and coverage test plan, and Jerry will build the fake-data dashboard and observation interface. The following week targets three-feed capture and board setup if equipment is available. The design report remains due October 9, with the treadmill MVP targeted for October 23. Any hardware delay will be stated clearly rather than treating laptop results as Jetson results.

Harry and Jerry will agree on station IDs, observation timestamps, and how camera failures are reported before connecting capture to the dashboard. That lets the application develop against fake observations while the capture and vision work continue.

Public health, safety, social, and economic considerations

Part A: Public health, safety, or welfare

Written by Alan Wang.

BenchGuard aims to make shared equipment easier to find and keep ready for use. Treadmill availability could save members a trip to another floor, while flags for unattended belongings or loaded bars could help staff decide where to check. We have not measured these benefits, and the system is not intended to prevent injuries or detect emergencies. Staff would inspect a flagged station before taking action.

Incorrect information can also cause problems. Showing an occupied treadmill as free wastes a member’s trip, while showing a free one as occupied hides equipment they could use. An incorrect unattended flag could lead staff to interrupt someone who is resting. A blocked or disconnected camera should therefore show unknown, and the dashboard should show how recent its information is. The waiting period gives people time to rest or briefly leave, although we still need to test whether five minutes is appropriate.

Clear equipment information may be particularly useful to members with limited time or those who find repeated trips between floors difficult. The display needs to make free, occupied, and unknown states easy to distinguish. We plan to process images locally and show equipment states rather than identifiable footage. Camera placement and recording still need facility approval and participant consent. The system would support ordinary staff checks, not replace them.

Part B: Social factors

Written by Zhanming (Jerry) Liang.

People use gym equipment differently, and belongings do not always mean someone has finished or abandoned a station. BenchGuard would report what it observes, such as items remaining while nobody is visible, without identifying an owner or judging their behavior. Five minutes is a configurable starting point, not a gym rule. Staff would decide how to handle a flag.

This matters for people taking longer rests, sharing a rack, or working out with a partner. A person standing nearby might be a trainer or passerby rather than the station’s user. Our tests will include these cases and different rest patterns. Staff-facing wording should describe the equipment, such as “items remain at an unattended station,” rather than accuse a member of leaving a mess. The system would not automatically remove belongings, reserve equipment, or enforce gym rules.

Privacy also affects whether members are comfortable with the system. We do not plan to identify faces or track named people, and the dashboard does not need to show camera footage. Existing security cameras do not automatically give us permission to add ours or access their feeds. We need to explain where cameras point, what information is shown, and how any approved test recordings are handled. Keeping the output about equipment rather than individual behavior should reduce intrusion, but local processing alone does not remove all privacy concerns.

Part C: Economic factors

Written by Yuehan (Harry) Hu.

BenchGuard could help staff spend less time checking already-clear stations and help members find available equipment. Those savings are not proven. Incorrect flags could create extra work, and frequent camera adjustment could cancel out the benefit. We plan to track useful and unnecessary flags, along with setup and maintenance effort, before claiming a financial return.

We will check course inventory before buying equipment. For our estimated 22 machines in the UC gym, one camera per machine would require 22 mounts, power connections, and feeds to maintain. Shared cameras reduce that installation burden, although confirming machine regions still takes time. Sharing the detector and starting with PyTorch also keeps initial deployment simpler. Course loans lower our spending, but a commercial installation would still need a computer, cameras, storage, mounts, cables, power, installation, and support.

Coverage matters as much as camera price. A cheaper, wider view is not a saving if it misses distant equipment or needs frequent correction. We will estimate cost per reliably monitored station from tested camera views, rather than assume three cameras cover the whole gym. Any estimate of staff-time savings should account for useful checks, unnecessary trips, and ongoing maintenance. We do not yet have enough evidence to claim a payback period or improved gym revenue.