Forum rules
Per nessun motivo ed in nessuna circostanza è permesso fare spam o pubblicità di alcun tipo. Non deve essere postato niente di offensivo, osceno, volgare, diffamatorio, oltraggioso, minaccioso, sessualmente denigratorio, o qualunque tipo di contenuto che possa mettere a repentaglio la sicurezza altrui. La volgarità o qualunque forma di comportamento offensivo verso altri membri (a prescindere dal loro status) non sarà tollerato. Va sempre tenuto a mente che ciò che una persona non trova offensivo, potrebbe invece offendere altri membri. Siete pregati di trattare chiunque altro con lo stesso rispetto che vi aspettereste per voi stessi da parte degli altri utenti.
L'inottemperanza ad uno qualsiasi dei punti fin qua elencati può portare al ban senza preavviso. Se sono necessari altri dettagli o spiegazioni, contattateci cliccando sul link "The Team", che si trova nella parte bassa di qualsiasi pagina del forum. Grazie per la collaborazione.
pipporan
Subtitles Admin
Posts: 91
Joined: Mon Jun 20, 2022 12:10 am

TUTORIAL PASSO-PASSO: ESTRAZIONE TRAMITE OCR DEI SUBS HARDCODED DI "In The Dark S03E01"

Tue May 23, 2023 3:11 am

PREAMBOLO SULLE TRADUZIONI AUTOMATICHE
Fare una traduzione di un video di 40 minuti richiede tranquillamente 10 ore per fare un lavoro decente.
La "correzione" di una tradizione automatica è addirittura solo un'illusione, una chimera.
Per "correggerla" fino a farla diventare usufruibile (la decenza ma niente più), richiede praticamente lo stesso tempo e impegno di una traduzione da zero.

