Ciao, sono Denizhan Sahin. Sono uno studente di Ingegneria Informatica del 3° anno alla Yozgat Bozok University. Spiegherò il mio lavoro per il Pardus 21 Debugging and Suggestion Contest, perché utilizzo Pardus e la mia motivazione a contribuire al software nazionale e nazionale del nostro paese.

Come sapete, i software domestici e nazionali sono la sicurezza informatica del nostro Paese, la continuità degli studi di ricerca e sviluppo, la diminuzione delle tariffe pagate per l'utilizzo di software straniero e il suo contributo economico, l'aumento delle esportazioni di tecnologia, lo sviluppo del nostro tecnologia dalla nostra manodopera qualificata con il proprio capitale e le proprie conoscenze, e il trasferimento di queste esperienze alle generazioni successive.

Il mio interesse per il mondo della tecnologia, iniziato negli anni della scuola secondaria, è diventato un fattore importante nel mio futuro utilizzo delle tecnologie domestiche. È sempre stato il mio sogno sviluppare tecnologie domestiche, contribuire agli studi attuali ed essere un ingegnere qualificato per il nostro paese. Uso attivamente il sistema operativo Pardus da 8 anni, anche se ho compreso l'importanza del software domestico soprattutto dopo aver incontrato Pardus durante gli anni della scuola secondaria. Soprattutto negli anni della scuola secondaria e del liceo, ho informato i miei compagni di scuola e gli insegnanti su Pardus e sul software locale sull'utilizzo di Pardus nei dispositivi informativi della classe e li ho introdotti sia nel mondo Pardus che in quello Linux.

In linea con il mio interesse per la tecnologia e la mia migliore comprensione dell'importanza del software domestico, dopo essere diventato uno studente universitario, ho iniziato a lavorare sullo sviluppo di software, intelligenza artificiale, ecc., in particolare su Pardus e Linux, nelle comunità in cui ero . Ho lavorato sulle tecnologie. Ho deciso di partecipare al Pardus 21 Debugging and Suggestion Contest per contribuire con la mia conoscenza ed esperienza al nostro sistema operativo domestico e nazionale, Pardus, insieme ai lavori che ho fatto e sognato. Prima di tutto, vorrei ringraziare il mio stimato consulente accademico, gli amici della comunità e i parenti che mi hanno sostenuto per questa decisione.

Le mie esperienze durante la competizione

Per il Pardus 21 Debugging and Suggestion Contest, ho lavorato per la prima volta su più di un computer. Ho continuato il mio lavoro su quattro computer in totale. Due di questi computer erano laptop e computer con supporto GPU Nvidia, mentre gli altri erano desktop, uno con GPU AMD e l'altro con supporto GPU Nvidia. Prima di tutto, il mio obiettivo principale era lavorare sui problemi e sui suggerimenti che possono presentarsi durante le fasi di installazione del sistema operativo Pardus. In futuro, si trattava di lavorare sui suggerimenti necessari per un semplice utilizzo del computer e sui problemi che l'utente potrebbe incontrare. Inoltre, il software che utilizzo attivamente serve per eseguire il software sul sistema operativo Pardus, per creare le condizioni e l'ambiente di test appropriati per eseguirlo e per analizzare gli errori che possono verificarsi. Tuttavia, ho sviluppato progetti che ritengo possano essere utili per il sistema operativo Pardus. Inoltre, è stato quello di sviluppare le mie determinazioni e suggerimenti di soluzione per gli errori che possono essere importanti.

Come utente di lunga data del sistema operativo Pardus, ho lavorato prima sulle mie esperienze. Inoltre, utilizzando Pardus nei project studies che ho utilizzato nella mia vita universitaria e nella vita quotidiana senza utilizzare nessun altro sistema operativo diverso da Pardus, ho provveduto a identificare i problemi e a creare una conoscenza per gli studi che ho progettato o che farò pianificare più tardi.

Continuando il mio lavoro su Pardus, ho notato che a volte ottengo errori durante l'installazione del software e che ho bisogno di reinstallare Pardus sul computer durante le relative operazioni. Soprattutto quando voglio provare alcune interfacce grafiche, driver Nvidia ecc. Ho notato che il sistema è stato danneggiato durante l'installazione e la rimozione del software e talvolta Nvidia CUDA Toolkit non ha funzionato come desiderato. Ci sono stati anche momenti in cui ho riscontrato errori durante l'installazione di alcune librerie Python, durante il tentativo di installare alcuni pacchetti non di sistema e quando non sono riuscito a trovare alcuni pacchetti su Internet. In alcuni casi ci sono stati casi in cui il sistema operativo non funzionava e non riuscivo a rilevarlo, anche quando non avevo problemi. In alcuni casi, come utente root, installazione di alcuni pacchetti ecc. a livello di sistema. Ho fatto transazioni.

