1. Trang chủ
  2. » Luận Văn - Báo Cáo

bài tập lớn thị giác máy detecting and matching object

29 261 1

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 1,98 MB

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

Nội dung

Phương pháp tìm điểm Keypoint: Trong một bức ảnh thường sẽ có rất nhiều điểm đặc trưng cho một bức ảnh, nhìn vào đó người ta có thể nhận diện được đối tượng trong bức ảnh là ai, vật thể

Trang 1

ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH

BỘ MÔN ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA

BÁO CÁO BÀI TẬP LỚN THỊ GIÁC MÁY

Đề tài: Detecting and Matching Object

Giáo viên hướng dẫn: Nguyễn Trọng Tài

Sinh viên thực hiện:

Châu Thanh Hải 1411037 Phạm Văn Thịnh 1413797

TP Hồ Chí Minh, tháng 12 năm 2017



Trang 2

Mục lục

I Giới thiệu ……… 1

II Ứng dụng trong nhận dạng đối tượng……… 2

1 Phương pháp tìm điểm Keypoint……….2

a SIFT (Scale-Invariant Feature Transform)……… 4

b SURF (Speeded-Up Robust Features)……….12

2 Phương pháp Matching………13

3 Thuật toán tăng độ chính xác Homography………13

4 Tăng độ chính xác bằng phương pháp Grabcut………14

5 Giao diện người dùng bằng phần mềm Qt……… 15

6 Kết quả và đánh giá……… 17

7 Thuật toán PCA – SIFT……… 21

8 Một số lệnh thực thi quan trọng trong chương trình……… 24

III Kết luận……… 26

IV Tài liệu tham khảo……… 27

Trang 3

I Giới thiệu:

Trong kỷ nguyên công nghệ thông tin hiện nay, với sự phát triển nhanh chóng của các công nghệ chế tạo thiết bị phần cứng ngày càng hiện đại, tinh vi thì ngành công nghệ phần mềm cũng không ngừng mở rộng để phù hợp với các yêu cầu của thực tế Trong đó phải kể đến sự phát triển của các thiết bị thu nhận hình ảnh từ thế giới thực, chẳng hạn như các hệ thống giám sát bằng camera, song hành với nó là các vấn đề liên quan đến việc giám sát Thách thức chính cho công nghệ phần mềm trong lĩnh vực này chính là việc xử lý các hình ảnh thu nhận được từ các hệ thống giám sát đó

Matching Object là một giải thuật có tính ứng dụng cao không những có thể dùng để nhận dạng đối tượng mà còn dùng trong các ứng dụng giám sát các vật thể động và vật thể tĩnh hay chuyển động của đối tượng

Giám sát là một vấn đề được rất nhiều nhà nghiên cứu quan tâm đặc biệt bởi những ứng dụng thiết thực của nó cho đời sống xã hội Chẳng hạn như các hệ thống giám sát các hành vi khả nghi của tội phạm, khủng bố ở các địa điểm nhạy cảm của các chính phủ Hệ thống giám sát trong các viện bảo tàng, lưu trữ để chống trộm cắp các di vật đang được trưng bày Hệ thống giám sát các hiện tượng bất bình thường, vi phạm pháp luật, tai nạn ở các điểm giao thông Hệ thống giám sát phòng chống hỏa hoạn Các hệ thống giám sát trong các siêu thị, cửa hàng, công ty để chống trộm cắp,…

Thách thức chính cho ngành công nghệ phần mềm là đưa ra các giải pháp nhằm xây dựng một hệ thống giám sát tối ưu nhất nhằm giúp con người phát hiện chính xác và kịp thời các hiện tượng bất thường để có biện pháp xử lý nhanh chóng nhằm tránh các thiệt hại đáng tiếc cho xã hội

Dữ liệu thu được từ hệ thống camera giám sát thường được lưu trữ dưới dạng Video Như vậy công việc hiện nay của chúng ta là nghiên cứu các vấn đề liên quan đến việc xử lý Video

Hiện nay trên thế giới đã có nhiều công trình nghiên cứu về xử lý Video và cũng đã có nhiều ứng dụng đáng kể trong lĩnh vực này Tuy nhiên, so với yêu cầu thực tế thì như thế vẫn là chưa đủ

