Rumah pembangunan bahagian belakang Tutorial Python Kaedah dan langkah untuk melaksanakan pengecaman muka menggunakan Python

Kaedah dan langkah untuk melaksanakan pengecaman muka menggunakan Python

May 07, 2023 pm 08:43 PM
python

Untuk persekitaran pembangunan kami akan menggunakan Edisi Komuniti Visual Studio.

Jika ia belum dipasang pada komputer anda, anda boleh memuat turunnya dari sini. dan pasang pembangunan desktop menggunakan C++.

Kaedah dan langkah untuk melaksanakan pengecaman muka menggunakan Python

Sekarang kami mempunyai Visual Studio untuk pembangunan desktop menggunakan C++, kami boleh memulakan projek kami.

Gunakan Visual Studio untuk membuka direktori baharu dan mencipta persekitaran python baharu. Kami akan menggunakan venv Buka terminal bersepadu anda dan tulis python -m venv venv. Kemudian aktifkan persekitaran dengan menaip venv/bin/Activate.ps1. Ini untuk PowerShell.

Jika anda menggunakan mana-mana terminal lain, anda boleh mencari senarai penuh di sini

Kaedah dan langkah untuk melaksanakan pengecaman muka menggunakan Python

Sekarang kita telah selesai mencipta persekitaran maya, mari mula mengekstrak kebergantungan kami . Untuk ini kita memerlukan opencv dan face_recognition. Gunakan pip dalam terminal anda.

pip install opencv-python face_recognition

Pengecaman Muka ialah perpustakaan yang menggunakan perpustakaan dlib yang canggih. Kami bersedia untuk menulis beberapa kod dan mengenali beberapa wajah.

Buat fail python baharu, kami akan memanggil fail missingPerson.py dengan mengandaikan kami akan menggunakan aplikasi kami untuk memadankan orang yang hilang. Import kebergantungan kami dan tulis beberapa baris pertama kami.

import cv2
import numpy as np
import face_recognition
import os
 
from face_recognition.api import face_distance

Dengan mengandaikan semua foto kami disimpan dalam storan pelayan kami, kami perlu terlebih dahulu menarik imej semua orang ke dalam aplikasi kami dan membaca imej tersebut.

path = 'MissingPersons'
images = []
missingPersons = []
missingPersonsList = os.listdir(path)
 
for missingPerson in missingPersonsList :
    curImg = cv2.imread(f'{path}/{missingPerson}')
    images.append(curImg)
    missingPersons.append(os.path.splitext(missingPerson)[0])
print(missingPersons)

Dalam bahagian ini, kami akan menggunakan opencv untuk membaca semua imej orang yang hilang dan menambahkannya pada senarai orang yang hilang kami.

Selepas kita membaca semua imej muka yang hilang daripada storan, kita perlu mencari pengekodan muka supaya kita boleh menggunakan pengesan muka CNN untuk mencipta susunan 2D kotak sempadan muka dalam imej.

def findEncodings(images):
    encodeList = []
    for img in images:
        img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
        encode = face_recognition.face_encodings(img)[0]
        encodeList.append(encode)
    print(encodeList)
    return encodeList
 
encodeListKnown = findEncodings(images)
print('Encoding Complete')

Kami menyimpan tatasusunan 2D ke dalam senarai pengekodan wajah yang diketahui. Ini akan mengambil masa beberapa minit.

Sekarang kami mempunyai kod muka untuk semua orang yang hilang, yang perlu kami lakukan sekarang ialah memadankannya dengan imej wartawan kami. pengecaman_muka sangat mudah digunakan.

def findMissingPerson(encodeListKnown, reportedPerson='found1.jpg'):
    person = face_recognition.load_image_file(f'ReportedPersons/{reportedPerson}]')
    person = cv2.cvtColor(person,cv2.COLOR_BGR2RGB)
 
    try:
        encodePerson = face_recognition.face_encodings(person)[0]
 
        comparedFace = face_recognition.compare_faces(encodeListKnown,encodePerson)
        faceDis = face_recognition.face_distance(encodeListKnown,encodePerson)
        matchIndex = np.argmin(faceDis)
        if comparedFace[matchIndex]:
            name = missingPersons[matchIndex].upper()
            print(name)
            return name
        else:
          print('Not Found')
          return False
        
    except IndexError as e:
        print(e)
        return e

Mula-mula kita perlu memuatkan fail imej orang yang dilaporkan dan mengekod wajah mereka. Yang tinggal hanyalah membandingkan pengekodan muka yang dilaporkan dengan perkara yang sudah kita ketahui tentang pengekodan muka. Kemudian logik mudah sepadan dengan indeks mereka dan kembali jika orang itu ditemui dalam senarai missingPersons kami.

Pengecaman muka ini bukan sahaja untuk mencari orang yang hilang. Ia mengesan dan mengecam muka dan boleh beroperasi mengikut keperluan.

Atas ialah kandungan terperinci Kaedah dan langkah untuk melaksanakan pengecaman muka menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1545
276
Apakah analisis sentimen dalam perdagangan cryptocurrency? Apakah analisis sentimen dalam perdagangan cryptocurrency? Aug 14, 2025 am 11:15 AM