Per i miei lavori correlati, ho cercato di risolvere tutti i tipi di problemi che ho incontrato, in tutto o in parte. Tuttavia, ho deciso di continuare o terminare i progetti che desideravo dopo un certo processo di pianificazione e ricerca-sviluppo. Ho utilizzato il sistema operativo Pardus per circa un anno durante il processo di competizione e mi sono reso conto che mi ha dato un grande contributo durante lo sviluppo dei miei progetti.

Contributo del processo di concorrenza a me

Il contributo del processo di competizione per me è stato davvero vantaggioso. Utilizzare costantemente il sistema operativo Pardus mi ha fatto molto piacere, perché utilizzare un sistema operativo domestico e nazionale è una grande opportunità tecnologica in tutti i sensi.

Prima di tutto ho capito come si può svolgere un processo di ricerca. Ho imparato a leggere articoli su vari argomenti, ad esaminare le soluzioni ai problemi riscontrati e ad esaminare le fonti ufficiali dei software da utilizzare.

In secondo luogo, ho imparato a sviluppare soluzioni ai problemi che si possono incontrare durante l'uso continuo di un software, e ho acquisito conoscenza ed esperienza in termini di problemi e software correlati.

In terzo luogo, nella fase di sviluppo di un progetto e di trasformazione in prodotto, mi hanno contribuito le relative fasi di progettazione e sviluppo dell'idea.

In quarto luogo, in un processo di competizione, lavoro pianificato, sviluppo di esperienze e acquisizione di nuove esperienze, apprendimento per utilizzare gli studi in altri studi futuri, utilizzo efficiente di Internet e di altre risorse, ecc. Ho acquisito conoscenza ed esperienza.

Come faccio il mio lavoro? ho sviluppato?

Per migliorare il mio lavoro, ho iniziato a installare e utilizzare il software e i driver che utilizzo attivamente in altri sistemi operativi su computer con schede grafiche Nvidia e AMD su Pardus. Innanzitutto, ho installato i driver Nvidia Driver per computer con GPU Nvidia. Dopo le relative installazioni, ho scoperto che a volte si verificano alcuni problemi nel sistema operativo. Per risolvere situazioni come il mancato funzionamento dell'interfaccia grafica, in primo luogo disinstallare i driver che ho installato e reinstallare il software dell'interfaccia grafica ha fornito una certa comodità, ma ho reinstallato Pardus su questi computer per un processo più stabile. Ho installato il software CUDA e cuDNN per Pardus, soprattutto per fare studi sull'intelligenza artificiale e per utilizzare il sistema operativo in modo più efficiente. Con questi software, sarei in grado di eseguire più velocemente i miei lavori come l'intelligenza artificiale e la visione artificiale. In particolare, ho installato sui computer che utilizzo la libreria di intelligenza artificiale chiamata TensorFlow e OpenCV e altre librerie utilizzate nel campo della visione artificiale.

Applicazione per il riconoscimento facciale

In particolare, ho deciso di contribuire alla sicurezza degli utenti del sistema operativo Pardus e di sviluppare un software di riconoscimento facciale che oggi non è ancora utilizzato da un vasto pubblico nei sistemi operativi Linux. Ho iniziato a lavorare con Keras RetinaNet e TensorFlow. Il fatto che Keras RetinaNet in particolare abbia un tasso di precisione più elevato negli articoli sul riconoscimento facciale che ho letto mi ha spinto a utilizzare questo software per primo. Tuttavia, ho cercato di integrare nel mio lavoro software avanzati di riconoscimento facciale come ArcFace e altri software come GoogleNet. Soprattutto per il mio lavoro, l'architettura di riconoscimento delle immagini ResNet ha una struttura solida, che è tra le mie preferenze. Con Keras RetinaNet, ho svolto per la prima volta un addestramento del modello che rileva il volto umano. Con questo modello addestrato, sarei in grado di rilevare i volti delle persone. Successivamente, ho lavorato alla registrazione dell'immagine del volto rilevata e all'addestramento di un modello separato per questa immagine del volto. La scheda grafica che ho utilizzato durante i miei studi, RTX 2060 (è la scheda grafica con la capacità più elevata durante i miei studi) non era del tutto efficiente e soprattutto perché sono state utilizzate tutte le risorse di questa scheda grafica e non sono riuscito a raggiungere il tasso di precisione desiderato , la visualizzazione di un software molto lento come Keras RetinaNet, ho deciso che non può fare nulla per i computer che non hanno una scheda.

Tuttavia, come altro metodo, ho lavorato con un software chiamato Haar Cascade, che generalmente non supporta l'intelligenza artificiale. Con questo software ho deciso di rilevare i punti determinati sul volto umano ed effettuare il riconoscimento del volto effettuando operazioni matematiche su questi punti. In questa fase, anche se pensavo di fare machine learning con i dati puntuali ottenuti, i tassi di accuratezza molto bassi con Haar Cascade e i problemi nel rilevare alcuni punti sul volto umano mi hanno portato a utilizzare un'altra architettura software invece di questo software.