Ở Việt Nam, xử lý Video là một vấn đề còn khá mới mẻ Thực tế cho thấy rằng, khi xã hội phát triển càng mạnh, yêu cầu về các thiết bị công nghệ càng cao

Trang 4

Như vậy, xử lý Video là một mảnh đất màu mỡ cho các trung tâm nghiên cứu, các công ty đầu tư vào Nhất là trong giai đoạn hệ thống nhúng đang phát triển và mở

ra một kỷ nguyên với cho ngành công nghệ phần mềm như hiện nay

Một số công trình nghiên cứu khoa học ở Việt Nam hiện nay như:

“Ứng dụng phát hiện và ước lượng khoảng cách vật cản, ứng dụng trợ giúp dẫn đường cho người khiếm thị” Ứng dụng này được tích hợp vào camera của robot thông minh Camera sẽ bắt khung hình trực tiếp của môi trường tại hai thời điểm khác nhau để đem đi so sánh và matching để xây dựng bản đồ chênh lệch,

từ đó ước lượng độ sâu của vật cản

“Ứng dụng nhận dạng hành vi của khách hàng trong siêu thị”.Ứng dụng để nhận dạng đối tượng khách hàng Từ đó, xác định số lượng khách hàng quan tâm đến gian hàng và đánh giá hiệu quả trưng bày Với hình ảnh thu được từ camera giám sát, hệ thống nhận dạng hầu hết các đối tượng đi vào vùng quan sát, theo dõi họ để có được quỹ đạo đường đi và thời gian lưu lại vùng quan sát Quỹ đạo

sẽ được phân đoạn và lấy tọa độ đại diện, sau đó dung giải thuật máy học vector

hỗ trợ để phân loại hoạt động của khách hàng gồm có quan tâm đến gian hàng và ghé vào lựa chọn và một số hoạt động khác

“Ứng dụng trong bài toán chính xác hóa trong theo dõi chuyển động của đối tượng” trong giám sát tự động là một hướng mới và có nhiều triển vọng trong sự phát triển tiếp theo của lĩnh vực nhận dạng và xử lý ảnh 2 chiều Đồng thời,

đó cũng là một hướng đi cho mảng phần mềm thiết kế chuyên dụng cho các thiết

bị giám sát tự động Việc phát hiện ra các đối tượng chuyển động trong Video nhờ các kỹ thuật xử lý ảnh, trên cơ sở đó đoán nhận một số hành vi của đối tượng là một việc làm có ý nghĩa khoa học và thực tiễn, nhất là trong hoàn cảnh Việt Nam chưa có nhiều những nghiên cứu và ứng dụng theo hướng này

II Ứng dụng trong nhân diện đối tượng:

Do kiến thức về thị giác máy còn hạn hẹp, nên trong phần này nhóm sẽ trình bày những hiểu biết và kết quả thực hiện của nhóm Nếu có sai sót gì mong Thầy

và các bạn bỏ qua

1 Phương pháp tìm điểm Keypoint:

Trong một bức ảnh thường sẽ có rất nhiều điểm đặc trưng cho một bức ảnh, nhìn vào đó người ta có thể nhận diện được đối tượng trong bức ảnh là ai, vật thể gì? Nhờ vào sự suy luận và sự tích lũy kiến thức trong bộ não của con người

Trang 5

Ta có thể dễ dàng nhận ra đây là hỉnh ảnh của toa tháp Bitexco với những đặc trưng vốn có trong bức ảnh mà các tòa nhà khác không có được mà dù có xoay hay nhìn từ góc độ nào ta vẫn nhận ra đây là tòa nhà Bitexco

Vậy rõ ràng mỗi bức ảnh sẽ có cho mình những điểm đặc trưng Tuy nhiên, làm sao để máy tính có thể hiểu đó là những điểm đặc trưng hay không? Để làm được điều đó, máy tính phải thực hiện thêm một bước nữa để tìm ra các điểm đặc

trưng đáng tin cậy hơn gọi là các Keypoint

Keypoint sẽ được chia làm nhiều loại: Keypoint của mặt phẳng, Keypoint của cạnh và Keypoint của góc

Trang 6

Hình 1 Keypoint của mặt phẳng - Keypoint của cạnh - Keypoint của góc

