1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỀ tài PHÁT HIỆN và THEO dõi CHUYỂN ĐỘNG

10 19 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 848,57 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

GIỚI THIỆU 1.1 Các ứng dụng của phát hiện chuyển động... Được áp dụng nhiều trong thực tế, ví dụ như nâng cao khả năng lấy nét trong máy ảnh kỹ thuật số, tăng độ an toàn cho phương phươn

Trang 1

KHOA CNTT

- - -   

-ĐỀ TÀI

PHÁT HIỆN VÀ THEO DÕI CHUYỂN ĐỘNG

- Giáo viên hướng dẫn : thầy Hà Mạnh Toàn

Năm học 2020 - 2021

I GIỚI THIỆU

1.1 Các ứng dụng của phát hiện chuyển động

Trang 2

Phát hiện chuyển động là một phát minh quan trọng Được áp dụng nhiều trong thực tế, ví dụ như nâng cao khả năng lấy nét trong máy ảnh

kỹ thuật số, tăng độ an toàn cho phương phương tiện vận tải sử dụng trí tuệ nhân tạo

Hình 1.1

1.2 Xác định đối tượng chuyển động

Trong các nhiện vụ mà ta yêu cầu máy tính thực hiện, phân tích và nhận biết tất cả các các đối tượng vẫn là một thách thức mặc dù máy tính ngày nay đã rất xuất sắc trong việc tái tạo

Trang 3

chính xác trong việc nhận diện đối tượng.

Hình 1.2

1.3 Hình dạng của đối tượng, vật thể

Thế giới được hình thành từ nhiều vật thể khác nhau, xuất

hiện với nhiều tư thế Do vậy việc so sánh với cơ sở dữ liệu mẫu là không hề đơn giản.

Trang 4

Hình 1.3

1.4 Phân loại nhận dạng

Thách thức nhất trong việc nhận dạng là nhận dạng loại, như

có thể phân biệt các trường hợp, các lớp đa dạng như con người, động vật , phương tiện.

Trang 5

Hình 1.4a, 1.4b

II PHƯƠNG PHÁP NHẬN BIẾT CHUYỂN ĐỘNG ĐƠN GIẢN

Trang 6

- Ý tưởng của Motion Detection được sáng tạo bởi vì máy ảnh, hình ảnh thực chất là một dãy số, các video được hình thành từ các khung hình di chuyển liên tục

- Khi áp dụng Motion Detection cho video thì ta sẽ lấy 2 khung hình liền kề (pair) trừ cho nhau để tìm điểm khác biệt Nói về bản chất của video thì có thể xem nó là một chồng ảnh, bởi video chính là việc trình chiếu các khung ảnh theo thời gian Do đó, việc áp dụng xử lý ảnh trên video sẽ là việc ta áp dụng xử lý ảnh trên từng khung hình (frame) bằng cách lần lượt lặp cho đến hết tất cả khung hình có trong video

Hình 2.1

III PHẦN MỀM NHẬN DIỆN CHUYỂN ĐỘNG ĐƠN GIẢN VỚI PYTHON VÀ OpenCV

Trang 7

- Đầu tiên chúng ta cần cài đặt Python 3.8 và OpenCV :

 Sau khi cài đặt Python 3.8 và OpenCV ta copy file

cv2.cp38-win_amd64.pyd từ thư mục OpenCV\build\python\cv2\python-3.8

Copy vào thư mục \Python 38\Lib\site-packages

 Cài đặt numpy

Vào thư mục \Python37\Scripts chạy lệnh :

pip install pillow

2 Viết mã nguồn

Phần mềm sẽ thực hiện theo 3 bước

Bước 1 : Tìm chuyển động, so sáng các khu hình

Bước 2 : Tạo đường viền bao quanh đối tượng chuyển động

Bước 3 : Hiển thị kết quả

Bước 1:

Để đọc video ta sử dụng

cap = cv2.VideoCapture('FunniestSecurityCameraFails.mp4')

Trang 8

Đọc hai khung hình từ video trong capture

ret , frame1 = cap read()

ret , frame2 = cap read()

Tìm ra điểm khác biệt giữa khung hình thứ nhất và khung hình thứ 2 diff = cv2.absdiff( frame1 , frame2 )

Chuyển sang thang độ xám để dễ dàng nhận diện các đường viền gray = cv2.cvtColor( diff , cv2.COLOR_BGR2GRAY)

Và để làm mờ thang độ xám

blur = cv2.GaussianBlur( gray , ( 5 5 , ), ) 0

Tìm sự khách biệt giữa hai khung hình và hiển thị

cv2.imshow( "feed", frame1 )

frame1 = frame2

ret , frame2 = cap read()

- Chạy thử chương trình

*Những đường viền được vây quanh những đối tượng chuyển động

Trang 9

Bước 2 : Tìm đường viền vuông dựa trên đường viền vừa kiểm tra

*contour in contours

- Lặp lại danh sách các đường viền được tìm thấy bên trong vòng lặp for và lưu các tọa độ đường viền được tìm thấy

- ( x, y, w, h ) là các tọa độ

for contour in contours :

( x , , , y w h ) = cv2 boundingRect( contour )

if cv2 contourArea( contour ) < 900:

continue

cv2 rectangle( frame1 , ( x , ), ( y x w + , y h + ), ( , 0 255 , ), ) 0 2

cv2 putText( frame1 , "***: {} " format( 'Motion Tracking' ), ( 10 , 20 ), cv2 FONT_HERSHEY_SIMPLEX,

, ( 1 0, , 0 255 ), ) 3

- Đối tượng có diện tích nhỏ hơn 900 thì tiếp tục và lớn hơn thì bỏ qua

if cv2 contourArea( contour ) < 900:

continue

Bước 3 : Render

Trang 10

Hết ! Cảm ơn thầy và các bạn đã quan tâm và theo dõi.

Ngày đăng: 19/04/2022, 23:05

HÌNH ẢNH LIÊN QUAN

Hình 1.1 - ĐỀ tài PHÁT HIỆN và THEO dõi CHUYỂN ĐỘNG
Hình 1.1 (Trang 2)
Hình 1.2 - ĐỀ tài PHÁT HIỆN và THEO dõi CHUYỂN ĐỘNG
Hình 1.2 (Trang 3)
Hình 1.3 - ĐỀ tài PHÁT HIỆN và THEO dõi CHUYỂN ĐỘNG
Hình 1.3 (Trang 4)
Hình 1.4a, 1.4b - ĐỀ tài PHÁT HIỆN và THEO dõi CHUYỂN ĐỘNG
Hình 1.4a 1.4b (Trang 5)
- Ý tưởng của Motion Detection được sáng tạo bởi vì máy ảnh, hình ảnh thực chất là một dãy số, các video được hình thành từ các khung  hình di chuyển liên tục - ĐỀ tài PHÁT HIỆN và THEO dõi CHUYỂN ĐỘNG
t ưởng của Motion Detection được sáng tạo bởi vì máy ảnh, hình ảnh thực chất là một dãy số, các video được hình thành từ các khung hình di chuyển liên tục (Trang 6)
Bước 1: Tìm chuyển động, so sáng các khu hình - ĐỀ tài PHÁT HIỆN và THEO dõi CHUYỂN ĐỘNG
c 1: Tìm chuyển động, so sáng các khu hình (Trang 7)
Đọc hai khung hình từ video trong capture - ĐỀ tài PHÁT HIỆN và THEO dõi CHUYỂN ĐỘNG
c hai khung hình từ video trong capture (Trang 8)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w