那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于深度學習算法和哪吒開發板構建黃斑病變檢測模型

英特爾物聯網 ? 來源:英特爾物聯網 ? 2024-12-09 16:16 ? 次閱讀

作者:陳佳聰

1背景介紹

黃斑病,作為一組影響視網膜黃斑區的病理性改變,是眼科常見的可致盲疾病之一。黃斑區是人眼視力最敏感的區域,主要負責精細視覺及色覺等視功能。正常情況下,外界物體光線進入眼內,投影在黃斑區中心凹處,形成清晰精確的像。一旦黃斑區發生病變,患者可表現為中心視力下降、視物扭曲變形、視野中心暗點等癥狀。部分黃斑病變可致盲,極大影響患者的生活質量。

黃斑病變包括多種類型,其中老年性黃斑變性(AMD)是最常見的一種,隨著年齡的增長,其發病率逐漸增高。據國內患病率調查結果顯示,50歲以上人群年齡相關性黃斑變性患病率為15.5%,80歲以上人群患病率高達23.5%。據此估計,我國目前年齡相關性黃斑變性患者約有數百萬之多。此外,一些全身慢性疾病如糖尿病、高血壓、動脈粥樣硬化等也可能導致黃斑病變。黃斑病變不僅影響視力,還嚴重影響患者的日常生活和社會參與,給患者及其家庭帶來沉重的負擔。

為此本項目利用黃斑區眼底彩照及OCT掃描圖像,構建基于深度學習算法的黃斑病變檢測模型用于常見9類黃斑區病變的檢測,為此深度學習模型在分類眼底彩照和OCT圖像時都展現出了高準確度、敏感度及特異度,基于OCT圖像的檢測效果略優于眼底彩照。

2系統設計

2.1硬件設計

哪吒開發板搭載英特爾 N97處理器,配備8GB LPDDR5內存和64GB eMMC存儲空間,支持Windows、Linux兩個操作系統,支持高分辨率顯示,提供HDMI接口使檢測結果能更好的展示。

首先本項目使用ubuntu 20.04 LTS系統進行項目部署:

2.2環境搭建

首先部署本系統,因為哪吒開發板出廠并不帶系統,需要我們進行燒錄。

進入官網:

75fe0c28-b3b7-11ef-93f3-92fbcf53809c.png

ubuntu下載

接著進行openvino 配置:

首先進行基礎依賴安裝:

sudo apt-get install libprotobuf-dev protobuf-compiler

輸出回顯中碰到Do you want to continue? [Y/n] y

接著進行OpenVino下載,官網中給出了許多安裝方式,大家可自行安裝。

760816fa-b3b7-11ef-93f3-92fbcf53809c.png

官網openvino下載

接下來進行數據獲取,本項目利用messidor 數據庫

下載地址:https://www.adcis.net/en/third-party/messidor/

接下來進行模型準備:Tensorflow轉ONNX模型。

首先我們進行tf2onnx的安裝pip install tf2onnx onnx,然后我們使用以下代碼將tensorflow轉為ONNX:

import tensorflow as tf
from tf2onnx import convert, utils
from tf2onnx.tfonnx import process_tf_graph
from onnx import shape_inference
def convert_tf_to_onnx(tf_model_path, onnx_model_path):
  # 導入 TensorFlow 模型
  with tf.io.gfile.GFile(tf_model_path, "rb") as f:
    graph_def = tf.compat.v1.GraphDef()
    graph_def.ParseFromString(f.read())
  # 創建一個 TensorFlow 圖
  with tf.Graph().as_default() as tf_graph:
    tf.import_graph_def(graph_def, name="")
  # 使用 tf2onnx 轉換模型
  with tf2onnx.utils.make_tf_graph(tf_graph) as tfg:
    # 獲取輸入和輸出節點
    input_names = ["input_0"] # 根據你的模型修改輸入節點名稱
    output_names = ["output_0"] # 根據你的模型修改輸出節點名稱
    # 轉換模型
    model_proto, _ = convert.from_graph_def(
      tf_graph.as_graph_def(), input_names, output_names, opset=12
    )
  # 應用 ONNX 形狀推斷
  inferred_model = shape_inference.infer_shapes(model_proto)
  # 保存 ONNX 模型
  with open(onnx_model_path, "wb") as f:
    f.write(inferred_model.SerializeToString())
  print(f"ONNX model saved to {onnx_model_path}")
