top of page
Writer's pictureBradley Schulz

Week 1 Updates

It's the first week of the project, and here are our updates from getting started


Goals from This Past Week

Team goals: Get code environment set up so we are ready to begin testing.

Personal goals: Begin writing a classifier that can take an image of a card and identify shapes and patterns


Accomplishments

I examined our training dataset available on GitHub (https://github.com/tomwhite/set-game/tree/master/data/train-v2/labelled) and imported that to a Google Colab notebook.


Then, I set up some basic directory processing and code infrastructure to classify cards. Using the directory naming in the labelled dataset, the notebook can examine the name of the directory and create a "CardType" object that describes

  • The shape present on the card

  • The number of times that shape appears

  • The fill of the shape(s)

  • The color of the shape(s)


Once that was done, it was very easy to find specific images and run some basic computer vision algorithms on them. I started by running the Canny Edge Detection algorithm which should increase the future CNN's ability to identify the shapes present.



One issue that may affect a CNN's ability to count the number of shapes is that when the shape does not have a solid fill, the outer outline is not as clear. This is especially bad for images that are striped.


I also worked with my partner, Tyler Price, to set our overall timeline and goals. Most relevant are our week 3 goals:

  • Capture an image from a camera using the H7 chip

  • Have code that can match a test image of a SET card to the 4 attributes of its design: shape, number of shapes, color, and fill pattern


Goals for Next Week

Team goals: Run a first iteration of our respective code assignments.

Personal goals: Have a CNN on Google Colab that can successfully classify the shape present on a given card. A stretch goal is to also identify the number of shapes on that card.

17 views

Recent Posts

See All

1 Comment


Tyler Price
Tyler Price
Jan 15, 2023

Awesome post! I wouldn't have thought about the striped shapes giving Canny Edge Detection trouble. One idea is to use the erosion and dilation technique to eliminate all the inner polygons. It's explained pretty well in these slides from IEEE's Pocket Racers project, starting on slide 47.

Like
bottom of page