Jadual Kandungan
1. Kesan rokok
2. Pengecaman muka
Rumah Peranti teknologi AI AI larangan merokok tidak mengapa! Pengecaman merokok + pengecaman muka

AI larangan merokok tidak mengapa! Pengecaman merokok + pengecaman muka

Apr 14, 2023 pm 12:49 PM
projek ai pantau

Helo, semua.

Hari ini saya akan berkongsi dengan anda projek pengecaman merokok + pengecaman muka. Banyak tempat awam, tapak pengeluaran dan sekolah mempunyai larangan merokok. Ia masih perlu untuk melaksanakan larangan merokok dan membiarkan AI secara automatik mengenal pasti tingkah laku merokok dan mengenal pasti siapa yang merokok.

Gunakan algoritma pengesanan sasaran untuk menentukan tingkah laku merokok, mengekstrak muka perokok dan menggunakan algoritma pengecaman muka untuk menentukan siapa yang merokok. Idea ini agak mudah, tetapi butirannya masih sedikit menyusahkan.

Data latihan dan kod sumber yang digunakan dalam projek telah dibungkus. Masih sama seperti dulu, dapatkan di ruangan komen.

1. Kesan rokok

Saya menggunakan 5k data berlabel merokok sebagai data latihan

AI larangan merokok tidak mengapa! Pengecaman merokok + pengecaman muka

dan meletakkannya dalam direktori set data.

Latih model pengesanan sasaran YOLOv5.

Langkah pertama, salin data/coco128.yaml ke smoke.yaml, dan ubah suai direktori set data dan maklumat konfigurasi kategori

path: ../dataset/smoke # dataset root dir
train: images/train# train images (relative to 'path') 128 images
val: images/test# val images (relative to 'path') 128 images
test:# test images (optional)

# Classes
names:
0: smoke
Salin selepas log masuk

Langkah kedua, salin ./models/yolov5s ialah smoke.yaml​, ubah suai nc

nc: 1# number of classes
Salin selepas log masuk

Langkah ketiga ialah memuat turun model pra-latihan yolov5s.pt dan letakkannya dalam direktori {yolov5}/weights

Laksanakan arahan berikut , latihan sudah cukup

python ./train.py --data ./data/smoke.yaml --cfg ./models/smoke.yaml --weights ./weights/yolov5s.pt --batch-size 30 --epochs 120 --workers 8 --name smoke --project smoke_s
Salin selepas log masuk

AI larangan merokok tidak mengapa! Pengecaman merokok + pengecaman muka

Selepas latihan selesai, anda boleh melihat output berikut:

AI larangan merokok tidak mengapa! Pengecaman merokok + pengecaman muka

Telefon pun boleh.

Selepas latihan selesai, kedudukan terbaik.pt boleh didapati dan digunakan kemudian untuk pengesanan rokok.

model = torch.hub.load('../28_people_counting/yolov5', 'custom', './weights/ciga.pt', source='local')

results = self.model(img[:, :, ::-1])
pd = results.pandas().xyxy[0]
ciga_pd = pd[pd['class'] == 0]
Salin selepas log masuk

AI larangan merokok tidak mengapa! Pengecaman merokok + pengecaman muka

Selepas dapat mengenal pasti rokok, kita masih perlu menentukan sama ada kita sedang merokok.

Anda boleh menggunakan bingkai pengesan rokok dan bingkai pengesanan mulut untuk mengira IOU untuk menilai secara terus terang, ia adalah untuk menentukan sama ada kedua-dua bingkai itu bersilang merokok.

AI larangan merokok tidak mengapa! Pengecaman merokok + pengecaman muka

Bingkai pengesan mulut, menggunakan mata kunci muka untuk mengenal pasti.

2. Pengecaman muka

Terdapat banyak model matang untuk algoritma pengecaman muka Kami tidak perlu melatihnya sendiri, kami hanya boleh memindahkan pangkalan data secara langsung.

Saya menggunakan perpustakaan dlib di sini, yang boleh mengenal pasti 68 perkara utama pada wajah dan mengekstrak ciri muka berdasarkan 68 perkara utama ini.

AI larangan merokok tidak mengapa! Pengecaman merokok + pengecaman muka

face_detector = dlib.get_frontal_face_detector()
face_sp = dlib.shape_predictor('./weights/shape_predictor_68_face_landmarks.dat')

dets = face_detector(img, 1)

face_list = []
for face in dets:
l, t, r, b = face.left(), face.top(), face.right(), face.bottom()

face_shape = face_sp(img, face)
Salin selepas log masuk

pengesan_muka​ boleh mengesan muka dan mengembalikan bingkai pengesanan muka face_sp berdasarkan bingkai pengesanan muka dan mengenal pasti 68 titik utama muka.

