FACE RECOGNITION DOOR LOCK


   FACE RECOGNITION DOOR LOCK 




Dosen Pembimbing :
Dr. Samuel Beta Kuntardjo, Ing.Tech., M.T.


Disusun Oleh :
Kelompok 5

Gery Alghifari                        4.34.22.0.10
Keisya Djenar DL                  4.34.22.0.13
MarshandaAN                      4.34.22.0.14
Raka Ramadhana                4.34.22.0.19

        

PROGRAM STUDI TEKNOLOGI REKAYASA ELEKTRONIKA

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI SEMARANG

2025


BAB I

PENDAHULUAN

1.1  Latar Belakang

Perkembangan teknologi keamanan terus mengalami inovasi seiring dengan meningkatnya risiko penyusupan dan penyalahgunaan akses. Namun, banyak sistem keamanan tradisional, seperti kunci fisik atau kartu akses, masih rentan terhadap pembobolan, kehilangan, atau duplikasi. Hal ini menimbulkan kebutuhan akan solusi yang lebih andal dan personal untuk memastikan hanya individu yang berwenang yang dapat mengakses suatu ruangan. Salah satu pendekatan yang menjanjikan adalah penggunaan biometrik, khususnya pengenalan wajah (face recognition), karena karakteristik wajah setiap orang bersifat unik dan sulit dipalsukan dibandingkan dengan metode konvensional. Selain itu, kemajuan dalam komputasi edge dan perangkat single-board computer seperti Raspberry Pi memungkinkan implementasi sistem pengenalan wajah secara real-time dengan biaya yang terjangkau serta efisiensi energi yang baik. Dengan memanfaatkan teknologi ini, sistem keamanan dapat menjadi lebih otomatis, akurat, dan mudah digunakan tanpa mengorbankan keandalan. Oleh karena itu, proyek Face Recognition Door Lock ini hadir sebagai solusi inovatif yang menggabungkan keamanan biometrik, kemudahan penggunaan, dan efisiensi biaya untuk aplikasi penguncian pintu otomatis.

 

1.2  Tujuan

Tujuan dari perancangan alat ini, yaitu :

1.      Membuat prototipe sistem buka pintu otomatis dengan teknoogi face recognition.

2.      Mempelajari dan mengimplementasikan OpenCV di Raspberry Pi.

3.      Menguji keakuratan dan keandalan sistem dalam mengenali wajah.

 

1.3  Rumusan Masalah

Berdasarkan uraian di atas, terdapat rumusa masalah yang harus diperhatikan, yaitu:

1.      Bagaimana cara membuat sistem buka kunci pintu berbasis pengenaan wajah?

2.      Bagaimana mengintegrasikan OpenCV dengan Raspberry Pi untuk face recognition secara real-time?

3.      Seberapa akurat sistem ini dalam mengenali wajah yang telah terdaftar?

 


 

BAB II

TINJAUAN PUSTAKA

2.1 Face Recognition

Pengenalan wajah (Face Recognition) adalah teknologi biometrik yang mengidentifikasi atau memverifikasi individu berdasarkan ciri khas wajah. Dalam proyek ini, dua pendekatan utama digunakan untuk deteksi wajah: Haar Cascade (berbasis feature-based) dan Deep Learning/Convolutional Neural Network (CNN) (berbasis feature learning).

1. Haar Cascade

  • Konsep:
    Haar Cascade adalah metode deteksi objek berbasis machine learning yang menggunakan ciri-ciri visual (features) seperti tepi, garis, atau pola intensitas piksel (misalnya: area mata gelap dibandingkan pipi yang terang). Algoritma ini dilatih dengan banyak sampel wajah dan non-wajah untuk menghasilkan model kaskade yang efisien.
  • Cara Kerja:
    • Menggunakan sliding window untuk memindai gambar secara bertahap.
    • Fitur Haar (seperti perbedaan intensitas daerah gambar) diekstraksi dan diklasifikasikan secara cepat menggunakan AdaBoost.
    • Ringan secara komputasi, sehingga cocok untuk perangkat rendah daya seperti Raspberry Pi.
  • Keterbatasan:
    • Kurang akurat pada kondisi pencahayaan buruk atau wajah miring.
    • Rentan terhadap false positive (misalnya mengira tekstur tertentu sebagai wajah).