# TensorFlow 模型路徑
tf_model_path = "path/to/your/tf_model.pb"
# ONNX 模型保存路徑
onnx_model_path = "path/to/your/onnx_model.onnx"
# 轉換模型
convert_tf_to_onnx(tf_model_path, onnx_model_path)
接著我們進行onnxruntime的安裝
pip install onnx onnxruntime
接著進行模型驗證,我們可以使用以下腳本(腳本上面是使用圖片作為輸入,大家可以自行轉換)
import onnx
import onnxruntime as ort
import numpy as np
from PIL import Image
import io
def preprocess_image(image_path, target_size=(224, 224)):
  """預處理圖像以匹配模型輸入"""
  image = Image.open(image_path).convert('RGB')
  image = image.resize(target_size)
  image_array = np.array(image).astype(np.float32) / 255.0
  image_array = np.transpose(image_array, (2, 0, 1)) # 轉換為 CHW 格式
  image_array = np.expand_dims(image_array, axis=0) # 添加批次維度
  return image_array
def load_onnx_model(model_path):
  """加載 ONNX 模型"""
  onnx_model = onnx.load(model_path)
  onnx.checker.check_model(onnx_model)
  return onnx_model
def run_onnx_model(onnx_model_path, image_path):
  """運行 ONNX 模型并打印輸出"""
  # 加載 ONNX 模型
  onnx_model = load_onnx_model(onnx_model_path)
  session = ort.InferenceSession(onnx_model_path)
  # 預處理圖像
  input_data = preprocess_image(image_path)
  # 獲取輸入和輸出名稱
  input_name = session.get_inputs()[0].name
  output_name = session.get_outputs()[0].name
  # 運行模型
  outputs = session.run([output_name], {input_name: input_data})
  # 打印輸出
  print("Model Output:", outputs[0])
# ONNX 模型路徑
onnx_model_path = "path/to/your/onnx_model.onnx"
# 輸入圖像路徑
image_path = "path/to/your/input_image.jpg"
# 運行驗證
run_onnx_model(onnx_model_path, image_path)

接著使用openvino中的mo_onnx.py將onnx轉為IR中間模型

python mo_onnx.py --input_model 【.onnx模型路徑】 --output_dir 【目標路徑】

接著就可以進行部署

76161552-b3b7-11ef-93f3-92fbcf53809c.png

部署頁面

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19406

    瀏覽量

    231160
  • 英特爾
    +關注

    關注

    61

    文章

    10007

    瀏覽量

    172324
  • 開發板
    +關注

    關注

    25

    文章

    5121

    瀏覽量

    98183
  • 深度學習
    +關注

    關注

    73

    文章

    5513

    瀏覽量

    121540

原文標題:開發者實戰|深度學習+哪吒開發板,讓黃斑病變遠離我們的眼睛

文章出處:【微信號:英特爾物聯網,微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Nanopi深度學習之路(1)深度學習框架分析

    學習,也就是現在最流行的深度學習領域,關注論壇的朋友應該看到了,開發板試用活動中有【NanoPi K1 Plus試用】的申請,介紹中NanopiK1plus的高大上優點之一就是“可運行
    發表于 06-04 22:32

    【HarmonyOS HiSpark AI Camera】基于深度學習的目標檢測系統設計

    項目名稱:基于深度學習的目標檢測系統設計試用計劃:嘗試在硬件平臺實現對Yolo卷積神經網絡的加速運算,期望提出的方法能夠使目標檢測技術更便捷,運用領域更廣泛。針對課題的研究一是研究基于
    發表于 09-25 10:11

    labview深度學習PCB插件光學檢測

    `labview在檢測PCBA插件的錯、漏、反等缺陷中的應用檢測原理通過高精度彩色工業相機不停板實時抓取板卡圖像,采取卷積神經網絡算法處理圖像,智能判定元器件不良。采用最新的深度
    發表于 07-13 15:27

    深度學習在醫學圖像分割與病變識別中的應用實戰

    幫助解釋模型的決策過程。 總結起來,基于深度學習的醫學圖像分割與病變識別是醫療領域中的重要應用之一。通過適當的數據準備、模型設計和性能評估,
    發表于 09-04 11:11

    基于深度學習的疲勞駕駛檢測算法模型

    為實現復雜駕駛環境下駕駛人員疲勞狀態識別與預警,提出基于深度學習的疲勞駕駛檢測算法。利用基于 shuffle- channel思想的 MTCNN模型
    發表于 03-30 09:17 ?25次下載
    基于<b class='flag-5'>深度</b><b class='flag-5'>學習</b>的疲勞駕駛<b class='flag-5'>檢測算法</b>及<b class='flag-5'>模型</b>

    什么是深度學習算法?深度學習算法的應用

    什么是深度學習算法?深度學習算法的應用 深度
    的頭像 發表于 08-17 16:03 ?2271次閱讀

    20210520原理圖全志D1-H哪吒開發板

    20210520原理圖D1-H哪吒開發板
    發表于 03-21 09:50 ?20次下載

    20210520位號圖全志D1-H哪吒開發板

    20210520位號圖D1-H哪吒開發板
    發表于 03-21 09:51 ?2次下載

    20210520定位圖全志D1哪吒開發板

    20210520定位圖D1哪吒開發板
    發表于 03-21 09:51 ?2次下載

    全志20210520定位圖D1哪吒開發板

    全志20210520定位圖D1哪吒開發板
    發表于 10-19 15:11 ?0次下載

    全志20210520位號圖D1-H哪吒開發板

    全志20210520位號圖D1-H哪吒開發板
    發表于 10-19 15:11 ?1次下載

    全志20210520原理圖D1-H哪吒開發板

    全志20210520原理圖D1-H哪吒開發板
    發表于 10-19 15:11 ?2次下載

    深度學習模型訓練過程詳解

    詳細介紹深度學習模型訓練的全過程,包括數據預處理、模型構建、損失函數定義、優化算法選擇、訓練過程
    的頭像 發表于 07-01 16:13 ?1494次閱讀

    OpenVINO? C++ 在哪吒開發板上推理 Transformer 模型開發者實戰

    信用卡大?。?5x56mm)的開發板-『哪吒』(Nezha)為核心,『哪吒』采用IntelN97處理器(AlderLake-N),最大睿頻3.6GHz,Intel
    的頭像 發表于 09-28 08:01 ?432次閱讀
    OpenVINO? C++ 在<b class='flag-5'>哪吒</b><b class='flag-5'>開發板</b>上推理 Transformer <b class='flag-5'>模型</b>|<b class='flag-5'>開發</b>者實戰

    基于哪吒開發板部署YOLOv8模型

    2024英特爾 “走近開發者”互動活動-哪吒開發套件免費試 用 AI 創新計劃:哪吒開發板是專為支持入門級邊緣 AI 應用程序和設備而設計,
    的頭像 發表于 11-15 14:13 ?411次閱讀
    基于<b class='flag-5'>哪吒</b><b class='flag-5'>開發板</b>部署YOLOv8<b class='flag-5'>模型</b>
    五张百家乐的玩法技巧和规则 | 百家乐怎样赢| tt娱乐城网站| 最好的百家乐官网娱乐场| 百家乐官网麻将筹码币镭射贴膜| 广州百家乐桌子| 路虎百家乐的玩法技巧和规则| 先锋百家乐官网的玩法技巧和规则| 百家乐官网视频游戏帐号| 东乡县| 喀喇| 豪门国际娱乐城| 夏河县| 百家乐官网下载游戏| 宁明县| 缅甸百家乐官网论坛| 连城县| 百家乐官网玩法| 赌球术语| 百家乐官网三珠连跳打法| 百家乐游戏真人游戏| 金沙| 百家乐官网法则| 大发888 大发888游戏平台| 网络百家乐官网赌博视频| 百家乐最大的赌局| 宁河县| 大杀器百家乐官网学院| 百家乐官网英皇赌场娱乐网规则| 闲和庄百家乐官网赌场娱乐网规则 | 哪个百家乐官网投注平台信誉好 | 百家乐官网连开6把小| 百家乐官网最好的投注方法| 百家乐官网沙| 赌神网百家乐官网的玩法技巧和规则 | 伟易博| 迪威百家乐官网现场| 澳门百家乐官网文章| 高尔夫百家乐官网的玩法技巧和规则| 24山水口吉凶图| 百家乐板路|