Triển khai chatbot y tế di động AI nhẹ dựa trên TinyML

Mục lục

  1. Giới thiệu
  2. Khảo sát tài liệu
    • Chẩn đoán y tế
    • Quản lý hỗ trợ và điều dưỡng
  3. Chatbot AI dựa trên giọng nói được đề xuất
    • Tại sao chatbot dựa trên TinyML?
  4. Thực thi
    • Nhận dạng bệnh nhân
    • Đo nhiệt độ
    • Thực thi chatbot
      • Bước 1: Bộ dữ liệu giọng nói
      • Bước 2: Trích xuất đặc trưng âm thanh
      • Bước 3: Huấn luyện mô hình
      • Bước 4: Triển khai chatbot
    • Tích hợp
  5. Kết quả
    • Kết quả nhận dạng khuôn mặt
    • Kết quả đo nhiệt độ
    • Kết quả chatbot
    • Chuẩn bị hồ sơ bệnh án
  6. Thảo luận
  7. Kết luận
  8. Phần đạo đức và đồng ý
  9. Tài trợ
  10. Báo cáo công khai
  11. Tài liệu tham khảo

1. Giới thiệu

Sự quan tâm đến việc tận dụng Trí tuệ Nhân tạo (AI) để nâng cao hiệu suất, năng lực và hiệu quả của các dịch vụ chăm sóc sức khỏe đang gia tăng. Mặc dù có sự phát triển vượt bậc trong nghiên cứu AI trong y tế, nhưng chỉ một số ít ứng dụng AI đã chuyển đổi thành công sang sử dụng lâm sàng. Những thách thức chính cản trở việc áp dụng các ứng dụng AI trong các kịch bản được xác thực lâm sàng bao gồm: thiếu hồ sơ y tế theo định dạng tiêu chuẩn, truy cập hạn chế vào bộ dữ liệu được sắp xếp và các yêu cầu pháp lý và đạo đức nghiêm ngặt liên quan đến bảo vệ quyền riêng tư của bệnh nhân. Gần đây, việc sử dụng chatbot đã mở rộng ra ngoài dịch vụ khách hàng để bao gồm các kịch bản sống còn. Chatbot ngày càng được tích hợp vào lĩnh vực chăm sóc sức khỏe, cung cấp giải pháp cho nhiều vấn đề sức khỏe. Trong kịch bản hiện tại, bệnh nhân đến thăm bệnh viện bị trì hoãn trong hàng đợi chờ bác sĩ. Tuy nhiên, chatbot về sức khỏe và thể dục đang thu hút sự chú ý trên thị trường, cho phép người dùng hỏi về những lo ngại y tế của họ và nhận được phản hồi. Chatbot y tế đã được phát triển để giải quyết vấn đề trì hoãn trong hàng đợi bệnh viện.1–4 Giao tiếp với chatbot được trang bị Xử lý Ngôn ngữ Tự nhiên (NLP) đóng vai trò quan trọng trong việc nâng cao sức khỏe tinh thần và thể chất của cá nhân do họ nhận được phản hồi tức thời. Theo Lee và Yoon,1 các ứng dụng chính của AI trong y tế bao gồm chẩn đoán, điều dưỡng và hỗ trợ quản lý. Ngoài ra, AI có thể được sử dụng để thu hút bệnh nhân, điều trị bệnh, giảm lỗi y tế và giảm chi phí chăm sóc sức khỏe.

2. Khảo sát tài liệu

Theo báo cáo của Tổ chức Y tế Thế giới,5 các yếu tố chính (khoảng 60%) ảnh hưởng đến tình trạng sức khỏe của cá nhân và chất lượng cuộc sống chung của họ có liên quan đến lối sống của họ. Bao gồm tập thể dục, thói quen ăn uống, giấc ngủ, kiểm soát căng thẳng, sử dụng chất kích thích, tuân thủ thuốc và các hoạt động giải trí.6 Với sự xuất hiện của các công nghệ do AI thúc đẩy, các can thiệp được cá nhân hóa và lời nhắc nhở được thiết kế phù hợp với thói quen hàng ngày của cá nhân giờ đây có thể được truyền tải thông qua các thiết bị kỹ thuật số dựa trên dữ liệu dấu hiệu sinh tồn theo thời gian thực. Trong các thiết lập chăm sóc sức khỏe, các công nghệ dựa trên AI được định vị để cách mạng hóa các quy trình hoạt động, tương tác của bệnh nhân và phương thức cung cấp dịch vụ chăm sóc, cuối cùng là nhằm mục đích cải thiện hiệu quả tổng thể và hiệu quả của kết quả của bệnh nhân.