2. Deep Learning (CNN)

  • Konsep:
    Convolutional Neural Network (CNN) adalah arsitektur deep learning yang dirancang untuk memproses data visual dengan mengekstraksi fitur hierarkis (dari tepi sederhana hingga pola kompleks seperti bentuk mata/hidung).
  • Cara Kerja:
    • Lapisan konvolusi secara otomatis mempelajari fitur wajah dari data latih.
    • Model seperti FaceNetVGG-Face, atau ResNet dapat digunakan untuk mengenali wajah dengan akurasi tinggi.
    • Membutuhkan dataset besar dan komputasi lebih intensif dibanding Haar Cascade.
  • Keunggulan:
    • Lebih robust terhadap variasi pencahayaan, ekspresi, atau sudut wajah.
    • Dapat diintegrasikan dengan library seperti Dlib atau TensorFlow Lite untuk optimasi di perangkat edge.

Peran OpenCV

  • Library OpenCV (Open Source Computer Vision) menyediakan tools siap pakai untuk:
    • Pra-pemrosesan gambar: Konversi warna (RGB ke grayscale), normalisasi kontras, atau reduksi noise.
    • Deteksi wajah: Implementasi Haar Cascade yang sudah dilatih (pre-trained model) atau integrasi dengan model CNN.
    • Ekstraksi fitur: Menggunakan algoritma seperti LBPH (Local Binary Pattern Histogram) untuk pengenalan wajah sederhana.
    • Optimasi: Komputasi real-time dengan dukungan hardware acceleration (misalnya via Raspberry Pi GPU).

 

2.2 Raspberry Pi

Raspberry Pi adalah komputer papan tunggal (single-board computer atau SBC) berukuran kecil (sebesar kartu kredit) yang dikembangkan oleh Raspberry Pi Foundation di Inggris. Dirancang untuk tujuan edukasi dan komputasi terjangkau, perangkat ini kini populer di berbagai proyek IoT, robotika, otomasi, dan embedded system—termasuk proyek Face Recognition Door Lock yang Anda kembangkan.

Fitur Utama Raspberry Pi

1.      Harga Terjangkau

o    Raspberry Pi dijual dengan harga relatif murah (mulai dari $10–$100 tergantung model), membuatnya ideal untuk proyek prototyping atau skala kecil.

2.      Spesifikasi Teknis (Contoh: Model Raspberry Pi 4/5)

o    Prosesor: ARM Cortex-A72/A76 (multicore 64-bit) dengan kecepatan 1.5–2.4 GHz.

o    RAM: 1GB–8GB (cukup untuk menjalankan OS Linux dan aplikasi computer vision).

o    Port: HDMI, USB, Ethernet, GPIO (untuk koneksi sensor/aktuator), CSI (kamera), DSI (display).

o    Konektivitas: Wi-Fi, Bluetooth, dan dukungan USB 3.0/4.0 (untuk transfer data cepat).

3.      Sistem Operasi

o    Mendukung OS berbasis Linux seperti Raspberry Pi OS (sebelumnya Raspbian), Ubuntu, atau OS khusus seperti OpenCV-optimized OS.

4.      Konsumsi Daya Rendah

o    Hanya membutuhkan daya 5V (sumber dari adaptor USB atau power bank), cocok untuk perangkat always-on seperti sistem keamanan pintu.

Peran Raspberry Pi dalam Proyek Face Recognition Door Lock

1.      Komputasi Edge untuk Pengenalan Wajah

o    Raspberry Pi bertindak sebagai otak sistem yang menjalankan algoritma Haar Cascade/CNN untuk deteksi dan verifikasi wajah secara real-time.

o    Dapat mengintegrasikan library seperti OpenCV atau TensorFlow Lite untuk pemrosesan gambar.

2.      Antarmuka dengan Perangkat Eksternal

o    GPIO (General Purpose Input/Output): Menghubungkan modul kunci pintu elektrik (relay/solenoid) untuk membuka pintu saat wajah terverifikasi.

o    Kamera: Menggunakan modul kamera resmi Raspberry Pi (atau USB webcam) untuk menangkap gambar wajah.

3.      Jaringan dan Penyimpanan

o    Menyimpan database wajah terdaftar di SD card atau terhubung ke cloud via internet.

o    Dapat dikendalikan secara remote via SSH atau antarmuka web.

 

2.3 Electromagnetic Lock

