13: Vị trí đỗ xe được cắt theo hình được làm méo v i các góc camera khác ớnhau .... Phương pháp này tuy đơn giản, chi phí thấp nhưng lại không bao quát được nhiều trường hợp như xe đi qu
Trang 1Chuyên nghành: K thu ỹ ật điệ n t ử
Giảng viên hướ ng d n: ẫ TS Nguy ễn Vũ Thắ ng -
Viện Điệ ử ễ n t vi n thông
HÀ N I, 6/2020 Ộ
Chữ ký c a GVHD ủ
Tai ngay!!! Ban co the xoa dong chu nay!!! 17061132128601000000
Trang 2C NG HÒA XÃ H I CH Ộ Ộ Ủ NGHĨA VIỆT NAM
Độ ậ – ự c l p T do H nh phúc – ạ
B N XÁC NH N CH NH S A LU Ả Ậ Ỉ Ử ẬN VĂN THẠC SĨ
H và tên tác gi ọ ả luận văn : Trần Trung Ti nế
Đề tài luận văn: Nhậ ạn d ng ch xe ô tô b ng camera ỗ đỗ ằ
Chuyên ngành: K thuỹ ật Điện tử
Mã số SV: CA170266
Tác giả, Người hướng d n khoa h c và Hẫ ọ ội đồng ch m luấ ận văn xác
nh n tác gi ậ ả đã sửa ch a, b sung luữ ổ ận văn theo biên bản h p Họ ội đồng ngày 23/07/2020 v i các n i dung sau: ớ ộ
- B cố ục chưa hợp lý
- Thêm ph n kh o sát các h ng s d ng camera ầ ả ệthố ử ụ
- Các lỗi soạn thảo văn bản
Ngày tháng năm 2020 Giáo viên hướ ng d n ẫ Tác gi lu ả ận văn
CH Ủ Ị T CH H Ộ I Đ Ồ NG
Trang 3L I CAM Ờ ĐOAN
Tôi cam k t lu ế ận văn này là công trình nghiên cứ u c a b ủ ản thân tôi, dướ ự hướ i s ng
d n c TS Nguy ẫ ủ a ễn Vũ Thắ ng Các k t qu công b trong báo cáo này là trung th c, ế ả ố ự không sao chép c a b t k m t cá nhân ho c t ủ ấ ỳ ộ ặ ổ chức đã đượ c công b nào khác ố
Ngày … tháng …… năm 2020
H C VIÊN Ọ
Trầ n Trung Ti n ế
Trang 4L ờ i cảm ơn
Lời đầu tiên, xin trân tr ng ctôi ọ ảm ơn TS Nguyễn Vũ Thắng và các thành viên
c a phòng thí nghi m ủ ệ IC Design đã tận tình hướng d n tôi trong quá trình hoàn ẫthành luận văn Tôi xin chân thành cảm ơn các ầ th y, cô thu viộc ện Điệ ử Viễn n t - thông, trường Đại h c Bách Khoa Hà Nọ ội đã ạo điềt u ki n và h tôi trong suệ ỗ trợ ốt quá trình tôi thực hiện luận văn này
Do b n thân tôi còn gi i h n v ki n th c và kh ả ớ ạ ề ế ứ ả năng lý l ậu n nên luận văn này còn nhi u thi u sót và h n ch , kính mong s dề ế ạ ế ự chỉ ẫn và đóng góp của các th y, cầ ô
để ận văn củ lu a tôi hoàn thiện hơn Tôi xin chân thành cảm ơn!
Các k qu trong luết ả ận văn này do tôi thực hiện dướ ự hưới s ng d n cẫ ủa TS
Nguyễ n Vũ Th ắ ng và TS Nguyễn Vũ Thắng có toàn quyề ử ụ luận vănn s d ng này
luận văn đối với toàn b h ốộ ệth ng qu n lý ả bãi đỗ xe
Kết quả ủ c a luận văn là đánh giá độ chính xác của phương án xác định v ị trí ô đỗ
xe Luận văn cũng đưa ra thiế ết k chi ti t nhế ằm ảgi i quy t m t s vế ộ ố ấn đề ặ g p phải khi tri n khai h ng qu n lý ể ệ thố ả bãi đỗ xe T ừ đó, luận văn xây dựng m giao di n ột ệthân thi n vệ ới người dùng và cho phép áp d ng thi t k trên v i nhiụ ế ế ớ ều bãi đỗ khác nhau mà không c n phầ ải đi sâu vào trong code hay phả ử ụi s d ng ph n m m bên ầ ềngoài H ệthống đã đượ chạc y th trên th c t và cho k t qu chính xác là 92.5% ử ự ế ế ả độ
s ng nh nh n diố lượ ả ậ ện đủ 4 điểm m c, còn l i là s ng nh ch nh n diố ạ ố lượ ả ỉ ậ ện được
3 điểm m c trên t ng 67 ố ổ ảnh đầu vào, t t c u ấ ả đề được x thành công trong bửlý ộ ữ d
liệ ảu nh Trong tương lai, nhóm nghiên cứu s ửẽth nghi m trên b d ệ ớn hơn, ệ ộ ữ li u l
có th nhóm s ể ẽ tăng kích thước các điểm m c, th c hi n kh o sát màu xe tránh ố ự ệ ả
nh m l n màu vầ ẫ ới các điểm m c và có m t vài l a chố ộ ự ọn khác cho các bãi đỗ xe với tính chất khác nhau… để giúp h th ng nh n diệ ố ậ ện chính xác hơn
Trang 5M ỤC LỤ C
M Ở ĐẦ U 1 CHƯƠNG 1 GIỚ I THI U CHUNG V Ệ Ề LĨNH VỰ C NGHIÊN C U 3 Ứ
1.1 Đặ ấn đề t v 3 1.2 M c tiêu và nhi m v c a lu ụ ệ ụ ủ ận văn 5 1.3 K t lu ế ận chương 6
CHƯƠNG 2 SƠ ĐỒ KH ỐI VÀ CƠ SỞ LÝ THUY T 7 Ế
2.1 Gi i thi u chung v h ng 7 ớ ệ ề ệ thố 2.1.1 Bài toán 7 2.1.2 Đầ u vào/ra c a h th ng 8 ủ ệ ố 2.1.3 Sơ đồ kh i 8 ố 2.2 Kh i x lý công vi ố ử ệc đề ậ c p trong lu ận văn 10 2.3 M t s thu t toán và khái ni m s d ng trong lu n ộ ố ậ ệ ử ụ ậ văn 13 2.3.1 T ng quan v OpenCV 13 ổ ề 2.3.2 Chuy ển đổ i gi a các không gian màu 14 ữ 2.3.3 Thu t toán Morphological Transform 17 ậ 2.3.4 Các phương pháp căn chỉ nh nh 20 ả 2.3.5 Thu t toán Canny Edge Detection 27 ậ 2.3.6 Thu t toán Hole Filling 30 ậ 2.3.7 Thu t toán xoay ậ ả nh 32 2.4 K t lu ế ận chương 33
CHƯƠNG 3 NỘ I SUY V Ị TRÍ ĐỖ XE VÀ K T QU Ế Ả ĐẠT ĐƯỢ C 34
3.1 Th c hi ự ện đánh dấu các điể m m 37 ố c 3.2 N i suy t ộ ọa độ ả nh c a v ủ ị trí đỗ 39 3.2.1 Xác đị nh t ọa độ các điể m m c và các v ố ị trí đỗ 39 xe 3.2.2 Th c hi n n i suy t ự ệ ộ ọa độ ả nh 40 3.3 Th c hi n c ự ệ ắ t ả nh 46 3.3.1 C ắ t ả nh s d ng t ử ụ ọa độ 46 3.3.2 C ắ t ả nh s d ng mask 50 ử ụ 3.4 K t qu ế ả đạt đượ c 53 3.5 K t lu ế ận chương 53
K T LU N 55 Ế Ậ TÀI LI U THAM KH O 56 Ệ Ả
Trang 6DANH M C HÌNH V Ụ Ẽ
Hình 1 1: Một số phương pháp quản lý bãi đỗ xe ngoài trời (a) sử ụ d ng c m bi n ả ế
h ng ngo i kồ ạ ết hợ ớp v i rào ch n [1], (b) s d ng c m bi n [2] 3ắ ử ụ ả ếHình 1 2: Phương pháp sử ụ d ng camera nhi t 4ệHình 1 3: S dử ụng camera để giám sát, quản lý bãi đỗ xe [4] 5 Hình 2 1: Sơ đồ kh i h th ng nh n d ng ch xe ô tô b ng camera 8ố ệ ố ậ ạ ỗ đỗ ằHình 2 2: Camera đượ ắp đặ ạ ầng 4 tòa nhà C9, khuôn viên trường Đạ ọc l t t i t i h c BKHN và kết quả chụp bãi đỗ xe nhà C9, trường Đại học Bách khoa Hà N i 10ộHình 2 3: Sơ đồ kh i c a Image Processing 11ố ủHình 2 4: Quy trình thực hiện công vi c trong kh i Image Processing 12ệ ốHình 2 5: Không gian màu RGB 15Hình 2 6: Không gian màu HSV 16Hình 2 7: Hình ảnh g c sử ụố d ng trong thu t toán này 18ậHình 2 8: Hình ảnh minh h a Erosion 18ọHình 2 9: Hình ảnh minh h a Dilation 19ọHình 2 10: Hình ảnh minh h a Opening 19ọHình 2 11: Hình ảnh minh h a Closing 20ọHình 2 12: Hai hình ảnh c a m t m t phẳủ ộ ặ ng 3D (trên cùng m t cu n sách) 21ộ ốHình 2 13: Hình ảnh c a m t phủ ặ ẳng 3D có th ể được căn chỉnh v i mớ ột hình ảnh khác b ng Homography 22ằHình 2 14: Hình ảnh minh h a máy nh pinhole 25ọ ảHình 2 15: Các kiểu bi n d ng hình nh 26ế ạ ảHình 2 16: Sự khác nhau gi a Image Warping và Image Calibration 28ữHình 2 17: Hình ảnh minh h a về ngưỡọ ng l c 29ọHình 2 18: Hình ảnh k t quả ủế c a thu t toán phát hi n c nh Canny 29ậ ệ ạHình 2 19: Các bước th c hi n Hole Filling 31ự ệHình 2 20: Sơ đồ thuật toán các bước th c hi n Hole Filling 31ự ệHình 2 21: Hình ảnh minh h a thu t toán xoay nh 32 ọ ậ ảHình 3 1: Hình ảnh v trí đ b l ch 36ị ỗ ị ệHình 3 2: Các cách đánh dấu m c 37ốHình 3 3: Hình ảnh đánh dấu điểm m c 39ố
Trang 7Hình 3 4: Xác định tọa độ điể m m c 39ố
Hình 3 5: Xác định tọa độ các v ị trí đỗ xe 40
Hình 3 6: Hình ảnh tham kh o b nhi u 41ả ị ễ Hình 3 7: Hình ảnh lo i bỏạ nhi u b ng Morphological Transform 42ễ ằ Hình 3 8: Kết quả nh n diậ ện đầy đủ 4 m c vớ ảố i nh ch a mứ ốc được tri n khai th c ể ự t 42ế Hình 3 9: Hình ảnh tham chi u 44ế Hình 3 10: Hình ảnh hi n t i khi góc camera b lệ ạ ị ệch 44
Hình 3 11: Hình ảnh hi n tệ ại sau khi đã thực hi n làm méo nh v i 3 m c 45ệ ả ớ ố Hình 3 12: Vị trí đỗ xe được cắt theo hình tham chi u 45ế Hình 3 13: Vị trí đỗ xe được cắt theo hình được làm méo v i các góc camera khác ớ nhau 45
Hình 3 14: Vị trí đỗ xe được cắt theo t a đ ọ ộ cho trước với các góc camera khác nhau 45
Hình 3 15: Giao diện ph n m m Paint s dầ ề ử ụng để ắ c t ảnh 46
Hình 3 16: Các contour được v tr c ti p lên c a s ẽ ự ế ử ổ chương trình 47
Hình 3 17: Tọ ộ được lưu vào file texta đ 48
Hình 3 18: Hình ảnh c t các vị trí đỗắ xe 49
Hình 3 19: Sử ụ d ng contours hình vuông và hình thoi 50
Hình 3 20: Ví dụ ề v cách s d ng ph n mử ụ ầ ềm Paint 3D để ạ t o mask 51 Hình 3 21: Hình minh họa mask v i 4 blob cho 4 v trí đ 51ớ ị ỗ Hình 3 22: Kết quả sau khi kết hợp hình ảnh bãi đỗ và mask v a tạo 52ừ Hình 3 23: Kết quả sau khi th c hiện Warping 53ự Hình 3 24: Kết quả ả nh ph c vụụ cho quá trình phân lo i 53ạ
Trang 8DANH M C B NG BI U Ụ Ả Ể
Bảng 2 1: Thông tin đầu ra, đầu vào của khối Image Processing 11
B ng 2 2: S khác nhau gi a Image Warping và Image Calibration 26ả ự ữ
Trang 91
M Ở ĐẦ U
A Bối cả nh nghiên c u ứ
Hiện nay mật độ xe ô tô ngày càng tăng cao tại các khu đô thị ớ l n, cùng với điều
đó là xuất hi n ngày càng nhiệ ều các bãi đỗ xe v i quy mô l n nh ớ ớ ỏ khác nhau nhưng
vi c qu n lý, v n hành trong các bãi ệ ả ậ đỗ xe chưa tối ưu và mang lại hi u qu cao cho ệ ảngười quản lý cũng như người lái xe, ví d ụ như: thiếu thông tin s lư ng ch xe ố ợ ỗ đỗcòn trống, người lái xe ph i dành nhi u thả ề ời gian để tìm ki m m t ch trong mế ộ ỗ đỗ ột không gian đỗ ô tô r ng l n Vì v y, phát tri n m t h th ng qu n lý, nh n di n ch ộ ớ ậ ể ộ ệ ố ả ậ ệ ỗ
đỗ xe ô tô là th t s c n thi t b i các l i ích: ti t ki m thậ ự ầ ế ở ợ ế ệ ời gian, điều hành phương tiện lưu thông dễ dàng, thu n tiậ ện cho ngườ ử ụi s d ng
B Phương pháp nghiên cứ u
Để qu n lý mả ột bãi đỗ xe ô tô, bên c nh nh ng pạ ữ hương pháp đang đượ ử ục s d ng
t i nhiạ ều nơi như cổng t ng, c m bi n mự độ ả ế ặt đất ho c h ặ ệthống cơ khí để ết được bi
s v trí còn tr ng và tr ng t i nh ng v trí nào trong khu vố ị ố ố ạ ữ ị ực đỗ xe thì còn có phương pháp sử ụng camera để d giám sát, quản lý bãi đỗ xe
Phương pháp này có ưu điểm là ta có th giám sát di n r ng khu vể ệ ộ ực bãi đỗ xe chỉ ớ ộ v i m t camera, vi c thi công đơn gi n không ệ ả ảnh hưởng nhiều đến môi trường
C Mục tiêu và đố i tư ợ ng nghiên cứu
Đềtài: “Hệ ố th ng nh n d ng ch xe ô tô bậ ạ ỗ đỗ ằng camera”đưa ra phương pháp
để ối ưu hóa việ t c giám sát, quản lý bãi đỗ xe nh m c i thi n nhằ ả ệ ững khó khăn còn
gặp đối với người quản lý và người lái xe trong khu vực đỗ xe t i các thành ph l n ạ ố ớĐối tượng nghiên c u cứ ủa đề tài là quá trình x lý hình ử ảnh để phân loại được trạng thái v trí đ ị ỗ là “trống” hay “không trống”
D Phạ m vi nghiên c u ứ
Phạm vi đề tài g m nội dung được trình bày thành các chương sau: ồ
- Chương 1: Khảo sát các phương pháp sử ụng để d quản lý bãi đỗ xe nhằm đưa ra được phương pháp tối ưu và mang hiệu qu ả cao cho người qu n lý, ảngườ ử ụi s d ng h th ng quệ ố ản lý bãi đỗ xe T ừ đó, chúng ta xác định được
m c tiêu và nhi m v công vi c ph i th c hi n trong luụ ệ ụ ệ ả ự ệ ận văn để đạt được
k t qu vế ả ới phương pháp giám sát, quản lý bãi đỗ xe s d ng camera mà ta ử ụ
đã lựa ch n ọ
Trang 102
- Chương 2: Gi i thi u t ng quan toàn b h ng nh n diớ ệ ổ ộ ệ thố ậ ện bãi đỗ xe b ng ằcamera, trình bày khối công việc được yêu c u th c hiầ ự ện trong đề tài này đó
là xác định v trí các ch xe ị ỗ đỗ – đây là một ph n công vi c n m trong h ầ ệ ằ ệ
thống nh n diậ ện bãi đỗ xe lớn Thêm vào đó, luận văn tìm hiểu m t s ật ộ ốthutoán và khái niệm v x ảề ửlý nh s dử ụng trong đề tài này
- Chương 3: Sử ụ d ng các ph n m m, thu t toáầ ề ậ n để xác định tọa độ các điểm
m c, tố ọa độ các v ị trí đỗ; chuyển đổi các không gian màu, lo i b nhi u và ạ ỏ ễcăn chỉnh hình nh T ả ừ đó, phần m m có th n i suy ra t ng v ề ể ộ ừ ị trí đỗ ắ ả, c t nh
và xu t ra file hoàn toàn t ấ ự động để ph c v cho các kh i công vi c ti p ụ ụ ố ệ ế theo trong h thệ ống nh n diậ ện bãi đỗ xe b ng camera ằ
Phần cu i, trình bày nh ng k t qu ố ữ ế ả đã đạt được sau khi hoàn thành công việc được yêu cầu, đưa ra các hạn ch ế mà chương trình chưa đạt được Cu i cùng, luố ận văn đưa ra mộ ố ảt s gi i pháp kh c ph c nh ng h n ch ắ ụ ữ ạ ế và đề xuất hướng phát tri n ể
của hệ thống trong tương lai
Trang 113
CHƯƠNG 1 GI I THI U CHUNG V Ớ Ệ Ề LĨNH VỰ C NGHIÊN C U Ứ 1.1 Đặ t vấn đề
Trong các thành ph l nố ớ , người lái xe luôn phải đối m t vặ ới khó khăn trong việc
l a chự ọn bãi đỗ xe và tìm ki m ch xe trong khu vế ỗ đỗ ực đỗ xe l n M t s ớ ộ ố phương pháp đã được đề xu t nh m h vi c qu n lý ấ ằ ỗ trợ ệ ả bãi đỗ xe như ử ụs d ng rào ch n kắ ết
h p vợ ới cảm bi n h ng ngoế ồ ại, cảm bi n mế ặ ất đ t, camera nhi t ệ …
Phương pháp sử ụ d ng rào ch n k t h p v i c m bi n h ng ngoắ ế ợ ớ ả ế ồ ại có ưu điểm là
d n khai, lễtriể ắp đặt nhưng lại không linh động trong m t s khu v c và khi có các ộ ố ự
y u t ế ố bên ngoài tác động, ví d ụ như: xe ô tô đi vào nhưng không đỗ ạ l i (xe giao hàng, xe đưa thư,… , xe đi vào là xe máy xe đạ …) p,
Phương pháp sử ụ d ng c m bi n mặt đất có ưu điểm là đơn ảả ế gi n, d tri n khai ễ ểnhưng nhược điểm là t n kém vì m i m t v trí cố ỗ ộ ị ần đặt m t c m bi n, không phù ộ ả ế
h p vợ ới điều ki n th i tiệ ờ ết ngoài trời,…
Hình 1 1: M ộ t số phương pháp quản lý bãi đỗ xe ngoài trời (a) s d ng c ử ụ ả m bi ế n
h ng ngo ồ ạ i kết hợ ớ p v i rào ch n [1] (b) s d ng c ắ , ử ụ ả m biế n [2]
Phương pháp sử ụ d ng camera nhiệ có ưu điểm đơn giảt n, d tri n khai, có th ễ ể ểthông báo được tr ng thái v ạ ị trí đỗ xe Tuy nhiên, nhược điểm ch có th phát hiỉ ể ện khi các phương tiện duy trì nhi t n u không h th ng s ph i h tr b i các thi t b ệ ế ệ ố ẽ ả ỗ ợ ở ế ịkhác, có th ểnhận di n nh m vệ ầ ới các xe đang di chuyển qua bãi đỗ xe, hơn nữa chi phí c a mủ ột chiếc camera nhi t khá cao [3] ệ …
Trang 124
Hình 1 2 : Phương pháp sử ụ d ng camera nhi t ệ
Hiện nay, các bãi đỗ xe thường được trang b CCTV camera v i mị ớ ục đích giám sát đồng th i s d ng cho các h th ng phát hi n t ng Thờ ử ụ ệ ố ệ ự độ ấy được điều này, phòng thí nghi m ệ IC Design đã có ý tưởng s dử ụng CCTV camera để xác định ch ỗ
đỗ xe Với điều ki n trang thi t b có s n và kh ệ ế ị ẵ ả năng quan sát rộng nên h th ng ệ ốphân lo i tr ng thái ạ ạ chỗ đỗ xe b ng camera là gi i pháp kh ằ ả ả thi để giám sát bãi đỗ
và gi m th i gian tìm ki m v ả ờ ế ị trí đỗ xe trống cho ngườ ử ụng, đặi s d c bi t là vệ ới
những bãi đỗ xe l n ớ Ưu điểm của phương pháp này là ta có thể giám sát được vài chụ ị trí đỗ ỉ ớc v ch v i m t camera, và viộ ệc thi công đơn giản không ảnh hưởng nhiều đến môi trường V hoề ạt động c a h th ng giám sát: Camera ch p hình nh toàn ủ ệ ố ụ ả
cảnh bãi đỗ xe, m t b x lý ph i x lý hình ộ ộ ử ả ử ảnh đó để đưa ra số ị v trí còn tr ng và ốtrống t i nh ng v trí nào Các v trí tr ng luôn ạ ữ ị ị ố được c p nh t liên t c và đượậ ậ ụ c hi n ể
thị trên màn hình đặ ạt t i các v trí chiị ến lược trong khu vực đỗ xe nh m h ợ cho ằ ỗ trngười dùng
Trang 135
Hình 1 3: S d ử ụng camera để giám sát, qu ản lý bãi đỗ [4] xe
N i dung nghiên c u trong ộ ứ luận văn này t p trung vào gi i quy t, phát triậ ả ế ển phương pháp xác định các v ị trí ô đỗ xe H th ng s d ng hình nh camera ệ ố ử ụ ả mà
chụ ừ bãi đỗp t xe, s d ng ph n m m ch n c t thành các nh nh ụ ừử ụ ầ ề ọ ắ ả ỏ ch p t ng v trí ị
đỗ, ghi l i tạ ọa độ ị v trí c a các ch xe T các hình nh c p nh t tr ng thái v ủ ỗ đỗ ừ đó, ả ậ ậ ạ ềsau của bãi đỗ xe s ẽ được đưa vào phần m m t ng c t nh các ch xe d a ề ự độ ắ ả ỗ đỗ ựtheo thông tin các v ị trí đã có sẵ Đây chính là nhữn ng ảnh được ra kh i công viố ệc
tiếp theo c a h ống - s dủ ệ th ử ụng CNN để phân lo i mạ ỗ ải nh nh thu c tr ng thái ỏ ộ ạ
“bận” (busy – có xe t i v trí đ ) hoạ ị ỗ ặc “trống” (free – không có xe t i v trí đ ).ạ ị ỗ
1.2. M c tiêu và nhi ụ ệ m vụ ủ c a lu ận văn.
Mục tiêu của luận văn:
- Thực hiện đánh dấu các điểm m c trên hiố ện trường, s d ng các hình nh ử ụ ảđược ch p t camera, vi t ụ ừ ế chương trình tính toán xác định tọa độ các v ị trí đỗ
Trang 146
- Tìm hi u v ngôn ng lâp trình python Tìm hi u các l nh, hàm x lý ể ề ữ ể ệ ử cơ bản
c a ủ OpenCV – thư việ ỗ trợ n h cho vi c x nh, và hi u v các thu t toán ệ ửlý ả ể ề ậ
x lý ử ảnh cơ bản
- Xây d ng ự chương trình cho phép chọn và tính toán các điểm m c và v ố ị tí đỗ
xe trong ảnh ch p khu vụ ực bãi đỗ xe
- Xây dựng chương trình cho phép cắt ảnh t ng t các m c trong nh và ự độ ừ ố ảcác v xe ịtrí đỗ đã có
1.3 K ế t luận chương
Trong phần này, chúng ta đã đi khảo sát các phương pháp quản lý bãi đỗ xe
nhằm chọn ra một phương pháp quản lý tối ưu phù hợp v i mớ ục tiêu giúp người lái
xe ti t kiế ệm đượ thời gian trong vi c tìm ki m v ệ ế ị trí đỗ xe tr ng T ố ừ đó, chúng ta xác định m c tiêu và nhi m v ph i th c hiụ ệ ụ ả ự ện để xây d ng m t h thự ộ ệ ống được trình bày chi tiết ở chương tiếp theo
Trang 157
CHƯƠNG 2 SƠ Đ Ồ KH ỐI VÀ CƠ SỞ LÝ THUY T Ế 2.1 Giới thiệ u chung v h ề ệ thống.
2.1.1 Bài toán
Bài toán đặt ra là xây d ng m t h th ng quự ộ ệ ố ản lý bãi đỗ xe ngoài tr i t ng và ờ ự độ
ít có s qu n lý cự ả ủa con người H ng này có th thông tin k p th i cho ệthố ể ị ờ người lái
xe v v ề ị trí bãi đỗ cũng như số lượng hay v c c t ng ô còn tr ng ị trí ụ thể ủa ừ đỗ ố ởtrong bãi Nhi u ề phương pháp đã được ểtri n khai s dử ụng như ắp đặ ả l t c m bi n tế ại
t ng v ừ ị trí đỗ để ể ki m soát tr ng thái c a t ng v ạ ủ ừ ị trí, sau đó tổng hợp và đưa ra sốlượng cũng như ữnh ng v ị trí đỗ còn tr ng ố Phương pháp này có ưu điểm là d tri n ễ ểkhai và đơn giản tuy nhiên l i gây t n kém khi ph i s d ng nhi u c m bi n cho các ạ ố ả ử ụ ề ả ếbãi đỗ ớ l n [5] Ho c m t s ặ ộ ố nơi sử ụ d ng b m cộ đế ở ửa ra vào để ể ki m soát s lư ng ố ợ
xe trong bãi đỗ Phương pháp này tuy đơn giản, chi phí thấp nhưng lại không bao quát được nhiều trường hợp như xe đi qua nhưng không đỗ ạ l i hay không ki m soát ểđược v trí đ c a xe ị ỗ ủ [6]
Ngoài những phương pháp trên, ột m trong những phương án phổ bi n và có ếnhiều ưu điểm hi n nay là qu n lý ệ ả bãi đỗ xe s d ng camera H ng qu n lý b ng ử ụ ệthố ả ằcách nh n di n trậ ệ ạng thái bãi đỗ xe ô tô s d ng camera, có th ng d ng giám sát ử ụ ể ứ ụ
t i cáạ c bãi đỗ xe lòng đường, trung tâm thương mại, trường học… với các v ị trí đỗđược b trí theo nh ng v trí c nh và góc t camera ố ữ ị ố đị đặ cũng ố đị Phương pháp c nhnày có ưu điểm là lắp đặ ễt d , thi công ít làm ảnh hưởng đến môi trường th c t , giá ự ếthành rẻ và v n hành bậ ảo dưỡng d dàng M i camera có th kiễ ỗ ể ểm soát được kho ng ảkhông gian khá l n, có kh ớ ả năng nhận ra vài ch c v ụ ị trí đỗ ô tô và tình tr ng ch ạ ỗ đỗ,
do đó tiết kiệm được kinh phí thi t b ế ị cũng như kinh phí bảo dưỡng mỞ ỗi bãi đỗ ô
tô, h ng cho phép phát hi n ra v trí t ng ô xe ệthố ệ ị ừ đỗ và đưa ra kết lu n v ậ ị trí đó còn
trống hay không, t ng h p s ch tr ng, c p nh t v h ốổ ợ ố ỗ đỗ ố ậ ậ ề ệ th ng qu n lý trung tâm ả
để ậ c p nh t lên ti n ích cậ ệ ủa người dùng, người đang điều khiển phương tiện và có nhu c u tìm ki m v ầ ế ịtrí đỗ
Để phân lo i v ạ ị trí đỗ ự d a vào nh chả ụp bãi đỗ ệ ố, h th ng c n m t thu t toán x ầ ộ ậ ử
lý nh hi u qu Có nhi u thuả ệ ả ề ật toán được s d ng cho công viử ụ ệc này như Background Subtraction, Color-based SVM (Support Vector Machine), … Tuy nhiên, phương án phổ ế bi n hi n nay ệ và cũng là phương án cho độ chính xác cao là
Trang 168
s dử ụng phương pháp học sâu (Deep Learning) hay mạng nơ-ron tích ch p CNN ậPhương pháp này có thể cho độ chính xác g n ngang b ng vầ ằ ới con người nhưng nhược điểm c a nó là c n b d liủ ầ ộ ữ ệu đủ ớ l n cho quá tr h huìn ấn luy n đ ệ ể cho ra được
kết quả chính xác
H ng s d ng camera giám sát phát hiệthố ử ụ ện ô tô đỗ ần đạ c t được các yêu c u sau: ầ
- Phát hiện được trạng thái có xe và không có xe đang đỗ tại vị trí lắp đặt với các loại xe ôtô cá nhân thông dụng tại Việt Nam
- Hoạt động trong điều kiện có ánh sáng ban ngày hoặc đèn chiếu sáng trên đường phố
- Kế ố ớt n i t i trạm xử lý tập trung qua các công nghệ truyền thông không dây
- Hệ ống stand – alone, có kích thướth c nhỏ gọn, tiện lắp đặt và triển khai
Sơ đồ kh i c a h thố ủ ệ ống được mô t ả như hình sau:
Hình 2 1 : Sơ đồ khố ệ thố i h ng nh n d ng ch ậ ạ ỗ đỗ xe ô tô bằ ng camera
Mô tả ạt độ ho ng c a hệ ốủ th ng:
- H ệ thống x s ử lý ẽ nhận các hình nh (frame) t camera ả ừ và đưa vào khối
Image Processing nh m mằ ục đích tiền x hình nh ử lý ả trước khi phân lo i v ạ ịtrí đỗ
Trang 179
- Tại khối này, hình nh s ả ẽ được căn chỉnh theo hình nh tham chi u (ả ế được lưu
t ừ trước), thông báo v v trí c a camera (v n gi nguyên hay b l ch kh i v ề ị ủ ẫ ữ ị ệ ỏ ịtrí ban đầ ) và sau đó sẽ ắu c t ra hình c a t ng v ô ủ ừ ị trí đỗ xe T p các hình nh ậ ảđượ đưa vào khốc i Car Classification phân lo i xem tđể ạ ại đó đã có xe đỗhay không (tr ng thái c a t ng v trí) và cho bi t s v trí tr ng còn l i Khạ ủ ừ ị ế ố ị ố ạ ối
Training có nhi m v hu n luy n mô hình trên t p d ệ ụ ấ ệ ậ ữliệu thu đượ (dataset) c
và đưa ra các trọng s t i kh i ố ớ ố Car Classification tr cho vi c phân lo i hỗ ợ ệ ạ
Để giám sát trạng thái bãi đỗ xe, ta l a ch n thu t toán phân lo i nh d a vào ự ọ ậ ạ ả ự
mạng nơ-ron tích ch p ậ CNN
Convolutional Neural Network (CNN – ạng nơ M -ron tích ch p) là m t trong ậ ộ
nh ng mô hình Deep Learning tiên ti n Nó giúp cho chúng ta xây dữ ế ựng được
nh ng h ng thông minh vữ ệthố ới độ chính xác cao như hiện nay Như hệ ng x thố ửlý
ảnh lớn như Facebook, Google hay Amazon đã đưa vào sản ph m c a mình nh ng ẩ ủ ữchức năng thông minh như nhận di n khuôn mệ ặt người dùng, phát triển xe hơi tự lái hay drone giao hàng t ng c biự độ Đặ ệt, CNN đượ ử ục s d ng nhi u trong các bài toán ề
ph n c ng vầ ứ ới dung lượng h n ch ạ ế
- Xây d ng b nh chu n t i ự ộ ả ẩ ạ các bãi đỗ xe trong khuôn viên trường Đạ ọi h c Bách Khoa Hà N B nh c n phội ộ ả ầ ải đa dạng c v góc máy lả ề ẫn điều ki n ệánh sáng, thời tiết
- Nghiên c u ph n m mứ ầ ề , thư viện và các thu t toán thích h p cho phép nhậ ợ ận
d ng m c trong ạ ố ảnh, căn chỉ ảnh nh và cắt ảnh
2) Phát tri n ph n c ng h ng, bao gể ầ ứ ệthố ồm:
- Nghiên c u ch n l a camera thích h p cho vi c ch p nh, gứ ọ ự ợ ệ ụ ả ửi ảnh đế ộ ửn b x
lý theo lệnh điều khi n nh t camera cể Ả ừ ần có độ phân giải cao để ỗ h ợ ệtr vi c
nh n di n ô tô t i v ậ ệ ạ ị trí đỗ Camera cần hỗ trợ các chuẩn như USB, HDMI và cho phép truy cập theo địa chỉ IP
Trang 1810
- Nghiên c u ch n l a b x lý thích h p cho phép x lý cứ ọ ự ộ ử ợ ử ắt ảnh và nh n diậ ện
ô tô t i v ạ ị trí đỗ ử ụ s d ng m ng CNN H ng cho phép l a ch n k t n i và ạ ệthố ự ọ ế ốđiều khi n ch p t i m t ho c m t vài camera ể ụ ớ ộ ặ ộ
- Nghiên cứ ế ốu k t n i truy n thông tin gi a camera và b x ề ữ ộ ửlý
3) Chạy th nghi m h ng v i các nh ch p t ng t camera tử ệ ệ thố ớ ả ụ ự độ ừ ại bãi đỗ xe trường Đại học Bách khoa Hà N i ộ
Hình 2 2 : Camera được lắp đặt tại tầ ng 4 tòa nhà C9, khuôn viên trường Đại học BKHN và kết qu ả ch ụp bãi đỗ xe nhà C9, trường Đạ i h ọ c Bách khoa Hà N i ộ
2.2 Khối xử lý công việc đề ậ c p trong lu ận văn
Luận văn sẽ ậ t p trung phát tri n kh i Image Processing v i nhi m v ể ố ớ ệ ụ căn chỉnh
ảnh, phát hi n các v ệ ị trí đỗ trong bãi đỗ xe b ng cách s d ng camera giám sát và ằ ử ụ
cắt ảnh chụp bãi đỗ thành các nh nh ả ỏchứa các v ị trí đỗ Chi ti t công vi c c a khế ệ ủ ối
s ẽ được trình bày chi tiết trong ầph n sau c báo cáo ủa
Sơ đồ kh i c a kh i Image Processing ố ủ ố được th hi n Hình 2 3 ể ệ ở như sau:
Trang 1911
Hình 2 3 : Sơ đồ khố ủ i c a Image Processing
Mô t ho ả ạt độ ng c a kh i Image Processing ủ ố
- Trong trường hợp camera đặ ạt t i m t góc c nh, ộ ố đị chương trình sẽ ấ l my ột
ảnh chụp bãi đỗ xe làm nh tham chiả ếu để tính toán tọa độ pixel c a t ng v ủ ừ ịtrí đỗ
- T nh ng từ ữ ọa độ đã chọn, các hình nh v sau cả ề ủa bãi đỗ xe khi được đưa vào s s d ng nh ng tẽ ử ụ ữ ọa độ này để ắ c t ra v c a t ng ô , ph c v ị trí ủ ừ đỗ ụ ụ cho
việc phân loại trạng thái của vị trí đỗ xe
B ng 2 1 ả : Thông tin đầu ra, đầ u vào c a kh ủ ố i Image Processing
frame I Ảnh bãi đỗ xe ô tô
sample frame I Ảnh m u (ẫ ảnh đầu tiên) bãi đỗ xe
Trang 2012
Quy trình khi đó được th c hiự ện theo sơ đồ thu t toán Hình 2 4 ậ
Hình 2 4: Quy trình th ực hiệ n công vi c trong kh i Image Processing ệ ố
Chương trình sẽ ồm các bước sau: Đọ ả g c nh t ừ camera, sau đó chuyể ản nh t ừkhông gian màu RGB sang không gian màu HSV để thu n tiậ ện hơn trong việc nh n ậ
di n màu Sau khi nh n di n màu ta s ệ ậ ệ ẽ có được 1 mask là kết quả ậ nh n diện màu đó,
t mask này ta s ừ ẽ loại ỏb nhiễu và xác định tọa độ ủ c a các mốc Tùy vào s ố lượng
mốc tìm được, chương trình sẽ báo lỗi (ít hơn 2 mốc được tìm th y) ho c các tấ ặ ọa độ
c a các m c ủ ố tìm được s ẽ được so sánh v i tớ ọa độ tham chiếu để ể ki m tra xem góc camera có b l ch hay không N u góc camera không b lị ệ ế ị ệch, chương trình sẽchuyển sang bước cắt hình ngay Còn trong trường h p góc camera b ợ ị thay đổi thì
Trang 2113
chương trình sẽ có thêm 1 bước căn chỉnh hình trước khi c t ra các v trí slot v i ắ ị ớđiều ki n nh n diệ ậ ện được ít nh t là 3 m c ấ ố
2.3 M t s t ộ ố huậ t toán và khái ni ệ m ử ụ s d ng trong lu ận văn
Để th c hi n công vi c trong khự ệ ệ ối Image Processing cũng như phát tri n m t ể ộchương trình có thể ự độ t ng phát hi n ch xe Nhóm s d ng ph n m m ệ ỗ đỗ ử ụ ầ ềPycharm Community Edition 2019.2.4 (là một môi trường phát tri n tích h p (IDE) ể ợđượ ử ục s d ng trong lập trình máy tính, đặc bi t dành cho ngôn ng ệ ữ Python) để nh n ậ
diện 4 điểm m c, n i suy ra tố ộ ọa độ ả nh c a v ủ ị trí đỗ để ắ c t thành các nh nh ả ỏ Đểthực hiện được chức năng này cần s d ng khá nhi u các thu t toán khác nhau cùng ử ụ ề ậ
v i s h cớ ự ỗtrợ ủa thư viện OpenCV Nh ng khái niữ ệm, thư viện và thuật toán được
s dử ụng trong chương trình sẽ được bàn lu n chi tiậ ết ngay sau đây
2.3.1 T ng quan v OpenCV ổ ề
Trước tiên, chúng ta hãy cùng tìm hi u Open CV là gì? T i sao chúng ta l i s ể ạ ạ ử
d ng nó trong bài toán này? ụ
OpenCV (Open Source Computer Vision Library) là một thư viện mã ngu n m ồ ởhàng đầu cho x lý v th giác máy tính, machine learning, x lý hình nh OpenCV ử ề ị ử ảđược xây dựng để cung c p mấ ột cơ sở ạ ầ h t ng chung cho các ng d ng th giác máy ứ ụ ịtính và để đẩ y nhanh vi c s d ng nh n th c c a máy trong các s n phệ ử ụ ậ ứ ủ ả ẩm thương
m i Là m t s n phạ ộ ả ẩm đượ ấc c p phép BSD, OpenCV giúp các doanh nghi p d ệ ễdàng s d ng và sử ụ ửa đổi code
Thư viện có hơn 2500 thuật toán đượ ối ưu hc t óa, bao g m m t b toàn di n v ồ ộ ộ ệ ềthuật toán th giác máy tính c n và hiị ổ điể ện đại, thu t toán h c máy Các thu t toán ậ ọ ậnày có th ể được s dử ụng để phát hi n và nh n di n khuôn m t, nh n dệ ậ ệ ặ ậ ạng đối tượng, phân loại hành động của con người trong video, theo dõi chuyển động, trích
xu t mô hình 3D c a v t th , tấ ủ ậ ể ạo ra các đám mây điểm t nh ng stereo camera, ừ ữghép các hình nh l i vả ạ ới nhau để ạ t o ra hình ảnh có độ phân gi i cao c a toàn b ả ủ ộkhung c nh, tìm nh ng hình ả ữ ảnh tương đương nhau từ kho nh, lo i b hiả ạ ỏ ện tượng
mắt đỏ kh i hình ỏ ảnh được ch p bụ ằng đèn flash, theo dõi chuyển động c a m t, ủ ắ
nh n ra c nh quan và thi t lậ ả ế ập các điểm đánh dấu, che ph hình nh th c t làm nủ ả ự ế ổi
bật điểm đánh dấu v.v OpenCV có cộng đồng hơn 47 nghìn người dùng và s ố lượt
Trang 22s xâm nh p trong video giám sát ự ậ ở Israel, giám sát thiế ị ủt b c a tôi Trung Qu c, ở ốgiúp robot điều hướng và nhặt đồ ậ ạ v t t i Willow Garage, phát hi n tai nệ ạn đuối nước b ể bơi ở Châu Âu, ch y ngh thuạ ệ ật tương tác ở Tây Ban Nha và New York,
ki m tra m nh v ể ả ỡ trên đường băng ở Thổ Nhĩ Kỳ ể, ki m tra nhãn trên các s n phả ẩm trong các nhà máy trên kh p th ắ ế giới, để phát hi n khuôn m t nhanh chóng ệ ặ ở Nhật
B n ả
Nó có giao di n C++, Python, Java và MATLAB vì v y h ệ ậ ỗ trợ được Windows, Linux, Android và Mac OS OpenCV ch yủ ếu hướng t i các ng d ng t m nhìn ớ ứ ụ ầ
th i gian thờ ực và tậ ụng các hướn d ng d n MMX và SSE khi kh d ng ẫ ả ụ
Hiện nay, m t giao diộ ện CUDA và OpenCL đầy đủ tính năng đang được tích
c c phát triự ển Có hơn 500 thuật toán và g p 10 l n s hàm t o ho c h các thuấ ầ ố ạ ặ ỗtrợ ật toán đó OpenCV được vi t nguyên b n b ng C++ và có giao di n templated ho t ế ả ằ ệ ạđộng trơn tru ớ v i nh ng container STL ữ
Qua đây, ta có thể ấy đượ th c OpenCV m nh trong vi c x lý hình nh, có nhi u ạ ệ ử ả ềgiao diện để ỗ h các h trợ ệ điều hành khác nhau Đó là lý do chúng tôi sử ụ d ng OpenCV để ả gi i quy t bài toán ế
2.3.2 Chuyể ổ n đ i giữ a các không gian màu
Khi th hi n bài toàn chúng ta c n m t hình nh tham chi u gực ệ ầ ộ ả ế ốc đã được xác
định tọa độ ủa điể c m mố ọa độ ủ ừc, t c a t ng v ị trí đỗ xe và hình nh hi n t i c a bãi ả ệ ạ ủ
đỗ xe
Để nh n diậ ện được v trí mị ốc, cách đơn giản nh t là nh n di n màu s c và hình ấ ậ ệ ắ
d ng c a mạ ủ ốc thay vì các thu t toán ph c tậ ứ ạp như Support Vector Machine (SVM), Local Binary Pattern (LBP) hay Deep Learning Để thuậ ện ti n cho vi c nh n diệ ậ ện màu s c trong nh, thay vì s d ng không gian màu RGB ta s s d ng không gian ắ ả ử ụ ẽ ử ụmàu HSV b i không gian màu này th hi n màu sở ể ệ ắc thông qua cách con người tiếp
Trang 2315
nh n hình nh và có kh ậ ả ả năng thích ứng với điều kiện ánh sáng cũng như nhiễ ốu t t hơn V y RGB là gì? HSV là gì? Chuy n ậ ể đổi không gian màu như thế nào? Chúng
ta hãy cùng đi tìm hiểu qua những thông tin dưới đây:
Không gian màu RGB
Hình 2 5: Không gian màu RGB
RGB là không gian màu ph bi n dùng trong máy tính, máy ổ ế ảnh, điện tho i và ạnhi u thi b ề ết ị kĩ thuậ ốt s khác Không gian màu này khá g n v i cách mầ ớ ắt người
t ng h p màu sổ ợ ắc Nguyên lý cơ bản là s d ng 3 màu sử ụ ắc cơ bản R (red - ), G đỏ(green - xanh l c) và B (blue - ụ xanh lam) để ể bi u di n tễ ất cả các màu s ắc
Thông thường, trong mô hình 24 bit (không gian màu mặc định s d ng ử ụ
b i OpenCV - ở tuy nhiên OpenCV đảo 2 kênh R và B, tr thành BGR), m i kênh ở ỗmàu s s dẽ ử ụng 8bit để ể bi u di n, t c là giá tr R, G, B n m trong kho ng 0 - 255 ễ ứ ị ằ ả
B 3 s này bi u di n cho tộ ố ể ễ ừng điểm ảnh, m i s bi u diỗ ố ể ễn cho cường độ ủ c a một màu
V i mô hình bi u di n 24bit, s ng màu tớ ể ễ ố lượ ối đa sẽ là:
(2 1)
Trang 2416
Không gian màu HSV (HSB)
Hình 2 6: Không gian màu HSV
Không gian màu HSV (còn g i là HSB) là m t cách t ọ ộ ự nhiên hơn để mô t màu ả
sắc, dựa trên 3 số liệ u:
H: (Hue) Vùng màu - S ự thay đổi màu s c x y ra v i s ắ ả ớ ự gia tăng góc Ở một kho ng cách c nh t tâm, Hue c a màu ch dả ố đị ừ ủ ỉ ựa trên góc Do đó, giá trị ủ c a Hue
n m trong kho ng t ằ ả ừ 0 đến 360
S: (Saturation) Độ bão hòa màu - Xác định s ố lượng màu không chiếm ưu thế so
v i màu ch o bão hòa ch ớ ủ đạ Độ ỉ được áp d ng cho các màu không chiụ ếm ưu thế,
chỉ sau khi Đ ộ sáng được áp dụng cho k t hế ợp ban đầu
B (hay ): (V Bright hay Value) Độ sáng Xác đị - nh giá tr m nh cị độ ạ ủa màu
Chuyể ổ n đ i không gian màu trong OpenCV
Để chuyển đổi hình nh t h màu BGR (h màu mả ừ ệ ệ ặc định trong OpenCV) sang
h ệ màu HSV được thực hiện như sau:
Trang 252.3.3 Thuậ t toán Morphological Transform
Biến đổi hình thái là m t s ộ ố thao tác đơn giản d a trên hình d ng nh Nó ự ạ ảthường được th c hi n trên hình nh nh phân Nó cự ệ ả ị ần hai đầu vào, m t là hình nh ộ ả
g c c a chúng, cái th ố ủ ứ hai được g i là structuring element ho c kernel quyọ ặ ết định tính ch t c a hoấ ủ ạt động Hai toán t ử hình thái cơ bản là Erosion và Dilation Sau đó
là các biến th cể ủa nó như Opening, Closing, Gradient v.v cũng được sử ụ d ng
Trang 2618
Hình 2 7: Hình nh g ả ố c sử ụ d ng trong thu t toán này ậ
Các toán tử trong thu t toán Morphological Transform ậ
Erosion
Ý tưởng cơ bản v Erosion cũng giề ống như xói mòn đất, nó làm xói mòn ranh
gi i cớ ủa đối tượng ti n c nh (luôn c g ng gi n c nh màu tr ng) ề ả ố ắ ữ tiề ả ắ Kernel trượt qua hình ảnh (như trong tích chập 2D) M t pixel trong nh g c (1 ho c 0) s ộ ả ố ặ ẽ chỉđược coi là 1 n u t t c các pixel trong kernel là 1, n u không b ế ấ ả ế ị xói mòn (đượ ạc t o thành 0)
Vì vậy, điều x y ra là t t c các pixel g ranh gi i s b i b tùy thu c vào ả ấ ả ần ớ ẽ ịloạ ỏ ộ
kích thước kernel Vì th dày hoế độ ặc kích thước của đối tượng mặt trước giảm
hoặc đơn giản là vùng tr ng gi m trong nh Nó r t hắ ả ả ấ ữu ích để i b nh ng nhi u loạ ỏ ữ ễtrắng nhỏ, tách hai đối tượng có blob b dính vào v i nhau Tham kh o hình nh ị ớ … ả ảsau đây:
Hình 2 8: Hình nh minh h a Erosion ả ọ
Trang 27nó cũng thu nhỏ đối tượng c a chúng ta Vì v y, chúng ta làm giãn nó vì nhi u bi n ủ ậ ễ ế
mất nhưng diện tích của đối tượng tăng lên Điều này h u ích trong vi c n i các ữ ệ ố
ph n b h ng c a mầ ị ỏ ủ ộ ốt đ i tượng Tham kh o hình ả ảnh sau đây:
Hình 2 9: Hình nh minh h a Dilation ả ọ Opening
Opening thực hiện co (Erosion) trước sau đó mới th c hi n phép giãn n ự ệ ở(Dilation) Nó được ứng d ng trong vi c lo i b các phụ ệ ạ ỏ ần lồi lõm và làm cho đường bao các đối tượng trong nh tr ả ở nên mượt mà hơn Tham kh o hình ả ảnh sau đây:
Hình 2 10 : Hình ả nh minh h a Opening ọ
Trang 2820
Closing
Là s ự đảo ngược v i Opening, nó th c hi n phép giãn n ớ ự ệ ở (Dilation) trước sau đó
m i th c hi n phép co (Erosion) Nó ớ ự ệ thường được dùng trong ng dứ ụng làm trơn đường bao các đối tượng, lấp đầy các kho ng tr ng biên và lo i b nh ng h nh ả ố ạ ỏ ữ ố ỏTham kh o hình ả ảnh sau đây:
Image warping
Hãy xem xét hai hình nh c a m t m t ph ng (trên cùng m t cuả ủ ộ ặ ẳ ộ ốn sách) được
hi n th ể ị trong Hình 2 D u ch12 ấ ấm đỏ ể bi u th cùng mị ột điểm v t lý trong hai hình ậ
ảnh Trong thu t ng th giác máy tính, nhậ ữ ị ững điểm tương ứng Hình 2 12 cho th y ấ
bốn điểm tương ứng b n màu khác nhau , xanh lá cây, vàng và cam ố – đỏHomography là m t phép biộ ến đổi (ma tr n 3 x 3) ánh x ậ ạ các điểm trong m t hình ộảnh sang các điểm tương ứng trong hình nh khác ả
Trang 30b ng cách xoay máy nh, hai hình nh có liên quan b ng m t hình ằ ả ả ằ ộ ảnh tương đồng! Nói cách khác, chúng ta có th g n máy nh c a mình lên chân máy và ch p nh ể ắ ả ủ ụ ảTiếp theo, xoay nó v tr c d c và ch p nh khác Hai hình nh chúng ta v a ch p ề ụ ọ ụ ả ả ừ ụ
v m t cề ộ ảnh 3D hoàn toàn tùy ý có liên quan đến nhau Hai hình nh s chia s m t ả ẽ ẻ ộ
s khu v c ph bi n có th ố ự ổ ế ể được căn chỉnh và ghép và đưa cho chúng ta mộ ứt b c
Trang 3123
tranh toàn c nh t hai hình nh Nó th c s không d dàng b i vì còn r t nhi u th ả ừ ả ự ự ễ ở ấ ề ứ
nữa để ạ t o ra m t b c tranh toàn c nh hoàn chộ ứ ả ỉnh, nhưng nguyên tắc cơ bản là căn chỉnh b ng cách s d ng m t b n sao và ghép chúng mằ ử ụ ộ ả ột cách thông minh để chúng
ta không nhìn thấy các đường n i T o nh toàn c nh ch c ch n s là m t ch ố ạ ả ả ắ ắ ẽ ộ ủ đềtrong tương lai
Làm thế nào để tính toán Homography?
Để tính toán các điểm ng nh t gi a hai hình nh, chúng ta c n bi t ít nh t 4 đồ ấ ữ ả ầ ế ấđiểm tương ứng gi a hai hình nh Nó s th m chí tữ ả ẽ ậ ốt hơn nữa n u chúng ta có ếnhiều hơn 4 điểm tương ứng tính Để toán được ma trận cho đầy đủ các điểm là rất
ph c tứ ạp, để thuậ ợi và tăng tốc độ ử lý trong chương trình, tôi sẽ ử ụn l x s d ng chương trình đã đượ ối ưu và được t c chia s ẻ trong thư viện OpenCV c tính để ướchính xác nh t m t Homography phù h p v i t t c ấ ộ ợ ớ ấ ả các đ ểm tương ứi ng Thông thường, các điểm tương ứng đượ ự độc t ng tìm b ng cách k t hằ ế ợp các tính năng như SIFT ho c SURF gi a các hình nh ặ ữ ả
'''
pts_src and pts_dst are numpy arrays of points
in source and destination images We need at least
4 corresponding points
'''
h , status = cv2.findHomography(pts_src, pts_dst)
'''
The calculated homography can be used to warp
the source image to destination Size is the
size (width,height) of im_dst
Trang 32- ( là tọ ộ) a đ c a mủ ột điểm 3D trong không gian tọa độ gi thế ới.
- ( là tọ ộ) a đ của điểm chi u tính b ng pixel ế ằ
- là ma tr n camera hoậ ặc ma trận các tham s nố ội tại ( ) là mộ ểt đi m chính thường trung tâm hình nh ở ả
- là độ dài tiêu c ự được bi u th bể ị ằng đơn vị pixel
Do đó, nếu m t hình nh t máy ộ ả ừ ảnh được chia t l theo m t y u t , t t c các ỷ ệ ộ ể ố ấ ảtham s này s ố ẽ được chia t l ỷ ệ (nhân/ chia tương ứng) theo cùng m t y u t Ma ộ ế ố
trận c a các tham s n i t i không ph ộủ ố ộ ạ ụ thu c vào cảnh được xem Vì v y, một khi ậ
ước tính, nó có th ể được s d ng l i miử ụ ạ ễn là độ dài tiêu c ự được c nh (trong ố địtrường h p ng kính zoom) Ma tr n xoay-d ch [R|t] ợ ố ậ ị được g i là m t ma tr n các ọ ộ ậtham s ố bên ngoài Nó đượ ử ụng đểc s d mô t chuyả ển động c a camera xung quanh ủ
m t cộ ảnh tĩnh hoặc ngượ ạc l i, chuyển động c ng c a m t v t th ứ ủ ộ ậ ể trước camera tĩnh Nghĩa là [R|t] chuy n tể ọa độ ủ c a một điểm ( sang h t) ệ ọa độ, được c nh ố đị
đố ới v i máy nh Phép biả ến đổ ở trên tương đương với i ph n sau (khi z ) ầ ≠ 0