2.1 Chẩn đoán y tế

Trong chẩn đoán y tế, AI được định vị để cách mạng hóa quy trình chẩn đoán cho bệnh nhân mắc các bệnh cụ thể. Vì lý do này, Máy học đã được giới thiệu như một kỹ thuật mới.7 Như Taylor đã nhấn mạnh,8 “lỗi chẩn đoán chiếm 60% tổng số lỗi y tế và chịu trách nhiệm về khoảng 40.000–80.000 ca tử vong hàng năm tại các bệnh viện ở Hoa Kỳ.” Do đó, việc tích hợp các hệ thống dựa trên AI trên nhiều lĩnh vực chăm sóc sức khỏe khác nhau có tiềm năng giảm thiểu lỗi do phán đoán của con người.9 Phòng khám Mayo, nổi tiếng với công việc tiên phong trong chăm sóc bệnh nhân, đã áp dụng AI để sàng lọc ung thư cổ tử cung. Bằng cách tận dụng giải pháp do AI hỗ trợ, phòng khám nhằm mục đích phát hiện những thay đổi tiền ung thư ở cổ tử cung. Giải pháp này sử dụng thuật toán được huấn luyện trên cơ sở dữ liệu khổng lồ gồm hơn 60.000 hình ảnh liên quan đến ung thư cổ tử cung từ Viện Ung thư Quốc gia để xác định các dấu hiệu sớm của tình trạng tiền ung thư. Các nhà nghiên cứu đã phát hiện ra rằng thuật toán này đạt được tỷ lệ chính xác cao hơn đáng kể (91%) so với chuyên gia được đào tạo (69%).10,11 Trung tâm Y tế Gil thuộc Đại học Gachon ở Hàn Quốc đã đánh giá kết quả điều trị y tế trong một năm và đạt được mức độ thống nhất giữa nhân viên y tế và Watson dựa trên AI là 55,9%. Tuy nhiên, tỷ lệ đồng thuận giảm xuống còn 40% ở những bệnh nhân được chẩn đoán mắc ung thư dạ dày giai đoạn IV. Hơn nữa, nghiên cứu tại Bệnh viện Đại học Konyang ở Hàn Quốc vào tháng 4 năm 2018 tiết lộ rằng tỷ lệ đồng thuận giữa quyết định của bác sĩ và khuyến nghị điều trị của Watson là 48% đối với nhóm 100 bệnh nhân mắc ung thư vú.12 Bệnh viện Manipal, một trung tâm chăm sóc ung thư nổi tiếng ở Bangalore, Ấn Độ, đã triển khai Watson để điều trị ung thư vào năm 2015. Những bất đồng đáng chú ý đã được quan sát thấy trong chẩn đoán được thực hiện bởi nhân viên y tế đa ngành và đánh giá của Watson đối với bộ dữ liệu 1000 bệnh nhân ung thư. Bộ dữ liệu này chứa cơ sở dữ liệu tế bào ung thư liên quan đến ung thư vú, trực tràng và đại trực tràng, và được thu thập bởi hai bác sĩ trong ba năm. Đối với các trường hợp ung thư trực tràng, tỷ lệ đồng thuận giữa khuyến nghị của Watson và quyết định của bác sĩ là 85%. Tuy nhiên, đối với ung thư phổi, tỷ lệ đồng thuận giảm đáng kể, xuống còn 17,8%. Sự khác biệt đáng kể này cho thấy các mức độ đồng thuận khác nhau, tùy thuộc vào bản chất của ung thư.13 Chatbot để xạ trị sử dụng IBM Watson14 đã được triển khai với độ chính xác 95%.

