Below is a somewhat simplified summary of the steps we follow in training and using our system. Except for those steps marked with an asterisk, all processes are performed by the CNN without human intervention.
Our article Salient Slices: Improved Neural Network Training and Performance with Image Entropy provides more detail about our process.Â
Select a configuration for the CNN.* We assessed (and continue to assess) the performance of different CNN architectures; the five-layer configuration we now use continues to provide the best results.
Select images for training set.* The training set consists of firmly authenticated works by the presumed artist of the work in question and comparative works, including works by known forgers, imitators, students and followers, teachers, other close associates, contemporaries, artists influenced by the artist in question, etc.
Create tiles at various sizes (150 x 150 to 600 x 600 pixels) from the images in the training set, which have been re-sized to a consistent resolution.
Discard tiles whose entropies do not equal or exceed the overall entropy of the source image..
For each tile size, train the CNN by repeatedly exposing it to the surviving tiles from the training set images and assessing its classification accuracy after each pass through the training tiles.
For each tile size, identify the state of the CNN (the pass) at which the CNN performs best in terms of classification accuracy and save this CNN state.
For each tile size, test the saved CNN on images that were not used for training. This step identifies the optimal tile size to be used for assessing new images.
New images (works to be authenticated) are decomposed into tiles of the optimal size, which are sifted using the entropy criterion, and classified by the CNN, as illustrated below.