• Oltre agli errori veri e propri, c'è un'infinità di interiezioni/congiunzioni/espressioni che vanno cambiate o eliminate totalmente, una per una manualmente.
Il timing va completamente rivisto: siccome l'italiano è sillabicamente più lungo dell'inglese (prendete un file di un sub italiano, e vedrete che il file dell'omonimo sub inglese è più piccolo anche del 20/30%): VA CAMBIATO LINEA PER LINEA.
• Non solo: tantissimi gruppi di linee consecutive si troveranno completamente sbilanciati, con una linea quasi vuota, e la successiva che ha 40 caratteri al secondo. Quindi, vanno tolte parole da una linea e messe nell'altra.
• E non basta ancora! Le linee con due righe sono spezzate a capo in maniera erronea, dato che la sintassi è diversa tra lingue diverse. Quindi, andranno lette una per una, valutate, e cambiate.
E si potrebbe andare avanti ancora, ma si spera che il senso sia colto, ormai.
TUTORIAL PASSO-PASSO: ESTRAZIONE TRAMITE OCR DEI SUBS HARDCODED DI "In The Dark S03E01"

Vista l'eccessiva presenza di sottotitoli fatti con traduzioni automatiche (che NON SONO AMMESSE SUL SITO, tranne in rare occasioni, qua descritte), ho pensato di fare un "picture tutorial" che spieghi, passettino per passettino, come fare un'estrazione di sottotitoli hardcoded (sovraimpressi) tramite OCR, adatto anche a principianti. Chiunque conosce qualche sito di free streaming, da cui scaricare il video dal quale vogliamo prendere i sottititoli, e può riuscire a seguire la procedura che sto per descrivere minuziosamente.

[In realtà, per gli utenti più navigati, può bastare guardarsi questo video, oppure leggersi questa pagina web che spiegano la procedura]

Qua spiegherò tutto, senza tralasciare niente, dando anche un po' di consigli che non troverete nei video youtube :wink: .

GLI STRUMENTI ESSENZIALI:
SubTitle Edit: imprescindibile per chiunque voglia dilettarsi con i sottotitoli, scaricatelo qua.
VideoSubFinder (nelle immagini è in uso una versione datata, scaricate la più aggiornata) è il programma con il quale faremo il grosso del lavoro: riconoscere il testo nel video, trasformarlo in immagini ripulite dallo sfondo, riunire i testi col giusto timing.
Software di riconoscimento OCR: il software che viene consigliato nel video sopra menzionato è Abby Fine Reader (io ho usato la versione 15). Discreto nel riconoscimento OCR, la brutta cosa è che è a pagamento, quindi...fate un po' voi :D. Ad ogni modo, ormai ci sono molti software per l'OCR.
SubTitle Edit non è molto adatto per questo tipo di OCR (va meglio per l'OCR da Bluray).

INIZIAMO!

PARTE PRIMA: ESTRAZIONE E CONVERSIONE DI FRAME VIDEO IN IMMAGINI

1) In VideoSubFinder, apriamo il video precedentemente scaricato con i sottotitoli hardcoded da estrarre (la scelta tra "OpenCV" e "FFMPEG" dovrebbe essere fare scarsa differenza)
In basso si trovano le 3 schede "Search", "Settings", "OCR". Nella scheda dei settaggi, ci sono numerose opzioni per affinare, semplificare e velocizzare il tutto. Se non sapete di cosa si tratta, lasciatele come stanno :D

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

2) Questa è prima operazione di grande importanza: tramite la linea orizzontale e le due verticali, ritagliate un'area più attaccata possibile al testo (senza però tagliarlo via). Cercate un punto in cui il sub abbia due righe, e regolate facilmente l'altezza con la linea orizzontale. Per la larghezza invece dovremo perderci un po' di tempo, saltellando qua e là nel video per cercare la linea più lunga possibile.
È importante ritagliare un'area quanto più piccola possibile ma senza tagliare via nemmeno un carattere, per lasciare fuori altre scritte (come i crediti iniziali, nell'immagine) e in generale per diminuire le possibilità che VideoSubFinder crei più immagini del dovuto.
A scanso di equivoci, è meglio ribadire: è importante ritagliare un'area più piccola e vicina al testo possibile, ma nel dubbio è meglio lasciare un minimo di spazio in più. Se lasciate troppo spazio, perderete un po' di tempo in più nella prossima fase del lavoro, ma se tagliate troppo, tranciate via del testo, che vi costerà molto più tempo o addirittura sfuggirà alla revisione, lasciando delle linee monche per sempre!
Image

--------------------------------------------------------------------------------------------------------------------------------------------------

3) Col senno di poi, questa era la riga più lunga in orizzontale: il punto migliore su cui regolare la larghezza dell'area di ritaglio. Una volta che siamo sicuri di aver scelto l'area il meglio possibile, clicchiamo "Run Search".

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

4) Conclusa questa prima parte del lavoro, il software salva le immagini (1222 in questo caso) nella cartella "RGBImages", subordinata della cartella principale di VideoSubFinder.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

PARTE SECONDA: ELIMINAZIONE DELLE IMMAGINI SENZA TESTO

5) Questa è la parte più TERRIBILMENTE NOIOSA di tutte. Dobbiamo cancellare tutte le immagini senza testo utile. Per farlo, dovremo aprire le immagini, facendole scorrere UNA AD UNA, cancellando quelle senza testo (ecco perchè è importante selezionare l'area più stretta possibile: per diminuire il loro numero!).
La prima immagine spesso è vuota, e quindi da eliminare.
Io ho re-installato il vecchio Visualizzatore Foto delle vecchie versioni di Windows (comodo perchè con le frecce scorri e con CANC cancelli), ma potete usare qualunque altro software (Irfan View, XNView, ecc.).

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

6) Ovviamente, lasciamo tutte le immagini contenenti testo appartenente al sottotitolo.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

7) Altro esempio del perchè diminuire l'area il più possibile: quando faremo l'OCR ci ritroveremo il credito "alan van sprang" nel testo!
[Questo era però ineliminabile senza tagliare via completamente le prime righe delle linee del sottotitolo]

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