2.2 Quản lý hỗ trợ và điều dưỡng

Liên quan đến điều dưỡng và quản lý hỗ trợ, nhân viên y tế thường xuyên phải đối mặt với khối lượng giấy tờ khổng lồ trong suốt hành trình chăm sóc. Khối lượng công việc khắt khe này đã thúc đẩy các bệnh viện áp dụng các hệ thống điện tử hợp nhất và tạo hồ sơ y tế kỹ thuật số được hỗ trợ bởi công nghệ dựa trên AI. Hơn nữa, việc sử dụng chatbot trực tuyến đã nổi lên như một phương tiện đầy hứa hẹn để tạo điều kiện cho các cuộc trò chuyện với bệnh nhân và gia đình họ trong môi trường bệnh viện.15

Chatbot do AI hỗ trợ có tiềm năng cách mạng hóa các dịch vụ chăm sóc sức khỏe trong bệnh viện bằng cách hợp lý hóa tất cả các nhiệm vụ hành chính và cho phép nhân viên y tế hoặc chuyên gia dành nhiều thời gian và sự chú ý hơn cho việc chăm sóc bệnh nhân, từ đó nâng cao chất lượng dịch vụ của họ. Patel và Lam16 đề xuất sử dụng ChatGPT để tạo bản tóm tắt xuất viện trong bệnh viện, trong khi Howard và cộng sự16 đã nhấn mạnh khả năng của ChatGPT trong tư vấn nhiễm trùng. Công nghệ chatbot AI có thể chứng minh là vô giá trong việc hỗ trợ y tá với nhiều nhiệm vụ rườm rà, bao gồm giấy tờ, giải quyết các câu hỏi về y tá, hướng dẫn bệnh nhân đến các khoa bệnh viện khác nhau và đào tạo người chăm sóc.16 Sự hỗ trợ này có thể giảm bớt một số gánh nặng liên quan đến tình trạng thiếu nhân viên điều dưỡng và kiệt sức. Tuy nhiên, cần thận trọng và nên đề xuất các hướng dẫn vững chắc khi tích hợp chatbot AI vào các hệ thống chăm sóc sức khỏe của bệnh nhân để bảo vệ bí mật của bệnh nhân. Những biện pháp này rất cần thiết để duy trì các tiêu chuẩn đạo đức và gìn giữ lòng tin của bệnh nhân vào ngành.17

Sau đại dịch COVID-19, đã có sự ủng hộ ngày càng tăng trong số các nhà nghiên cứu đối với việc cải tạo kỹ thuật số về sức khỏe tâm thần, đặc biệt là đối với các tình trạng như chứng mất trí nhớ.18 Các nghiên cứu lâm sàng trước đây đã tiết lộ hiệu quả của việc sử dụng robot hỗ trợ tương thích xã hội trong trị liệu để quản lý các triệu chứng hành vi và tâm lý của chứng mất trí nhớ (BPSD). Cách tiếp cận này đã làm giảm sự kích động, thúc đẩy sự tham gia xã hội, cải thiện giao tiếp và cuối cùng là giảm bớt khối lượng công việc của y tá.19 Tuy nhiên, bất chấp những lợi ích cho bệnh nhân, nhân viên y tế và người chăm sóc, phương pháp phi dược lý này phải chịu chi phí đáng kể liên quan đến việc mua sắm, đào tạo và bảo trì thiết bị cần thiết.

Như Kim đã mô tả,20 AI kết hợp kiến thức điều dưỡng với công nghệ thông tin để quản lý và truyền đạt thông tin của bệnh nhân. Các chuyên gia trong lĩnh vực này tập trung vào việc tối ưu hóa quy trình làm việc của y tá và đảm bảo quyền truy cập vào thông tin cần thiết để tạo ra các hệ thống chăm sóc bệnh nhân nội trú chất lượng tốt hơn. Mặc dù tầm quan trọng của nó, nhưng tin học điều dưỡng đã bị bỏ qua trong giáo dục điều dưỡng, một phần là do hạn chế kỹ thuật trong CNTT.

