Những điểm đặc trưng của NET Framework

Một phần của tài liệu Tự động giám sát phương tiện trong hệ thống giao thông thông minh (Trang 26)

.NET Framework là cơ sở hạ tầng cho việc xây dựng, triển khai và chạy các ứng dụng và dịch vụ Web. Nó cung cấp một môi trường đa ngôn ngữ, dựa trên nền các chuẩn với hiệu nǎng cao, cho phép tích hợp những đầu tư ban đầu với các ứng dụng và dịch vụ thế hệ kế tiếp và giải quyết những thách thức của việc triển khai và vận hành các ứng dụng trên quy mô Internet. Cơ sở hạ tầng NET Framework bao gồm ba phần chính là Bộ thực hiện ngôn ngữ chung (Common Language Runtime - CLR), một tập phân cấp các thư viện lớp hợp nhất (Unified Class Libraries - UCL) và ASP.NET.

27 2.4.2. Kiến trúc .NET Framework

Như chúng ta đã biết .NET Framework bao gồm ba phần là bộ thực thi ngôn ngữ chung (Common Language Runtime), các lớp lập trình hợp nhất hay còn gọi là các thư viện lớp cơ sở (Base Class Libraries - BCL) và một phiên bản cấu thành của Microsoft Active Server Pages gọi là Microsoftđ ASP.NET. Trên thực tế, ASP.NET và Windows Forms là hai thành phần nằm trong Base Class Libraries, nên trong một số tài liệu .NET Framework được giới thiệu bao gồm 2 phần chính là Common Language Runtime và Base Class Libraries. Một trong các thành phần này đều có vai trò cực kỳ quan trọng trong việc phát triển các dịch vụ và các ứng dụng .NET.

Sau đây là hai đoạn mã ví dụ có sử dụng Namespace trong C#

C#:

using System; Class HelloWorld {

public static void Main() {

Console.WriteLine ("Hello World !"); }

}

Cách Add thư viện OpenCV trong VC++ 2010: Đầu tiên:

28

Hình 2.7 Cách thêm thư mục Include vào project.

29

Hình 2.8 Cách thêm thư viện OpenCV vào project.

Add links của OpenCV : cv.lib,cxcore.lib,highgui.lib,cvcam.lib,cxts.lib,trs.lib vào mục

30

Hình 2.9 Cách thêm các kết nối vào project.

Sau đó Nhấn OK để kết thúc quá trình cài đặt và tiến hành xây dựng giao diện và lập trình.

31

Chương 3: Thuật toán cho hệ thống giám sát phương tiện giao thông

Tracking objects là một trong những một chức năng không thể thiếu trong hệ thống giám sát nói chung và hệ thống giám sát các phương tiện giao thông. Để có thể theo dõi được đối tượng, trong thực thế, là rất khó; bởi các đối tượng không đứng riêng rẽ mà chúng còn tương tác với nhau. Một giải pháp được đưa ra để giải quyết vấn đề này là theo dõi các đối tượng theo từng khối. Phương pháp này được sử dụng trong mô hình hình dạng.

3.1. Giới thiệu

Trong thực tế, một đoạn video tuần tự luôn luông có các vật thể có tương tác với nhau ( như người, phương tiện, nhà cửa, đường xá,.. ). Chính những sự tương tác đó là những thách thức cho các thuật toán giám sát: làm thế nào để phân biệt các đối tượng, hoặc các đối tượng tương tác gây ra nhầm lẫn thành một thể thống nhất, hoặc một vài đối tượng có thể thể hiện như một hình thể giống nhau gây ra khó khăn trong phân đoạn ảnh; và thậm chí có những đối tượng mới xuất hiện (một người nào đó bước ra khỏi xe ô tô) hoặc biến mất (một người nào đó bước vào xe ô tô) khỏi đoạn video. Duy trì mô hình hình dạng của đối tượng theo thời gian là cần thiết cho hệ thống giám sát thị giác.

Trong luận văn này sẽ đưa ra một hệ thống giám sát mà sử dụng mô hình hình dạng để giám sát các phương tiện giao thông.

3.2. Các phương pháp tracking objects

Giám sát các đối tượng liên quan đến quỹ đạo và duy trì được sự xác định của đối tượng đó theo các khối trong 2D và 3D đều thông qua sự giống nhau của các khối. Để tách biệt giữa đối tượng trong các khối đó thì một giải pháp là đặt camera ở những vị trí khác nhau. Ví dụ như [5-7] nhìn từ trên cao để quan trắc đối tượng di chuyển hay để nhận diện được các đối tượng theo chiều sâu [8-9].

