Brandon’s Status Report 5/8

As the semester is coming to a close, we are working on the poster and the final video. In order to demo, I have a couple of minor bugs I need to work out in the CV; afterwards, we will be ready to finish up our filming. I have also been recording my part in the video, which explains the computer vision part of the stack. There’s not much else to add, other than that we are working on wrapping the semester up!

Brandon Hung’s Status Report

This week was quite busy for me, but I still tried to make as much time as possible to work on a new approach to the CV. My first attempt of CV was tuning a color segmentation algorithm. However, this simple was not working because variations in lighting are devastating to color segmentation algorithms. If we continued using the same approach, I do not think it would be possible to meet the requirements. After thinking about the problem, I’ve come up with a preliminary solution idea I’ve spent most of the day implementing. The idea is to use the white checkers on the chips as a marker. I plan on aggregating the white markings to group them together. This is done by searching the surrounding image area for more chips. Then, draw a rectangle around the grouped markings to get a bounding box. This allows me to use the least squares approximation to fit a line between the bases of the rectangles; once that is done, I will be able to rotate the image so the stacks are roughly horizontally matched. From that point, I can rotate the rectangles to get the true height of the stacks. This algorithm is a lot more involved than the previous one, so I am working on getting it right. I have several bugs with aggregation, which I hope to solve before tomorrow.

Brandon’s Status Report 4/10

I ran into several UI issues with the CV, but I have that mostly ironed out now. I just need to finish polishing it up, which will be done by tonight so we can test. In addition, I will be setting up the Raspberry Pi on my end to test; the web camera we purchased works with the CV on my laptop, so running the CV shouldn’t be much of an issue on the Pi. Currently, the CV will spit out the height of a stack based on which colors it detects and provides a user-friendly  calibration routine to record any amount of chip values a dealer might have.

Brandon’s Status Report: 4/3

I’ve been working on the CV this week. It’s proven a bit more difficult than I’d imagined because of lighting; color doesn’t stay consistent throughout different lighting schemes. So far, I have been looking into pre-processing operations to manage this issue better and looking at different algorithms for alternative ways to detect chips.

 

Here is an example of poor lighting causing the stacks to be slightly off. While it is still possible to see the stack, the colors behind it cause a bit of confusion. The color is better in brighter conditions, leading me to wonder if we should solve this by providing better lighting or by providing a better algorithm. I will continue to work on a fix, but I may have to switch schemes later and rely on another method.

Team Status Report: 4/3

This week, each of us have been trudging along on our separate subsystems. Patrick has been focusing on the dealer UI and the player UI, Steve has been working on the servo, and Brandon has been working with the CV. So far, the player UI seems just about finished and the dealer UI is aesthetically done as well. The CV is coming along, but there is a bit of concern regarding lighting conditions.  Steve has also been 3-D printing the assembly, which should be done by tomorrow. In addition, all of us have been getting to integrate everything together into the game state tracker, which has proven to be a little more challenging to design than expected. However, we’ve made good progress and have a barebones structure lain out for it; this should be enough to get us ready for integration next week. For the MVP, we want to show the device scanning stacks and updating at least a single person’s values.

Brandon’s Status Report: 3/27

Due to midterms and several large homeworks, I was unable to get as much done as I wanted this week. That being said, I have completed the calibration routine and am working on the color masking for the computer vision. An example of the calibration can be seen in the image below:

where you can click on the picture and it will automatically calibrate to the RGB threshold values to +/- a delta of the pixel you have highlighted. In addition, I have finished the CAD, so we should be getting ready to 3D print soon!

 

Brandon’s Status Report 3/13

This week, I did not get as much done on the vision side. This was mainly due to slow lead times on item delivery. However, I did manage to create several models for the design of our turntable, layout, and visualization for the report. Once I receive the Pi next week, I will begin experimenting with CV on it.

Servo Model

Table Isometric

Table Top View

Brandon’s Status Report for 3/6/21

This week has mostly been spent ordering parts and working on the design review. I diagrammed a couple flow chart and helped to create the game state representation. I also drew out a basic schematic of the table layout. I also ordered a camera, and my teammate ordered me a Raspberry Pi. I hope to work next week on the physical hardware and begin to detect and measure stacks.

 

Team Status Report: 2/27/2021

We spent the beginning of the week participating in the group presentation review. At the end of the week, we met and solidified our thoughts regarding specific software and hardware choices. To summarize, we decided to use a Servo as the motor for our spinning camera, a standard web camera for our CV, and to centralize all our software on a Raspberry Pi. A minor setback this week is deciding who should receive the parts, as some of the team is currently located outside of Pittsburgh. Once we finalize that and other outstanding design choices, we will begin placing orders.