Một trong những tính năng chính của chatbot AI là khả năng tạo, sửa đổi và khắc phục sự cố mã lập trình thông qua các cuộc trò chuyện bằng ngôn ngữ tự nhiên. Với giao diện trực quan, ngay cả những cá nhân có kỹ năng lập trình hạn chế cũng có thể vượt qua các thách thức kỹ thuật và phát triển chương trình máy tính. Công cụ này rất hữu ích cho các nhà nghiên cứu trong lĩnh vực điều dưỡng vì nó cho phép họ xây dựng các chương trình máy tính thực tế mà không cần chuyên môn lập trình sâu rộng.

Xét các kịch bản này, việc sử dụng chatbot dựa trên AI để quản lý hỗ trợ, chẩn đoán và trị liệu cho nhiều tình trạng sức khỏe thể chất và tinh thần đang gia tăng. Chi phí liên quan đến việc mua sắm và bảo trì chatbot AI tương đương với máy tính cá nhân và việc đào tạo cần thiết cho bệnh nhân và quản trị viên là tối thiểu. Điều này mang đến một giải pháp thuận tiện và tiết kiệm chi phí để nâng cao sức khỏe của bệnh nhân, đặc biệt là trong những trường hợp can thiệp hành vi và tâm lý xã hội bị hạn chế hoặc ngừng hoạt động trong các biện pháp kiểm soát dịch bệnh. Nhìn vào tiềm năng của công nghệ này, nghiên cứu này đã phát triển một chatbot AI dựa trên giọng nói. Việc triển khai chatbot AI hỗ trợ dựa trên giọng nói được đề xuất tập trung vào việc thu thập thông tin từ chẩn đoán của bệnh nhân về các triệu chứng của họ và tạo ra một bảng thông tin cơ bản cho bác sĩ. Chatbot hỗ trợ này sẽ giúp tiết kiệm thời gian và công sức của y tá và các nhân viên y tế tuyến đầu khác, đồng thời mang lại sự hài lòng cho bệnh nhân. Vai trò của AI dựa trên Mô hình Ngôn ngữ Lớn (LLM) cũng đã được khám phá trong cuộc trò chuyện của chatbot y tế.21

3. Chatbot AI dựa trên giọng nói được đề xuất

Nghiên cứu này đề xuất sử dụng tính toán biên dựa trên TinyML để triển khai một chatbot chào đón bệnh nhân trong môi trường bệnh viện. Nó có một mô-đun cảm biến nhiệt độ tích hợp. Chatbot đưa ra một loạt câu hỏi liên quan đến các triệu chứng của bệnh nhân. Dựa trên câu trả lời của bệnh nhân, chatbot ghi lại chi tiết triệu chứng của bệnh có thể xảy ra và tạo ra bảng thông tin cơ bản để hỗ trợ bác sĩ. Chatbot AI được đề xuất được lên kế hoạch xây dựng dưới dạng một kios độc lập hoặc robot di chuyển bên trong khuôn viên bệnh viện. Chatbot (robot) đã được triển khai bằng cách sử dụng phần cứng và phần mềm cần thiết để cung cấp hỗ trợ y tế cơ bản dựa trên AI. TinyML, đề cập đến các mô hình và thuật toán ML, được điều chỉnh để đạt được hiệu suất tối ưu trên các thiết bị có năng lượng thấp, hạn chế tài nguyên, chẳng hạn như bộ điều khiển vi mô. Việc triển khai TinyML để hỗ trợ y tế bao gồm việc phát triển các mô hình ML nhỏ gọn có khả năng phân tích các triệu chứng y tế cơ bản của bệnh nhân. 

3.1 Tại sao chatbot dựa trên TinyML?