8 ) Questo lavoro NOIOSISSIMO si può fare veloce o piano, velocizzando si rischia però di cancellare un'immagine che ha del testo. Nel caso, niente panico: nel Cestino elencate i file per "Ultima modifica", e ripristinate il più recente.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

9) Come detto sopra, questa parte dipende tantissimo dalla vostra velocità (se qualcuno trova un sistema più veloce, ME LO FACCIA SAPERE :D). Siamo scesi da 1222 a 889 immagini (25-30% in meno!).

Image

------------------------------------------------------------------------------------------------------------------------------------

PARTE TERZA: CONVERSIONE DA FRAME VIDEO A IMMAGINE CONTENENTE SOLO TESTO

10) Torniamo a VideoSubFinder, nella scheda "OCR", e clicchiamo il primo pulsante "Create Cleared Text Images": il software ripulirà le immagini dallo sfondo, provando a lasciarne il solo testo.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

11) Come nella prima fase, il software fa tutto in automatico e potete andare a farvi un caffè: questa operazione durerà un po' più della prima. Le immagine così ripulite vengono salvate nella cartella "TXTImages".

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

PARTE QUARTA: RICONOSCIMENTO OCR E PRIMA VERIFICA DEI TESTI, SU ABBY FINE READER

12) Completata la fase precedente, apriamo Abby Fine Reader (o qualunque software OCR), ed andiamo su "Apri nell'editor OCR".
Apriamo le nostre immagini ripulite nella cartella "TXTImages".

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

13) L'Editor OCR inizia il riconoscimento. Ci sono solo 450 immagini perchè Abby Fine Reader non riesce a processarne oltre un certo numero tutte assieme, perciò il lavoro è diviso in due tronconi.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

14) Terminato il riconoscimento OCR, a sinistra abbiamo la schermata dell'immagine, a destra il testo. Nella finestrella centrale, nel punto (1) ci vengono segnalate le pagine con i potenziali errori, e cliccando possiamo scorrerle via via. Nel punto (2) possiamo modificare il testo nel caso contenga errori. Nel punto (3) sono segnalate pagine vuote, da cui Abby non è riuscito a estrarre alcun testo.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

15) Ecco i pezzi di crediti testualizzati, chiaramente da eliminare.
La maggior parte sono però piccoli errori.

Image

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

16) Ecco il problema dell'aver tagliato troppo sulla destra: in questo caso è stata solo questa linea, ma se sbagliate di molto, vi ritroverete un sacco di linee con il testo troncato in fondo!
Ad ogni modo, è MOLTO CONSIGLIATO dedicare a questa fase la cura e il tempo necessari: gli errori testuali sono molto facilmente individuabili adesso, più difficili in seguito.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

17) Dopo aver corretto gli errori segnalati, salviamo il testo come TXT.
DI CAPITALE IMPORTANZA è che la codifica (nelle opzioni del programma) sia UTF-8, e non UTF-16 (non supportato da Opensubtitles).

Image


Image

--------------------------------------------------------------------------------------------------------------------------------------------------

18) Nella finestra di dialogo del salvataggio, scegliere l'opzione "Creare un file separato per ogni file di unput", e salvare nella cartella "TXTResults", subordinata della cartella di VideoSubfinder.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

19) Tutti i testi hanno ora lo stesso nome delle immagini. Notiamo che manca qualcosa: ci sono 886 file di testo, a fronte di 889 immagini di partenza (tutte le sviste si pagano in tempo perso alla fine del lavoro).

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

QUINTA ED ULTIMA FASE: EDITING DEL SUB DEFINITIVO

20) Tornando a VideoSubFinder, nella scheda OCR, clicchiamo "Create Sub From TXTResults".
Istantaneamente, ci viene chiesto dove salvare il file del sottotitolo (per praticità, nella cartella del video e con lo stesso nome).

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

21) Apriamo il sub con il fido SubTitle Edit, che ci mostrerà una valanga di errori. In tutte le linee c'è una riga vuota e il testo è a capo. Per adesso, ignorate la cosa.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

