Hướng dẫn computer vision matlab vs python - thị giác máy tính matlab vs python

Tôi đã dành 20 năm đầu tiên trong sự nghiệp làm việc rộng rãi ở Matlab cho các ứng dụng xử lý tín hiệu. Sáu năm trước, tôi đã hấp dẫn Python vì tò mò và nó đã thay thế hoàn toàn Matlab là công cụ lựa chọn của tôi đáp ứng tất cả các nhu cầu của tôi để xử lý tín hiệu.

MATLAB vẫn còn các quy tắc trong các giải pháp phần cứng và đồng mô phỏng tích hợp và tôi có quyền truy cập vào cả hai công cụ, nhưng tôi thích sử dụng Python để mô phỏng và phân tích xử lý tín hiệu chung.

Tôi muốn chia sẻ ở đây một số điểm chính ảnh hưởng đến tôi và tại sao tôi là một fan hâm mộ lớn của Python cho không gian ứng dụng này.

  • Nó miễn phí (mặc dù Octave phục vụ mục đích đó cho tôi, nhưng Octave chậm hơn Matlab)

  • Nó có thể so sánh với MATLAB về tốc độ, cả khi viết một ứng dụng và thực thi nó.

  • Nó thân thiện với người dùng, một khi bạn thực sự hiểu chức năng và tính năng của nó. Nhảy vào mà không thực sự học nó có thể rất bực bội nếu đến từ Matlab; Nhưng đặc biệt là một khi bạn học được cách xử lý tốt và toàn cầu, nó khá đẹp!

  • Nó được hỗ trợ bởi một cộng đồng người dùng lớn hơn nhiều.

Những điểm chính trên là nhận thức của tôi dựa trên kinh nghiệm của riêng tôi, điều này luôn phát triển và cởi mở để thay đổi, nhưng tôi cũng chia sẻ một số bằng chứng hỗ trợ đã ảnh hưởng đến suy nghĩ của tôi cho đến nay (ngoài kinh nghiệm cá nhân của tôi với cả hai công cụ). Tôi không quá thiên vị đối với bất kỳ công cụ nào khác ngoài những lý do này; Mỗi người là những thành tựu tuyệt vời của những người liên quan đến việc kết hợp họ và tôi sẽ rất vui khi bị mắc kẹt trên một hòn đảo với bất kỳ công cụ nào trong số này (giữa Matlab, Octave và Python) nếu đó là một hòn đảo nơi tôi vẫn cần giải quyết thách thức xử lý tín hiệu các vấn đề liên quan. (Đảo Misfit biến đổi có lẽ).

Điểm chuẩn với Matlab

Tại liên kết này, Rob Hicks đã đánh giá Matlab với Python/Numpy (cập nhật lần cuối năm 2015) với kết quả này:

Hướng dẫn computer vision matlab vs python - thị giác máy tính matlab vs python

Đối với âm mưu ở trên, "LA" biểu thị các mô hình thử nghiệm đại số tuyến tính trong đó Matlab thắng tốc độ trong khi các dòng khác trong đó Python thắng với các mô hình thống kê. Một sơ đồ sau khi bạn đọc bài đăng cho thấy rằng trong hoạt động song song được phân phối trên nhiều lõi xử lý, MATLAB vẫn chiến thắng với các mô hình LA nhưng với sự khác biệt cận biên trong kịch bản đó.

Julia đã đăng các điểm chuẩn so sánh Octave, Matlab và Python đã thu hút được sự quan tâm của tôi. Biểu đồ này được thực hiện bởi những người Julia (bất ngờ, họ đứng đầu thang tốc độ thời gian chạy), nhưng sự quan tâm đối với tôi là điều mà cá nhân tôi muốn thấy-làm thế nào để Python so sánh với Matlab và Matlab với Octave . Vì vậy, tôi rất vui khi thấy rằng khi xem xét chuyển đổi từ Matlab sang Python rằng tốc độ có thể so sánh được. MATLAB nhanh hơn trong một số loại và chậm hơn các loại khác, nhưng nhìn chung, tốc độ xử lý tương tự như Matlab vs Octave. Không phải là Python là một lựa chọn khi tốc độ là mối quan tâm cuối cùng nhưng tôi đã muốn biết liệu sẽ có một hình phạt đáng kể. Tôi thấy rằng theo thời gian, kết quả được báo cáo từ Julia đang thay đổi (đây là trước đó từ năm 2017) và không chắc điều đó có liên quan đến các phiên bản khác nhau của các công cụ hoặc thay đổi trong phương pháp thử nghiệm hay không.

Hướng dẫn computer vision matlab vs python - thị giác máy tính matlab vs python

Tôi có động lực để thực hiện điểm chuẩn cụ thể của riêng mình đối với các ứng dụng chung trong xử lý tín hiệu vì tôi có quyền truy cập vào cả ba công cụ, có lẽ là một kho lưu trữ GitHub như Chris Luengo đã đề xuất trong các bình luận. Tôi thích ý tưởng đó và sẽ đăng một liên kết ở đây nếu tiến trình được thực hiện ở mặt trận đó hoặc nếu tôi tìm thấy các điểm chuẩn hiện có khác cụ thể hơn đối với các công cụ xử lý tín hiệu.

Cộng đồng người dùng lớn hơn nhiều