TinyML thuộc loại AI biên, còn được gọi là trí tuệ nhân tạo biên, tận dụng lợi thế của tính toán biên, nghĩa là thực hiện các phép tính cục bộ thay vì trên đám mây. Cách tiếp cận này mang lại một số lợi thế:

  1. Tính toán cục bộ đảm bảo độ trễ thấp, phù hợp cho các ứng dụng thời gian thực.
  2. Giảm sự phụ thuộc vào giao tiếp từ xa dẫn đến tiết kiệm chi phí băng thông.
  3. Tính toán cục bộ duy trì độ tin cậy ngay cả khi kết nối mạng bị gián đoạn.
  4. Bảo mật được tăng cường bằng cách giảm thiểu truyền dữ liệu và sử dụng lưu trữ dữ liệu cục bộ.

Các loại chatbot khác nhau đã được triển khai bằng cách sử dụng các phương pháp dựa trên quy tắc, dựa trên revital, tạo, tuần tự-tới-tuần tự và dựa trên bộ chuyển đổi. Những chatbot này dựa vào yêu cầu tính toán cao, trong khi TinyML nhẹ và có thể được triển khai trên các thiết bị biên.

Việc sử dụng TinyML để chẩn đoán y tế mang lại nhiều lợi thế, bao gồm khả năng tiếp cận chăm sóc sức khỏe được cải thiện ở các vùng sâu vùng xa hoặc vùng có dịch vụ kém, giám sát sức khỏe của bệnh nhân liên tục và phát hiện kịp thời các vấn đề y tế. Tuy nhiên, điều quan trọng là phải giải quyết các thách thức như bảo vệ quyền riêng tư của dữ liệu, đảm bảo tính khả dụng của mô hình và tuân thủ quy định để đảm bảo việc triển khai TinyML trong các bối cảnh chăm sóc sức khỏe một cách có đạo đức và chu đáo.

4. Thực thi

Việc triển khai bao gồm ba giai đoạn: nhận dạng khuôn mặt của bệnh nhân, cảm biến nhiệt độ và chatbot. Phần cứng bao gồm bo mạch vi điều khiển ARM Cortex M4 (Arduino Nano 33 BLE sense) với micro MEMS tích hợp và hỗ trợ TinyML. Phần lớn các câu hỏi yêu cầu bệnh nhân trả lời có hoặc không. Mô hình đã được đào tạo để nhận biết các từ khóa này theo giới tính (ví dụ: nam hoặc nữ). Các tính năng như tên bệnh nhân, tuổi và giới tính, không thể được ghi lại bằng TinyML, yêu cầu triển khai dựa trên đám mây. Chúng được lưu trữ dưới dạng tín hiệu âm thanh và được xử lý để tạo ra bảng thông tin in. Việc huấn luyện để đặt nhiều câu hỏi liên quan đến triệu chứng là dựa trên đám mây và được triển khai ở biên, và phần suy luận được thực hiện trong chatbot di động.

4.1 Nhận dạng bệnh nhân

Ban đầu, khuôn mặt của bệnh nhân được xác định bằng cách sử dụng robot hỗ trợ AI ở biên. Robot phải phân biệt khuôn mặt người với các hình ảnh khác được chụp bởi camera. Điều này liên quan đến một thuật toán nhận dạng khuôn mặt bao gồm thu thập dữ liệu, đào tạo và phân loại. Để hoàn thành nhiệm vụ này, kiến trúc MobileNet V2 đã được sử dụng. Kiến trúc này rất hiệu quả và có thể được áp dụng cho các thiết bị nhúng có khả năng tính toán hạn chế. Các bước liên quan trong việc nhận dạng bệnh nhân là như sau:

Bước 1: Bộ dữ liệu được sử dụng để đào tạo đã được lấy từ kho lưu trữ GitHub của Prajna Bhandary với 1376 hình ảnh.

Bước 2: Phân loại dựa trên biểu đồ độ dốc theo hướng (HOG)22 liên quan đến việc phát hiện các mô tả HOG từ mẫu dương "P".

Bước 3: Lấy mẫu "N" mẫu âm tính từ bộ dữ liệu đào tạo âm tính. Bộ này không chứa bất kỳ đối tượng nào cần phát hiện và trích xuất các mô tả HOG, nói chung, N ≫ P trong các tình huống thực tế.

