Jadual Kandungan
Sediakan program perang pesawat
Pengecaman muka
Anggaran pose muka
Kawalan sikap pergerakan pesawat
Rumah Peranti teknologi AI Pengecaman muka masih boleh berfungsi seperti ini

Pengecaman muka masih boleh berfungsi seperti ini

May 11, 2023 pm 12:34 PM
papan kekunci butang pengecaman muka

Hari ini kami akan mengembangkannya dan memainkan pertempuran kapal terbang dengan wajah manusia. Walaupun idea itu serupa dengan pengecaman gerak isyarat, jumlah kod adalah lebih sedikit daripada versi pengecaman gerak isyarat.

Algoritma muka yang digunakan adalah tahap milisaat, kadar bingkai boleh mencapai 30, dan ia berjalan dengan lancar pada CPU komputer.

Saya akan berkongsi proses pelaksanaan projek di bawah, dan mendapatkan kod sumber lengkap projek di penghujung artikel.

Sediakan program perang pesawat

Cari versi Python program perang pesawat di Github, pasang Pygame dan jalankan.

Pengecaman muka masih boleh berfungsi seperti ini

Gunakan kekunci A, D, W dan S pada papan kekunci untuk mengawal arah pergerakan pesawat, masing-masing sepadan dengan kiri, kanan, atas dan bawah.

Jadi, apa yang perlu kita lakukan seterusnya ialah mengenali wajah, menganggarkan pose muka, dan memetakan hasil anggaran ke kiri, kanan, atas dan bawah untuk mengawal operasi pesawat.

Pengecaman muka

Di sini, kami menggunakan opencv untuk membaca strim video daripada kamera.

Hantar setiap bingkai dalam strim video ke model pengecaman muka dalam mediapipe untuk pengecaman.

Pengecaman muka masih boleh berfungsi seperti ini

Pipa media gambar bukan sahaja boleh mengecam muka, tetapi juga menandakan 6 perkara utama pada muka: mata kiri, mata kanan, telinga kiri, telinga kanan, hidung dan mulut.

Kod teras:

