Xin được chỉ giáo về việc dùng AI nhận diện các loài động vật trong rừng bảo tồn
Chưa rõ context của bạn lắm nên mình có thể đưa ra một vài gợi ý như sau liên quan đến backend:
- Phần mềm:
- Để nhận diện thì có thể sử dụng mô hình AI liên quan đến object detection (họ YOLO, RCNN). Tuy nhiên chưa có mô hình sẵn dùng cho động vật trong rừng bảo tồn nên sẽ phải huấn luyện lại.
- Về việc gửi dữ liệu về website thì tùy có gửi video về server hay không thì cần có server lưu trữ tương ứng
- Phần cứng:
- Để huấn luyện thì cần có PC có GPU hoặc dùng dịch vụ cloud như google colab(có cả free và trả phí), Azure, hoặc thuê server GPU
- Để nhận diện trên thiết bị nhúng thì tùy vào yêu cầu, nếu không cần tốc độ cao thì dùng mini pc không có GPU như raspberry pi, orange pi, intel NUC,... hoặc dòng jetson có GPU nếu cần tốc độ cao. Các dòng này đều hỗ trợ wifi. Ngoài ra cần module 3G/4G và phát wifi. Camera có thể dùng cam USB hoặc gắn lên board.
- Nếu cần stream cả video thời gian thực thì nên dùng dòng jetson với NVIDIA DeepStream
Project cho C++
Mình không hiểu câu hỏi của bạn lắm. C++ dạy trên trường là để làm quen với lập trình, để hiều cách thông tin lưu trữ và xử lý như nào, sử dụng trong trường để diễn giải và thực hiện các thuật toán từ cơ bản đến nâng cao (cái này thì các ngôn ngữ khác cũng có thể làm được nhưng các thuật toán liên quan đến con trỏ thì dùng C++ sẽ dễ hình dung hơn). Nên C++ được dạy trước và làm nền tảng cho các môn học sau. Trong thực tế thì C++ có thể làm nhiều thứ:
- Phát triển phần mềm lõi (core cho các engine, game), phần mềm hệ thống (hệ điều hành, driver, module,...), phát triển trình biên dịch/thông dịch cho các ngôn ngữ lập trình khác, hệ thống/phần mềm nhúng do C/C++ gần gũi với phần cứng và có tốc độ nhanh
- Thực hiện các thuật toán và cấu trúc dữ liệu phức tạp, xây dựng các hệ thống độ trễ thấp do hiệu suất cao và linh hoạt
- Xử lý đồ họa, mô phỏng. Cái này thì hiện nay nhiều phần mềm và ngôn ngữ đã hỗ trợ nhưng C++ vẫn được sử dụng do ưu điểm tốc độ và linh hoạt
Mình thấy C++ có thể ứng dụng rất nhiều. Như mình làm về Machine Learning nhưng vẫn sử dụng C++ để triển khai mô hình vào trong lõi phần mềm giúp giảm độ trễ, tăng tốc độ. Như hiện nay khi các mô hình ngôn ngữ lớn xuất hiện với kích thước lớn, khó triển khai trên local thì C++ là một lựa chọn tốt, ví dụ như Whisper.cpp, LLAMA
Lưu ý: trên đây là ý kiến các nhân của mình dựa trên trải nghiệm và nhằm mục đích chia sẻ nên sẽ có hơi hướng chủ quan và có thể có những thiếu sót. Hy vọng có thể giúp ích phần nào cho bạn 🥰