Hallo, ich bin Denizhan Şahin. Ich studiere im dritten Jahr Informatik an der Yozgat Bozok University. Ich werde meine Arbeit für den Pardus 3 Debugging- und Vorschlagswettbewerb erklären, warum ich Pardus verwende und meine Motivation, zur nationalen und nationalen Software unseres Landes beizutragen.

Wie Sie wissen, sind inländische und nationale Software die Cybersicherheit unseres Landes, die Kontinuität von Forschungs- und Entwicklungsstudien, die Senkung der für die Nutzung ausländischer Software und ihren wirtschaftlichen Beitrag gezahlten Gebühren, die Steigerung der Technologieexporte und die Entwicklung unserer eigenen Software Technologie durch unsere qualifizierten Arbeitskräfte mit eigenem Kapital und Wissen und die Weitergabe dieser Erfahrungen an die nächsten Generationen. von Bedeutung.

Mein Interesse an der Welt der Technologie, das bereits während meiner Schulzeit begann, wurde zu einem wichtigen Faktor für meinen zukünftigen Einsatz von Haushaltstechnologien. Es war schon immer mein Traum, einheimische Technologien zu entwickeln, zu aktuellen Studien beizutragen und ein qualifizierter Ingenieur für unser Land zu sein. Ich nutze das Pardus-Betriebssystem seit 8 Jahren aktiv, obwohl ich die Bedeutung heimischer Software insbesondere nach einem Treffen mit Pardus in meiner Sekundarschulzeit verstanden habe. Vor allem in meiner Sekundar- und Oberschulzeit informierte ich meine Schulfreunde und Lehrer über Pardus und lokale Software über die Verwendung von Pardus in Informationsgeräten im Klassenzimmer und machte sie mit der Welt von Pardus und Linux bekannt.

Aufgrund meines Interesses an Technologie und meines besseren Verständnisses für die Bedeutung heimischer Software begann ich nach meinem Studium an der Softwareentwicklung, künstlicher Intelligenz usw., insbesondere an Pardus und Linux, in den Communities, in denen ich tätig war . Ich habe an Technologien gearbeitet. Ich habe beschlossen, am Pardus 21 Debugging- und Vorschlagswettbewerb teilzunehmen, um mein Wissen und meine Erfahrung zusammen mit den Arbeiten, die ich getan und von denen ich geträumt habe, in unser nationales und nationales Betriebssystem Pardus einzubringen. Zunächst möchte ich meinem geschätzten akademischen Berater sowie meinen Freunden und Verwandten aus der Gemeinde danken, die mich bei dieser Entscheidung unterstützt haben.

Meine Erfahrungen während des Wettbewerbs

Für den Pardus 21 Debugging- und Vorschlagswettbewerb habe ich zunächst an mehr als einem Computer gearbeitet. Insgesamt setzte ich meine Arbeit an vier Computern fort. Zwei dieser Computer waren Laptops und Computer mit Nvidia-GPU-Unterstützung, während die anderen Desktops waren, einer mit AMD-GPU und der andere mit Nvidia-GPU-Unterstützung. Mein Hauptziel bestand zunächst darin, an den Problemen und Vorschlägen zu arbeiten, die während der Installationsphase des Pardus-Betriebssystems auftreten können. In der Zukunft geht es darum, an den Vorschlägen zu arbeiten, die für eine einfache Computernutzung notwendig sind, und an den Problemen, auf die der Benutzer stoßen kann. Darüber hinaus bestand die von mir aktiv genutzte Software darin, die Software auf dem Pardus-Betriebssystem auszuführen, die entsprechenden Bedingungen und Testumgebungen für die Ausführung zu schaffen und die möglicherweise auftretenden Fehler zu analysieren. Allerdings habe ich Projekte entwickelt, die meiner Meinung nach für das Pardus-Betriebssystem nützlich sein könnten. Darüber hinaus ging es darum, meine Feststellungen und Lösungsvorschläge für die Fehler zu entwickeln, die wichtig sein können.

Als langjähriger Benutzer des Pardus-Betriebssystems habe ich zunächst an meinen eigenen Erfahrungen gearbeitet. Darüber hinaus habe ich durch die Verwendung von Pardus in den Projektstudien, die ich in meinem Universitätsleben und im täglichen Leben verwendet habe, ohne ein anderes Betriebssystem als Pardus zu verwenden, dazu beigetragen, die Probleme zu identifizieren und ein Wissen für die Studien zu schaffen, die ich geplant habe oder werde später planen.