with self.mp_face_detection.FaceDetection(
model_selection=0, min_detection_confidence=0.9) as face_detection:
while cap.isOpened():
success, image = cap.read()
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
results = face_detection.process(image)
image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
if results.detections:
for detection in results.detections:
# 获取人脸框坐标
face_box = detection.location_data.relative_bounding_box
face_w, face_h = int(face_box.width * frame_w), int(face_box.height * frame_h)
face_l = int(face_box.xmin * frame_w) + face_w
face_t = int(face_box.ymin * frame_h)
face_r, face_b = face_l - face_w, face_t + face_h
# 显示人脸框
cv2.rectangle(image, (face_l, face_t), (face_r, face_b), (0, 255, 255), 2)
self.draw_zh_img(image, self.face_box_name_img, (face_r + face_l) // 2, face_t - 5)

pose_direct, pose_key_points = self.pose_estimate(detection)
# 显示人脸 6 个关键点
for point_name in FaceKeyPoint:
mp_point = self.mp_face_detection.get_key_point(detection, point_name)

point_x = int(mp_point.x * frame_w)
point_y = int(mp_point.y * frame_h)

point_color = (0, 255, 0) if point_name in pose_key_points else (255, 0, 255)
cv2.circle(image, (point_x, point_y), 4, point_color, -1)
# 显示关键点中文名称
point_name_img = self.face_key_point_name_img[point_name]
self.draw_zh_img(image, point_name_img, point_x, point_y-5)
Salin selepas log masuk

Ada sedikit ilmu yang perlu diberi perhatian oleh semua orang.

Draw_zh_img digunakan dalam kod untuk memaparkan bahasa Cina, kerana opencv tidak menyokong paparan langsung bahasa Cina. Oleh itu, saya menggunakan kaedah Imej dalam modul PIL untuk melukis gambar Cina terlebih dahulu dan menukarnya kepada format opencv.

Pengecaman muka masih boleh berfungsi seperti ini

Apabila diperlukan, gabungkan terus dengan strim video, dengan kecekapan tinggi dan tiada bingkai jatuh.

Anggaran pose muka

Sebelum pengecaman gerak isyarat, kami menggunakan bingkai bersebelahan untuk menilai pergerakan gerak isyarat. Anggaran pose muka hanya menggunakan bingkai semasa, yang agak mudah.

Kita boleh menentukan postur muka melalui jarak koordinat 6 titik utama muka

Pengecaman muka masih boleh berfungsi seperti ini

Di sini, jarak mendatar antara telinga kiri dan hidung Sangat rapat, oleh itu, kita boleh menganggarkan muka untuk membelok ke kiri dan dengan itu boleh menggerakkan pesawat ke kiri.

Begitu juga, dengan menggunakan perkara penting lain, kita boleh menganggarkan muka menoleh ke kanan, ke atas (menoleh ke atas) dan ke bawah (menoleh ke bawah)

Kod teras:

# 左耳与鼻子水平距离,判断面部左转
left_ear_to_nose_dist = left_ear.x - nose_pos.x 
# 右耳与鼻子水平距离,判断面部右转
nose_to_right_ear_dist = nose_pos.x - right_ear.x

# 鼻子与左眼垂直距离,判断面部向上
nose_to_left_eye_dist = nose_pos.y - left_eye.y
# 左耳与左眼垂直距离,判断面部向下
left_ear_to_left_eye_dist = left_ear.y - left_eye.y

if left_ear_to_nose_dist < 0.07:
# print('左转')
self.key_board.press_key('A')
time.sleep(0.07)
self.key_board.release_key('A')

return 'A', [FaceKeyPoint.NOSE_TIP, FaceKeyPoint.LEFT_EAR_TRAGION]
if nose_to_right_ear_dist < 0.07:
# print('右转')
self.key_board.press_key('D')
time.sleep(0.07)
self.key_board.release_key('D')
return 'D', [FaceKeyPoint.NOSE_TIP, FaceKeyPoint.RIGHT_EAR_TRAGION]
Salin selepas log masuk

Kawalan sikap pergerakan pesawat

Selepas mengenali postur muka, kita boleh menggunakan program untuk mengawal papan kekunci untuk mengawal pergerakan pesawat.

Di sini saya menggunakan modul PyKeyboard untuk mengawal kekunci papan kekunci.

self.key_board = PyKeyboard()
# print('左转')
self.key_board.press_key('A')
time.sleep(0.07)
self.key_board.release_key('A')
Salin selepas log masuk

Fungsi press_key dan release_key masing-masing ialah kekunci tekan dan pelepas.

Di antara mereka, time.sleep(0.07) dipanggil untuk mengawal tempoh butang Jika butang ditekan untuk masa yang lama, jarak pesawat akan bergerak jauh Sebaliknya, jika masa butang adalah pendek, jarak pesawat akan bergerak akan menjadi pendek Anda boleh mengikut Laraskan kepada keperluan anda sendiri.

Atas ialah kandungan terperinci Pengecaman muka masih boleh berfungsi seperti ini. 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

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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)

Bagaimana untuk menaip garis bawah pada papan kekunci Bagaimana untuk menaip garis bawah sahaja tanpa menaip? Bagaimana untuk menaip garis bawah pada papan kekunci Bagaimana untuk menaip garis bawah sahaja tanpa menaip? Feb 22, 2024 pm 07:46 PM

Laraskan kaedah input kepada bahasa Inggeris dan tahan kekunci Shift dan kekunci tolak. Model tutorial yang boleh digunakan: Sistem Lenovo AIO520C: Windows 10 Edisi Profesional: Analisis Microsoft Office Word 2022 1 Mula-mula semak kaedah input bahasa Cina dan Inggeris dan laraskannya kepada bahasa Inggeris. 2Kemudian tahan kekunci Shift dan kekunci Tolak pada papan kekunci anda pada masa yang sama. 3 Semak antara muka untuk melihat perkataan bergaris. Tambahan: Cara memasukkan garis bawah dengan cepat dalam dokumen Word 1. Jika anda perlu memasukkan garis bawah dalam Word, pilih ruang dengan tetikus, kemudian pilih jenis garis bawah dalam menu fon untuk masuk. Ringkasan/Nota: Pastikan anda menukar kaedah input kepada Bahasa Inggeris sebelum meneruskan, jika tidak, garis bawah tidak boleh berjaya dimasukkan.

Bagaimana untuk membuka menu klik kanan melalui kekunci pintasan Bagaimana untuk membuka menu klik kanan melalui kekunci pintasan Jan 14, 2024 pm 03:12 PM