Daripada 68 perkara utama ini, kami boleh mendapatkan bingkai pengesan mulut untuk menentukan sama ada anda merokok.

Akhir sekali, kami masih berharap untuk menggunakan algoritma pengecaman muka untuk mengenal pasti siapa yang merokok.

Langkah pertama ialah mengekstrak ciri muka

face_feature_model = dlib.face_recognition_model_v1('./weights/dlib_face_recognition_resnet_model_v1.dat')

face_descriptor = face_feature_model.compute_face_descriptor(img, face_shape)
Salin selepas log masuk

face_descriptor​Kira vektor ciri untuk setiap muka berdasarkan kedudukan dan jarak antara 68 titik utama muka. Prinsip ini serupa dengan word2vec yang kami kongsi sebelum ini atau memetakan video ke vektor N-dimensi.

Langkah kedua ialah memasukkan muka sedia ada ke dalam pangkalan data wajah. Saya menyediakan 3 tingkah laku merokok dalam filem dan siri TV

AI larangan merokok tidak mengapa! Pengecaman merokok + pengecaman muka

Potong wajah daripada video, vektorkannya dan tuliskannya ke dalam pangkalan data wajah (digantikan dengan fail)

AI larangan merokok tidak mengapa! Pengecaman merokok + pengecaman muka

Langkah ketiga, selepas merokok berlaku, kita boleh memotong muka perokok, mengira vektor muka, membandingkannya dengan ciri pangkalan data muka, dan mencari wajah Serupa yang terbaik, kembalikan nama yang sepadan

AI larangan merokok tidak mengapa! Pengecaman merokok + pengecaman muka

def find_face_name(self, face_feat):
"""
人脸识别,计算吸烟者名称
:param face_feat:
:return:
"""
cur_face_feature = np.asarray(face_feat, dtype=np.float64).reshape((1, -1))

# 计算两个向量(两张脸)余弦相似度
distances = np.linalg.norm((cur_face_feature - self.face_feats), axis=1)
min_dist_index = np.argmin(distances)
min_dist = distances[min_dist_index]

if min_dist < 0.3:
return self.face_name_list[min_dist_index]
else:
return '未知'
Salin selepas log masuk

Terdapat banyak kawasan untuk pengembangan projek ini, contohnya: video yang saya sediakan hanya mempunyai satu muka, dan pemantauan sebenar mesti ada berbilang muka di dalamnya. Pada masa ini, anda boleh menggunakan algoritma MOT untuk menjejaki pejalan kaki, dan kemudian mengenal pasti setiap orang secara individu untuk merokok

Selain itu, anda boleh mencipta kawasan statistik yang berasingan untuk menyimpan tingkah laku merokok yang dikenal pasti dan menggunakannya sebagai bukti untuk amaran dan penalti.

Atas ialah kandungan terperinci AI larangan merokok tidak mengapa! Pengecaman merokok + pengecaman muka. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

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)

Cara Memeriksa Konfigurasi HDFS CentOS Cara Memeriksa Konfigurasi HDFS CentOS Apr 14, 2025 pm 07:21 PM

Panduan Lengkap untuk Memeriksa Konfigurasi HDFS Dalam Sistem CentOS Artikel ini akan membimbing anda bagaimana untuk memeriksa konfigurasi dan menjalankan status HDFS secara berkesan pada sistem CentOS. Langkah -langkah berikut akan membantu anda memahami sepenuhnya persediaan dan operasi HDFS. Sahkan Pembolehubah Alam Sekitar Hadoop: Pertama, pastikan pembolehubah persekitaran Hadoop ditetapkan dengan betul. Di terminal, laksanakan arahan berikut untuk mengesahkan bahawa Hadoop dipasang dan dikonfigurasi dengan betul: Hadoopversion Semak fail konfigurasi HDFS: Fail konfigurasi teras HDFS terletak di/etc/hadoop/conf/direktori, di mana core-site.xml dan hdfs-site.xml adalah kritikal. gunakan

Baris arahan shutdown centos Baris arahan shutdown centos Apr 14, 2025 pm 09:12 PM

Perintah shutdown CentOS adalah penutupan, dan sintaks adalah tutup [pilihan] [maklumat]. Pilihan termasuk: -h menghentikan sistem dengan segera; -P mematikan kuasa selepas penutupan; -r mulakan semula; -T Waktu Menunggu. Masa boleh ditentukan sebagai segera (sekarang), minit (minit), atau masa tertentu (HH: mm). Maklumat tambahan boleh dipaparkan dalam mesej sistem.

Apakah kaedah sandaran untuk gitlab di centos Apakah kaedah sandaran untuk gitlab di centos Apr 14, 2025 pm 05:33 PM