Jadual Kandungan Apakah analisis sentimen dalam perdagangan cryptocurrency? Mengapa analisis sentimen penting dalam sumber pelaburan cryptocurrency sumber data emosi a. Platform Media Sosial b. Media berita c. Alat untuk analisis sentimen dan teknologi alat yang biasa digunakan dalam analisis sentimen: Teknik yang diterima pakai: Mengintegrasikan analisis sentimen ke dalam strategi perdagangan bagaimana peniaga menggunakannya: Strategi Contoh: Dengan mengandaikan senario senario perdagangan BTC Penetapan: Isyarat Emosi: Tafsiran Pedagang: Keputusan: Batasan dan Risiko Analisis Sentimen Menggunakan Emosi Kajian 2025 baru -baru ini oleh Hamid

Bagaimana untuk mengendalikan dataset besar di Python yang tidak sesuai dengan ingatan? Bagaimana untuk mengendalikan dataset besar di Python yang tidak sesuai dengan ingatan? Aug 14, 2025 pm 01:00 PM

Apabila memproses set data besar yang melebihi memori dalam python, mereka tidak boleh dimuatkan ke dalam RAM pada satu masa. Sebaliknya, strategi seperti pemprosesan pemprosesan, penyimpanan cakera atau streaming harus diterima pakai; Fail CSV boleh dibaca dalam ketulan melalui parameter Pandas 'dan blok diproses oleh blok. Dask boleh digunakan untuk merealisasikan penjadualan dan penjadualan tugas yang serupa dengan sintaks pandas untuk menyokong operasi data memori yang besar. Tulis fungsi penjana untuk membaca fail teks mengikut baris untuk mengurangkan penggunaan memori. Gunakan format penyimpanan kolumnar parket yang digabungkan dengan pyarrow untuk membaca lajur atau kumpulan baris tertentu dengan cekap. Gunakan Memmap Numpy untuk memori peta tatasusunan berangka besar untuk mengakses serpihan data pada permintaan, atau menyimpan data dalam data ringan seperti SQLite atau DuckDB.

Cara debug kod python anda Cara debug kod python anda Aug 13, 2025 am 12:18 AM

UsePrint () StatementStoCheckVariableValuuesandExecutionFlow, AddingLabelSandTypesforClarity, andRemoveThembeforeCommitting; 2.Usethepythondebugger (PDB) withbreakpoint () TopAuseExecution, InspectVariables, danStepThoughleShoughleShoughleShoTHoughleShoughleShoughleShoTHoughleVariable, danStepThoughleShoTHoughleShoTheShoThoTheShoThoTheShoThereShoTher ()

Bagaimana cara debug kod python dalam teks luhur? Bagaimana cara debug kod python dalam teks luhur? Aug 14, 2025 pm 04:51 PM

PenggunaanSublimetext'sbuildsystemtorunpythonscriptsandcatcherrorsbypressingctrl baftersettingthecorrectbuildsystemorcreatingacustomone.2.insertstrategicprint () statementShocheckVariahvariues, types, andexecutionflow, menggunakanLabelsandre.

Bagaimana cara menjalankan kod python dalam teks luhur? Bagaimana cara menjalankan kod python dalam teks luhur? Aug 16, 2025 am 04:58 AM

Pastikan Python dipasang dan ditambah ke laluan sistem, jalankan Python-versi atau Python3-pengesahan versi melalui terminal; 2. Simpan fail python sebagai lanjutan .py, seperti hello.py; 3. Buat sistem binaan tersuai dalam sublimetext, pengguna Windows menggunakan {"cmd": ["python", "-u", "$ file"]}, pengguna macOS/linux menggunakan {"cmd": ["python3

Cara meratakan senarai bersarang atau senarai senarai di Python Cara meratakan senarai bersarang atau senarai senarai di Python Aug 12, 2025 am 09:49 AM

FlatteninganestedlistinpythonconvertsalistwithsublistsIntoasingleFlatlist, andthebestmethoddependsonThenestingDepthanddatasize.forone levelnesting, uselistcomprehension [

Cara debug skrip python di vscode Cara debug skrip python di vscode Aug 16, 2025 am 02:53 AM

Untuk menyahpepijat skrip python, anda perlu terlebih dahulu memasang lanjutan python dan mengkonfigurasi penterjemah, kemudian buat fail launch.json untuk menetapkan konfigurasi debugging, kemudian tetapkan titik putus dalam kod dan tekan F5 untuk memulakan debugging. Skrip akan dijeda pada titik putus, membolehkan pembolehubah pemeriksaan dan pelaksanaan langkah demi langkah. Akhirnya, dengan memeriksa masalah dengan melihat output konsol, menambah log atau menyesuaikan parameter, dan lain -lain, untuk memastikan bahawa proses debugging adalah mudah dan cekap selepas persekitaran adalah betul.

Contoh Python Plotly Dash Contoh Python Plotly Dash Aug 12, 2025 pm 05:23 PM

Contoh ini menunjukkan aplikasi web interaktif yang dibina di atas Pythonplotlydash. 1. Buat antara muka aplikasi web menggunakan DASH. 2. Pilih Siri Data (jualan, keuntungan, perbelanjaan) melalui menu lungsur (jatuh turun). 3. Gunakan plot secara dinamik melukis carta baris siri masa yang sama. 4. Data adalah siri masa 100 hari yang disimulasikan dan ditukar menjadi format yang panjang untuk lukisan mudah. 5. Fungsi panggil balik mengemas kini kandungan carta dalam masa nyata mengikut pilihan pengguna. Selepas berlari, aplikasi dimulakan di pelayan tempatan dan boleh diakses melalui penyemak imbas. Ia menyokong interaksi dinamik dan kemas kini masa nyata. Ia sesuai untuk pemula untuk memahami struktur asas dan mekanisme tindak balas dash. Ia juga boleh ditambah dan diakses oleh data sebenar.

See all articles