Apabila tetikus kita kehilangan fungsinya buat sementara waktu, bagaimana menggunakan pintasan papan kekunci untuk membuka menu klik kanan Terdapat dua kaedah Satu ialah menekan kekunci pintasan Shift+F10 untuk melaraskan menu klik kanan, dan satu lagi ialah menggunakan. pintasan papan kekunci antara tetingkap dan kekunci ctrl juga boleh digunakan. Mari kita lihat tutorial khusus di bawah. Kaedah pertama menggunakan pintasan papan kekunci untuk membuka menu klik kanan: 1. Apabila tiada fail dipilih pada desktop komputer, tekan butang yang ditandakan dalam bulatan merah dalam gambar di bawah pada papan kekunci Butang ini adalah butang untuk membuka dengan cepat menu klik kanan. 2. Anda boleh membuka menu klik kanan pada desktop Jika anda perlu memilih item, hanya gunakan tetikus untuk memilihnya. Kaedah kedua 1. Sebenarnya, kita boleh menggunakan kekunci pintasan "Shift+F10". menu klik kanan 2

Auto-taip papan kekunci pada komputer riba Windows Auto-taip papan kekunci pada komputer riba Windows Feb 19, 2024 pm 05:33 PM

Peranti input komputer seperti papan kekunci dan tetikus memerlukan operasi manusia dan tidak boleh beroperasi secara bebas. Perkara yang sama berlaku untuk pad sentuh dan papan kekunci pada komputer riba Windows. Teks tidak dimasukkan secara automatik, begitu juga tetikus tidak diklik secara automatik. Jika berlaku sesuatu yang luar biasa, pasti ada sebabnya. Jika anda menghadapi masalah auto-taip papan kekunci komputer riba, ikut panduan untuk membetulkannya. Papan Kekunci pada Komputer Riba Windows Menaip Secara Automatik Apabila papan kekunci pada komputer riba Windows anda menaip secara automatik, berikut ialah cara anda boleh membetulkannya. Periksa papan kekunci secara manual Pastikan papan kekunci berfungsi dengan betul Periksa sama ada komputer riba disambungkan dari jauh Periksa sama ada sebarang program autotaip sedang dijalankan Jalankan imbasan perisian hasad Laraskan tetapan papan kekunci Pasang semula pemacu papan kekunci Mari kita ketahui secara terperinci

Papan kekunci mekanikal tiga mod Maicong K87 menambah versi 'paksi gondok' dan 'paksi ais krim': Struktur gasket, harga permulaan bermula pada 299 yuan Papan kekunci mekanikal tiga mod Maicong K87 menambah versi 'paksi gondok' dan 'paksi ais krim': Struktur gasket, harga permulaan bermula pada 299 yuan Feb 29, 2024 pm 05:00 PM

Menurut berita dari laman web ini pada 29 Februari, Maicong hari ini melancarkan dua versi "Hyacinth Switch" dan "Glazed Ice Cream Switch" untuk papan kekunci mekanikal tiga mod K87 yang mempunyai ciri "Gasket structure, 80% arrangement", aci berkaitan papan kekunci Maklumat harga adalah seperti berikut: Versi "Hyacinth Switch": harga awal ialah 299 yuan versi "Suis Ais Krim Liuguang": harga awal ialah 379 yuan Menurut laporan, siri papan kekunci menggunakan struktur Gasket, 87-kunci % susunan, peralihan kunci penuh dan terma sokongan Untuk memasang dan mencabut plag, ia mendakwa menggunakan "kapkunci PBT dua warna asal/MDA", menggunakan PCB berslot kunci tunggal 1.2mm (kedudukan lampu bawah), dilengkapi dengan RGB kesan pencahayaan, dan mempunyai reka bentuk papan nama penyerapan magnetik. Selain itu, papan kekunci ini dilengkapi dengan bateri 6000 mAh dan kelewatan tanpa wayar 3ms Saiz dan saiz papan kekunci rasmi belum diumumkan.

Bagaimana untuk menetapkan butang Copilot pada mana-mana papan kekunci dalam Windows 11 Bagaimana untuk menetapkan butang Copilot pada mana-mana papan kekunci dalam Windows 11 Feb 20, 2024 am 10:33 AM

Papan kekunci komputer Windows 11 yang akan dilancarkan dalam beberapa bulan akan datang akan mempunyai kunci Copilot baharu. Kekunci ini membolehkan pengguna memasuki mod pembantu juruterbang dengan mudah dengan menekan butang yang ditetapkan tanpa menaik taraf PC baharu. Panduan ini akan memperincikan cara menyediakan butang copilot pada mana-mana papan kekunci Windows 11. Microsoft baru-baru ini mengumumkan bahawa mereka telah mencapai kemajuan penting dalam memajukan pemanduan berbantukan kecerdasan buatan. Windows 11 akan menambah kunci Copilot khusus untuk meningkatkan lagi pengalaman pengguna PC. Perubahan perkakasan ini mewakili peningkatan besar pertama kepada papan kekunci Windows PC dalam tiga puluh tahun. Dalam beberapa bulan akan datang, komputer Windows 11 baharu akan menampilkan reka bentuk kunci Copilot baharu pada papan kekunci