Tuttavia, ho deciso di utilizzare l'architettura chiamata DeepFace in linea con i miei studi e le risorse che ho letto. Questa architettura, d'altra parte, mi ha permesso di continuare il mio lavoro in questa direzione, in particolare l'uso efficiente delle risorse di sistema, che sono importanti per un utente, insieme alla sua struttura open source e all'elevato tasso di precisione. La caratteristica più importante di questo software è confrontare l'immagine del volto della persona registrata nel computer con il volto umano rilevato nell'immagine scattata durante il login, utilizzando l'algoritmo di deep learning.

I miei prossimi passi sono creare un pacchetto DEB. Ho utilizzato attivamente i file bash e Python nel pacchetto DEB. Ho realizzato lo sviluppo dell'interfaccia relativo alla fase di installazione con PyQt5. Con questa interfaccia, l'utente registrerà la propria immagine del viso e sarà in grado di installare più facilmente il necessario TensorFlow, DeepFace e altri software. Ci sono due file bash di base nel pacchetto DEB. Durante l'esecuzione delle relative fasi di installazione con uno di questi pacchetti, il riconoscimento facciale verrà eseguito con l'altro file bash durante l'avvio del computer. Quindi, con SQLite3, sono state eseguite operazioni di database rilevanti per voci corrette o voci errate e l'utente sarà in grado di controllare la sicurezza del proprio computer come desidera. Inoltre, l'immagine errata della telecamera viene memorizzata per la voce errata in modo che l'utente possa verificarla in un secondo momento e conoscere le persone che tentano di aprire il proprio computer senza autorizzazione. Tuttavia, l'utente avrà facoltativamente la possibilità di eliminare tutti i dati dell'applicazione.

L'utente, invece, potrà eseguire il riconoscimento facciale ad ogni avvio del computer rendendo l'applicazione di riconoscimento facciale l'applicazione iniziale. Per questo, è possibile utilizzare l'icona dell'applicazione nel menu dell'applicazione desktop. Inoltre, per le operazioni avanzate, sono stati preferiti i comandi da terminale, creando così un ambiente di piena autorizzazione per l'utente. Con questa applicazione sviluppata, gli utenti con schede video assenti o non supportate sono facili da usare e sono stati raggiunti alti tassi di sicurezza anche se tutte le risorse vengono utilizzate se è presente una scheda video supportata.

Applicazione per il riconoscimento del testo

Ho deciso di sviluppare un software per gli utenti di Pardus per ottenere e utilizzare facilmente le espressioni testuali in qualsiasi immagine e per facilitare le operazioni quotidiane degli utenti di Pardus in generale. Per questo, ho utilizzato l'OCR (Optical Character Recognition) e con questo metodo è possibile ottenere facilmente espressioni testuali su un'immagine. L'OCR è studiato principalmente sotto tre voci principali: preelaborazione delle immagini, riconoscimento dei caratteri e postelaborazione. Con la preelaborazione dell'immagine, è possibile migliorare l'immagine e ottenere espressioni chiare dall'immagine. Nella fase di riconoscimento dei caratteri, vengono rilevate le espressioni testuali e per questo viene utilizzato il metodo di estrazione delle caratteristiche, i caratteri che vengono rilevati in modo definitivo vengono elaborati, ma i caratteri che non possono essere determinati in modo definitivo non vengono elaborati. Insieme alla fase di post-elaborazione, i caratteri rilevati vengono testati per verificarne l'accuratezza.

Le librerie PyQt5 e Pytesseract vengono utilizzate per l'OCR affinché l'utente possa utilizzarle facilmente. Sarà inoltre disponibile per gli utenti Pardus con il pacchetto DEB.

L'algoritmo di lavoro dell'applicazione è il percorso del file dell'immagine pertinente dall'utente. Se il percorso del file non è corretto, viene emesso un errore. Se l'elaborazione dell'immagine è corretta, vengono eseguiti i processi OCR. Con l'OCR, viene fornito un output di errore se l'espressione testuale non viene rilevata. Se l'espressione testuale viene rilevata e l'OCR ha generalmente esito positivo, l'espressione testuale viene emessa sullo schermo. L'utente può opzionalmente salvare le espressioni rilevanti in formato TXT.

Generatore di codici QR

Gli utenti di Pardus senza la necessità di altri software e documenti d'ufficio, ecc. È stata sviluppata un'applicazione per creare un codice QR più semplice nelle aree. Le librerie PyQt5, Pypng, Pyqrcode vengono utilizzate con questa applicazione. È stato creato un pacchetto DEB per l'utente. L'utente prima scrive le espressioni testuali desiderate. Quindi, il codice QR viene creato con Pyqrcode. Quando il codice QR generato viene creato nella home directory dell'utente, le informazioni sull'ora vengono salvate come nome del file e per questo vengono utilizzate le librerie Time e Pypng. Inoltre, il codice QR generato viene visualizzato sullo schermo dell'utente.

Inoltre, il logo dell'applicazione è stato creato dalla parola Pardus e il colore del logo è compatibile con il logo Pardus.