Python được hỗ trợ bởi một cộng đồng rất lớn trong nhiều lĩnh vực ngoài nơi Matlab tham gia (ví dụ như thiết kế web). Lý do mà nó là một công cụ phát triển phần mềm mục đích chung và không dành riêng cho phát triển thuật toán toán học đặc biệt là một lợi thế để xây dựng một cộng đồng lớn hơn, với các thư viện phù hợp (đặc biệt là Numpy và Scipy), nó vẫn cung cấp tất cả các thuật toán toán học mạnh mẽ mạnh mẽ Phát triển với xử lý vector tương tự như MATLAB. Nó được sử dụng rộng rãi trong nhiều lĩnh vực và ứng dụng bao gồm điện toán và kỹ thuật khoa học cụ thể, nhưng có cơ sở người dùng rộng của các ngành khác nhau. Vì nó là một công cụ hỗ trợ người dùng nguồn mở, đây là một sức mạnh rất lớn trong việc nhanh chóng tìm kiếm sự giúp đỡ bạn cần đặt câu hỏi hoặc công cụ bạn cần cho bất kỳ ứng dụng cụ thể nào (trong hầu hết các trường hợp bạn có thể tìm thấy nó thay vì xây dựng nó hoặc xây dựng trên nó ). Điều này cũng góp phần viết các ứng dụng nhanh hơn. Dưới đây là một số dữ liệu thú vị cho thấy một thang đo về quy mô của các cộng đồng tương đối:

Cốt truyện dưới đây được tạo tại thời điểm viết bài này tại liên kết này. Đây là những kết quả xu hướng cho các câu hỏi dựa trên các ngôn ngữ khác nhau được đăng để xếp chồng. Dựa trên tầm quan trọng đối với tôi của một cộng đồng người dùng lớn (và những lợi thế tôi đã trải nghiệm từ đó), tôi sẽ không chuyển sang Julia bất cứ lúc nào sớm theo kết quả này, nhưng có thể là một ngôn ngữ đầy hứa hẹn để xem xét trong tương lai :

Hướng dẫn computer vision matlab vs python - thị giác máy tính matlab vs python

Và tương tự dựa trên các tìm kiếm trên toàn thế giới bằng kết quả của Google Trends trong:

Hướng dẫn computer vision matlab vs python - thị giác máy tính matlab vs python

Và kết quả blog này từ CodingDojo.com cũng rất thú vị, mặc dù nó không bao gồm MATLAB:

Hướng dẫn computer vision matlab vs python - thị giác máy tính matlab vs python

Vì vậy, các điểm trên là "Frosting on the Cake" một khi tôi hiểu rằng tôi có thể dễ dàng tạo tất cả các ứng dụng và phân tích xử lý tín hiệu, với tất cả các tính năng phát triển đồ họa và tích hợp mà tôi thích với Matlab, với một ngôn ngữ rất dễ đọc và viết ngôn ngữ rất trực quan .

Matlab hay Python là tốt hơn để xử lý hình ảnh?

Trong kỹ thuật, Python cũng giúp thực hiện mô phỏng, rung động, mô hình kỹ thuật và chuyển động động. Trong khi đó, hộp công cụ IC để xử lý hình ảnh trong MATLAB làm cho nó trở thành một tùy chọn tốt hơn cho phân đoạn, trích xuất và phân tích dữ liệu hình ảnh. Nhưng trong Python, xử lý hình ảnh dựa trên các gói bên ngoài.the IC toolbox for image processing in MATLAB makes it a better option for image data segmentation, extraction, and analysis. But in Python, image processing relies on external packages.

Matlab có tốt cho tầm nhìn máy tính không?

Các tính năng của MATLAB MATLAB giúp bạn hiểu rõ hơn về dữ liệu hình ảnh và video của mình, phát triển các thuật toán và khám phá sự đánh đổi thực hiện.Người dùng có thể thiết kế các giải pháp tầm nhìn với một bộ thuật toán tiêu chuẩn tham chiếu toàn diện để xử lý hình ảnh, tầm nhìn máy tính và học sâu.MATLAB helps you gain insight into your image and video data, develop algorithms, and explore implementation tradeoffs. User can design vision solutions with a comprehensive set of reference-standard algorithms for image processing, computer vision, and deep learning.

Matlab có tốt hơn Python không?

MATLAB có khả năng tính toán toán học rất mạnh, Python rất khó thực hiện.Python không có hỗ trợ ma trận, nhưng thư viện Numpy có thể đạt được.MATLAB đặc biệt tốt trong việc xử lý tín hiệu, xử lý hình ảnh, trong đó Python không mạnh và hiệu suất cũng tồi tệ hơn nhiều.. Python has no matrix support, but the NumPy library can be achieved. MATLAB is particularly good at signal processing, image processing, in which Python is not strong, and performance is also much worse.

Ngôn ngữ nào là tốt nhất cho tầm nhìn máy tính?

Các chuyên gia về tầm nhìn máy tính đề nghị Python vì những lý do sau:..
Dễ sử dụng: Python rất dễ học, đặc biệt là cho người mới bắt đầu.....
Ngôn ngữ điện toán được sử dụng nhiều nhất: Python cung cấp một môi trường học tập hoàn chỉnh cho những người muốn sử dụng nó cho các loại thí nghiệm về tầm nhìn máy tính và máy tính ..