Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Contoh Penglihatan Komputer dalam Python: Pengesanan Objek

Contoh Penglihatan Komputer dalam Python: Pengesanan Objek

王林
王林asal
2023-06-10 11:36:152601semak imbas

Dengan perkembangan kecerdasan buatan, teknologi penglihatan komputer telah menjadi salah satu tumpuan perhatian orang ramai. Sebagai bahasa pengaturcaraan yang cekap dan mudah dipelajari, Python telah diiktiraf dan dipromosikan secara meluas dalam bidang penglihatan komputer. Artikel ini akan menumpukan pada contoh penglihatan komputer dalam Python: pengesanan objek.

Apakah pengesanan sasaran?

Pengesanan objek ialah teknologi utama dalam bidang penglihatan komputer Tujuannya adalah untuk mengenal pasti lokasi dan saiz objek tertentu dalam gambar atau video. Berbanding dengan pengelasan imej, pengesanan sasaran bukan sahaja perlu mengenal pasti objek dalam gambar, tetapi juga perlu memahami kedudukan, saiz dan sudut objek dalam gambar.

Teknologi pengesanan objek dalam Python

Terdapat banyak perpustakaan penglihatan komputer yang sangat baik dalam Python, seperti OpenCV, TensorFlow, Keras, dll. Perpustakaan ini menyediakan pelbagai fungsi dan ciri yang membolehkan kita untuk Melaksanakan teknologi pengesanan sasaran dengan mudah.

Langkah asas untuk melaksanakan teknologi pengesanan objek dalam Python adalah seperti berikut:

  1. Penyediaan data: kumpulkan dan labelkan set data.
  2. Pengeluaran ciri: Tukar set data kepada vektor ciri.
  3. Model latihan: Gunakan vektor ciri untuk melatih model pengesanan sasaran.
  4. Uji model: Gunakan set data ujian untuk menguji prestasi model.

Pustaka pengesanan objek dalam Python

  1. OpenCV

OpenCV ialah perpustakaan penglihatan komputer merentas platform dan paling banyak digunakan dalam Python Salah satu perpustakaan. OpenCV menyediakan algoritma pengesanan sasaran berdasarkan pengesan lata Haar dan rangkaian saraf konvolusi.

  1. TensorFlow

TensorFlow ialah perpustakaan kecerdasan buatan yang berkuasa yang juga boleh digunakan untuk penyelidikan dalam bidang pengesanan sasaran. TensorFlow menyediakan banyak model yang sangat baik, seperti Faster R-CNN, SSD, YOLO, dsb.

  1. Keras

Keras ialah perpustakaan pembelajaran mendalam yang sangat modular, mudah digunakan dan boleh diperluaskan. Keras menyediakan banyak model pengesanan sasaran berasaskan pembelajaran mendalam, seperti Faster R-CNN, SSD, YOLO, dsb.

Contoh pengesanan sasaran dalam Python

Mari kita lihat contoh pengesanan sasaran melalui OpenCV dalam Python.

Kita perlu memasang perpustakaan OpenCV terlebih dahulu, yang boleh dipasang di terminal dengan arahan berikut:

pip install opencv-python

Seterusnya, kita perlu memuat turun set data imej.

Amat penting untuk memilih set data yang sesuai Di sini kami menggunakan set data Pascal VOC Alamat muat turun ialah: http://host.robots.ox.ac.uk/pascal/VOC/voc2012. /VOCtrainval_11-May -2012.tar

Kemudian, kita boleh menggunakan OpenCV untuk memuatkan set data dan label, dan melukis objek sasaran di dalamnya:

import cv2
import numpy as np

# 加载图像
image = cv2.imread("image.jpg")

# 加载标签
with open("image.txt", "r") as file:
    lines = file.readlines()

# 绘制目标物体
for line in lines:
    line = line.split()
    x_min, y_min, x_max, y_max = int(line[1]), int(line[2]), int(line[3]), int(line[4])
    cv2.rectangle(image, (x_min, y_min), (x_max, y_max), (0, 255, 0), 2)

# 显示图像
cv2.imshow("image", image)
cv2.waitKey(0)

Seterusnya, kami menggunakan pengesan lata Haar disediakan oleh OpenCV Mencapai pengesanan sasaran:

import cv2

# 加载分类器
cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")

# 加载图像
image = cv2.imread("image.jpg")

# 目标检测
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
faces = cascade.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=5)

# 绘制目标框
for (x, y, w, h) in faces:
    cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)

# 显示图像
cv2.imshow("image", image)
cv2.waitKey(0)

Kesimpulan

Teknologi penglihatan komputer semakin meluas digunakan dalam bidang kecerdasan buatan Perkembangan teknologi pengesanan sasaran memainkan peranan penting dalam bidang seperti peranan pemanduan autonomi dan pengawasan video. Python, sebagai bahasa pengaturcaraan yang mudah digunakan dan boleh dikembangkan, digunakan secara meluas dalam bidang penglihatan komputer. Kami boleh menggunakan perpustakaan dan model dalam Python untuk melaksanakan algoritma pengesanan sasaran yang cekap dan tepat.

Atas ialah kandungan terperinci Contoh Penglihatan Komputer dalam Python: Pengesanan Objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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