Rumah > Peranti teknologi > AI > teks badan

Kaedah pembelajaran untuk pengecaman imej berasaskan sifar

王林
Lepaskan: 2024-01-24 15:39:04
ke hadapan
1213 orang telah melayarinya

Kaedah pembelajaran untuk pengecaman imej berasaskan sifar

Pengecaman imej berdasarkan pembelajaran sifar tangkapan ialah teknologi baru muncul, yang berbeza daripada kaedah pengecaman imej tradisional. Pengecaman imej tradisional memerlukan ciri pembelajaran dan peraturan pengelasan melalui data latihan, manakala pembelajaran sifar pukulan tidak memerlukan pra-latihan model. Ia melakukan pengelasan masa nyata berdasarkan ciri-ciri imej yang akan dikenali, dengan itu mencapai pengecaman yang cepat dan tepat. Pengecaman imej dengan pembelajaran sifar pukulan telah digunakan secara meluas dalam rumah pintar, pengecaman muka, keselamatan pintar dan bidang lain. Ia boleh membantu peranti rumah pintar mengenal pasti keperluan pengguna dengan cepat dan bertindak balas dengan sewajarnya. Dalam pengecaman muka, pembelajaran sifar pukulan boleh mengenal pasti wajah dengan tepat berdasarkan ciri mereka dan meningkatkan ketepatan pengecaman. Dalam bidang keselamatan pintar, pembelajaran sifar pukulan boleh membantu mengenal pasti objek berbahaya dan menyediakan sistem pemantauan yang lebih selamat dan boleh dipercayai. Ringkasnya, teknologi pengecaman imej berdasarkan pembelajaran sifar tangkapan adalah pantas dan tepat, memberikan penyelesaian yang lebih pintar untuk pelbagai bidang.

Pengiktirafan imej dengan pembelajaran sifar tangkapan terbahagi terutamanya kepada dua peringkat: pengekstrakan ciri dan pengelasan.

Dalam peringkat pengekstrakan ciri, algoritma pengecaman imej pembelajaran lulus sifar akan secara automatik menganalisis pelbagai ciri dalam imej untuk dikenali, seperti warna, bentuk, tekstur, dll., dan mewakilinya sebagai vektor. Vektor ini boleh dianggap sebagai "cap jari" imej yang akan dikenali dan digunakan untuk pengelasan seterusnya.

Dalam peringkat pengelasan, algoritma pengecaman imej pembelajaran sifar tangkapan menggunakan vektor ciri untuk dibandingkan dengan vektor ciri kategori yang dipelajari sebelum ini untuk mencari kategori yang paling hampir dengan imej yang akan diiktiraf. Vektor ciri kategori ini diekstrak daripada imej lain, dan ia mewakili ciri setiap kategori. Apabila mengiktiraf imej baharu, algoritma pengecaman imej pembelajaran sifar tangkapan menetapkan imej itu untuk diiktiraf kepada kategori terdekat berdasarkan kesamaannya dengan vektor ciri bagi setiap kategori.

Untuk lebih memahami pembelajaran sifar pukulan, kita boleh menggambarkannya dengan contoh. Kami menggunakan set data Animals with Attributes 2 (AWA2), yang mengandungi 50 kategori haiwan yang berbeza, setiap kategori diterangkan oleh 85 atribut. Kami memilih 10 kategori secara rawak sebagai set latihan dan baki 40 kategori sebagai set ujian. Kami menggunakan pendekatan berasaskan atribut untuk latihan model.

Pertama, kita perlu mengimport perpustakaan dan set data yang diperlukan:

import numpy as np
import pandas as pd
import scipy.io as sio
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression

# 导入数据集
data = sio.loadmat('data/awa2.mat')
train_labels = data['train_labels'].astype(int).squeeze()
test_labels = data['test_labels'].astype(int).squeeze()
train_attributes = StandardScaler().fit_transform(data['train_attributes'])
test_attributes = StandardScaler().fit_transform(data['test_attributes'])
Salin selepas log masuk

Kemudian, kita perlu menukar perihalan atribut kepada vektor dalam ruang pembenaman. Kami menggunakan analisis komponen utama (PCA) untuk menukar perihalan atribut kepada vektor dalam ruang benam. Kami memilih 10 komponen utama pertama sebagai vektor benam.

from sklearn.decomposition import PCA

# 将属性描述转换为嵌入空间中的向量
pca = PCA(n_components=10)
train_embed = pca.fit_transform(train_attributes)
test_embed = pca.transform(test_attributes)
Salin selepas log masuk

Seterusnya, kita perlu melatih pengelas untuk meramalkan kategori dalam set ujian. Kami menggunakan regresi logistik sebagai pengelas.

# 训练分类器
clf = LogisticRegression(random_state=0, max_iter=1000)
clf.fit(train_embed, train_labels)

# 在测试集上进行预测
predicted_labels = clf.predict(test_embed)
Salin selepas log masuk

Akhir sekali, kita boleh mengira ketepatan untuk menilai prestasi model.

# 计算准确率
accuracy = np.mean(predicted_labels == test_labels)
print('Accuracy:', accuracy)
Salin selepas log masuk

Dalam contoh ini, kami menggunakan pendekatan berasaskan atribut untuk melatih model dan memilih 10 komponen utama pertama sebagai vektor benam. Akhirnya, kami mendapat model dengan ketepatan 0.55 pada set ujian.

Atas ialah kandungan terperinci Kaedah pembelajaran untuk pengecaman imej berasaskan sifar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:163.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!