Electromagnetic Lock (EM Lock atau Maglock) adalah jenis kunci elektrik yang menggunakan prinsip elektromagnetik untuk mengunci pintu secara otomatis. Kunci ini banyak digunakan dalam sistem kontrol akses karena keandalannya dan kemudahan pemasangan.

Cara Kerja Electromagnetic Lock:

1.      Komponen Utama:

o    Elektromagnet: Dipasang di bagian atas pintu (biasanya di daun pintu).

o    Armature Plate (Pelat Logam): Dipasang di bagian kusen pintu yang sejajar dengan elektromagnet.

2.      Prinsip Kerja:

o    Ketika daya listrik (12V DC atau 24V DC) mengalir ke elektromagnet, medan magnet yang kuat tercipta, menarik armature plate sehingga pintu terkunci.

o    Jika daya listrik diputus (misalnya saat terjadi pemadaman listrik atau saat akses diberikan), medan magnet hilang dan pintu dapat dibuka dengan mudah.

Fitur dan Kelebihan:

·         Kuat dan Tahan Lama: Dapat menahan beban hingga ratusan kilogram (misalnya 600 lbs atau lebih).

·         Tanpa Gerakan Mekanis: Tidak ada bagian yang bergesekan, sehingga minim perawatan.

·         Integrasi dengan Sistem Kontrol Akses: Bisa dikendalikan via keypad, kartu RFID, fingerprint, atau remote.

·         Fail-Safe: Biasanya terbuka saat listrik mati (kecuali model Fail-Secure yang tetap terkunci).

Kekurangan:

·         Membutuhkan daya listrik terus-menerus untuk tetap terkunci.

·         Tidak cocok untuk pintu yang membutuhkan penguncian mekanis tambahan (biasanya dipasang dengan door sensor untuk memastikan keamanan).


 

BAB III

PERANCANGAN ALAT

3.1  Daftar Komponen

Alat & Bahan:

1.      Raspberry Pi 4 + Kamera Pi / Webcam USB

2.      Electromagnetic Lock

3.      Modul Relay

4.      Baterai 3.7 Volt (3 Buah)

5.      Tripleks

6.      Knop Pintu

Software:

1.      OpenCV

2.      MobaXterm

3.      Library: face_recognition, dlib, numpy

 

3.2  Cara Kerja

Proses diawali dengan pengumpulan dataset wajah, di mana sistem merekam berbagai gambar wajah pengguna yang sah dari berbagai sudut dan kondisi pencahayaan. Gambar-gambar ini disimpan dalam format yang kompatibel dengan OpenCV seperti JPEG atau PNG, kemudian diberi label sesuai identitas pengguna. Data yang lengkap dan bervariasi sangat penting untuk memastikan akurasi sistem dalam mengenali wajah nantinya.

Setelah dataset terkumpul, sistem melakukan pelatihan model menggunakan algoritma pengenalan wajah seperti Haar Cascade, LBPH, atau Deep Learning. OpenCV memproses gambar-gambar tersebut dengan mengekstraksi ciri-ciri khas wajah seperti jarak antar mata, bentuk hidung, dan kontur wajah. Hasil ekstraksi ini kemudian diubah menjadi pola referensi yang akan digunakan untuk pencocokan wajah. Proses training ini menentukan seberapa baik sistem dapat mengenali wajah yang terdaftar dan membedakannya dari wajah yang tidak dikenal.

Ketika model sudah terlatih, sistem beralih ke mode operasi real-time. Kamera terus memantau area di depan pintu dan mendeteksi keberadaan wajah. Begitu wajah terdeteksi, OpenCV segera mengekstrak fitur-fitur wajah tersebut dan membandingkannya dengan data yang sudah tersimpan. Jika tingkat kemiripan mencapai ambang batas yang ditentukan, sistem mengidentifikasi orang tersebut sebagai pengguna yang sah. Sebaliknya, jika wajah tidak dikenali atau tingkat kemiripannya rendah, akses akan ditolak.

Apabila wajah berhasil teridentifikasi sebagai pengguna yang terdaftar, sistem mengirim sinyal ke modul relay untuk mengendalikan kunci elektromagnetik. Relay akan memutus aliran listrik ke elektromagnet, menyebabkan medan magnet menghilang dan kunci terbuka. Sistem ini biasanya dilengkapi dengan indikator visual atau suara seperti LED atau buzzer untuk memberi tahu pengguna apakah akses diberikan atau ditolak. Karena kunci elektromagnetik bekerja dengan prinsip fail-safe, pintu akan tetap terbuka saat tidak ada daya, sehingga memenuhi standar keselamatan untuk situasi darurat.

