Việc triển khai các dự án công nghệ cao luôn bắt đầu từ việc xây dựng một kế hoạch gồm nhiều cấp, bao gồm tổng chi phí sở hữu (Total cost of ownership hoặc đơn giản là TCO) của phần mềm và cơ sở hạ tầng tương ứng. Vấn đề đối với nhiều nhà tích hợp và những người dùng cuối là khi nói đến hệ thống phần cứng / phần mềm có sự tham gia của nhiều nhà cung cấp khác nhau, tồn tại nhiều chi phí ẩn có thể bị bỏ qua trong giai đoạn lập kế hoạch ban đầu.
Là một nhóm có nhiều kinh nghiệm trong việc triển khai các giải pháp dựa trên công nghệ nhận dạng khuôn mặt, chúng tôi quyết định chia sẻ kinh nghiệm của mình và cho bạn biết những điều bất ngờ mà bạn có thể gặp phải khi đưa dự án của mình vào cuộc sống. Chúng tôi sẽ cung cấp cho bạn một số bí quyết cũng như các mẹo để lựa chọn phần mềm nhận dạng khuôn mặt, chúng sẽ cho phép bạn đạt được kết quả tốt nhất với TCO thấp nhất.
Giá trị của giấy phép — không phải TCO
Một số người cho rằng, chỉ cần chọn phần mềm nhận dạng của nhà cung cấp cung với đề nghị giá trị sở hữu bản quyền thấp nhất là đủ. Tuy nhiên, quan điểm như vậy là sai lầm và có thể tốn kém gấp nhiều lần so với giải pháp có chi phí cấp phép cao hơn. Các chi phí không lường trước có thể bắt đầu từ phần hỗ trợ kỹ thuật không được bao gồm trong giá cấp giấy phép và cuối cùng là những hạn chế quan trọng của hệ thống dựa trên phần mềm đó khi cố gắng thay đổi, thêm hoặc xóa nội dung nào đó. Điều quan trọng là phải hiểu rằng sự thành công của dự án phụ thuộc vào việc lựa chọn giải pháp, và bất kỳ chi tiết nào không được tính toán kỹ đều có thể dẫn đến sự phá sản. Do đó, cần phải chọn phần mềm hoạt động linh hoạt và ổn định, phần mềm được thiết kế ban đầu cần phải tính đến toàn bộ phạm vi tác vụ được thực hiện và những thay đổi có thể xảy ra trong tương lai.
Hãy luôn nhớ về “phần cứng”
Ngoài giấy phép sử dụng phần mềm, bất kỳ hệ thống nhận dạng nào cũng cần được hiều ngầm là phần cứng, bao gồm máy ảnh, hàng km cáp, thiết bị chuyển mạch, máy chủ xử lý video và lưu trữ dữ liệu. Thông thường, “phần cứng” là khoản mục chính của cả vốn cũng như chi phí hoạt động. Vì vậy, trong một dự án lớn, trên một phạm vi lãnh thổ rộng lớn, khoản mục chi phí chính nói chung có thể là cáp chất lượng cao, chứ không phải máy chủ hay máy ảnh. Đồng thời, khi tính toán chi phí của một dự án, không nên hạ thấp tầm quan trọng của phần mềm, vì việc lựa chọn nhà cung cấp giải pháp phần mềm ảnh hưởng trực tiếp đến chi phí đảm bảo sức mạnh tính toán cần thiết.
Không nên mua phần cứng theo quy trình đầu cuối «end-to-end», cần phải có dự trữ về công suất, vì ở khâu đánh giá và thiết kế, không phải lúc nào bạn cũng có thể đánh giá thực sự đầy đủ các yêu cầu đối với phần cứng. Doanh nghiệp đang phát triển và có thể xuất hiện vấn đề thiếu máy chủ, sản phẩm phần mềm nhận được các tính năng hữu ích mới — điều này có thể đòi hỏi sức mạnh tính toán lớn. Do đó, ngay từ đầu, không nên cố gắng ép dự án xuống các đặc tính tối thiểu có thể để khởi chạy.
Bằng cách đưa ra lựa chọn có lợi cho phần mềm này hoặc phần mềm khác, bạn có thể có được cơ sở đáng tin cậy cho hệ thống nhận dạng, có thể dự đoán được ở bất kỳ quy mô nào, hoặc bạn sẽ nhận được một giải pháp tệ hại đòi hỏi phải bổ sung chi phí đến vô tận. Vậy thì một quyết định đúng đắn khác biệt gì với một phần mềm tạo ra nhiều “hố đen” ngân sách xung quanh nó? Thực tiễn của chúng tôi đã chỉ ra rằng, việc suy nghĩ cẩn trọng và tối ưu hóa là những yếu tố tiết kiệm chính trong việc thực hiện các dự án khác nhau bằng cách sử dụng phân tích video.
Điều quan trọng là phải xem xét cách phần mềm sử dụng các tài nguyên được phân bổ như thế nào. Ví dụ: cả CPU và GPU đều có thể được sử dụng để xử lý các luồng video (stream video). Việc triển khai một giải pháp chỉ sử dụng CPU trông có vẻ sẽ dễ dàng hơn (vì phổ biến hơn, nhiều người có kinh nghiệm làm việc với nó) và giá thành rẻ hơn (vì chi phí tối thiểu của thiết bị đó thấp hơn). Tuy nhiên, khi đạt đến một số luồng xử lý nhất định, giải pháp này sẽ ngày càng trở nên đắt hơn.
Ví dụ: nếu đề cập đến vấn đề làm việc với một hoặc hai máy ảnh thì ngay cả một máy tính văn phòng nhỏ gọn NUC với chíp Intel core i5 cũng có thể dễ dàng xử lý nhiệm vụ như vậy, tuy nhiên, để làm việc với 20 máy ảnh, bạn sẽ cần một máy chủ có 24 lõi CPU, và các nhu cầu dần sẽ còn phát triển nữa.
Nếu chúng ta đang nói về một giải pháp dựa trên GPU, thì chi phí «đầu vào» cho một giải pháp như vậy cao hơn nhiều, nhưng hiệu suất của các giải pháp đó cũng cao hơn. Ví dụ: với cùng số lượng 20 máy quay video có thể thực hiện nhận dạng khuôn mặt trong một trung tâm mua sắm (TTMS) nhỏ, chỉ cần một card màn hình ở mức phổ thông cỡ RTX 2080Ti cùng một CPU 4 lõi là đủ và điều quan trọng nhất là chi phí chắc chắn sẽ giảm đi.
Khi chúng ta nói về các giải pháp lớn cho hàng trăm luồng video, sự khác biệt sẽ rất đáng kể. Ví dụ: hãy so sánh các giải pháp dùng cho 100 máy quay video ở chế độ TTMS giữa GPU và CPU ở định dạng điều khiển luồng và hoạt động với những danh sách đen. Khi chúng ta nhận ra một khuôn mặt chưa hoàn thiện đủ đường nét, điều này có nghĩa là đang hoạt động trong “thời gian thực”. Kịch bản này là khó nhất đối với hệ thống, vì nó đặt ra yêu cầu cao về tốc độ làm việc và duy trì tải dữ liệu, xử lý diễn ra liên tục. Trong các tình huống như vậy, hệ thống có thể tạo ra 1.000.000 nhận dạng mỗi ngày và số lượng khuôn mặt được nhận dạng đồng thời lên tới 300.
Để đảm bảo tốc độ phản ứng tốt, chúng tôi sẽ cần khoảng 200 lõi xử lý với tần số thấp nhất là 2,8 GHz. Một máy chủ điển hình với hai bộ xử lý Intel Xeons chỉ có 40 lõi (không tính luồng). Như vậy, chúng ta có một hệ thống khá phức tạp gồm 5 máy chủ, chiều cao khoảng 5 đơn vị, có khả năng tạo nhiệt và tiêu thụ điện năng tương đối, cùng với đó là giá của hệ thống khoảng 5 triệu rúp (bao gồm tất cả các thành phần).
Đối với kịch bản tương tự, khi sử dụng GPU, chúng tôi nhận được 1 máy chủ trong 4U, trong đó sẽ cài đặt 8 GPU Tesla T4 và một CPU rẻ tiền với 8 lõi để phục vụ các nhu cầu. Một giải pháp như vậy sẽ có giá từ 3 triệu rúp, rẻ hơn nhiều khi so sánh cả về giá thành, bảo trì và tiêu thụ điện năng.
Rõ ràng là một giải pháp được thiết kế để hoạt động với CPU sẽ có giá cao hơn, vì mật độ bộ xử lý trên mỗi máy chủ thấp hơn nhiều so với card màn hình. Cấu hình dựa trên bộ xử lý đồ họa sẽ giúp hệ thống nhỏ gọn, linh hoạt và hiệu quả hơn. Đó là lý do tại sao FindFace Multi được thiết kế để chạy trên GPU, điều đó cho phép nó xử lý nhiều luồng video hơn với chi phí thấp hơn.
Một yếu tố tiết kiệm chi phí khác là khả năng của phần mềm được chọn sẽ tích hợp với cơ sở hạ tầng hiện có và hoạt động được với nhiều loại thiết bị. Nhiều khách hàng, những người đã sở hữu một hệ thống giám sát video mở rộng, chỉ muốn bổ sung tính năng nhận dạng khuôn mặt cho nó. Thật tiếc là không phải nhà cung cấp hệ thống nhận dạng nào cũng sẵn sàng thỏa hiệp vì điều này sẽ làm cho hiệu quả nhận dạng giảm đi đáng kể. Thông thường, việc áp dụng nhận dạng khuôn mặt đồng nghĩa với việc nâng cấp toàn bộ thiết bị, đắt hơn nhiều so với cấu trúc thượng tầng mà cơ sở hiện có và rất khó để nói chuyện tiết kiệm chi phí ở đây.
Nhóm phát triển NtechLab tạo ra các sản phẩm phần mềm có thể hoạt động trên nhiều loại thiết bị khác nhau. Sẽ không có ràng buộc nào đối với nhà sản xuất thiết bị máy chủ hoặc đối với những máy ảnh chuyên dụng dùng để nhận dạng khuôn mặt. Điều quan trọng là các đặc điểm phần cứng phải đủ để chạy phần mềm và các camera được cài đặt có tính đến những yêu cầu cho việc nhận dạng khuôn mặt. Nhờ các thuật toán có thể nhận diện khuôn mặt người một cách hiệu quả, chỉ cần 30 pixel là đủ để chụp một khuôn mặt.
Chọn phần mềm có thể mở rộng trong khả năng dự đoán
Khả năng mở rộng là một trong những đặc điểm chính của hệ thống nhận dạng sinh trắc học. Các dự án liên quan đến việc sử dụng những hệ thống này có thể được bản địa hóa tới một chiếc camera duy nhất hoặc thiết bị đầu cuối, hoặc ở quy mô lớn, bao phủ toàn bộ siêu đô thị với một mạng lưới các camera. Hơn nữa, cần lưu ý rằng trong khuôn khổ của bất kỳ dự án nào, luôn phải cung cấp khả năng phát triển, mở rộng, như vậy hệ thống cần phải có mức độ linh hoạt cao.
Với nhu cầu kinh doanh ngày càng tăng, việc mở rộng quy mô của hệ thống nhận dạng là không thể tránh khỏi, điều này đặt một số khách hàng vào tình huống cần phải “nâng cấp”. Và ở đây phụ thuộc rất nhiều vào nhà cung cấp phần mềm cụ thể, vì chi phí có thể là phi tuyến tính. Nhiều nhà sản xuất hệ thống nhận dạng khuôn mặt có các hạn chế về phần mềm đối với việc mở rộng quy mô, ví dụ: khi một máy chủ không thể phục vụ nhiều hơn một số luồng video nhất định hoặc tổng số máy chủ dùng để phát hiện cho hệ thống bị giới hạn. Điều này dẫn đến rất nhiều phức tạp trong khâu thiết kế giải pháp cuối cùng, chi phí cài đặt, vận hành và hỗ trợ cho giải pháp đó. Thực tiễn của chúng tôi cho thấy, một phần mềm nhận dạng chưa được tối ưu hóa khi mở rộng có thể tốn kém gấp 2−3 lần so với một giải pháp có thiết kế được cân nhắc kỹ lưỡng và mức độ tối ưu hóa cao.
Đối với hệ thống nhận dạng, cũng cần phải nhắc đến một yếu tố bổ sung, đó là tốc độ tìm kiếm hình ảnh và so sánh chúng với hình ảnh từ cơ sở dữ liệu, kích thước của chúng có thể thay đổi từ hàng chục nghìn đến hàng tỷ khuôn mặt. Với sự gia tăng về lượng dữ liệu, tốc độ tìm kiếm các giải pháp không được tối ưu hóa sẽ giảm xuống, trong khi đối với phần mềm chuyên dụng, tốc độ tìm kiếm luôn ở mức cao. Ví dụ: giải pháp FindFace Multi có thể tìm kiếm hình ảnh trong 0,025 giây theo 100.000 hồ sơ và tính năng chia tỷ lệ ngang tuyến tính (sharding) cho phép mở rộng đến bất kỳ kích thước nào mà không làm giảm hiệu suất.
Hãy cân nhắc đến đặc điểm cấu trúc của hệ thống tương lai
Các dự án lớn dùng để thực hiện nhận dạng khuôn mặt thường liên quan đến một số lượng lớn các đối tượng ở cách xa nhau. Ví dụ, nếu chúng ta đang nói về sản xuất với khai thác và xử lý tài nguyên thiên nhiên, các đối tượng có thể nằm cách xa nhau hàng km, các kênh liên lạc rất rộng, và để thiết lập sự tương tác của tất cả các phần tử của mạng đương nhiên sẽ cần đến các kênh liên lạc rất rộng và đáng tin cậy
Việc truyền các luồng video từ máy ảnh đến máy chủ xử lý đòi hỏi tốc độ cao, vì vậy thỏa mãn yêu cầu này trong một thời gian dài là một cái giá không hề rẻ. Có nên cung cấp một hệ thống gồm 30 camera, mỗi camera yêu cầu băng thông ít nhất 4 Mbps cho camera HD và 8 Mbps cho camera FullHD, tức là tổng cộng hơn 120 Mbps và 240 Mbps không? Thông thường những chi phí này nếu không được xem xét nó có thể làm tăng đáng kể TCO trong tương lai. Không phải tất cả các nhà phát triển phần mềm đều lường trước vấn đề này, đó là lý do tại sao không thể thay đổi cấu hình hệ thống cho phù hợp với nhu cầu của khách hàng.
Một trong những cách để giảm chi phí cho các kênh liên lạc là di chuyển các máy chủ xử lý video sơ bộ trực tiếp đến nơi lắp đặt camera. Máy chủ cục bộ có thể nhận luồng video trực tiếp, phân tích và chỉ gửi các hình ảnh có liên quan đến máy chủ chính. Việc gửi hình ảnh như vậy sẽ cần ít băng thông hơn đáng kể và với lưu lượng truy cập thấp, thậm chí 2−4 camera có thể hoạt động trong mạng kết nối 1−2 Mbps.
Nhưng đôi khi rất khó để đảm bảo được tốc độ này hoặc có thể có các yêu cầu về tốc độ phản hồi, lúc đó tốc độ kết nối chỉ 1−2 Mbps sẽ không phải là nhanh nhất hoặc có thể kết nối hoàn toàn không ổn định. Đối với những hệ thống như vậy, có thể xây dựng một mạng lắp đặt độc lập, hoàn toàn tự chủ nhưng có sự đồng bộ của cơ sở dữ liệu hồ sơ. Do đó, hệ thống sẽ có cơ sở dữ liệu về khuôn mặt được cập nhật và đồng bộ, có tốc độ phản hồi cao vì tất cả các thành phần đều được lắp đặt cục bộ và không phụ thuộc vào sự ổn định của kết nối Internet.
Điều quan trọng là phải chọn một giải pháp ó khả năng hoạt động trong bất kỳ tổ hợp lai nào mà không làm giảm hiệu quả.
Tính TCO thế nào?
Tính toán tổng chi phí sở hữu cho một dự án được coi là một nhiệm vụ phức tạp, chỉ có thể được thực hiện bởi các chuyên gia có nhiều năm kinh nghiệm trong lĩnh vực tích hợp hệ thống sinh trắc học. Bạn luôn có thể liên hệ với các chuyên gia của công ty chúng tôi, những người sẽ chọn cho bạn một bộ tích hợp phù hợp, có tính đến tất cả các chi tiết và những vấn đề tiềm ần khác. Bạn chỉ cần điền vào mẫu liên hệ bao gồm mô tả về dự án của bạn và chờ phản hồi.