Để tìm được các Keypoint có rất là nhiều phương pháp: SIFT (Scale-Invariant

Feature Transform), SURF (Speeded-Up Robust Features), Fast Algorithm for Corner Detection, BRIEF (Binary Robust Independent Elementary Features), ORB (Oriented FAST and Rotated BRIEF)

Trong khuôn khổ bài báo cáo này chúng em xin chỉ trình bày hai phương pháp SIFT và SURF Vì đây là hai phương pháp được ưa chuộng nhất hiện nay bởi độ chính xác cao của SIFT và tốc độ xữ lí nhanh của SURF

a SIFT (Scale-Invariant Feature Transform):

Trước khi thực hiện phương pháp SIFT, từ ảnh đầu vào người ta sẽ cho qua một mặt nạ ma trận Hessian là ma trận đạo hàm bậc 2 để tìm các điểm đặc trưng

sơ khai của bức ảnh Ta có giá trị ngưỡng λ của định thức ma trận Hessian, nếu định thức của của trân Keypoint lớn hơn giá trị này nó sẽ là Keypoint sơ khai còn nhỏ hơn thì bỏ qua

Trong bước này, ta cần dò tìm các vị trí và các số đo (kích cỡ) mà chúng bất biến trong các khung nhìn khác nhau của cùng một đối tượng Các vị trí đó bất biến về số đo có thể được dò tìm bằng cách tìm kiềm các đặc trưng ổn định trên toàn bộ các số đo có thể Từ bức ảnh đầu vào, SIFT sẽ thức hiện làm mờ bức ảnh bằng thuật toán mờ Gaussian đồng thời thu nhỏ bức ảnh theo đơn vị octave – mỗi octave thì kích thước ảnh giảm đi một nữa

Trang 7

Sau khi làm mờ và thu nhỏ ảnh, ta sẽ có tập hợp ảnh bao gồm ảnh gốc với các ảnh bị làm mờ và các ảnh thu nhỏ tương ứng với các ảnh được làm mờ Ta thực hiện lấy vi sai của từng cặp ảnh trong một octave để được các điểm tiền đặc trưng

Trang 8

Hình 2+3 Quá trình làm mờ và lấy các đặc trưng ảnh

Sau bước trên sẽ thu được rất nhiều điểm tiềm năng có thể làm điểm đặc biệt, tuy nhiên một số trong chúng là không cần thiết ở bước tiếp theo này sẽ loại bỏ các điểm có độ tương phản kém (nhạy cảm với nhiễu) hoặc tính đặc trưng cục bộ ít hơn các điểm khác hoặc có xu hướng là đường biên đối tượng Bước thực hiện này gồm

3 công đoạn :

- Phép nội suy lân cận cho vị trí đúng của điểm tiềm năng:

Phép nội suy lân cận () sử dụng mở rộng Taylor (Taylor expansion) cho hàm Difference-of-Gaussian D(x,y,ó) :

Trang 9

Trong đó : D và đạo hàm của nó được tính tại một điểm tiềm năng và X = (x,y,ó) là khoảng cách từ điểm đó Vị trí của điểm cực trị được xác định bằng cách lấy đạo hàm của hàm trên với đối số X và tiến dần đến 0 :

Hình 4 : Mô phỏng sử dụng công thức mở rộng của Taylor cho hàm DoG

Nếu > 0.5 theo một chiều nào đó thì nó có chỉ số cực trị không gần với các điểm tiềm năng khác, nó sẽ bị thay đổi và phép nội suy sẽ thay thế vai trò của nó bằng điểm khác gần nó

Trang 10

Hình 5 Minh họa các bước của quá trình lựa chọn các điểm keypoints (a) là ảnh gốc (b) mô tả 832 điểm keypoints tìm được, các điểm keypoints được vẽ ở dạng một vector thể hiện 3 thông tin : vị trí, hướng và độ dài (c) sau khi đặt ngưỡng tương phản tổi thiểu, ta giữ lại được 729 điểm (d) Giữ lại 536 điểm sau khi áp một ngưỡng nữa về hệ số độ cong

- Loại trừ các điểm có tính tương phản kém:

Các điểm nhạy cảm với độ sáng và nhiễu thì không được trở thành điểm đặc biệt và cần loại bỏ khỏi danh sách điểm tiềm năng Trong khai triển Taylor mở rộng ở trên, nếu điểm tiềm năng nào có giá trị < 0.03 thì điểm đó sẽ bị loại, ngược lại thì

nó được giữ lại theo vị trí mới (y+ ) và tùy biến ó, với y là vị trí cũ của nó cùng giá trị biến ó

- Loại bỏ các điểm dư thừa theo biên :

Sử dụng hàm DoG sẽ cho tác động mạnh đến biên khi vị trí của biên là khó xác định và vì vậy các điểm tiềm năng trên biên sẽ không bất biến và bị nhiễu Và để tăng

Trang 11

sự ổn định cho các điểm sẽ được chọn làm điểm đặc biệt ta sẽ loại trừ các điểm tiềm năng khó định vị (tức là vị trí dễ thay đổi khi có nhiễu do nằm ở biên)

Sau khi áp dụng hàm DoG sẽ làm đường biên ảnh không rõ ràng và độ cong chính sẽ có giá trị lớn hơn nhiều so với độ cong dọc theo biên vì vậy cần loại bỏ bớt các điểm đặc biệt dọc theo cùng một biên Giải pháp cho việc này là sử dụng giá trị của ma trận Hessian cấp 2 :

Các giá trị riêng của H tỉ lệ thuận với độ cong của D, các giá trị riêng â (giá trị nhỏ) và á (giá trị lớn) có tỉ lệ r = á/â sẽ được sử dụng Các phần tử của H là Dxx và Dyy

Trang 12

số Keypoint đó Keypoint nào là Keypoint của một góc Để giải quyết vấn đề này ta thức hiện tìm góc bằng các thuật toán cho phép ta xác định các điểm nào là góc trong một tấm ảnh, ta sẽ được tọa độ điểm góc đó rồi đem đi so sánh với các Keypoint vừa tìm được để loại bớt đi các Keypoint không mong muốn Có hai thuật toán tốt nhất để

tìm các điểm góc trong một bức ảnh: Harris và Shi-Tomasi

Sau khi tìm được các Keypoint ta tiến hành đặt các vector tọa độ vào các Keypoint tương ứng Độ đo của các điểm đặc trưng được sử dụng để tìm ra một ảnh đã lọc Gaussian L với kích thước gần nhất sao cho mọi tính toán sẽ được thực hiện trong cùng một cách bất biến về độ đo Với mỗi mẫu ảnh L(x,y) này, gọi m(x,y)

là biên độ gradient,  (x,y) là hướng Hai giá trị cuối được tính toán như sau:

Hình 8 Biểu đồ phân bố Histogram theo độ

Trang 13

Dựa vào hình trên ta sẽ tương ứng với mỗi vùng trong mà trân 4x4 sẽ lấy ra những vector có biên độ cao nhất tương ứng với các góc theo nó Ví dụ, trong hình trên ta lấy các góc 10 - 19, 20 - 29, 40 - 49, 300 – 309…để tập hợp thành Keypoint Descriptor

Hình 9 Keypoint đã được gắn vector tọa độ

Bước cuối cùng là tạo ra các ma trận vector tọa độ từ biểu đồ Histogram ở trên

để có được tập hợp ma trận vector tọa độ của Keypoint Ma trận này sẽ được dùng

để đem đi Matching

Hình 10 Ma trận vector tọa độ của một Keypoint

Trang 14

b SURF (Speeded-Up Robust Features):

Một bất lợi lớn nhất của SIFT chính là tốc độ xữ lí chậm dù có độ chính xác cao SURF ra đời để khắc phục nhược điểm tốc độ chậm của SIFT Về cơ bản phương pháp SURF thực hiện gần giống như SIFT Tuy nhiên, SURF khác SIFT ở chỗ cách làm mờ bức ảnh, thay vì SIFT sẽ làm mờ toàn bức ảnh với thuật toán Gaussian thì SURF sẽ dùng một mặt nạ để làm mờ tại những điểm Keypoint tương ứng Điều này giúp cho công việc tính toàn nhanh hơn bởi chương trình sẽ xử lí khá lâu với các hàm phi tuyến của Gaussian