Bước 4: Huấn luyện Máy Hỗ trợ Vector Tuyến tính (LSVM) dựa trên các mẫu dương và âm tính đã thu thập được.

Đối với mỗi hình ảnh và thang đo có thể có, các kỹ thuật cửa sổ trượt đã được áp dụng, và các mô tả HOG được tính toán và áp dụng cho bộ phân loại ở mỗi cửa sổ. Nếu một cửa sổ nhất định bị phân loại sai, bản vá lỗi dương tính giả và xác suất phân loại của nó được ghi lại bằng cách sử dụng phương pháp khai thác âm tính cứng. Trong quá trình khai thác âm tính cứng này, nếu tìm thấy một số mẫu dương tính giả với xác suất phân loại tốt, những mẫu dương tính giả này được sử dụng để huấn luyện lại bộ phân loại. Sau khi đào tạo, thử nghiệm đã được thực hiện bằng cách sử dụng phương pháp cửa sổ trượt, trong đó các đặc trưng HOG được trích xuất và trình bày cho bộ phân loại. Nếu xác suất phân loại cao, hộp giới hạn của cửa sổ được ghi lại. Nếu có các hộp giới hạn chồng chéo, ức chế cực đại được sử dụng để loại bỏ chúng. Do đó, một bộ phân loại nhận dạng đối tượng tùy chỉnh và duy nhất đã được đào tạo và xây dựng để xác định bệnh nhân.

4.2 Đo nhiệt độ

Một đơn vị cảm biến nhiệt độ tự động đã được tích hợp vào robot để lấy số liệu nhiệt độ của bệnh nhân. Đơn vị sử dụng cảm biến nhiệt độ hồng ngoại không tiếp xúc để không có tiếp xúc vật lý giữa robot và bệnh nhân. Đơn vị cảm biến nhiệt độ ở chế độ ngủ để tiết kiệm năng lượng. Khi một bệnh nhân đứng trước robot và được phát hiện, cảm biến nhiệt độ là có thể. Các bước liên quan trong việc đo nhiệt độ là như sau:

Bước 1: Khi phát hiện thấy khuôn mặt người (bệnh nhân), Raspberry Pi giao tiếp nối tiếp với Arduino uno thông qua giao thức Firmata.

Bước 2: Khi nhận được dữ liệu nối tiếp thông qua giao thức Firmata, Arduino Uno đưa một chân cao trong 1 giây, sau đó giảm xuống.

Bước 3: Arduino nano BLE 33 được kết nối với Arduino uno. Arduino nano BLE 33 chứa mã cảm biến nhiệt độ, và nếu có bất kỳ thay đổi nào ở chân Arduino uno, nó sẽ kích hoạt đơn vị cảm biến nhiệt độ.

Bước 4: Sau khi được kích hoạt, mã cung cấp khoảng thời gian 10 giây để bệnh nhân đặt trán của họ trước cảm biến.

Bước 5: Sau 10 giây, cảm biến ghi lại nhiệt độ của bệnh nhân.

Bước 6: Sau khi thu được nhiệt độ, Arduino nano BLE 33 gửi dữ liệu đến Raspberry Pi 2 thứ hai qua giao tiếp nối tiếp.

Bước 7: Dữ liệu nhiệt độ được chuyển đổi sang định dạng JSON và được gửi đến bảng tính Google cloud.

Mã được sử dụng là thư viện Adafruit mlx90614. Thư viện cung cấp hai bộ số liệu thu được từ cảm biến: nhiệt độ môi trường xung quanh và nhiệt độ vật thể. Chỉ số liệu nhiệt độ vật thể được sử dụng vì nó lấy số liệu nhiệt độ từ vật thể (ví dụ: bệnh nhân). Phạm vi đo của cảm biến là khoảng 3–5 cm và độ chính xác là ±0,5 °C. Số liệu nhiệt độ được đo được gửi đến Raspberry Pi 2 thứ hai qua giao tiếp nối tiếp bằng Arduino Nano BLE 33. Điều này kích hoạt chatbot.

4.3 Thực thi chatbot