Dengan alur kerja yang terintegrasi ini, sistem mampu memberikan solusi kontrol akses yang cepat, akurat, dan aman menggunakan teknologi pengenalan wajah. Proses otomatis dari deteksi hingga pembukaan pintu berlangsung dalam hitungan detik, menjadikannya pilihan ideal untuk berbagai aplikasi keamanan modern.

3.3.   Diagram Blok

 

Gambar 1. Diagram Blok

 

3.4  Diagram Alir

 

Gambar 2. Diagram Alir

            3.5 Diagram Gambar

Gambar 3. Diagram Gambar




3.6  Kode Program

 

 

/* ==============================================================

Pemrogram      : Kelompok RE-3A/5

  1. 10-Gery Algifari           NIM: 4.34.22.0.10

  2. 13-Keisya Djenar Dinda L   NIM: 4.34.22.0.13

  3. 14-Marshanda Aprilian N    NIM: 4.34.22.0.14

  4. 19-Raka Ramadhana          NIM: 4.34.22.0.19

Tgl.Praktikum  : Senin, 30 Juni 2025

=================================================================

add_face.py

- Program untuk pengumpulan dataset wajah menggunakan kamera

- Implementasi face detection dengan OpenCV untuk sistem pengenalan wajah

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

Materi baru:

- Pengolahan citra digital dengan OpenCV

- Deteksi wajah menggunakan Haar Cascade Classifier

- Pembuatan dataset wajah terstruktur

- Capture frame video secara real-time

- Penanganan file dan direktori dengan modul os

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

Komponen:

- 1x Raspberry Pi (dengan kamera terpasang)

- 1x Modul kamera/webcam USB (jika menggunakan Raspberry Pi tanpa kamera)

- Kabel dan periferal pendukung

=================================================================*/

import cv2

import os

 

# ====== 1. Input Nama Orang ======

name = input("Masukkan nama orang: ").strip().lower().replace(" ", "_")

output_dir = f"dataset/{name}"

 

# ====== 2. Buat Folder ======

if not os.path.exists(output_dir):

    os.makedirs(output_dir)

    print(f"[INFO] Folder dibuat: {output_dir}")

else:

    print(f"[INFO] Folder sudah ada: {output_dir}")

 

# ====== 3. Load Kamera & Face Detector ======

cap = cv2.VideoCapture(0)

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

 

count = 0

max_photos = 20  # jumlah foto per orang

 

print("[INFO] Tekan 'q' untuk keluar lebih cepat")

 

while True:

    ret, frame = cap.read()

    if not ret:

        break

 

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    faces = face_cascade.detectMultiScale(gray, 1.3, 5)

 

    for (x, y, w, h) in faces:

        count += 1

        face_img = frame[y:y+h, x:x+w]

        face_img = cv2.resize(face_img, (400, 400))

        file_path = os.path.join(output_dir, f"{name}_{count}.jpg")

        cv2.imwrite(file_path, face_img)

 

        cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)

        cv2.putText(frame, f"{count}/{max_photos}", (x, y-10), cv2.FONT_HERSHEY_SIMPLEX, 0.6, (255, 255, 255), 2)

 

    cv2.imshow('Capture Dataset', frame)

 

    key = cv2.waitKey(1)

    if key == ord('q') or count >= max_photos:

        break

 

cap.release()

cv2.destroyAllWindows()

print(f"[INFO] Selesai. {count} foto disimpan di: {output_dir}")

 

 

/* ==============================================================

Pemrogram      : Kelompok RE-3A/5

  1. 10-Gery Algifari           NIM: 4.34.22.0.10

  2. 13-Keisya Djenar Dinda L   NIM: 4.34.22.0.13

  3. 14-Marshanda Aprilian N    NIM: 4.34.22.0.14

  4. 19-Raka Ramadhana          NIM: 4.34.22.0.19

Tgl.Praktikum  : Senin, 30 Juni 2025

=================================================================

face_lock.py

- Sistem pengenalan wajah berbasis Raspberry Pi dengan kontrol relay

- Implementasi face recognition untuk kontrol akses pintu elektromagnetik

- Integrasi notifikasi Telegram untuk wajah tak dikenal

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

Materi baru:

- Face recognition menggunakan library face_recognition

- Integrasi GPIO untuk kontrol relay

- Pengiriman notifikasi melalui API Telegram

- Real-time face detection dan matching

- Penanganan frame video dengan imutils

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

Komponen:

- 1x Raspberry Pi dengan kamera/webcam

- 1x Modul relay 5V

- 1x Electromagnetic lock (12V/24V)

- Power supply sesuai kebutuhan

- Kabel jumper dan komponen pendukung

=================================================================*/