32 Bảng 2.1 Các thuật toán tracking objects

Tracking models Ràng buộc và giới hạn

Hình dạng đơn giản: Color histogram, đặc điểm của hình dáng [10-12]

Không thể nhận dạng được đối tượng trong khối bị chồng lấn, nhưng có tốc độ tính toán cao.

Dựa trên mô hình xuất hiện: Cải thiện thông tin của ảnh [13,14]

Duy trì được giám sát đối tượng tốt, nhưng không thể áp dụng trong 3D.

Mô hình xuất hiện áp dụng giám sát người (2D): Mô hình hình dáng động, nhận diện người dựa trên các điểm ảnh của quần áo. [18]

Yêu cầu học từ các bức ảnh, giả định quần áo được mặc có màu sắc khác nhau.

Trong luận văn này, việc nghiên cứu chính là nhận dạng, quan sát các đối tượng là người và xe cộ. Trong đó việc phân biệt rõ ràng giữa các đối tượng bị chồng lấn đến nhau cũng cần phải nghiên cứu và giải quyết trong đó đặc biệt là phải chỉ ra các đối tượng theo chiều sâu.

Trong quá khứ, đã có rất nhiều dự án liên quan đến nhận dạng, giám sát đối tượng được đưa ra nhưng luôn đi kèm theo là các ràng buộc và giới hạn. Để đạt được một phương pháp chung nhất để giải quyết mọi vấn đề mà không kèm theo rằng buộc thì cần phải định nghĩa lại mô hình, yêu cầu mở rộng sự phức tạp của mô hình. Gần như tất cả các phương pháp này đều sử dụng Background-subtraction là nền tảng và giữ một vai trò quan trọng để so sánh sự khác nhau và loại bỏ bóng để lấy ra đối tượng.

Một phương pháp để nhận diện ra người là dựa vào các dấu hiện cơ bản như: histograms, lịch sử của mỗi đối tượng trong video,... Những hệ thống cài đặt thuật toán này đạt được về tốc độ xử lý nhanh trong thời gian thực nhưng giới hạn về sự chính xác và không thể giải quyết được vấn đề về sự chồng lấn giữa các đối tượng. Mỗi đối tượng được biểu thị bởi một tập hợp các thuộc tính. Trong [10,11] mỗi đối tượng/ người được biểu thị bởi một biểu đồ màu được cập nhật tạm thời. Trong [10], phương pháp giao nhau

33

của biểu đồ được sử dụng để xác định đối tượng và tính toán xác suất các pixel thuộc về một đối tượng trong một khối bị chồng lấn bởi các đối tượng.

Hệ thống dựa trên mô hình xuất hiện đã cải thiện được chức năng giám sát và xác định được đối tượng trong các khối có sự chồng lấn. Nhưng tuy nhiên mô hình này bị giới hạn khi các đối tượng có tương tác với nhau. Trong [12], người và phương tiện được phân loại bằng cách sử dụng hình dạng. Mặc dùng mô hình trong [12] giải quyết được vấn đề chồng lấn đối tượng nhưng lại không xem xét về sự đa dạng trong hình dạng của đối tượng như sự thay đổi rất nhanh của đối tượng. Mô hình trong [13] kết hợp sự xuất hiện của cấu trúc dải màu xám và hình dáng của người nhưng lại không thể giải quyết được vấn đề là nhận diện một người trong một nhóm. Trong mô hình của đồ án này có sử dụng mô hình xuất hiện màu và có thể giải quyết thành công được vấn đề duy trì hình dạng của một đối tượng trong các trường hợp khác nhau nhưng tuy nhiên sẽ dẫn đến việc phân loại bị nhầm lẫn bởi các đối tượng có hình dạng giống nhau và khi mà chúng tương tác với nhau.

Bởi sự phức tạp trong mô hình giám sát, các phương pháp càng trở nên tinh vi hơn để duy trì giám sát các đối tượng nhưng cái giá phải trả đó là các ràng buộc càng trở nên khó khăn hơn. Trong [14], để giám sát trẻ em trong một khu vực, họ đã khai thác các thông tin của văn cảnh để thích nghi được vấn đề lựa chọn và tính toán các tính chất của đối tượng để đưa ra giải pháp tối ưu. Trong [15] , để giám sát hiện quả, khi một bức ảnh được đưa ra, việc trước mắt là nhận diện được ra các đối tượng như biển báo, các tòa nhà, và đường viền. Trong [16] một foreground tĩnh được định nghĩa khi mà nó xử lý thông tin không cần liên quan đến bức hình trước nó. Trong [17] chiều cao của người được tính toán từ mặt đất nhưng để tránh trường hợp bị nhầm lẫn với bóng người thì thời gian là một yếu tố cần phải được xem xét để ước lượng xem độ dài của bóng người trong video.