Sau khi ghi lại nhiệt độ của bệnh nhân, chatbot bắt đầu chuỗi hoạt động của nó. Các bước liên quan trong việc triển khai chatbot là như sau.

Bước 1: Bộ dữ liệu giọng nói

Các lệnh giọng nói v0.01 là bộ dữ liệu được sử dụng trong nghiên cứu này.23 Bộ dữ liệu được lấy từ Google và chứa danh sách các từ phổ biến. Có, không, nam, nữ và tiếng ồn nền được sử dụng để huấn luyện mô hình TinyML. Bộ dữ liệu tiếng ồn nền được bao gồm để mô hình dự đoán nó là tiếng ồn khi nghe thấy các từ hoặc tiếng ồn khác ngoài bốn từ khóa thông qua micro. Mỗi bộ dữ liệu kéo dài trong 1 giây. tệp waw. Các bộ dữ liệu được chia ngẫu nhiên theo tỷ lệ 80:20 để huấn luyện và thử nghiệm mô hình. Sau đây là số lượng bộ dữ liệu (tức là tệp) cho mỗi từ khóa được sử dụng để huấn luyện mô hình TinyML: "Có" - 2377 tệp, "Không" - 2375, "Nam" - 4095, "Nữ" - 3976 và "Tiếng ồn nền" - 1897. Tỷ lệ lấy mẫu của các tệp âm thanh là 44,1 kHz, nhưng bo mạch phát triển chỉ hỗ trợ tỷ lệ lấy mẫu tối đa là 16 kHz. Điều này không gây ra vấn đề gì vì studio edge impulse giảm tốc độ lấy mẫu các tệp âm thanh cho chúng ta xuống mức 16 kHz phù hợp.

Bước 2: Trích xuất đặc trưng âm thanh

Biến đổi Fourier rời rạc (DFT) và Biến đổi Fourier nhanh (FFT) được sử dụng để phân tích dữ liệu âm thanh; nó dường như tốt cho tiếng ồn phi thanh nhạc như vỡ kính và gõ cửa. Bởi vì nghiên cứu này tập trung vào việc thu thập giọng nói con người, các hệ số cepstral tần số Mel (MFCC) chuyển đổi âm thanh thô thành số được sử dụng ở đây. Năng lượng của mỗi đầu ra bộ lọc được thu được bằng cách tổng hợp diện tích dưới đường cong sau khi nhân đầu ra bộ lọc với FFT, được lưu trữ trong một mảng. MFCC là Biến đổi Cosin Rời rạc (DCT) của các mức năng lượng chồng chéo này. DCT cũng cho phép nén thông tin và khử tương quan các giá trị năng lượng. Liên quan đến nhận dạng giọng nói, DCT và hình dạng phổ tổng thể là hữu ích.

Bước 3: Huấn luyện mô hình

Để phân loại hình ảnh phổ, mạng nơ-ron tích chập (CNN) đã được sử dụng để xác định các mẫu trong dữ liệu đầu vào. Các bộ lọc trong các lớp CNN được cập nhật theo các đặc trưng hình ảnh là MFCC. Kích thước của mỗi hình ảnh được lọc đã được thu nhỏ bằng cách tối đa hóa, điều này rất quan trọng đối với hiệu quả bộ nhớ và sử dụng bộ xử lý. Sau khi huấn luyện mô hình, Edge Impulse Studio được sử dụng để phân tích hiệu suất trên thiết bị dựa trên sức mạnh xử lý của chip cortex M4.

Bước 4: Triển khai chatbot