Während ich meine Arbeit an Pardus fortsetzte, bemerkte ich, dass bei der Softwareinstallation manchmal Fehler auftreten und ich während der damit verbundenen Vorgänge Pardus auf dem Computer neu installieren muss. Vor allem, wenn ich einige grafische Oberflächen, Nvidia-Treiber usw. ausprobieren möchte. Mir ist aufgefallen, dass das System beim Installieren und Entfernen der Software beschädigt wurde und manchmal das Nvidia CUDA Toolkit nicht wie gewünscht funktionierte. Es gab auch Zeiten, in denen ich beim Installieren einiger Python-Bibliotheken, beim Versuch, einige Nicht-Systempakete zu installieren, Fehler bekam und einige Pakete im Internet nicht finden konnte. In einigen Fällen gab es Fälle, in denen das Betriebssystem nicht funktionierte und ich es nicht erkennen konnte, obwohl ich keine Probleme hatte. In manchen Fällen, als Root-Benutzer, Installation einiger Pakete usw. systemweit. Ich habe Transaktionen durchgeführt.

Für meine verwandten Arbeiten habe ich versucht, alle möglichen Probleme, auf die ich gestoßen bin, ganz oder teilweise zu lösen. Nach einem gewissen Planungs- und Forschungs-Entwicklungsprozess entschied ich mich jedoch, die von mir gewünschten Projekte fortzusetzen oder zu beenden. Ich habe das Pardus-Betriebssystem während des Wettbewerbsprozesses etwa ein Jahr lang verwendet und festgestellt, dass es mir bei der Entwicklung meiner Projekte einen großen Beitrag leistete.

Beitrag des Wettbewerbsprozesses für mich

Der Beitrag des Wettbewerbsprozesses war für mich wirklich hilfreich. Die ständige Nutzung des Pardus-Betriebssystems hat mir große Freude bereitet, denn die Nutzung eines nationalen und nationalen Betriebssystems ist in jeder Hinsicht eine große technologische Chance.

Zunächst einmal habe ich verstanden, wie ein Forschungsprozess durchgeführt werden kann. Ich habe gelernt, Artikel zu verschiedenen Themen zu lesen, Lösungen für die aufgetretenen Probleme zu prüfen und die offiziellen Quellen der zu verwendenden Software zu untersuchen.

Zweitens habe ich gelernt, Lösungen für Probleme zu entwickeln, die bei der kontinuierlichen Nutzung einer Software auftreten können, und ich habe Kenntnisse und Erfahrungen in Bezug auf damit verbundene Probleme und Software gesammelt.

Drittens haben mir in der Phase der Entwicklung eines Projekts und der Umsetzung in ein Produkt die relevanten Planungs- und Ideenentwicklungsphasen geholfen.

Viertens, in einem Wettbewerbsprozess, geplante Arbeit, Entwicklung von Erfahrungen und Gewinnung neuer Erfahrungen, Erlernen der Nutzung des Studiums in anderen zukünftigen Studien, effiziente Nutzung des Internets und anderer Ressourcen usw. Ich habe Wissen und Erfahrung gesammelt.

Wie mache ich meine Arbeit? ich entwickelte?

Um meine Arbeit zu verbessern, habe ich zunächst damit begonnen, die Software und Treiber, die ich aktiv in anderen Betriebssystemen verwende, auf Computern mit Nvidia- und AMD-Grafikkarten auf Pardus zu installieren und zu verwenden. Zuerst habe ich die Nvidia Driver-Treiber für Computer mit Nvidia-GPUs installiert. Nach den entsprechenden Installationen stellte ich fest, dass manchmal Probleme im Betriebssystem auftreten. Um Situationen zu lösen, in denen beispielsweise die grafische Benutzeroberfläche nicht funktionierte, bot zunächst die Deinstallation der von mir installierten Treiber und die Neuinstallation der Software für die grafische Benutzeroberfläche eine gewisse Bequemlichkeit. Für einen stabileren Prozess habe ich Pardus auf diesen Computern jedoch neu installiert. Ich habe CUDA- und cuDNN-Software für Pardus installiert, insbesondere um Studien zur künstlichen Intelligenz durchzuführen und das Betriebssystem effizienter zu nutzen. Mit dieser Software wäre ich in der Lage, meine Arbeiten wie künstliche Intelligenz und Computer Vision schneller auszuführen. Insbesondere habe ich auf den von mir verwendeten Computern die Bibliotheken für künstliche Intelligenz namens TensorFlow und OpenCV sowie andere im Bereich Computer Vision verwendete Bibliotheken installiert.