from imutils.video import VideoStream

import face_recognition

import imutils

import pickle

import time

import cv2

import RPi.GPIO as GPIO

import requests

from datetime import datetime

 

# === KONFIGURASI TELEGRAM ===

TELEGRAM_TOKEN = '7986341460:AAHHP1kHcUxoOhH62f7Il2xZiupRwqJaYWk'  # Ganti dengan token asli

CHAT_ID = '1210459714'                      # Ganti dengan chat ID Telegram kamu

 

def kirim_ke_telegram(image_path, pesan):

    url = f'https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendPhoto'

    with open(image_path, 'rb') as photo:

        files = {'photo': photo}

        data = {'chat_id': CHAT_ID, 'caption': pesan}

        response = requests.post(url, files=files, data=data)

        if response.status_code == 200:

            print("[INFO] Foto berhasil dikirim ke Telegram.")

        else:

            print(f"[ERROR] Gagal kirim Telegram: {response.status_code}")

 

# ================= GPIO SETUP =================

RELAY = 17

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BCM)

GPIO.setup(RELAY, GPIO.OUT)

GPIO.output(RELAY, GPIO.HIGH)  # Start: HIGH (tidak aktif)

 

# ================= LOAD ENCODING =================

print("[INFO] Memuat data wajah dan kamera...")

data = pickle.loads(open("encodings.pickle", "rb").read())

detector = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")

vs = VideoStream(src=0).start()

time.sleep(2.0)

 

print("[INFO] Masuk ke mode PENGENALAN WAJAH...")

 

try:

    while True:

        GPIO.output(RELAY, GPIO.HIGH)  # Selalu HIGH saat pengenalan

 

        frame = vs.read()

        frame = imutils.resize(frame, width=500)

        rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)

        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

 

        rects = detector.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5,

                                          minSize=(30, 30), flags=cv2.CASCADE_SCALE_IMAGE)

        boxes = [(y, x + w, y + h, x) for (x, y, w, h) in rects]

        encodings = face_recognition.face_encodings(rgb, boxes)

 

        wajah_dikenal = False

        nama_wajah = "Unknown"

 

        for (encoding, (top, right, bottom, left)) in zip(encodings, boxes):

            matches = face_recognition.compare_faces(data["encodings"], encoding)

            name = "Tidak dikenal"

 

            if True in matches:

                matchedIdxs = [i for (i, b) in enumerate(matches) if b]

                counts = {}

                for i in matchedIdxs:

                    matched_name = data["names"][i]

                    counts[matched_name] = counts.get(matched_name, 0) + 1

                name = max(counts, key=counts.get)

                wajah_dikenal = True

                nama_wajah = name

 

                cv2.rectangle(frame, (left, top), (right, bottom), (0, 255, 0), 2)

                cv2.putText(frame, name, (left, top - 10),

                            cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 255, 0), 2)

            else:

                # Wajah tidak dikenal

                cv2.rectangle(frame, (left, top), (right, bottom), (0, 0, 255), 2)

                cv2.putText(frame, "Tidak dikenal", (left, top - 10),

                            cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 0, 255), 2)

 

                # Simpan dan kirim foto ke Telegram

                timestamp = datetime.now().strftime("%Y%m%d-%H%M%S")

                unknown_path = f"unknown_{timestamp}.jpg"

                cv2.imwrite(unknown_path, frame)

                print("[ALERT] Wajah tidak dikenal. Mengirim ke Telegram...")

                kirim_ke_telegram(unknown_path, f"Wajah tidak dikenal terdeteksi pada {timestamp}")

 

        # Jika wajah dikenali ? GPIO LOW 5 detik

        if wajah_dikenal:

            print(f"[INFO] Wajah dikenali: {nama_wajah}")

            print("[INFO] Mengaktifkan relay (GPIO LOW) selama 5 detik...")

            GPIO.output(RELAY, GPIO.LOW)

            time.sleep(5)

            GPIO.output(RELAY, GPIO.HIGH)

            print("[INFO] Kembali ke mode PENGENALAN WAJAH...\n")

 

        cv2.imshow("Face Recognition", frame)

 

        key = cv2.waitKey(1) & 0xFF

        if key == ord("q"):

            break

 

