2009-07-20 26 views
38

Tôi muốn tìm hiểu thêm về nhận dạng mẫu. Tôi biết đó là một phần của một lĩnh vực rộng, vì vậy tôi sẽ liệt kê một số loại vấn đề cụ thể mà tôi muốn tìm hiểu để giải quyết:Cách thực hiện: Nhận dạng mẫu

  • Tìm mẫu bằng một bộ byte dường như ngẫu nhiên.
  • Nhận dạng các hình dạng đã biết (chẳng hạn như hình tròn và hình vuông) trong hình ảnh.
  • mẫu phong trào Nhận ra được một dòng các vị trí (Vector3)

Đây là một lĩnh vực mới thử nghiệm cho cá nhân tôi, và phải trung thực, tôi chỉ đơn giản là không biết bắt đầu từ đâu :-) Tôi m rõ ràng không tìm kiếm câu trả lời được cung cấp cho tôi trên đĩa bạc, nhưng một số cụm từ tìm kiếm và/hoặc tài nguyên trực tuyến nơi tôi có thể bắt đầu làm quen với khái niệm về các miền vấn đề ở trên sẽ tuyệt vời.

Cảm ơn!

ps: Đối với tín dụng thêm, nếu nguồn lực cho biết cung cấp các ví dụ mã/thảo luận trong C# sẽ là lớn :-) nhưng không cần phải

+2

Tôi vui mừng vì câu hỏi thú vị này đã không bị gắn cờ là Quá Rộng hoặc "Yêu cầu hướng dẫn là ngoài chủ đề" vì rõ ràng là vì tôi được hưởng lợi từ các liên kết trong câu trả lời. – Roland

+0

@Roland thực sự ... Tôi đã hỏi điều này trong những ngày đầu của StackOverflow, khi họ muốn có câu hỏi và câu trả lời kinh điển sẽ được cải thiện theo thời gian và lập chỉ mục cho phù hợp. Những điều mong muốn sẽ quay trở lại đó, tôi đã học được rất nhiều từ các câu trả lời ở đây :) –

Trả lời

26

Hidden Markov Models là một nơi tuyệt vời để tìm kiếm, cũng như như Artificial Neural Networks.

Chỉnh sửa: Bạn có thể xem NeuronDotNet, đó là nguồn mở và bạn có thể poke xung quanh mã.

Chỉnh sửa 2: Bạn cũng có thể xem ITK, nó cũng là nguồn mở và triển khai rất nhiều loại thuật toán này.

Chỉnh sửa 3: Dưới đây là khá tốt intro to neural nets. Nó bao gồm rất nhiều điều cơ bản và bao gồm mã nguồn (mặc dù trong C++). Anh ấy đã triển khai một thuật toán học không giám sát, tôi nghĩ bạn có thể đang tìm kiếm một người giám sát backpropagation algorithm để đào tạo mạng của bạn.

Chỉnh sửa 4: Khác good intro, tránh toán học thực sự nặng, nhưng cung cấp tham chiếu đến rất nhiều chi tiết ở dưới cùng, nếu bạn muốn tìm hiểu. Bao gồm mã giả, sơ đồ tốt và mô tả dài dòng của backpropagation.

1

Tôi không phải là một chuyên gia về vấn đề này, nhưng đọc về Hidden Markov Models là một cách hay để bắt đầu.

0

học mô hình-recoginition dễ dàng hơn trong MATLAB ..

có một số ví dụ và có chức năng để sử dụng.

nó là tốt cho các khái niệm hiểu biết và thí nghiệm ...

+2

Không có thông tin trong câu trả lời của bạn ... – LordT

4

OpenCV có một số chức năng nhận dạng mẫu trong hình ảnh.

Bạn có thể muốn xem điều này: http://opencv.willowgarage.com/documentation/pattern_recognition.html. (liên kết bị hỏng: điều gần nhất trong tài liệu mới là http://opencv.willowgarage.com/documentation/cpp/ml__machine_learning.html, mặc dù nó không còn là thứ tôi gọi là tài liệu hữu ích cho người mới bắt đầu - xem các câu trả lời khác)

Tuy nhiên, tôi cũng khuyên bạn nên bắt đầu bằng Matlab vì openCV không trực quan để sử dụng.

2

Rất nhiều liên kết hữu ích trên this page trên nhận dạng mẫu liên quan đến tầm nhìn máy tính.Một số liên kết dường như đã bị hỏng nhưng bạn có thể thấy nó hữu ích.

4

Đây là loại giống như nói "Tôi muốn tìm hiểu thêm về điện tử .. bất cứ ai cho tôi biết bắt đầu từ đâu?" Nhận dạng mẫu là một lĩnh vực toàn bộ - có hàng trăm, nếu không phải hàng ngàn cuốn sách ở đó, và bất kỳ trường đại học nào có ít nhất một số (có lẽ là 10 hoặc nhiều hơn) các khóa học ở cấp độ tốt nghiệp về điều này. Có rất nhiều tạp chí dành riêng cho điều này là tốt, đã được xuất bản trong nhiều thập kỷ ... hội nghị ..

Bạn có thể bắt đầu với wikipedia.

http://en.wikipedia.org/wiki/Pattern_recognition

4

Đây là loại một câu hỏi cũ, nhưng nó có liên quan vì vậy tôi figured tôi muốn đăng nó ở đây :-) Stanford bắt đầu cung cấp một lớp Machine Learning trực tuyến tại đây - http://www.ml-class.org

0

Tôi muốn giới thiệu bắt đầu với một số hộp công cụ MATLAB. MATLAB là một nơi đặc biệt thuận tiện để bắt đầu chơi xung quanh với các công cụ như thế này do giao diện điều khiển tương tác của nó. Một hộp công cụ đẹp mà cá nhân tôi sử dụng và thực sự thích là PRTools (http://prtools.org); họ có một thực hiện khá nhiều công cụ nhận dạng mẫu và cũng có một số công cụ học máy khác (Neural Networks, v.v.). Nhưng điều tốt đẹp về MATLAB là có rất nhiều hộp công cụ khác mà bạn có thể thử (thậm chí có cả proprietary toolbox từ Mathworks)

Bất cứ khi nào bạn cảm thấy thoải mái với các công cụ khác nhau (và phát hiện ra trình phân loại nào là tốt nhất cho bạn vấn đề), bạn có thể bắt đầu suy nghĩ về việc thực hiện việc học máy trong một ứng dụng khác.

1

Hãy coi chừng các mẫu sai! Đối với bất kỳ tập dữ liệu lớn nào, bạn sẽ thấy các tập hợp con dường như có mẫu, ngay cả khi nó là tập hợp dữ liệu của đồng xu flips. Không có quy trình tốt nào để nhận dạng mẫu nên không có các kỹ thuật thống kê để đánh giá sự tự tin rằng các mẫu được phát hiện là có thật. Khi có thể, hãy chạy thuật toán của bạn trên dữ liệu ngẫu nhiên để xem những mẫu nào họ phát hiện. Những thí nghiệm này sẽ cung cấp cho bạn một đường cơ sở cho sức mạnh của một mẫu có thể được tìm thấy trong dữ liệu ngẫu nhiên (a.k.a "null"). Loại kỹ thuật này có thể giúp bạn đánh giá "tỷ lệ khám phá sai" cho những phát hiện của bạn.

Các vấn đề liên quan