Dasar sandaran dan pemulihan Gitlab di bawah sistem CentOS untuk memastikan keselamatan data dan pemulihan, Gitlab pada CentOS menyediakan pelbagai kaedah sandaran. Artikel ini akan memperkenalkan beberapa kaedah sandaran biasa, parameter konfigurasi dan proses pemulihan secara terperinci untuk membantu anda menubuhkan strategi sandaran dan pemulihan GitLab lengkap. 1. Backup Manual Gunakan Gitlab-Rakegitlab: Backup: Buat Perintah untuk Melaksanakan Backup Manual. Perintah ini menyokong maklumat utama seperti repositori Gitlab, pangkalan data, pengguna, kumpulan pengguna, kunci, dan kebenaran. Fail sandaran lalai disimpan dalam direktori/var/opt/gitlab/sandaran. Anda boleh mengubah suai /etc /gitlab

CentOS memasang MySQL CentOS memasang MySQL Apr 14, 2025 pm 08:09 PM

Memasang MySQL pada CentOS melibatkan langkah -langkah berikut: Menambah sumber MySQL YUM yang sesuai. Jalankan YUM Pasang Perintah MySQL-Server untuk memasang pelayan MySQL. Gunakan perintah mysql_secure_installation untuk membuat tetapan keselamatan, seperti menetapkan kata laluan pengguna root. Sesuaikan fail konfigurasi MySQL seperti yang diperlukan. Tune parameter MySQL dan mengoptimumkan pangkalan data untuk prestasi.

Cara Melihat Log Gitlab Di Bawah Centos Cara Melihat Log Gitlab Di Bawah Centos Apr 14, 2025 pm 06:18 PM

Panduan Lengkap untuk Melihat Log Gitlab Di bawah Sistem CentOS Artikel ini akan membimbing anda bagaimana untuk melihat pelbagai log Gitlab dalam sistem CentOS, termasuk log utama, log pengecualian, dan log lain yang berkaitan. Sila ambil perhatian bahawa laluan fail log mungkin berbeza -beza bergantung pada versi GitLab dan kaedah pemasangan. Jika laluan berikut tidak wujud, sila semak fail Direktori Pemasangan dan Konfigurasi GitLab. 1. Lihat log Gitlab utama Gunakan arahan berikut untuk melihat fail log utama aplikasi GitLabRails: Perintah: Sudocat/var/Log/Gitlab/Gitlab-Rails/Production.log Perintah ini akan memaparkan produk

Cara Mengendalikan Latihan Pittorch Diagihkan di Centos Cara Mengendalikan Latihan Pittorch Diagihkan di Centos Apr 14, 2025 pm 06:36 PM

Latihan yang diedarkan Pytorch pada sistem CentOS memerlukan langkah -langkah berikut: Pemasangan Pytorch: Premisnya ialah Python dan PIP dipasang dalam sistem CentOS. Bergantung pada versi CUDA anda, dapatkan arahan pemasangan yang sesuai dari laman web rasmi Pytorch. Untuk latihan CPU sahaja, anda boleh menggunakan arahan berikut: PipinstallToRchTorchVisionTorchaudio Jika anda memerlukan sokongan GPU, pastikan versi CUDA dan CUDNN yang sama dipasang dan gunakan versi pytorch yang sepadan untuk pemasangan. Konfigurasi Alam Sekitar Teragih: Latihan yang diedarkan biasanya memerlukan pelbagai mesin atau mesin berbilang mesin tunggal. Tempat

Bagaimana sokongan GPU untuk Pytorch di CentOS Bagaimana sokongan GPU untuk Pytorch di CentOS Apr 14, 2025 pm 06:48 PM

Membolehkan pecutan GPU pytorch pada sistem CentOS memerlukan pemasangan cuda, cudnn dan GPU versi pytorch. Langkah-langkah berikut akan membimbing anda melalui proses: Pemasangan CUDA dan CUDNN Tentukan keserasian versi CUDA: Gunakan perintah NVIDIA-SMI untuk melihat versi CUDA yang disokong oleh kad grafik NVIDIA anda. Sebagai contoh, kad grafik MX450 anda boleh menyokong CUDA11.1 atau lebih tinggi. Muat turun dan pasang Cudatoolkit: Lawati laman web rasmi Nvidiacudatoolkit dan muat turun dan pasang versi yang sepadan mengikut versi CUDA tertinggi yang disokong oleh kad grafik anda. Pasang Perpustakaan Cudnn:

Penjelasan terperinci mengenai Prinsip Docker Penjelasan terperinci mengenai Prinsip Docker Apr 14, 2025 pm 11:57 PM

Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

See all articles