Gesichtserkennungs-App

Insbesondere habe ich beschlossen, zur Benutzersicherheit des Pardus-Betriebssystems beizutragen und eine Gesichtserkennungssoftware zu entwickeln, die heute in Linux-Betriebssystemen noch nicht von einem großen Publikum verwendet wird. Ich begann zunächst mit Keras RetinaNet und TensorFlow zu arbeiten. Die Tatsache, dass insbesondere Keras RetinaNet in den von mir gelesenen Artikeln zur Gesichtserkennung eine höhere Genauigkeitsrate aufweist, veranlasste mich, zuerst diese Software zu verwenden. Ich habe jedoch versucht, fortschrittliche Gesichtserkennungssoftware wie ArcFace und andere Software wie GoogleNet in meine Arbeit zu integrieren. Speziell für meine Arbeit hat die ResNet-Bilderkennungsarchitektur eine solide Struktur, was zu meinen Vorlieben gehört. Mit Keras RetinaNet habe ich zunächst ein Modelltraining durchgeführt, das das menschliche Gesicht erkennt. Mit diesem trainierten Modell wäre ich in der Lage, die Gesichter von Menschen zu erkennen. Später habe ich daran gearbeitet, das erkannte Gesichtsbild aufzuzeichnen und ein separates Modell für dieses Gesichtsbild zu trainieren. Die Grafikkarte, die ich während meines Studiums verwendet habe, RTX 2060 (es ist die Grafikkarte mit der höchsten Kapazität während meines Studiums), war nicht voll leistungsfähig, insbesondere weil alle Ressourcen dieser Grafikkarte genutzt wurden und ich nicht die gewünschte Genauigkeitsrate erreichen konnte , die Anzeige einer sehr langsamen Software wie Keras RetinaNet. Ich habe entschieden, dass es für Computer ohne Karte nichts kann.

Als andere Methode habe ich jedoch mit einer Software namens Haar Cascade gearbeitet, die im Allgemeinen keine künstliche Intelligenz unterstützt. Mit dieser Software habe ich beschlossen, die bestimmten Punkte im menschlichen Gesicht zu erkennen und eine Gesichtserkennung durchzuführen, indem ich mathematische Operationen an diesen Punkten durchführe. Selbst wenn ich zu diesem Zeitpunkt daran dachte, maschinelles Lernen mit den erhaltenen Punktdaten durchzuführen, veranlassten mich die sehr geringen Genauigkeitsraten mit Haar Cascade und die Probleme bei der Erkennung einiger Punkte auf dem menschlichen Gesicht dazu, eine andere Softwarearchitektur anstelle dieser Software zu verwenden.

Ich habe mich jedoch entschieden, die Architektur namens DeepFace im Einklang mit meinen Studien und den Ressourcen, die ich gelesen habe, zu verwenden. Diese Architektur hingegen hat es mir ermöglicht, meine Arbeit in dieser Richtung fortzusetzen, insbesondere die effiziente Nutzung der für einen Benutzer wichtigen Systemressourcen sowie die Open-Source-Struktur und die hohe Genauigkeitsrate. Die wichtigste Funktion dieser Software besteht darin, mithilfe des Deep-Learning-Algorithmus das Gesichtsbild der im Computer registrierten Person mit dem menschlichen Gesicht zu vergleichen, das im beim Anmelden aufgenommenen Bild erkannt wurde.

Meine nächsten Schritte bestehen darin, ein DEB-Paket zu erstellen. Ich habe aktiv Bash- und Python-Dateien im DEB-Paket verwendet. Ich habe die Schnittstellenentwicklung im Zusammenhang mit der Installationsphase mit PyQt5 durchgeführt. Mit dieser Schnittstelle kann der Benutzer sein eigenes Gesichtsbild aufzeichnen und die erforderliche TensorFlow-, DeepFace- und andere Software einfacher installieren. Das DEB-Paket enthält zwei grundlegende Bash-Dateien. Während die entsprechenden Installationsschritte mit einem dieser Pakete durchgeführt werden, wird die Gesichtserkennung beim Computerstart mit der anderen Bash-Datei durchgeführt. Anschließend werden mit SQLite3 entsprechende Datenbankoperationen für korrekte oder fehlerhafte Eingaben durchgeführt und der Benutzer kann die Sicherheit seines Computers nach seinen Wünschen steuern. Darüber hinaus wird das fehlerhafte Kamerabild für den falschen Eintrag gespeichert, damit der Benutzer es später überprüfen kann und die Personen erkennt, die versuchen, seinen Computer unerlaubt zu öffnen. Der Nutzer hat jedoch optional die Möglichkeit, sämtliche Bewerbungsdaten zu löschen.