22) La prima cosa da fare è controllare le linee vuote (ricordate lo scarto da 889 a 886?). Visivamente, scorrete il sub, e quando trovate una linea vuota fate partire il video e controllate. Ogni tanto, sempre con parole brevissime ("Ok." "Sì." "No." ecc.), Abby non riesce a riconoscere il testo. Questo controllo con correzione manuale del testo mancante in alcune righe vuote va fatto adesso: se facessimo prima la correzione automatica, le righe vuote verrebbero cancellate, anche queste che dovrebbero contenere del testo!

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

23) In questi casi, immettiamo il testo manualmente.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

24) Mentre scorrete cercando le linee vuote, se notate qualche errore correggetelo.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

25) Adesso possiamo fare il "Controllo ortografico", dal menu "Controllo ortografia" (oppure premre CTRL+SHIFT+S): ovviamente selezionate la lingua italiana, dopo aver scaricato il corrispondente dizionario.
Già dalla prima riga ci sono evidenti errori (meglio se sono evidenti, quelli non evidenti rischiano di non essere individuati).

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

26) Visto che il significato dei pulsanti non è molto istintivo, spieghiamo a cosa servono:
• Se la parola corretta è presente nella lista di destra, selezionatela e fateci doppio clic (o "Applica"). Se si tratta di un caso ovvio, potete anche cliccare su "Usa sempre", così non dovete rifare lo stesso passaggio (anche in altri sottotitoli: la scelta viene salvata da SubTile Edit)
• Se non è presente, scrivetela nella linea di testo, e cliccate "Cambia" (o "Cambia tutto", se, come sopra, la scelta è ovvia)
• Se invece la parola proposta è corretta, cliccate "Salta uno" (o "Salta tutto" se è una casistica ovvia)
• Se la parola non riconosciuta è un nome proprio, cliccate "Aggiungi ad elenco nomi/etc...", ricordandovi che viene salvata anche per il futuro con la precisa disposizione di lettere minuscole e maiuscole
• Se volete salvare la parola per il futuro, cliccate "Aggiungi al dizionario corrente", e d'ora in poi farà parte del dizionario e non vi verrà più chiesta.
• Se dovete andare a controllare il video, cliccate "Annulla": il controllo ortografico ripartirà da lì quando lo riavvierete.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

27) Dopo aver riempito le linee erroneamente vuote, e aver corretto quello che avete incontrato per la via, adesso "Correggi errori comuni", dal menu "Strumenti" (o premere CTRL+SHIFT+F).
Si aprirà una finestra per selezionate le opzioni che vi interessano (vanno bene quelle di default, ma potete divertirvi a sperimentare), e da lì "Avanti" per il "Passo 2/2" della correzione automatica.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

28) Qua cliccate semplicemente "Applica le correzioni". Se resta qualcosa nella lista, cliccate una seconda volta finchè non si svuota.

Image

A seconda del tipo di lavoro che dovete fare, scegliere un set diverso di opzioni (quelle del "Passo 1/2") aiuta molto.
[OPZIONALE]: nel nostro caso, potrebbe risultare utile prima fare un giro di correzione automatica, e solo DOPO averlo completato, farne un'altra, stavolta però aggiungendo qualche altra opzione. Perchè non aggiungere le opzioni tutte assieme? Solo per una questione di comodità nel poter controllare quel che si sta facendo: il primo giro di correzione lo facciamo con opzioni "sicure", mentre nel secondo aggiungiamo opzioni di cui è meglio controllare i risultati.
Usare "Correggi il trattino nelle finestre di dialogo...", "Correggi gli errori comuni OCR...", è utilissimo dopo aver fatto un OCR, però è bene poter controllare riga per riga, per non rischiare di peggiorare le cose.
Come si vede dalle prossime due immagini, al secondo giro di correzione automatica, apoche opzioni aggiunte corrispondono relativamente poche nuove righe corrette, facili da individuare e controllare.
Queste due opzioni sono ideali dopo un lavoro OCR, perchè rifiniscono quei piccoli errori (difficilissimi da notare scorrendo o persino correggendo manualmente il sottotitolo) di cui abbonda un riconoscimento OCR: trattini - mancanti in alcuni dialoghi, al posto dell'apostrofo ', e cose del genere.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