Ngoài ta, SURF hơn hẵn với SIFT đó là cách xác định các Keypoint sơ khai, thay vì SIFT phải đi tính định thức của ma trận đạo hàm bậc hai Hessian - điều này vô cùng bấc lợi nếu gặp những bức ảnh kích thước lớn – thì SURF chỉ cần tính vết hay trace của ma trận Hessian

Hình 11 Mặt nạ làm mờ của SURF

SURF sẽ đánh số các vùng sau khi làm mờ, những vùng máu trắng sẽ được đánh là số 1, màu đen sẽ là số -1 và nếu nhiều vùng gộp lại với nhau sẽ công các chỉ

số này lại Và giống như SIFT, SURF cũng sẽ tính biểu đồ Histogram Tuy nhiên, SIFT

sẽ tính Histogram cho tất cá các Keypoint, còn SURF không làm vậy, nó cài thiện tốc

độ bằng cách Đối với những điểm có chỉ số là 0 thì SURF mới tính Histogram tại điểm

đó, còn các điểm nào là 1 thì nó sẽ bỏ qua

Như vậy, rõ ràng ta thấy SURF nhanh hơn hẵn so với SIFT về mặt thuật toán Tuy nhiên, với việc loại bỏ các Keypoint không cần thiết của SURF đã phần nào làm cho phương pháp này có độ chính xác không cao Đặc biệt, với các bức ảnh đem đi Matching bị xoay đi sẽ làm cho phương pháp này không còn chính xác nữa Bởi ảnh hưởng của chiếu sang và máu sắc xung quanh đối tướng bị thay đổi mà những đặc trưng đó vô tình SURF đã loại bỏ hoặc hiểu nhầm

Trang 15

2 Phương pháp Matching:

Sau khi đã tìm ra các Keypoint đáng tin cậy bằng phương pháp SIFT hoặc SURF ta sẽ tiến hành lấy một bức ảnh khác cũng thực hiện các bước thông qua SIFT hoặc SURF để tìm các Keypoint của ảnh đó Cuối cùng, ta sẽ thu được một tập hợp

ma trận vector tọa độ từ biểu đồ Histogram Nhiệm vụ còn lại là ta sẽ so sánh các ma trận này của ảnh tham chiếu và ảnh đem đi Matching, nếu kết quả này tương tự nhau thì ta xác định hai Keypoint đấy là trùng nhau Tính toàn số lượng điểm Keypoint Matching được trên tổng số điểm Keypoint đem đi Matching cho ra một mức ngưỡng nhất định Nếu lớn hơn thi nó chính là vật thể mà ta mà ta đem đi tham chiếu và ngược lại Để thực hiện được việc này, ta có hai phương pháp: Brute-Force Matcher và Flann Matcher

Đối với Brute-Force Matcher, nó sẽ đem điểm mô tả đặc trưng của bức ảnh tham chiếu với điểm đặc trưng của bức ảnh đem đi Matching để tính khoảng cách, nếu khoảng các đó đủ gần so với mức ngưỡng đặt ra thì chúng trùng nhau và ngược lại Lưu ý, khoảng cách ở đây chính là độ sai lệch giữa hai điểm mô tả đặc trưng

Đối với Flann Matcher, nó sẽ đem điểm mô tả đặc trưng của bức ảnh đem đi Matching để sấp sỉ các ma trân đó Sau đó, nó sẽ lấy mỗi điểm đặc trưng bên ảnh đem

đi tham chiếu để đem đi so sánh, nếu đặc trưng điểm đó thuộc vào khoảng xấp xỉ của một trong những điể đặc trưng bên ảnh đem đi Matching thì xác định chúng trùng nhau

Tương ta cũng có knnBrute-Force Matcher và knnFlann Matcher sẽ cho ra các điểm Matching tốt nhất trong các điểm Matching được

3 Thuật toán tăng độ chính xác của Matching – Homography:

Homography là một ma trận chuyển đổi 3x3:

Trong phương pháp này người ta sẽ lấy ra các một cần Matching bên ảnh tham chiếu và một điểm ảnh đem đi Matching, ta liên kết chung lại thông qua ma trận chuyển đổi Homography

Ngày đăng: 09/04/2019, 17:32

TỪ KHÓA LIÊN QUAN

w