Der Benutzer hingegen kann die Gesichtserkennung bei jedem Computerstart durchführen, indem er die Gesichtserkennungsanwendung zur ersten Anwendung macht. Hierzu kann das Anwendungssymbol im Desktop-Anwendungsmenü verwendet werden. Darüber hinaus wurden für erweiterte Vorgänge Terminalbefehle bevorzugt, wodurch eine Umgebung voller Autorisierung für den Benutzer geschaffen wurde. Mit dieser entwickelten Anwendung ist die Verwendung für Benutzer ohne oder mit nicht unterstützten Grafikkarten einfach und es wurden hohe Sicherheitsraten erreicht, selbst wenn alle Ressourcen genutzt werden, sofern eine unterstützte Grafikkarte vorhanden ist.

Texterkennungsanwendung

Ich habe beschlossen, eine Software für Pardus-Benutzer zu entwickeln, um die Textausdrücke in jedem Bild einfach zu erhalten und zu verwenden und den täglichen Betrieb von Pardus-Benutzern im Allgemeinen zu erleichtern. Dafür habe ich OCR (Optical Character Recognition) verwendet und mit dieser Methode können Textausdrücke auf einem Bild leicht erhalten werden. OCR wird hauptsächlich unter drei Hauptüberschriften untersucht: Bildvorverarbeitung, Zeichenerkennung und Nachverarbeitung. Mit der Bildvorverarbeitung ist es möglich, das Bild zu verbessern und klare Ausdrucksformen aus dem Bild zu gewinnen. In der Zeichenerkennungsphase werden Textausdrücke erkannt und hierfür eine Merkmalsextraktionsmethode verwendet. Die Zeichen, die definitiv erkannt werden, werden verarbeitet, aber die Zeichen, die nicht definitiv bestimmt werden können, werden nicht verarbeitet. Im Rahmen der Nachbearbeitung werden die erkannten Zeichen auf ihre Richtigkeit geprüft.

PyQt5- und Pytesseract-Bibliotheken werden für OCR verwendet, damit der Benutzer sie einfach verwenden kann. Es wird auch Pardus-Benutzern mit dem DEB-Paket zur Verfügung stehen.

Der Arbeitsalgorithmus der Anwendung ist der Dateipfad des relevanten Bildes vom Benutzer. Wenn der Dateipfad falsch ist, wird ein Fehler ausgegeben. Bei korrekter Bildverarbeitung werden OCR-Vorgänge durchgeführt. Bei OCR erfolgt eine Fehlerausgabe, wenn der Textausdruck nicht erkannt wird. Wenn der Textausdruck erkannt wird und die OCR im Allgemeinen erfolgreich ist, wird der Textausdruck auf dem Bildschirm ausgegeben. Optional kann der Benutzer die relevanten Ausdrücke im TXT-Format speichern.

QR-Code-Generator

Pardus-Benutzer ohne die Notwendigkeit weiterer Software und Office-Dokumente usw. Es wurde eine Anwendung entwickelt, um in bestimmten Bereichen einen einfacheren QR-Code zu erstellen. Mit dieser Anwendung werden PyQt5-, Pypng- und Pyqrcode-Bibliotheken verwendet. Für den Benutzer wurde ein DEB-Paket erstellt. Der Benutzer schreibt zunächst die gewünschten Textausdrücke. Anschließend wird mit Pyqrcode ein QR-Code erstellt. Beim Erstellen des generierten QR-Codes im Home-Verzeichnis des Benutzers werden die Zeitinformationen als Dateinamen gespeichert und hierfür werden Time- und Pypng-Bibliotheken verwendet. Zusätzlich wird der generierte QR-Code auf dem Bildschirm des Benutzers angezeigt.

Darüber hinaus wurde das Logo der Anwendung aus dem Wort Pardus erstellt und die Logofarbe ist mit dem Pardus-Logo kompatibel.