Produk siri papan kekunci dan tetikus 'Elden's Circle' jenama bersama VGN kini berada di rak: Tema tersuai Lani / Faded One, bermula dari 99 yuan Produk siri papan kekunci dan tetikus 'Elden's Circle' jenama bersama VGN kini berada di rak: Tema tersuai Lani / Faded One, bermula dari 99 yuan Aug 12, 2024 pm 10:45 PM

Menurut berita dari laman web ini pada 12 Ogos, VGN melancarkan siri papan kekunci dan tetikus "Elden Ring" berjenama bersama pada 6 Ogos, termasuk papan kekunci, tetikus dan pad tetikus, yang direka dengan tema tersuai bagi siri Lani/Faded One produk Ia telah diletakkan di JD.com, berharga dari 99 yuan. Maklumat produk baharu jenama bersama yang dilampirkan pada tapak ini adalah seperti berikut: Papan Kekunci VGN丨Elden Law Ring S99PRO Papan kekunci ini menggunakan cangkerang aloi aluminium tulen, ditambah dengan struktur penyenyap lima lapisan, menggunakan struktur spring daun GASKET, mempunyai satu PCB berslot kunci, dan bahan PBT tinggi asal, satah belakang diperibadikan aloi aluminium menyokong sambungan tiga mod dan teknologi kependaman rendah SMARTSPEEDX, ia boleh menguruskan berbilang peranti dalam satu hentian, bermula pada 549 yuan; VGN丨Elden French Ring F1PROMAX tetikus wayarles tetikus

Bagaimana untuk menetapkan kaedah input tulisan tangan pada papan kekunci mudah alih Apple Bagaimana untuk menetapkan kaedah input tulisan tangan pada papan kekunci mudah alih Apple Mar 08, 2024 pm 02:30 PM

Pengguna papan kekunci mudah alih Apple ingin menyediakan kaedah input tulisan tangan, tetapi tidak tahu cara melakukannya sebenarnya sangat mudah Pengguna boleh terus memilih kaedah input tulisan tangan dalam tetapan papan kekunci telefon kaedah input tulisan tangan. Cara menetapkan kaedah input tulisan tangan pada papan kekunci telefon mudah alih Apple A: Dayakan kaedah input tulisan tangan terus dalam tetapan papan kekunci 1. Apabila pengguna Apple menggunakan kaedah input, kaedah input tulisan tangan didayakan secara lalai. 2. Pengguna hanya perlu klik dan tahan sudut kiri bawah untuk memilih kaedah input tulisan tangan semasa menaip. 3. Jika pengguna tidak mempunyai kaedah input tulisan tangan dalam telefon bimbitnya, dia juga boleh menambahnya secara manual. 4. Pengguna memasuki tetapan, mencari tetapan papan kekunci universal dan menambah pilihan input tulisan tangan pada papan kekunci pertama. 5. Gunakan kaedah input tulisan tangan untuk

Bagaimana untuk menetapkan kulit untuk papan kekunci WeChat Bagaimana untuk menetapkan kulit untuk papan kekunci WeChat Bagaimana untuk menetapkan kulit untuk papan kekunci WeChat Bagaimana untuk menetapkan kulit untuk papan kekunci WeChat Mar 13, 2024 am 09:04 AM

Bagaimana untuk menetapkan kulit untuk papan kekunci WeChat? Papan Kekunci WeChat ialah perisian kaedah input telefon mudah alih yang sangat pintar Perisian ini mempunyai banyak fungsi mesra pengguna Ia membolehkan pengguna memilih mod input mereka sendiri dan mencari ungkapan yang mereka mahukan secepat mungkin pada perisian ini. Perisian ini juga membolehkan pengguna menukar kulit papan kekunci itu sendiri Ramai pengguna tidak pasti bagaimana untuk menukar kulit Editor di bawah telah menyusun kaedah menukar kulit untuk rujukan anda. Bagaimana untuk menetapkan kulit papan kekunci WeChat Dalam WeChat, SMS atau aplikasi lain yang memerlukan penggunaan papan kekunci pada telefon anda, anda boleh mengklik ikon tetapan kaedah input di penjuru kiri sebelah atas papan kekunci untuk memasuki halaman tetapan untuk melihat pilihan tetapan fungsi untuk pelbagai kaedah input. 2. Klik "Kulit Peribadi" pada halaman tetapan kaedah input.

See all articles