Home  About me  Rubriche Links

Information Laboratory

Data inserimento: 4 gennaio 2021

Cosa è questa rubrica

Note sui sorgenti e sulla siqurezza degli eseguibili

I Software di questa rubrica

 

2 gennaio 2021

ImgPrew 1.0

10 gen 2021 pacchetto instalalzione non dispoinibile. In Aggiornamento
download sorce code

Esempio di come produrre l'anteprima delle immagini

 

2 gennaio 2021

ImgViewer1.0

10 gen 2021 pacchetto instalalzione non dispoinibile. In Aggiornamento
download sorce code

Come realizzare un visualizzatore di immagini

 

2 gennaio 2021

RotationChar

 

Come creare un modulo che ruota un immagine

Maggio 2021

RGBestract (prossima uscita)

Estrae i contorni e le caratteristiche delle immagini (strumento di ricerca)

Questa rubrica

è un contenitore di applicazioni open source creati per studiare i moduli che forniscono/ricevono i dati che le reti neurali artificiali processano

Una rete neurale artificiale (simulata su un calcolatore) si può immaginare come un’entità che ha in ingresso una stringa o binaria o bipolare o numerica ed in uscita una delle tre tipologie appena dette. Da sola però non è di nessuna utilità perché sarebbe come possedere un cervello senza una persona a cui e connesso!

E’ necessario che attorno ad essa vi siano delle ulteriori parti.
I dati che provengono dal mondo esterno infatti sono di diversa natura. Per poter essere essere processati da una rete neurale devono essere opportunamente trasformati in una stringa con le caratteristiche su citate che, il più volte, deve subire anche un ulteriore processo di elaborazione digitale di adattamento alla rete.

Per fissare le idee facciamo l’esempio di un’immagine. Questa viene convertita da una telecamera in un segnale elettrico analogico . Tale segnale viene poi trasformato in una stringa binaria attraverso circuito elettronico detto ADC (Analogic to Digital Converter) .

La stringa così ottenuta in genere non è mai l' ingresso della rete neurale. Questa necessita di essere trattata da altre elaborazioni digitali intermedie che hanno il compito di ridurre la ridondanza oppure rendere l' informazione indipendente da altri parametri esterni che possono influire sul processo di apprendimento / riconoscimento che la rete deve effettuare.

Si pensi ad esempio ad un carattere su un una matrice di punti. Per effettuare il riconoscimento è necessario rendere il carattere indipendente dalle dimensioni , dalla posizione che occupa sulla matrice o da una sua rotazione rispetto al riferimento orizzontale (vedere articolo OCR per approfondimenti sul tema). Di questo si occupano appunto delle unita di calcolo (hardware e/o software) appositamente studiate.

In questa rubrica sono raccolti degli strumenti ad hoc auto costruiti per fare lo studio e l’analisi di questi dati intermedi come quelli a valle dell' ADC su citato . Si tratta di applicazioni funzionali ma, poco curate nell’interfaccia. Il più delle volte sono originati dalla necessità di testare parti di codice da inserire in moduli più complessi.

Note sul sorgente :

I software in questa rubrica (ed in altre parti di questo sito) sono scritti in VB6.0 (Visual Basic 6.0) , un linguaggio obsoleto (e certamente non piu "al passo con i tempi" ) ma che presenta il vantaggio di permettere la scrittura ed il test del codice concentrandosi sul problema da risolvere e non sulle intefacce grafiche di utente (GUI) la cui creazione è resa semplice ed immediata grazie all'ambiente di sviluppo totalmente integrato con il linguaggio stesso.

Per compliare il codice è necessaro però procurarsi una copia dell'ambiente sviluppo (Microsoft VS6.0) ed un sistema opertativo idoneo a farlo girare (come XP o precedenti) da installare su una partizione , un pc ad hoc o eventulmente su una macchina virtuale (ad esempio attraverso Virtual Box).

Note per gli eseguibili :

Gli eseguibili sono stati controllati con i seguenti antivirus :
e-scan , McAffee , MSVscan , MS e non sono state rilevate minacce.
Tali file sono prodotti dalla complizione di codice in VB6.0 e quindi molto attenzionati dagli antivirus (specie quelli basati su ricerche con tecniche di Intelligenza Aritficiale) perchè in poche linee di codice è possibile creare software potenzilmente dannosi. Infatti, se da un lato la rapidita di scrittura del codice è stata la chiave del successo storico di VB6.0 dall'altro la semplicità con cui si può accedere alle risorse di sistema è stata, come spesso accade, sfruttata frequentemente dai maleintenzionati.

E' possibile pertanto che nella scansione con altri antivirus vengano rilevati falsi positivi. In tal caso se si ritiene che ci si trovi di fronte ad una reale minaccia è possibile scaricare il file sorgente e ricompliare il progetto (a patto chiaramente di possedere i succitati strumenti neccessari a farlo).

Sono pubblicate comunque le chiavi di cifratura SHA256 da conforntare con quelle ottenute dai file scaricati al fine di garantire l'integrità degli stessi.
Ciò può essere effettuato in :
Windows 10 Posizionarsi nella cartella del file ed aprire qui il terminale (Tasto dx e voce relativa menu contestuale) .
Digitare : certutil -hashfile nomefile.exe SHA256
Ubuntu

Posizionarsi nella cartella del file ed aprire qui il terminale (Tasto dx e voce relativa nel menu contestuale).
Digitare : sha256sum nomefile.exe

On line 

Drag&Drop del file scaricato nella relativa casella del sito sotto :

https://emn178.github.io/online-tools/sha256_checksum.html