I was making paper lightboxes for fun at home and I had come across a large set of free templates online. I noticed that the templates were png or jpeg format and they all contained dotted lines. As I typically use my laser cutter to cut the paper out, I needed SVG format stencils. Typically it isn't to difficult to use Ilustrattor to trace the vectors of fully connected lines, however, due to the lines being dotted, this was not possible.
I had recently learned about U-nets and how they can utilize convolutions to encode local features while using skip or jump connections to maintain global context of the image. While I had used convolutional neural networks before, I had never implemented a U-net before and I thought this architecture would be useful as the encoder might be able to identify the gaps that needed to be filled, while the skip connections could maintain the overall structure of the line.
Input Image:
Output Image:
Target:
This project was a great learning experience in both image processing and machine learning. I learned how to preprocess images for training, design and implement a U-Net architecture, and manage training data efficiently. Overall, this project helped me improve my skills in both image processing and machine learning and provided valuable insights into the challenges and complexities of working with real-world data.