Nhận dạng chỗ đỗ xe ô tô bằng camera 319755

  • 64 trang
  • file .pdf
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
LUẬN VĂN THẠC SĨ KỸ THUẬT
NHẬN DẠNG CHỖ ĐỖ XE Ô TÔ BẰNG CAMERA
TRẦN TRUNG TIẾN
[email protected]
Chuyên nghành: Kỹ thuật điện tử
Giảng viên hướng dẫn: TS. Nguyễn Vũ Thắng ---------------
Chữ ký của GVHD
Viện Điện tử viễn thông
HÀ NỘI, 6/2020
CỘ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ệ thống sử dụng camera.
- 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
LỜ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ưới sự hướng
dẫn của TS. Nguyễ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
Lời cảm ơn
Lời đầu tiên, tôi xin trân trọng cả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ộc viện Điện tử - Viễn
thông, trường Đại học Bách Khoa Hà Nội đã tạo điều kiện và hỗ trợ tôi trong suố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ý luậ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ự chỉ dẫn và đóng góp của các thầy, cô
để luận văn của tôi hoàn thiện hơn. Tôi xin chân thành cảm ơn!
Các kết quả trong luận văn này do tôi thực hiện dưới sự hướng dẫn của TS.
Nguyễn Vũ Thắng và TS. Nguyễn Vũ Thắng có toàn quyền sử dụng luận văn này.
Tóm tắt
Luận văn này thực hiện thử nghiệm chương trình xác định các vị trí ô đỗ xe
trong bãi đỗ, nhằm phục vụ cho hệ thống quản lý bãi đỗ xe sử dụng camera dựa trên
mạng nơ-ron tích chập. Luận văn cũng tìm hiểu về các công cụ cần thiết cho bài
toán xử lý ảnh, một số thuật toán xử lý ảnh cơ bản và phân tích mức độ cần thiết của
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ệ thống quản lý bãi đỗ xe. Từ đó, luận văn xây dựng một giao diện
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 đã được chạy thử trên thực tế và cho kết quả độ chính xác là 92.5%
số lượng ảnh nhận diện đủ 4 điểm mốc, còn lại là số lượng ảnh chỉ nhận diện được
3 điểm mốc trên tổng 67 ảnh đầu vào, tất cả đều được xử lý thành công trong bộ dữ
liệu ảnh. Trong tương lai, nhóm nghiên cứu sẽ thử nghiệm trên bộ dữ liệu lớn hơn,
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.
MỤ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. Đặt vấn đề ................................................................................................................... 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ệ thống. ..................................................................................... 7
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ốc. .......................................................................... 37
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í đỗ xe ............................................. 39
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
DANH 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 đượ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 ........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 ..............................................................................15
Hình 2. 6: Không gian màu HSV ..............................................................................16
Hì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
Hì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ọa độ được lưu vào file text .................................................................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
DANH 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
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 phươ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í để biết được
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ử dụng camera để 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
để tối ưu hóa việ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ử dụng để 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.
1
- Chương 2: Giới thiệu tổng quan toàn bộ hệ thống nhận diệ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ố thuật
toá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.
2
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ỗ trợ việc quản lý 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ễ triển khai, lắ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ệt có ưu điểm đơn giả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]
3
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ười sử dụng, đặ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ục vị trí đỗ 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ỗ trợ cho
người dùng.
4
Hình 1. 3: Sử dụng camera để giám sát, quản lý bãi đỗ xe [4]
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 mà camera
chụp từ bãi đỗ 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ẵn. Đây chính là những ảnh được ra khối công việc
tiếp theo của hệ thống - sử dụ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í đỗ
xe ô tô sử dụng các điểm mốc đã đánh dấu.
- Sử dụng phần mềm xử lý ảnh OpenCV để cắt ra thành các ảnh nhỏ của từng
vị trí ô đỗ xe, tạo thành bộ dữ liệu ảnh và gửi đến khối công việc tiếp theo để
phân loại trạng thái vị trí đỗ là “busy” hay là “free”.
Nhiệm vụ của luận văn để đạt được mục tiêu trên là:
5
- 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ện hỗ trợ cho việc xử lý ảnh, và hiểu về các thuật toán
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ị trí đỗ xe đã 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.
6
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ệ thống này có thể thông tin kịp thời cho người lái
xe về vị trí bãi đỗ cũng như số lượng hay vị trí cụ thể của từng ô đỗ còn trống ở
trong bãi. Nhiều phương pháp đã được triển khai sử dụng như lắp đặ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, một 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ệ thống quản lý bằng
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 cố định. Phương pháp
nà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ệ thống cho phép phát hiện ra vị trí từng ô đỗ xe 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à
7
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ình huấn luyện để cho ra được
kết quả chính xác.
Hệ thống sử dụng camera giám sát phát hiện ô tô đỗ cần đạ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ệ thống stand – alone, có kích thước nhỏ gọn, tiện lắp đặt và triển khai.
2.1.2. Đầu vào/ra của hệ thống.
Hệ thống yêu cầu nhận dữ liệu đầu vào là các hình ảnh được chụp từ camera
giám sát có kích thước 1920 x 1080 pixel với định dạng “.jpg”. Sau đó, kết quả hệ
thống trả về là trạng thái của từng vị trí đỗ xe và tổng số vị trí còn trống.
2.1.3. Sơ đồ khối
Sơ đồ khối của hệ thống được mô tả như hình sau:
Hình 2. 1: Sơ đồ khối hệ thống nhận dạng chỗ đỗ xe ô tô bằng camera
Mô tả hoạt động của hệ thống:
- Hệ thống xử lý sẽ 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ử lý hình ảnh trước khi phân loại vị
trí đỗ.
8
- 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 đầu) và sau đó sẽ cắt ra hình của từng vị trí ô đỗ xe. Tập các hình ảnh
được đưa vào khố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 được (dataset)
và đưa ra các trọng số tới khối Car Classification hỗ trợ cho việc phân loại.
Để 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 – Mạng nơ-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ệ thống thông minh với độ chính xác cao như hiện nay. Như hệ thống xử 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
nhận dạng các object trong ảnh.
Khi phát triển hệ thống trên, nhóm nghiên cứu đã thực hiện công việc như sau:
1) Phát triển phần mềm hệ thống, bao gồm:
- Xây dựng mạng CNN sử dụng để phân loại trạng thái tại các vị trí đỗ. Mạng
CNN được sử dụng cần có số lượng tham số nhỏ để có thể triển khai lê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ội. Bộ ảnh cần phả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ệ thống, bao gồ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.
9
- 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ệ thống cho phép lựa chọn kết nối và
đ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ệ thống với các ảnh chụp tự động từ camera tạ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ủa báo cáo.
Sơ đồ khối của khối Image Processing được thể hiện ở Hình 2. 3 như sau:
10
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ấy mộ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ị trí của từng ô đỗ, phục vụ 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
Tín hiệu I/O Mô tả
frame I Ảnh bãi đỗ xe ô tô
sample frame I Ảnh mẫu (ảnh đầu tiên) bãi đỗ xe
slot O Ảnh từng vị trí đỗ
Trong trường hợp vị trí của camera bị xê dịch so với vị trí cố định ban đầu, khối
Image Processing sẽ xử lý theo các bước sau:
- Xác định các mốc và tọa độ của chúng trong ảnh
- Nội suy tọa độ vị trí ô đỗ từ vị trí của mốc.
11
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ẽ gồm các bước sau: Đọ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ì
12