Triển khai bao gồm chuyển đổi thành thư viện C++ hoặc phần sụn nhị phân sau khi tối ưu hóa nhiều lần. Điều này giúp việc tích hợp với Raspberry Pi dễ dàng hơn vì Raspberry Pi cho phép giao tiếp nối tiếp thông qua USB của nó. Thư viện Arduino C++ được ưu tiên vì mã được tạo bởi Edge Impulse Studio cung cấp dữ liệu như mất, độ trễ và giá trị dự đoán của mỗi từ khóa. Vì những dữ liệu này không cần thiết cho Raspberry Pi, nên thư viện đã được chỉnh sửa để chỉ cung cấp từ khóa mà người dùng đã nói nếu mô hình dự đoán trên ngưỡng 0,8. Điều này đảm bảo việc truyền thông từ khóa đến phần cứng thay vì tất cả các từ. Một số tối ưu hóa thêm về mô hình và bộ phân loại NN đã được thực hiện với trình biên dịch thần kinh tối ưu hóa cạnh (EON), có thể chạy với ít RAM hơn 25–55%, với ít bộ nhớ flash hơn 35%, mặc dù vẫn giữ nguyên độ chính xác như TensorFlow Lite cho Bộ điều khiển vi mô. Việc lựa chọn tối ưu hóa lượng tử hóa (int8) làm giảm thêm việc sử dụng RAM và bộ nhớ flash.

4.4 Tích hợp

Việc tích hợp ba phần nguyên bản này rất dễ dàng vì đơn vị cảm biến nhiệt độ đã sử dụng phương pháp giao tiếp nối tiếp để gửi dữ liệu nhiệt độ qua USB như trong Hình 2. Quy trình tương tự có thể được thực hiện để gửi các từ khóa từ chatbot đến Raspberry Pi qua giao tiếp nối tiếp. Dữ liệu được lưu trữ tạm thời trong Raspberry Pi. Sau khi hoàn thành việc sàng lọc bệnh nhân, dữ liệu được gửi đến bảng tính Google cloud, nơi các câu trả lời cho các câu hỏi chatbot và số liệu nhiệt độ của bệnh nhân được lưu trữ ở định dạng bảng. Sau đó, dữ liệu được xóa trong Raspberry Pi.

5. Kết quả

Như đã thảo luận trong phần trước, có ba giai đoạn hoạt động trong chatbot hỗ trợ AI được đề xuất với TinyML. Bao gồm nhận dạng bệnh nhân, cảm biến nhiệt độ và chatbot đặt một loạt câu hỏi cho bệnh nhân và ghi lại các triệu chứng của họ.

5.1 Kết quả nhận dạng khuôn mặt

Bộ phân loại nhận dạng khuôn mặt đã được huấn luyện bằng cách sử dụng TensorFlow và Biểu đồ độ dốc theo hướng (HOG) đã được sử dụng để trích xuất vùng quan tâm (ROI), và bộ phân loại chỉ được áp dụng cho ROI. Độ chính xác phân loại thay đổi từ 90,4% đến 95,8%. 

Sáu hộp giới hạn chồng chéo của cùng một khuôn mặt trong Hình 3 đã được áp dụng tối đa hóa để giới hạn chúng thành hộp lớn nhất trong khi ức chế năm hộp giới hạn nhỏ nhất. Độ chính xác đào tạo cho 30 thử nghiệm được liệt kê trong Bảng 1.


Bảng 1 Độ chính xác đào tạo

Các tham số đã được thử nghiệm và đào tạo với 1300 bộ dữ liệu và tối thiểu 10 thử nghiệm mỗi bộ. Đối với luồng video kéo dài, độ chính xác của các mô hình là khoảng 90,2% đối với biểu đồ độ dốc theo hướng kết hợp với mạng nơ-ron tích chập dựa trên vùng. Độ chính xác phân loại được trình bày trong Bảng 2.


Bảng 2 Độ chính xác phân loại

Sau khi khuôn mặt được phát hiện, cảm biến nhiệt độ và chatbot được kích hoạt, và bệnh nhân phải cung cấp thông tin phù hợp (câu trả lời) cho robot.

5.2 Kết quả đo nhiệt độ

Các đầu ra và kết quả sau đã được thu được ở nhiệt độ phòng. Bảng 3 cho thấy số liệu nhiệt độ được ghi lại cho 15 đối tượng thử nghiệm để đánh giá độ chính xác của chúng.

Logo

0 comments Blogger 0 Facebook

Đăng nhận xét

 
Agent.ai.vn © 2024 - Nắm bắt tương lai
Top