29) Un altro classico errore dell'OCR: le linee doppie. Dopo la pulizia fatta, adesso risaltano all'occhio e le potete individuare facilmente: qua abbiamo una linea di durata impossibile (il minimo sindacale in un sub è 800/1000 ms), e un CPS altissimo (80 Caratteri Per Secondo: la decenza imporrebbe un massimo di 25 caratteri al secondo o meno, con poche eccezioni, ed in nessun caso superare i 30/35 CPS).

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

30) Potete dapprima provare a correggere le linee doppie automaticamente, andando su "Unisci righe con le stesso testo" nel menu "Strumenti".
Nel nostro caso, ne ha trovata solo una (quella che avevamo già trovato da soli :D), e la correggiamo.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

31) Adesso scorriamo di nuovo il sub alla ricerca di eventuali altri "doppioni". Di nuovo, velocemente e facilmente, ci salta all'occhio un caso con tutti i valori sballati: anche questa un "doppione". Non è stata individuata perchè l'OCR ha cambiato un carattere tra la prima e la seconda linea ("Cioè-il" invece di "Cioè il"), e tanto basta perchè il software non la riconosca.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

32) Manualmente, le selezioniamo entrambe (tenendo premuto CTRL e cliccando col tasto SX su ogni riga), e col tasto destro apriamo il menu, e poi andiamo su "Unisci righe selezionate".

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

33) Poi cancelliamo manualmente la seconda riga, e tutto va a posto.
ABBIAMO FINITO IL SUB, possiamo salvarlo nella sua versione (semi) definitiva. In realtà, probabilmente avrà ancora un po' di piccoli errori (tipo "E" invece di "È", un punto o una virgola mancanti, ecc), ma adesso ha raggiunto la soglia minima di decenza: chiunque è in grado di perfezionarlo facilmente, anche solo segnandosi eventuali errori mentre si guarda il video e correggendoli in un secondo momento.

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

34) Ricordiamoci di tornare su VideoSubFinder, e nella scheda "Search" cliccare su "Clear Folders": così svuotiamo tutte le cartelle, altrimenti la volta successiva ci ritroveremmo di fatto due sottotitoli sovrapposti!

Image

--------------------------------------------------------------------------------------------------------------------------------------------------

FINE

Il tempo impiegato è stato (per questa prova ho usato un PC con sistema Windows 10, dato è quello più diffuso, con processore Intel I7 9th e 16 GB di RAM):
- 1a fase: 5 minuti
- 2a fase: 15 minuti
- 3a fase: 10 minuti
- 4a fase: 20-25 minuti
- 5a fase: 10 minuti
I tempi sono indicativi: circa un'ora di lavoro per un video intorno ai 40 minuti (1/3 di questa ora è lavoro del computer che non necessita di essere controllato).

Un'ora di tempo è un po' troppo?
Si potrebbe rispondere che per fare questo tutorial ci sono volute più di 10 ore :shock: : fate che ne sia valsa la pena! :D
Ma se la risposta non vi soddisfa, tornate a leggere le prime righe di questo (troppo) lungo e scrupoloso tutorial: rispondono perfettamente alla domanda "Un'ora di tempo è un po' troppo?"

IL SUB DI "In The Dark S01E03" CHE ABBIAMO APPENA FATTO LO TROVATE QUA: https://www.opensubtitles.org/it/subtit ... -thread-it

Intenzionalmente, non ho modificato una proverbiale virgola, oltre a quello mostrato nel tutorial: così chiunque può giudicare al meglio ed in maniera completa la qualità del risultato di un lavoro del genere. L'unica modifica a parte ha riguardato il timing (che esula da questa trattazione): è stato applicato un ritardo di 50 millisecondi circa sull'intero sottotitolo.

Return to “Italiano”

Who is online

Users browsing this forum: No registered users and 19 guests