1. 如何檢測畫面中可能的正方形
      發表時間: 2023-03-31 下午 5:11下午 5:11
      最簡單-使用findContours OpenCV 中有一個名為 findContours 的函數,可以用來查找圖像中的輪廓。一旦你找到了圖像中的輪廓,你可以使用 approxPolyDP 函數來近似地計算輪廓的形狀。如果你要查找正方形,你可以在這些形狀中尋找具有 4 個頂點的多邊形,這些多邊形應該有相近的邊長和角度。如果你要檢測的正方形不是水平的或垂直的,你可能需要使用角度信息來確定它的方向。
    2. 分水嶺演算法-偵測相連區域形狀
      發表時間: 2023-03-30 下午 4:59下午 4:59
      官方教學 Image Segmentation with Watershed Algorithm 官方的範例是一群黏在一起的硬幣 分割出黏在一起的長方形 這篇文章是在討論如何分割出一群黏在一起的長方形 給定一個二值圖像,我們可以應用距離變換 (DT) 並從中獲得分水嶺的標記。理想情況下,會有一個現成的函數來查找區域最小值/最大值,但由於它不存在,我們可以對如何設置 DT 閾值做出一個不錯的猜測。基
    3. 高壓縮比編碼格式的介紹 – HEVC
      發表時間: 2023-03-13 下午 5:39下午 5:39
      HEVC(H265)介紹 HEVC(High Efficiency Video Coding),也稱為H.265,是一種先進的視頻編解碼標準,是H.264/MPEG-4 AVC的後繼者。相較於H.264,HEVC可以提供更高的視頻質量、更少的碼率和更高的壓縮效率。 HEVC採用更高級的壓縮算法,通過增加更多的預測模式、增加更多的參考幀以及使用更高級別的變換和量化技術,實現了更高的壓縮比。在同樣的視
    4. 高壓縮比編碼格式的介紹 – AV1
      發表時間: 2023-03-13 下午 3:10下午 3:10
      高壓縮比編碼格式AV1介紹 AV1是一種免費、開源的視頻編解碼器,由Alliance for Open Media(AOMedia)聯盟開發。它是H.265(HEVC)的競爭對手,旨在提供更高的壓縮效率和更好的視頻質量。 AV1使用了許多新技術來提高壓縮效率,例如可變帶寬預測、可變塊大小和可變熵編碼等。與H.265相比,AV1在相同的比特率下可以提供更高的視頻質量。同時,AV1還具有更好的自適應流
    5. OBS在版本29版之後增加的新的編碼支持(H265及AV1)
      發表時間: 2023-03-13 下午 2:27下午 2:27
      OBS支持HEVC推流 OBS在v29版本之後支持了HEVC推流,支持利用RTMP的封裝方式來推送H265編碼的串流格式,若電腦沒有可支持硬編碼的GPU,其CPU編碼所採取的編碼方案是QuickSync HEVC。 若是電腦有可支持硬編碼的GPU,則下拉選單會增加該硬件編碼的編碼選項 支持AV1及HEVC的錄影格式 並且可以錄製SVT-AV1、AOM-AV1和HEVC的格式的影片
    6. 為SRS6編譯支持HTTP-FLV的FFMPEG檔案
      發表時間: 2023-03-09 下午 7:27下午 7:27
      SRS介紹 SRS是一個簡單高效的實時視頻服務器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181。 是一個運營級的互聯網直播服務器集群並發7.5k+,支持多種轉碼,RTMP->HLS,RTMP->FLV等,支持HTTP回調,RTMP0.1s延時 在HTTP-FLV的低延遲實踐方案上,可以說是繼FMS之後,非常有用心地在更新、維護的一個開源專案 主要開發者很熱心地回答問
    7. 使用OpenCV判別圖像清晰度
      發表時間: 2023-02-14 上午 11:02上午 11:02
      3種清晰度評價方法 Tenengrad梯度方法: Tenengrad梯度方法利用Sobel算子分別計算水平和垂直方向的梯度,同一場景下梯度值越高,圖像越清晰。以下是具體實現,這裡衡量的指標是經過Sobel算子處理後的圖像的平均灰度值,值越大,代表圖像越清晰。 Laplacian梯度方法: Laplacian()變換不需要區分圖像的x和y方向計算梯度,從上圖的2種kernel也可以看到其x和y方向是
    8. 建立模型與並使用模型來預測資料
      發表時間: 2023-01-19 下午 2:41下午 2:41
      從本機圖片建立模型的簡單範例 以下為從classify資料夾內載入圖片並建構分類模組的範例。圖片資料夾的結構如下: 其中daisy、dandelion、roses、sunflowers、tulips為標籤名稱,在各個資料夾內為圖片 然後使用 image_dataset_from_directory 函數載入圖片,需要傳遞以下參數: directory:包含圖片的目錄。 labels:標籤的名稱。預
    9. TensorFlow Extended (TFX) 介紹
      發表時間: 2023-01-13 下午 5:25下午 5:25
      功能介紹 TensorFlow Extended (TFX) 是Google 開發的一個開源框架,用於在TensorFlow 中構建機器學習管道。TFX 的目標是簡化機器學習管道的構建過程,使其能夠更容易地部署和維護。 其中TFX 管道是TFX 中的一個重要部分,它是一種用於組織和管理機器學習工作流的方式。TFX 管道由多個組件組成,每個組件負責執行特定的任務,如數據預處理、訓練、評估等。TFX
    10. 用兩張圖片來偵測圖像是否在靜止狀態
      發表時間: 2023-01-13 下午 5:06下午 5:06
      實踐概念 使用 TensorFlow 的圖像處理函數,將兩張圖片讀入並進行比對。 比如您可以使用 OpenCV 庫將圖片讀入,然後使用 TensorFlow 庫對兩張圖片進行比對。 您可以使用 TensorFlow 的圖像處理函數,例如圖像縮放、旋轉和鏡像轉換等,對兩張圖片進行預處理。接著您可以使用 TensorFlow 中的數值計算函數,例如 mean square error (MSE) 或
    11. Tensorflow裡Estimator介紹
      發表時間: 2023-01-13 下午 4:51下午 4:51
      tf.estimator.Estimator 介紹 官方介紹頁面: https://www.tensorflow.org/guide/estimator tf.estimator.Estimator 與 tf.keras.Model 類似,estimator是模型級別的抽象。tf.estimator提供了一些目前仍在為 tf.keras 開發中的功能。包括: 基於參數服務器的訓練 完整的TFX集成
    12. 梯度下降法介紹
      發表時間: 2023-01-12 下午 6:13下午 6:13
      梯度下降法 梯度下降法(英語:Gradient descent)是一個一階最佳化算法,通常也稱為最陡下降法,但是不該與近似積分的最陡下降法(英語:Method of steepest descent)混淆。 要使用梯度下降法找到一個函數的局部極小值,必須向函數上當前點對應梯度(或者是近似梯度)的反方向的規定步長距離點進行疊代搜索。如果相反地向梯度正方向疊代進行搜索,則會接近函數的局部極大值點;這個
    13. 物體偵測技術介紹
      發表時間: 2023-01-12 上午 11:26上午 11:26
      取得圖片中可能的目標的位置資訊 要讓模型吐出圖片中目標的座標位置資訊,常用的方法是使用目標檢測 (object detection) 的模型,這些模型通常可以同時預測目標的類別 (class) 和座標位置 (bounding box)。 常用的目標檢測模型有 YOLO (You Only Look Once)、SSD (Single Shot MultiBox Detector) 以及 Faste
    14. Dense全連接層介紹
      發表時間: 2023-01-11 下午 6:50下午 6:50
      Tensorflow的全連接層 對Tensorflow而言,全連接層的類別為: tf.keras.layers.Dense 相關介紹: https://www.tensorflow.org/api_docs/python/tf/keras/layers/Dense 甚麼是全連接層 在 Dense 層中,每個輸入都會對每個輸出進行綜合計算,得到一個輸出值。這個綜合計算包括了對輸入和前一層輸出的矩陣乘
    15. 如何使用回撥(callbacks)來觸發訓練週期的結束
      發表時間: 2023-01-11 下午 4:08下午 4:08
      在 TensorFlow 和 Keras 中,可以使用回撥 (callbacks) 來在訓練週期結束時觸發某些操作。回撥是一個類似於函數的物件,可以在訓練過程中的特定時間點被調用。 其中一種回撥叫做 ModelCheckpoint,它能在訓練的某個時間點保存模型的權重。另一種叫做 EarlyStopping,它能在訓練達到一定的準確率後停止訓練。 要在訓練週期結束時觸發回撥,需要在調用 fit()
    16. 如何從預先訓練的模型中提取特徵
      發表時間: 2023-01-11 下午 4:07下午 4:07
      預先訓練的模型中提取特徵的一種常見方法是使用模型的中間層。例如,如果使用卷積神經網絡 (CNN) 來預訓練圖像識別模型,則可以使用 CNN 的某些中間層(如卷積層或池化層)來提取圖像的特徵。 另外,您可以將整個預先訓練的模型看作是一個特徵提取器。 一種方法是將輸入數據丟入預先訓練的模型中,然後使用模型的最後一層輸出 (通常是分類層) 作為特徵。 最後,您還可以使用深度學習框架中內置的函數(如 Ke
    17. 二元分類器 (binary classification) 介紹
      發表時間: 2023-01-11 下午 4:06下午 4:06
      甚麼是二元分類器 二元分類 (binary classification) 是一種機器學習中常見的任務,其目的是從兩個不同類別中將每個數據樣本歸類為其中之一。這種分類方式只有兩個類別,因此其結果是二元的。例如,對於圖像分類問題,二元分類可能用於識別猫和狗的圖像,或者用於識別垃圾郵件和非垃圾郵件的電子郵件。 在二元分類中,我們通常使用一些算法來建立一個模型,如 logistic regression
    18. Tensorflow裡ResNet(殘差網路)的介紹
      發表時間: 2023-01-11 下午 3:46下午 3:46
      殘差網路ResNet 殘差網路(Residual Network,簡稱 ResNet)是一種深度卷積神經網路,它被設計用來解決深度神經網路中的梯度消失問題。 在深度神經網路中,隨著層數的增加,梯度有可能會越來越小,導致模型無法有效地學習。殘差網路通過在每一層中引入一個「殘差块」來解決這個問題。殘差块包含兩個卷積層和一個殘差路徑,殘差路徑將輸入數據直接加到輸出數據上。這樣,當殘差块的輸出數據與輸入數
    19. PyCharm – 好用的python開發環境
      發表時間: 2023-01-11 下午 3:31下午 3:31
      官方網站 https://www.jetbrains.com/pycharm/ 為什麼選擇PYCHARM 所有 PYTHON 工具集中在一處 提高生產力: 在 PyCharm 處理例程時節省時間。專注於更大的事情並採用以鍵盤為中心的方法來充分利用 PyCharm 的許多生產力功能。 獲得智能幫助: PyCharm 了解您的代碼的一切。依靠它實現智能代碼完成、實時錯誤檢查和快速修復、輕鬆的項目導航等
    20. TensorFlow 開發者認證計劃介紹
      發表時間: 2023-01-11 下午 3:15下午 3:15
      TensorFlow認證計劃課程 以下為介紹網頁 https://www.tensorflow.org/certificate 在這個網頁當中,他們推薦了幾個課程 Udacity 的《TensorFlow 在深度學習中的應用簡介》課程 Coursera 的《DeepLearning.AI TensorFlow Developer 專業證書》 而我選擇了Udacity的課程(因為免費),而且可以有中
    21. 在K8S內node js紀錄log的解決方案
      發表時間: 2023-01-10 下午 4:04下午 4:04
      千萬不要使用PM2 PM2是一個在linux裡面管理nodejs程序的好工具,它可以讓nodejs在死掉時自動控制重啟,並可於重啟次數超過時停止重啟 但是由於在K8S之中,這種管理的機制已經交由K8S去管理了,因此,若再於裡面包一層PM2,很容易出問題 可能發生的問題 pm2 一開始起來時會依你的參數去試著把 resource 給最大化,所以會一下子把 resource 吃滿,這會讓 k8s 覺得
    22. 交叉熵相關損失函數的比較
      發表時間: 2023-01-07 上午 6:05上午 6:05
      交叉熵(cross-entropy)是什麼 交叉熵是一種常用的測量兩個概率分布差異的度量。它可以用來衡量預測模型的輸出結果與真實標籤之間的差異,从而作為訓練模型的損失函數。 交叉熵的计算公式如下: H(y, y_pred) = - ∑ y log(y_pred) 其中 y 和 y_pred 分别表示真實標籤的概率分布和預測模型的輸出概率分布。 交叉熵有一些特性,使它特别适用于衡量分類問題中模型的預
    23. 使用數據增強加強圖像辨識準確率
      發表時間: 2023-01-06 下午 6:52下午 6:52
      數據增強 數據增強(Data Augmentation)是一種在不增加真實數據的情況下,通過對現有數據進行變化來增加數據集大小的方法。 請參見: https://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/image/ImageDataGenerator 常見的數據增強技術包括: 尺度變換: 對圖像進行放大或縮小。 旋轉: 對
    24. 模型的權重與偏差值
      發表時間: 2023-01-04 下午 10:27下午 10:27
      神經元的權重與偏差 在神經網絡中,權重 (weight) 和偏差 (bias) 是模型的兩個重要參數。 權重 (weight) 指的是神經網絡中的輸入層和輸出層之間的連接強度。每個神經元都有一個權重矩陣,表示與該神經元相連的輸入張量的強度。輸入張量與輸出張量之間的權重越大,該神經元對輸出的貢獻就越大。 偏差 (bias) 指的是神經網絡中的偏移量。每個神經元都有一個偏差值,表示該神經元的輸出在不考
    25. tensorflew的自動求導機制
      發表時間: 2023-01-04 下午 9:47下午 9:47
      什麼是自動求導機制 在 TensorFlow 中,有一種特殊的張量類型叫做梯度張量,可以用於計算模型的梯度。 TensorFlow 的梯度張量是一種特殊的張量,其中包含了模型中每個變量的梯度信息。梯度張量是 TensorFlow 的自動微分機制的基礎,可以通過 TensorFlow 的自動微分機制來計算模型的梯度。 使用方法介紹 使用 GradientTape 類的方法是: 在計算圖的上下文中創建
    26. 使用model.summary()輸出參數Param計算過程
      發表時間: 2023-01-04 下午 5:58下午 5:58
      使用方式 使用keras構建深度學習模型,我們會通過model.summary()輸出模型各層的參數狀況,如下: [crayon-6428198c8493f772994341/] 輸出範例 [crayon-6428198c84944571108243/] 參數意義 在這個輸出中,Total params 表示模型的總參數數量,可以用來反推模型的大小。請注意,模型的大小不僅僅是參數數量的函數,還可能
    27. TensorFlow的圖像操作功能筆記
      發表時間: 2023-01-04 下午 5:45下午 5:45
      為什麼要盡量使用Tensorflow的圖像操作功能 因為Tensorflow對GPU的支援度高,盡量完全使用Tensorflow內建的圖像操作功能對圖像做操作,可以避免資料在GPU和CPU之間轉換。 將資料集轉為dataset 可以使用 TensorFlow 的 tf.data.Dataset API 將訓練圖像和標籤轉換為數據集。 首先,需要將訓練圖像和標籤轉換為 TensorFlow 張量:
    28. 限制在Tensorflow跑模型時使用的GPU的記憶體上限?
      發表時間: 2023-01-04 下午 5:06下午 5:06
      使用tensorflow-gpu結果耗一大堆MEMORY是為什麼 使用 TensorFlow GPU 版本會耗費較多的記憶體,這是正常的。因為 GPU 設備有自己的內存,我們可以使用 GPU 設備加速計算。但是,這意味著 GPU 設備的內存也必須足夠大,以便容納計算所需的資料。 如果GPU的記憶體不夠大,則tensorflow會改將原本要放在GPU的記憶體內的資料放到CPU的記憶體裡面,若是CPU
    29. 如何縮小Tensorflow運算模型時使用的記憶體大小
      發表時間: 2023-01-04 下午 3:36下午 3:36
      使用剪枝法 剪枝是一種常用的方法,用於縮小深度學習模型的大小。在剪枝過程中,可以刪除模型中不重要的權重,以縮小模型的大小。 以下是使用 TensorFlow 2.x 的簡單範例,說明如何在深度學習模型中進行剪枝: [crayon-6428198c850c4737263390/] 訓練過程中使用正則化 正則化是一種常用的方法,用於防止過擬合,並縮小模型的大小。在 TensorFlow 中,您可以使用
    30. tensorflow和keras版本之間不兼容的錯誤
      發表時間: 2023-01-03 下午 6:08下午 6:08
      更多資訊請見: https://stackoverflow.com/questions/72255562/cannot-import-name-dtensor-from-tensorflow-compat-v2-experimental 編譯器的錯誤訊息 ImportError: cannot import name 'dtensor' from 'tensorflow.compat.v2.exp