except KeyboardInterrupt:

    print("[INFO] Dihentikan oleh pengguna.")

 

# ================= Cleanup =================

cv2.destroyAllWindows()

vs.stop()

GPIO.output(RELAY, GPIO.HIGH)

GPIO.cleanup()

/* ==============================================================

Pemrogram      : Kelompok RE-3A/5

  1. 10-Gery Algifari           NIM: 4.34.22.0.10

  2. 13-Keisya Djenar Dinda L   NIM: 4.34.22.0.13

  3. 14-Marshanda Aprilian N    NIM: 4.34.22.0.14

  4. 19-Raka Ramadhana          NIM: 4.34.22.0.19

Tgl.Praktikum  : Senin, 30 Juni 2025

=================================================================

train_model.py

- Program untuk melatih model pengenalan wajah dari dataset gambar

- Pembuatan encoding wajah menggunakan library face_recognition

- Penyimpanan data encoding dalam format pickle untuk digunakan sistem

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

Materi baru:

- Ekstraksi fitur wajah menggunakan HOG (Histogram of Oriented Gradients)

- Pembuatan face encodings sebagai representasi numerik wajah

- Penyimpanan dan serialisasi data dengan modul pickle

- Pemrosesan dataset terstruktur dengan modul os

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

Komponen:

- 1x Komputer/Raspberry Pi

- Dataset gambar wajah dalam folder terstruktur

- Kamera/webcam (untuk pengambilan dataset)

=================================================================*/

import face_recognition

import pickle

import cv2

import os

 

dataset = "dataset"

encodings = []

names = []

 

print("[INFO] Start encoding faces...")

 

for root, dirs, files in os.walk(dataset):

    for file in files:

        if file.lower().endswith(('.jpg', '.png')):

            path = os.path.join(root, file)

            name = os.path.basename(root)

            image = cv2.imread(path)

            rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

 

            boxes = face_recognition.face_locations(rgb, model='hog')

            encs = face_recognition.face_encodings(rgb, boxes)

 

            for enc in encs:

                encodings.append(enc)

                names.append(name)

 

data = {"encodings": encodings, "names": names}

with open("encodings.pickle", "wb") as f:

    f.write(pickle.dumps(data))

 

print("[INFO] Encoding complete.")

 

 




 

BAB IV

PENUTUP

 

4.1 Kesimpulan

1. Sistem face recognition door lock dapat dibangun dengan biaya rendah namun tetap aman dan efisien.

2. Raspberry Pi dan OpenCV merupakan kombinasi tepat untuk sistem keamanan berbasis IoT.

3. Sistem berjalan baik dengan akurasi yang memadai dalam kondisi lingkungan yang mendukung.

 

 

 

BAB V

DAFTAR PUSTAKA


Turk, M., & Pentland, A. (1991). Eigenfaces for Recognition. Journal of Cognitive Neuroscience.

Dasar teori Eigenfaces.

Ahonen, T., et al. (2004). Face Recognition with Local Binary Patterns. IEEE.

Metode LBPH untuk pengenalan wajah.

Alcantarilla, P. F., et al. (2018). Low-Cost Face Recognition Systems for IoT Devices. IEEE IoT Journal.

Studi tentang optimasi pengenalan wajah di perangkat terbatas (seperti Raspberry Pi).



BAB VI

LAMPIRAN


Hasil


            Sistem mengirimkan peringatan adanya tidak tidak terkenali melalui telegram



Video simulasi dapat dilihat pada link youtube berikut :


https://youtu.be/CIVgxld13vM?si=6wAn6XolAHcZv94u











Komentar

Postingan populer dari blog ini

PROTOTYPE SMART HOME DENGAN ESP32 BERBASIS INTERNET OF THINGS

IoT Health Monitoring System for Sports: Real-Time Heart Rate and Temperature Tracking

MONITORING PENETAS TELUR BERBASIS IoT