Để cải thiện được hiệu năng của các phương pháp giám sát, các hệ thống đều đưa ra một ước lượng gần đúng. Trong [18] đưa ra một phương pháp để phát hiện và dự đoán các khối chồng lấn bằng việc sử dụng các phân tích tạm thời và giả định các quỹ đạo của đối tượng.

34

Trong [17] còn quan sát nhiều người cùng một lúc bằng cách sử dụng bộ lọc Kalman và ngầm định rằng phương pháp này đã có thể xử lý được sự chồng lấn các đối tượng. Việc phân chia các đối tượng một cách chính xác được kiểm định bằng “sự nhận dạng người đang đi”. Điều này được thực hiện thông qua mẫu di chuyển, và sự nhận dạng này nằm trên sự quan sát người di chuyển theo thời gian. Thế nhưng trong thực tế thì người có thể di chuyển hoặc dừng lại chứ không phải lúc nào cũng di chuyển theo thời gian.

Tất cả các mô hình được trình bày ở đây đều là dạng nguyên mẫu. Mỗi một dự án thường chỉ đánh giá hiệu năng của chính nó và dựa trên một số lượng nhỏ video. Thêm nữa, các video của họ đều tự làm ra và tự đưa ra kết quả đánh giá. Vì vậy, thật khó để so sánh về khả năng của các phương pháp này về độ chính xác và hiệu năng. Chính vì vậy điều cần thiết là phải xây dựng mô hình mẫu để kiểm thử các thuật toán hay phương pháp nhận dạng, quan sát đối tượng. Ngoài ra, mô hình phải đưa ra các tiêu chí để xếp loại cho các phương pháp đó.

Trong thuật toán được đưa ra ở luận văn này cũng chỉ có thể đánh giá một số video mà tác giả đưa ra.

35

3.3. Kiến trúc của hệ thống giám sát

Hình 3.1 : Kiến trúc hệ thống giám sát

Trong luận văn này, một hệ thống giám sát mới sẽ được miêu tả để giám sát một đối tượng di chuyện đơn lẻ sử dụng một camera để quay. Hình vẽ dưới đây miêu tả các thành phần của hệ thống.

Đầu vào của video được sử dụng để dự đoán một background để sử dụng trong mô hình background-subtraction. Các vật liệu thô được sử dụng trong hệ thống là các vùng của foreground từ đầu ra của bước trên. Hệ thống này gồm có 2 tầng.

Tầng đầu tiên, quá trình giám sát gắn liền với các vùng của foreground trong các khung hình liên tục nhau để xây dựng ra các track giả định. Tầng 2 của hệ thống sử dụng

Background subtraction Background Estimation Connected Component Analysis FG Region To track Correspondence

Update track Create track Resolve

Merge Resolve Split Update Appearance Model Current state

36

mô hình hình dạng để giải quyết các vấn đề còn nghi ngờ như chồng lần các vùng với nhau hay không thể tách rời hai đối tượng; kết quả của tần này sẽ là các đối tượng đang di chuyển một cách độc lập.

3.4. Background estimation và subtraction

Phương pháp loại bỏ Background được dựa trên cách mà Horpasert sử dụng. Backgound được tính toán một các thống kê tại từng điểm ảnh một. Qua trình ước lượng (estimation) tính toán sự biến dạng của các điểm sang hoặc màu sắc trong RGB.

Bằng việc so sánh sự khác nhau giữa Background và bức ảnh hiện tại một điểm ảnh được phân loại vào trong 4 nhóm sau: Original Backgound, Shaded Background, Highlighted background và foreground objects. Những điểm ảnh trong foreground objects được xử lý trong phần 4.

