Immagine_Input = carica_Immagine ("opera_danneggiata.
jpg")
mask = crea_Maschera (Immagine_Input)
testo_Associato = Esperto_Inserisce_testo (Immagine_Input)
// il modello è preaddestrato
Immagine_Restaurata = modello_Restauro (Immagine_Input, mask,
testo_Associato)
feedback = Valutazione_Esperto (Immagine_Restaurata)
while [Link]
rifinisci_Modello ()
Immagine_Restaurata = modello_Restauro (Immagine_Input, mask,
testo_Associato)
feedback = Valutazione_Esperto (Immagine_Restaurata)
Mostra_Immagine_Restaurata ()
Storicizza_Immagine_Restaurata ()
rifinisci_Modello ()
// Caricare nuove immagini da includere nell'addestramento, ognuna con
relativo testo inserito da esperto
Nuove_Immagini = caricaNuoveImmagini_e_Testo()
Si esegue un ciclo di addestramento sul modello
for ogni [img, text] in Nuove_Immagini
[Link](img, text) # addestra il modello sull'immagine con la
descrizione
Gruppo TIM - Uso Interno - Tutti i diritti
riservati.
// Salva modello aggiornato
modello_Restauro save_model()
[Link](img, text )
// Preparazione dati , normalizzazione imagine ( contrasti etc ) e testo ( sintassi
strutturata )
prepared_image = preprocess(img)
prepared_text = preprocess_text(text)
// Generazione di versioni rumorose e apprendimento
// Generazione di una gamma di nuove immagini con aggiunta di rumore step
per step, ogni nuova immagine rumorosa è uno step
noisy_versions = add_noise(prepared_image)
// è il cuore della funzione, qui step per step si confrontano l’immagine predetta
e quella iniziale pulita, e si calcola il loss, che indica quanto l’immagine
predetta è diversa da quella pulita iniziale ; sulla base del loss di aggiornano i
pesi del modello. Se immagine predetta e immagine iniziale pulita fossero
uguali i pesi del modello rimarrebbero uguali.
for step in noisy_versions:
predicted = [Link](step, prepared_text)
loss = compute_loss(predicted, prepared_image)
model.update_weights(loss)
Gruppo TIM - Uso Interno - Tutti i diritti
riservati.