Question/Issue:
I trained a classification model on 600 X 600 images on edgeimpulse. The input for the model is 160 X 160. This model was then deployed on an ESP32S3 board. The image processing pipeline on device includes cropping the captured SVGA image to 600 X 600 and then resizing to 160 X 160 using bilinear interpolation. However, the classification result is fairly different on device compared to when the same 600 X 600 jpeg image is uploaded to the edgeimpulse studio. For example in one case for the same image,
Edgeimpulse result:
Class1: 0.80
Class2: 0.20
On device:
Class1: 0.17
Class2: 0.83
Uploading the device resized 160 X 160 image to edgeimpulse studio confirms this and shows the same on device classification ie,
Class1: 0.17
Class2: 0.83
Is there a way to reduce this discrepancy? This only happens in images with very subtle differences (anomalies). With other images with bigger differences, the classification is fairly consistent in both device and edgeimpulse studio.