Ngoài ra, Một active background được phát triển dựa trên phương pháp ước lương để cho phép xử lý các đối tượng di chuyển trong một tập hợp các ảnh (trừ bức ảnh đầu tiên). Khung hình đầu tiên được lưu trữ như một background mẫu và những bức ảnh sau đó khi đã được xử lý sẽ khác với background dựa trên các đối tượng đang di chuyển. Khi mà background sau khi thống kê được xây dựng, những đối tượng di chuyển sẽ được loại trừ. Để làm được điều này, ngoài sử dụng phương pháp loại bỏ Background, 2 quy trình tính toán được đưa vào: Quy trình đầu tiên sẽ tính toán một hệ số mở rộng toàn cục được áp dụng trên cường độ các điểm ảnh trước khi đem so sánh chúng với background. Hệ số này được tính toán trên các vùng mà không tồn tại các đối tượng di chuyển, có nghĩa là những vùng mà gần như có sự thay đổi rất nhỏ giữa các khung hình liền kề của các mật độ của điểm ảnh trước khi đem đi so sánh. Thứ 2 là đưa ra một background khác mà dựa trên việc pha trộn với các bức hình khác nhưng chỉ pha trộn trên các vùng mà không có các đối tượng di chuyển. Khi đó, những quá trình này sẽ giảm được độ nhạy của thuật toán khi có sự thay đổi rất nhẹ giữa cách khung hình mà các thuật toán trước đây từng gặp phải.

3.5. High-level tracking

Các vùng của foreground của mỗi một khung hình được nhóm vào các thành phần có liên hệ với nhau. Một bộ lọc kích thước được sử dụng để loại bỏ các thanh phần nhỏ. Mỗi

37

một thành phần của foreground được miêu tả bởi một hộp đóng và một mặt nạ mà để chỉ ra rằng các điểm ảnh trong hộp đó thuộc về một foreground. Theo cách đó, mỗi một thành phần sẽ tương ứng với một trong các track đang tồn tại. Muốn đạt được điều này, một ma trận khoảng cách được xây dựng để chỉ ra mỗi vùng trong foreground và các tracks đang hoạt động.

Hình 3.2 miêu tả giữa hai hộp đóng A,B. Có 2 trường hợp xảy ra:

- Khoảng cách giữa hộp A, B là khoảng cách ngắn nhất từ điểm trọng tâm của A, Ca, tới điểm gần nhất với nó của B

- Nếu hai trọng tâm của A,B đều nằm trong nhau thì khoảng cách bằng 0.

Ma trận khoảng cách này được nhị phân hóa, và nó sẽ tương ứng cho sự gắn kết của các tracks với các vùng của một foregournd. Phân tích ma trận này sẽ thu được 4 khả năng như hình vẽ.

Hình 3.2 Cách tính khoảng cách cho ma trận khoảng cách

Trong trường hợp có thể phân tách được các đối tượng đang di chuyển, ma trận đối xứng (các hàng tương ứng cho các tracks đang tồn tại, các cột cho các vùng của foreground) sẽ tồn tại ít nhất một thành phần khác không của mỗi hàng hoặc cột gắn với mỗi track đi với 1 vùng. Nếu các cột đều là 0 thì biểu thị một đối tượng mới và chưa được gắn với một track nào cả và kết quả là sự tạo ra một track mới. Nếu hàng đều là 0 thì biểu thị rằng các track sẽ không còn tồn tại nữa (tức là đối tượng đã ra khỏi tầm của camera).

38

Trong trường hợp các đối tượng gộp lại với nhau, tức là hai hay nhiều track đều nằm ở trong một vùng, ví dụ như một cột trong ma trận đối xứng sẽ tồn tại một thành phần khác không. Khi đối tượng tách ra khỏi nhau ví dụ như có một người bước ra khỏi nhóm, một track đơn sẽ được sinh ra và khi đó sẽ có nhiều hơn một thành phần khác không trong hàng của ma trận đối xứng.

Khi một track được sinh ra, một mô hình hình dạng của đối tượng được bắt đầu. Mô hình này được thích ứng với mọi thời điểm của đối tượng giống nhau được theo dõi bởi khung hình tiếp theo. Khi mà phát hiện ra có sự hợp lại của các đối tượng, mô hình hình dạng sẽ được áp dụng để giải quyết vấn đề này.

Lý do mà gây ra sự thất bại của Background-subtraction là sự thay đổi nhỏ của cảnh vật, do đó mà nó gây ra kết quả là sự sai lầm trong quá trình tách nền và giám sát đối tượng. Tuy nhiên, vấn đề này được giải quyết bằng cách đặt ra luật lệ rằng sẽ loại bỏ những thay đổi nhỏ trong hình dạng của đối tượng. Thêm một điều nữa rằng, khi mà đối tượng không di chuyển thì sẽ được xem xét là đối tượng tĩnh.

3.6. Giám sát dựa trên mô hình xuất hiện

Để giải quyết độ phức tạp của các cấu trúc trong quá trình theo dõi, mô hình xuất hiện là một giải pháp tốt nhất để áp dụng vào phương pháp đang được trình bày. Trong mô

Một phần của tài liệu Tự động giám sát phương tiện trong hệ thống giao thông thông minh (Trang 26)