Generally speaking, when evaluating a model you either choose to do cross-validation or train-test splitting, but not both. Your dataset appears to already be split between training and testing sets, so you seem to have implicitly chosen train-test splitting.
In your particular case, it may still make sense to run cross-validation if you have a reason to mistrust the results from the testing set. Is the distribution of labels in the test data balanced or highly skewed? Is the test data representative of examples you're likely to see in production? If your test data is representative, then you'll likely get a better accuracy estimate evaluating on the test set rather than running cross-validation.
But I'm confused. How did you come to have a training set of 500 images and testing set of 10,000 images? If you 10,500 labeled examples available to you, then you can divide them however you like - right? Why not run cross-validation with the entire set of 10,500 images? That will give you the most robust accuracy estimate.