1
$\begingroup$

I am currently working on a project where the goal is to create a neural network that can determine if two pieces of torn tapes are a true fit or not. My current idea is a convolutional network that takes as inputs 2 pieces of tapes (256,256,2) and outputs a 1 or 0 if they are a true fit or not. The 2 channels are independent of each other, so I use grouped convolutions. Is there a better way to go about this? Any ideas would be appreciated!

Example of the data

Channel 1 (tape-1) enter image description here

Channel 2 (tape-2) enter image description here

These pieces of tapes are an example of a true fit

$\endgroup$
1
  • $\begingroup$ I would consider just trimming the black space on the left, flipping one image vertically and horizontally, concatenating the images left-to-right so the remaining black space is in the middle, and training a model based on those images $\endgroup$
    – user253751
    May 9, 2022 at 13:08

1 Answer 1

1
$\begingroup$

Why not try a Siamese network architecture?

This architecture is used to compute the similarity between two inputs by applying the same neural network $f$ to two pairs of inputs $(X_b, X_p)$ and $(X_b, X_n)$ and computing a loss function which is minimised when the distance between $f(X_b)$ and $f(X_p)$ is smaller than the distance between $f(X_b)$ and $f(X_n)$ plus some margin, where $X_b$ is any training sample, $X_p$ a matching training sample, and $X_n$ a non-matching training sample.

Your use case is not the typical one for Siamese networks (e.g. checking that two faces are the same), but it has the same structure, so it could work well.

This also requires some preprocessing of the data to make these pairs, but doesn't increase the size of your dataset given that you are already creating all the pairs of input images.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .