發表文章

目前顯示的是有「python」標籤的文章

【YOLOv8】姿態(動作)識別_俯臥撐計數

圖片
  用 Ultralytics YOLOv8 Pose 模型(yolov8x-pose.pt)搭配 AIGym 解決方案模組,對影片中的人物進行姿態辨識與伏地挺身(push-up)動作計數。 up_angle:如果角度超過這個值,代表身體在「上推」階段 down_angle:如果角度低於這個值,代表身體在「下壓」階段 kpts=[5, 7, 9],分別是左肩(left shoulder)、左肘(left elbow)、左手腕(left wrist) 用這三個點計算手臂夾角,以判斷 push-up 是否完成一個動作。 偵測深蹲的話kpts 就可以類似改成 [11,13,15] https://github.com/Alimustoofaa/YoloV8-Pose-Keypoint-Classification?tab=readme-ov-file 測試程式 import cv2 from ultralytics import solutions MODEL_PATH = "yolov8x-pose.pt" #yolov8x-pose.pt , yolo11n-pose.pt VIDEO_PATH = "fuwocheng.mp4" gym = solutions . AIGym( model = MODEL_PATH, kpts = [ 5 , 7 , 9 ], # 指定關鍵點:左肩-左肘-左手 up_angle = 100 , down_angle = 80 , line_width = 2 , show = False ) cap = cv2 . VideoCapture(VIDEO_PATH) if not cap . isOpened(): print ( "Error: Could not open video." ) exit () # ===== 新增:控制視窗大小與位置 ===== window_name = "Processed Frame" cv2 . namedWindow(window_name, cv2 . WINDOW_NORMAL) cv...

【YOLOv8】物件偵測與識別測試

圖片
  Yolo V8使用 pytorch 開發的,因此這邊採用Pycharm Community開發工具。 並進行Pytorch下載引入 開發測試環境Windows 11 電腦 Acer Predator PH315-54-72VQ 電競筆記型電腦 https://store.acer.com/zh-tw/ph315-54-72vq 處理器:Intel® Core™ i7-11800H 記憶體:32GB DDR4 3200MHz Memory 硬碟:512GB PCIe NVMe SSD 顯卡:NVIDIA® GeForce RTX™ 3070 記得先在Pycharm創建好Project-based的venv,這邊採用Python3.8。 之後依序執行已下指令把Pytorch需要的給裝一裝,安裝對應 CUDA 11.8 的 PyTorch 套件。 不要採用Anaconda內建虛擬環境提供的不支援GPU的Pytorch。 電腦有GPU顯卡用這下載方式的指令 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 --no-cache-dir 電腦無GPU顯卡只能用CPU跑用這下載方式的指令 pip install torch torchvision torchaudio --no-cache-dir YOLO在演進到6之後版本就交由ultralytics這間公司團隊繼續精進研發。 到了第八版算是成熟也十分多產品在使用的版本。(目前最新還有出到11的樣子) pip install ultralytics CUDA 與 cuDNN 的關係與角色 CUDA(Compute Unified Device Architecture) 是 NVIDIA 開發的一套平行運算平台與程式設計模型,底層是用 C/C++ 所實作,允許開發者撰寫程式碼,並將運算密集的任務交由 GPU(圖形處理器) 處理。 CUDA 提供一組 API,可以讓像 Python、C++ 等高階語言編寫的程式,透過 CUDA 將資料與任務分派到 GPU 執行。 當 Python 呼叫如 TensorFlow、PyTorch 等深度學習框架中的 GPU 運算時,其實是透過這些框架內部...

深度估測技術研究_Depth Pro:在不到一秒的時間內獲得清晰的單目公制深度_用python結合Yolo11測試實作

圖片
  蘋果 AI 研究團隊於2024年10月,提出一款新模型「Depth Pro」,Depth Pro 在未知的新影像情境下,仍可立即準確估測深度,而無需額外學習或校準。 https://machinelearning.apple.com/research/depth-pro https://github.com/apple/ml-depth-pro?tab=readme-ov-file https://arxiv.org/pdf/2410.02073 提出了一個零鏡頭度量單目深度估計的基礎模型。 Depth Pro 模型合成了高解析度深度圖,具有無與倫比的清晰度和高頻細節。上圖中可看到比較靠近的呈現較深濃的紅色,較遠的則相對是冷綠色。 預測是不依賴於元數據(如相機內部函數)的。而且該模型速度很快,在 GPU 上可在 0.3 秒內生成 225 萬像素 depth map。不過我這邊於colab上實測還是稍微跑要點時間,大概要2~5秒網路延遲也有可能。 這些特性是由許多技術貢獻實現的,包括用於密集預測的高效多尺度視覺轉換器、結合真實和合成數據集以實現高度量精度以及精細邊界追蹤的訓練協議、估計深度圖中邊界精度的專用評估指標,以及來自單個圖像的最先進的焦距估計。 Depth Pro 提供了現階段最精準且高解析度的單目深度估測模型,適合各種互動式視覺應用。然而,模型仍有一些局限性,如對半透明或具有體積散射的物體效果有限(例如煙霧、水氣等)。 英文論文中出現的專業術語: Zero-shot learning (零樣本學習): 模型能處理訓練時未見過的資料,不需額外調整或微調。 Monocular depth estimation (單目深度估測): 僅憑單張2D影像估測出物體真實的深度距離。 Metric depth (度量深度): 預測的深度值具有真實尺度(例如以公尺為單位的絕對距離)。 Vision Transformer (ViT): 基於Transformer的深度學習架構,透過自注意力機制(Self-Attention)處理影像資料。 Multi-scale architecture (多尺度架構): 模型同時考慮不同解析度尺度的資訊,以更準確地捕捉局部細節與全域資訊。 Boundary tracing (邊界追蹤): 在深度估測任務中,準確識別和追蹤物體邊緣...

使用線性回歸模型進行訓練及預測_(波士頓房價)_透過偏度(skewness)修正來提升預測準確度

圖片
沿用上一篇 EDA 先抓取到的波士頓房價資料,封裝額外一個python檔案。 getData.py from sklearn.datasets import load_boston import pandas as pd display = pd . options . display display . max_columns = None display . max_rows = None display . width = None display . max_colwidth = None def getRawData (): data = load_boston() df = pd . DataFrame(data = data . data,columns = data . feature_names) df . insert( 0 ,column = 'PRICE' ,value = data . target) print (data . DESCR) return df 訓練階段.ver1 train_model.py 訓練存出模型二進位檔 import pickle import pandas as pd from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split from getData import getRawData import numpy as np df = getRawData() data = np . c_[df[ 'LSTAT' ] ,df[ 'RM' ]] x = pd . DataFrame(data = data,columns = [ 'LSTAT' , 'RM' ]) #特徵集合 y = df[ 'PRICE' ] #進行訓練資料跟測試資料分割 #80% 訓練用 / 20%測試用,訓練好的模型,可以使用剩餘20%的test來進行驗證,並計算分數。 ...