視頻人臉處理——人臉面部動作提取

文章目錄

  • 基于openface實現的技術方案
    • windows環境下使用
      • 1. 安裝依賴軟件
      • 2. 下載OpenFace代碼
      • 3. 編譯OpenFace
      • 4. 提取面部動作單元
      • 5.==選擇提取目標方案==
    • liunx環境下使用
      • 安裝與配置
      • 使用 OpenFace 提取面部動作單元
      • 應用場景
  • 基于py-feat實現的方案
    • 1. 從HuggingFace下載模型并設置`Detector`
    • 2. 處理單張圖像
    • 3. 處理`Fex`輸出結果
    • 4. 保存和加載檢測結果
    • 5. 可視化檢測結果
    • 6. 檢測單張圖像中的多張人臉
    • 7. 處理多張圖像
  • py-feat 與 OpenFace 對比分析
      • 一、雙方均支持的 AU(共16項)
      • 二、僅 OpenFace 支持的 AU(共1項)
      • 三、僅 Py-Feat 支持的 AU(共4項)
      • 四、技術選擇建議

基于openface實現的技術方案

【免費下載】 OpenFace 開源項目使用教程
openface的導出數據說明

面部關鍵點檢測
在這里插入圖片描述
面部標志和頭部姿態跟蹤
在這里插入圖片描述
面部動作單元識別
在這里插入圖片描述

注視跟蹤
在這里插入圖片描述
面部特征提取(對齊的人臉和HOG特征)
在這里插入圖片描述

windows環境下使用

【環境配置】Windows10上的OpenFace安裝與使用
Windows系統下的Openface安裝及使用–親測有效
openface在windows環境下使用的步驟

在Windows上使用OpenFace提取面部動作單元,主要步驟包括安裝相關依賴、下載OpenFace代碼、編譯項目以及運行和調用等:

1. 安裝依賴軟件

  • Visual Studio :OpenFace基于C++開發,編譯需要Visual Studio提供編譯環境。建議安裝Visual Studio 2015及以上版本,安裝時確保勾選了“使用C++的桌面開發”相關組件。
  • CMake:用于生成Visual Studio的項目文件。從CMake官網(https://cmake.org/download/)下載Windows安裝包,安裝過程中勾選“Add CMake to the system PATH for all users”選項,以便在命令行中直接使用CMake。
  • Python:如果后續希望通過Python調用OpenFace的功能,需要安裝Python。從Python官網(https://www.python.org/downloads/windows/)下載合適版本的Python安裝包,安裝時勾選“Add Python to PATH”。之后可通過pip安裝相關依賴庫,比如openface庫 (pip install openface)。

2. 下載OpenFace代碼

訪問OpenFace的GitHub倉庫(https://github.com/TadasBaltrusaitis/OpenFace),點擊綠色的“Code”按鈕,選擇“Download ZIP”將代碼下載到本地,然后解壓到合適的目錄,比如C:\OpenFace

3. 編譯OpenFace

  • 打開命令提示符:按下Win + R組合鍵,輸入cmd并回車,打開命令提示符窗口。
  • 進入OpenFace目錄:使用cd命令進入OpenFace解壓后的目錄,例如cd C:\OpenFace
  • 創建構建目錄:在OpenFace目錄下創建一個用于存放編譯文件的目錄,比如build ,執行命令mkdir build ,然后進入該目錄cd build
  • 生成Visual Studio項目文件:執行cmake -G "Visual Studio 15 2017 Win64"..(這里假設使用的是Visual Studio 2017 64位版本,若版本不同,需要相應修改Visual Studio后的數字,例如Visual Studio 2019對應Visual Studio 16 2019 Win64 )。CMake會根據系統環境和OpenFace代碼生成對應的Visual Studio項目文件。
  • 編譯項目:生成項目文件后,會在build目錄下找到OpenFace.sln解決方案文件。雙擊打開該文件,在Visual Studio中,選擇“Release”配置和合適的目標平臺(通常為x64),然后點擊“生成”菜單中的“生成解決方案”,等待編譯完成。編譯成功后,會在build\Release目錄下生成可執行文件。

4. 提取面部動作單元

  • 處理單張圖片:進入編譯生成的可執行文件所在目錄(build\Release),在命令提示符中執行類似如下命令:
FaceLandmarkImg.exe -f "C:\test.jpg" -aus

其中-f 后面指定要處理的圖片路徑,-aus表示提取面部動作單元。執行后,命令行中會輸出每個面部動作單元的強度值。

  • 處理視頻文件:如果要處理視頻,使用如下命令:
FaceLandmarkVidMulti.exe -f "C:\test_video.mp4" -aus

工具會逐幀處理視頻,并將面部動作單元強度值的結果保存到一個與視頻同名、后綴為.csv的文件中,保存在與視頻相同的目錄下 。

  • 通過Python調用:如果已經安裝了openface庫,可以使用以下示例代碼來提取面部動作單元:
import openface# 加載模型(確保模型文件路徑正確,可根據實際安裝情況調整)
align = openface.AlignDlib("models/dlib/shape_predictor_68_face_landmarks.dat")
net = openface.TorchNeuralNet("models/openface/nn4small2v1.t7", 96)# 讀取圖像
img = openface.load_image("C:\test.jpg")
bb = align.getLargestFaceBoundingBox(img)
alignedFace = align.align(96, img, bb, landmarkIndices=openface.AlignDlib.OUTER_EYES_AND_NOSE)# 提取面部動作單元
aus = net.forward_aus(alignedFace)
print(aus)

5.選擇提取目標方案

command 中沒有指定就是提取所有特征

import subprocess
import os
# https://blog.csdn.net/bj233/article/details/113737268
# OpenFace 二進制文件路徑
openface_executable = "../../FeatureExtraction.exe"# 輸入圖像或視頻路徑
input_path = "video.mp4"  # 可以是圖片文件或視頻文件
output_csv = "video_raw_2Dfp.csv"# 構建命令行調用
# command = [
#     openface_executable,
#     "-f", input_path,      # 輸入文件
#     "-of", output_csv      # 輸出 CSV 文件路徑
# ]
# 構建命令行調用
command = [openface_executable,"-f", input_path,      # 輸入文件# "-aus",                # 提取 AU# "-gaze",                # 提取 AU# "-pose",                # 提取 AU"-of", output_csv,      # 輸出 CSV 文件路徑-2Dfp 以像素為單位輸出2D界標;# "-2Dfp",# 以像素為單位輸出2D界標;# '-3Dfp', # 以毫米為單位輸出3D特征;# '-pdmparams', # 輸出剛性和非剛性形狀參數;# '-pose', # 輸出頭姿勢(位置和旋轉);# '-aus', # 輸出面部動作單元;# '-gaze', # 輸出注視和相關特征(眼睛界標的2D和3D位置);# '-hogalign', # 輸出提取的HOG特征文件;# '-simalign', # 輸出被跟蹤人臉的相似度對齊圖像;# '-nobadaligned', # 如果輸出相似對齊的圖像,請勿從檢測失敗或不可靠的幀中輸出(從而節省一些磁盤空間);# '-tracked', # 輸出具有檢測到的特征的視頻;
]# 執行命令
try:subprocess.run(command, check=True)print(f"AU 數據提取完成,輸出文件位于:{output_csv}")
except subprocess.CalledProcessError as e:print(f"OpenFace 調用失敗:{e}")

liunx環境下使用

OpenFace 是一款用于面部行為分析的開源工具包,它能夠通過提取面部動作單元(Facial Action Units,AUs)來量化面部表情的變化。面部動作單元是由心理學家制定的一套用于描述面部肌肉運動的標準,不同的動作單元組合可以表示各種復雜的面部表情,比如微笑、皺眉等。以下是使用 OpenFace 提取面部動作單元的相關內容:

安裝與配置

  1. 安裝依賴:OpenFace 基于 C++ 編寫,同時依賴一些其他庫。在 Linux 系統下,一般需要安裝 CMake、OpenCV、Boost 等庫。以 Ubuntu 系統為例,可以使用以下命令安裝部分依賴:
sudo apt-get install build-essential cmake git libopencv-dev
  1. 下載 OpenFace:從 OpenFace 的 GitHub 倉庫(https://github.com/TadasBaltrusaitis/OpenFace)下載代碼。
git clone https://github.com/TadasBaltrusaitis/OpenFace.git
cd OpenFace
  1. 編譯:進入 OpenFace 目錄后,使用 CMake 生成編譯文件,然后進行編譯。
mkdir build
cd build
cmake..
make -j4  # -j4表示使用4個線程進行編譯,可根據CPU核心數調整

使用 OpenFace 提取面部動作單元

  1. 運行命令行工具:編譯完成后,可以使用 FaceLandmarkImg 等可執行文件來處理圖像。假設我們有一張圖片 test.jpg,要提取其面部動作單元,可以使用以下命令:
./FaceLandmarkImg -f test.jpg -aus

-f 參數指定輸入圖像的路徑,-aus 參數表示要提取面部動作單元。運行后,OpenFace 會檢測圖像中的人臉,定位面部關鍵點,并輸出每個面部動作單元的強度值。輸出結果通常會顯示在命令行中,格式類似于:

AU01_r: 0.02
AU02_r: 0.01
AU04_r: 0.00
...

其中,AUXX_r 表示右側面部的第 XX 個動作單元,后面的數值表示該動作單元的強度,范圍一般在 0 到 1 之間,數值越大表示該動作單元對應的面部肌肉運動越明顯。
2. 處理視頻文件:除了處理單張圖像,也可以處理視頻。例如,要處理名為 test_video.mp4 的視頻,可以使用以下命令:

./FaceLandmarkVidMulti -f test_video.mp4 -aus

FaceLandmarkVidMulti 工具會逐幀處理視頻,同樣輸出每幀圖像中面部動作單元的強度值。輸出結果默認會保存到一個文本文件中,文件名為輸入視頻文件名加上后綴 .csv,可以用 Excel 等工具打開查看和分析。
3. 結合編程使用:OpenFace 也提供了 API,可以在 C++、Python 等編程語言中調用。以 Python 為例,通過 openface 庫(需要額外安裝,pip install openface)可以實現如下功能:

import openface# 加載模型
align = openface.AlignDlib("models/dlib/shape_predictor_68_face_landmarks.dat")
net = openface.TorchNeuralNet("models/openface/nn4small2v1.t7", 96)# 讀取圖像
img = openface.load_image("test.jpg")
bb = align.getLargestFaceBoundingBox(img)
alignedFace = align.align(96, img, bb, landmarkIndices=openface.AlignDlib.OUTER_EYES_AND_NOSE)# 提取面部動作單元
aus = net.forward_aus(alignedFace)
print(aus)

上述代碼首先加載了面部關鍵點檢測模型和用于提取面部動作單元的神經網絡模型,然后讀取圖像,檢測并對齊人臉,最后提取面部動作單元的值并打印出來。

應用場景

  • 情緒分析:通過面部動作單元的組合和強度,可以推斷出人的情緒狀態,比如開心、生氣、驚訝等,可應用于市場調研、用戶體驗分析等領域,了解用戶對產品或內容的情感反應。
  • 人機交互:在智能客服、智能駕駛等場景中,根據用戶的面部表情實時調整交互方式,提供更加個性化和人性化的服務。
  • 心理學研究:幫助心理學家量化和分析人類的面部表情行為,研究情緒表達的機制和規律。

基于py-feat實現的方案

py-feat官網教程
https://github.com/cosanlab/py-feat
可視化檢測結果
在這里插入圖片描述
在這里插入圖片描述

py-feat是一個用于面部動作單元(Facial Action Units,AUs)檢測的Python庫,它基于深度學習模型,可以方便地從圖像或視頻中提取面部動作單元信息。

1. 從HuggingFace下載模型并設置Detector

  • Detector類作用:整合了預訓練的人臉檢測、情緒識別、姿態估計等模型,提供便捷的高層API(如detector.detect())。
  • 模型下載:首次初始化Detector時,Py-Feat會自動從HuggingFace倉庫下載所需的預訓練模型權重并保存到本地,后續使用將直接調用已保存的模型。
  • 初始化代碼
    from feat import Detector
    detector = Detector()  # 使用默認模型
    # 可指定模型,如:detector = Detector(emotion_model='svm')
    
  • 默認模型:包括face_model=img2pose、landmark_model=mobilefacenet、au_model=xgb、emotion_model=resmasknet等。

2. 處理單張圖像

  • 準備圖像:Py-Feat提供了測試圖像single_face.jpg,可通過以下代碼加載并顯示:
    from feat.utils.io import get_test_data_path
    from feat.plotting import imshow
    import os
    test_data_dir = get_test_data_path()
    single_face_img_path = os.path.join(test_data_dir, "single_face.jpg")
    imshow(single_face_img_path)
    
  • 檢測圖像:使用detect()方法處理圖像,返回Fex類實例(一種基于pandas DataFrame的子類):
    single_face_prediction = detector.detect(single_face_img_path, data_type="image")
    

3. 處理Fex輸出結果

Fex實例包含豐富的檢測數據,可通過便捷屬性或pandas方法訪問:

  • 常用屬性
    • faceboxes:人臉框信息(位置、寬度、高度、得分)
    • aus:動作單元(AU)強度值
    • emotions:情緒概率(憤怒、厭惡、恐懼、快樂、悲傷、驚訝、中性)
    • poses:頭部姿態(俯仰角、翻滾角、偏航角等)
    • identities:人臉標識
  • 示例
    single_face_prediction.faceboxes  # 查看人臉框信息
    single_face_prediction.emotions  # 查看情緒識別結果
    

4. 保存和加載檢測結果

  • 保存結果:使用to_csv()方法將Fex實例保存為CSV文件:
    single_face_prediction.to_csv("output.csv", index=False)
    
  • 加載結果:使用read_feat()函數從CSV文件加載為Fex實例:
    from feat.utils.io import read_feat
    input_prediction = read_feat("output.csv")
    
  • 實時保存:檢測時通過save參數實時保存結果(低內存模式):
    fex = detector.detect(inputs=single_face_img_path, data_type="image", save='detections.csv')
    

5. 可視化檢測結果

  • 靜態可視化:使用plot_detections()方法生成matplotlib圖像,展示人臉框、動作單元、情緒等:
    figs = single_face_prediction.plot_detections(poses=True)  # 包含姿態信息
    # 可選參數:faces='aus'(使用標準化AU模板可視化)、muscles=True(顯示肌肉運動)
    
  • 交互式可視化:使用iplot_detections()方法生成plotly交互式圖像,可切換顯示不同檢測結果:
    single_face_prediction.iplot_detections(bounding_boxes=True, emotions=True)
    

6. 檢測單張圖像中的多張人臉

Detector會自動識別單張圖像中的多張人臉,Fex實例中每行對應一張人臉:

  • 示例
    multi_face_image_path = os.path.join(test_data_dir, "multi_face.jpg")
    multi_face_prediction = detector.detect(multi_face_image_path, data_type="image")
    figs = multi_face_prediction.plot_detections(add_titles=False)  # 可視化所有人臉
    

7. 處理多張圖像

  • 批量處理:向detect()方法傳入圖像路徑列表,可批量處理多張圖像。通過batch_size設置批量大小(需注意圖像尺寸一致性,可配合output_size調整尺寸):
    img_list = [single_face_img_path, multi_face_image_path]
    mixed_prediction = detector.detect(img_list, batch_size=1, data_type="image")  # 串行處理
    # 批量處理示例:detector.detect(img_list, batch_size=5, output_size=512)
    
  • 結果篩選:使用pandas方法篩選特定圖像的結果:
    # 篩選第一張圖像的結果
    figs = mixed_prediction.loc[0].plot_detections()
    # 按圖像路徑篩選
    img_name = mixed_prediction["input"].unique()[1]
    axes = mixed_prediction.query("input == @img_name").plot_detections()
    

py-feat 與 OpenFace 對比分析

OpenFace 和 Py-Feat 各自支持的 AU 列表如下

一、雙方均支持的 AU(共16項)

AU 編號面部動作單元名稱技術實現差異典型應用場景
AU01內眉上揚(內側眉弓提升)OpenFace:通過眉弓幾何變形檢測;Py-Feat:CNN 直接識別眉部肌肉激活驚訝、悲傷表情分析
AU02外眉上揚(外側眉弓提升)OpenFace:依賴 HOG 特征+SVM 分類;Py-Feat:多模態特征融合(圖像+幾何)驚訝、疑惑表情分析
AU04皺眉(降眉肌收縮)OpenFace:計算眉間距變化率;Py-Feat:面部關鍵點運動軌跡分析憤怒、專注表情分析
AU05上瞼提升(上眼瞼抬起)OpenFace:檢測眼瞼高度與眼球暴露比例;Py-Feat:CNN 直接回歸眼瞼激活概率驚訝、恐懼表情分析
AU06臉頰提升(顴大肌收縮)OpenFace:檢測顴骨區域形變;Py-Feat:結合面部紋理與關鍵點位移微笑、愉悅表情分析
AU07眼瞼收緊(眼輪匝肌收縮)OpenFace:分析眼周皺紋特征;Py-Feat:注意力機制聚焦眼周區域厭惡、用力表情分析
AU09鼻子皺起(提上唇鼻翼肌)OpenFace:檢測鼻翼擴張程度;Py-Feat:多尺度特征融合識別鼻翼運動厭惡、輕蔑表情分析
AU10上唇提升(上唇提肌)OpenFace:計算上唇與鼻翼距離變化;Py-Feat:語義分割定位上唇區域厭惡、不屑表情分析
AU12嘴角上揚(顴大肌/笑肌)OpenFace:分析嘴角角度與水平位移;Py-Feat:結合面部紋理與關鍵點坐標變化微笑、大笑表情分析
AU14唇角緊縮(三角肌收縮)OpenFace:檢測嘴角內側運動;Py-Feat:CNN 分類器判斷嘴角形態勉強微笑、苦澀表情分析
AU15嘴角下拉(降口角肌)OpenFace:計算嘴角垂直位移;Py-Feat:時序分析嘴角運動軌跡悲傷、不滿表情分析
AU17下唇抬起(降下唇肌)OpenFace:檢測下唇高度變化;Py-Feat:語義分割識別下唇區域思考、嚴肅表情分析
AU20嘴角水平拉伸(頰肌收縮)OpenFace:分析嘴角水平位移;Py-Feat:結合面部紋理與關鍵點距離變化緊張、驚恐表情分析
AU23嘴唇收緊(口輪匝肌)OpenFace:計算唇部厚度與寬度比例;Py-Feat:CNN 直接檢測唇部形態憤怒、決心表情分析
AU25嘴唇微張(下頜下降)OpenFace:分析上下唇距離;Py-Feat:語義分割定位唇部區域驚訝、說話狀態分析
AU26嘴唇大張(下頜下降+張開)OpenFace:檢測下頜角度變化;Py-Feat:3D 面部重建計算下頜運動驚訝、恐懼、大喊表情分析

二、僅 OpenFace 支持的 AU(共1項)

AU 編號面部動作單元名稱OpenFace 檢測邏輯為何 Py-Feat 未集成典型應用場景
AU45_r眨眼/眼瞼快速閉合基于 HOG 特征檢測眼周區域快速形變,結合時序分析判斷眨眼頻率與幅度深度學習模型對“快速動作”捕捉精度稍低;Py-Feat 側重靜態/慢動態 AU疲勞檢測、注意力分析、謊言識別

三、僅 Py-Feat 支持的 AU(共4項)

AU 編號面部動作單元名稱Py-Feat 檢測邏輯為何 OpenFace 未集成典型應用場景
AU11提上唇鼻翼肌(鼻唇溝加深)CNN 模型直接識別鼻唇溝區域紋理變化,結合關鍵點位移計算肌肉收縮程度傳統幾何特征難以量化鼻唇溝細微變化冷笑、輕蔑等復雜表情分析
AU24嘴唇壓緊(口輪匝肌收縮)基于語義分割的唇部形態分析,結合時序關鍵點運動軌跡判斷肌肉收縮狀態與 AU23(嘴唇收緊)區分度較低,傳統模型易混淆憤怒、焦慮表情分析
AU28唇部伸展(唇拉伸肌)深度學習模型分析唇部水平拉伸比例,結合面部紋理判斷是否為非自愿性唇部運動屬于較罕見 AU,傳統數據集覆蓋不足痛苦、不適表情分析
AU43閉眼(眼瞼完全閉合)注意力機制聚焦眼周區域,通過 CNN 分類器判斷眼瞼閉合狀態與 AU45(眨眼)邏輯重疊,OpenFace 合并處理睡眠狀態檢測、疲勞分析

四、技術選擇建議

  1. 優先選 OpenFace 的場景

    • 需要檢測 眨眼頻率(AU45),如駕駛疲勞監測、視頻會議注意力分析;
    • 部署環境算力有限,需純 CPU 實時運行(OpenFace 單幀處理速度比 Py-Feat 快 30%+)。
  2. 優先選 Py-Feat 的場景

    • 需要分析 復雜社交表情(如冷笑 AU11、焦慮 AU24),或研究微表情(如 AU28 唇部非自愿伸展);
    • 需要 可視化與量化結合(如熱力圖標記 AU 激活區域、DataFrame 輸出強度值),適合心理學實驗分析。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/91233.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/91233.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/91233.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Docker基礎】Dockerfile構建與運行流程完全指南:從原理到實踐優化

目錄 引言 1 docker build命令參數詳解 1.1 命令概述 1.2 常用參數詳解 1.2.1 -t, --tag 1.2.2 -f, --file 1.2.3 --build-arg 1.2.4 --no-cache 1.2.5 --pull 1.3 構建流程圖解 2 構建上下文(Context)優化技巧 2.1 構建上下文定義 2.2 優化…

StarRocks Community Monthly Newsletter (Jun)

版本動態 v3.5.0 存算分離:支持生成列、主鍵表重建索引;大規模導入邏輯優化,降低小文件數量。 數據湖分析:Beta 支持 Iceberg 視圖創建與修改;支持 Iceberg REST Catalog 嵌套命名空間; 性能提升與查詢優…

HDMI接口 vs. DisplayPort接口:電競玩家該如何選擇更優?

在搭建游戲主機或電競PC時,顯示器接口的選擇(HDMI vs. DP)會直接影響畫質、刷新率和延遲表現。本文將從分辨率、刷新率、可變刷新率(VRR)、帶寬、兼容性等角度對比,幫你選出最適合游戲的接口。1. 基礎對比&…

論文筆記:Learning Cache Replacement with CACHEUS

2021 USENIX GitHub - sylab/cacheus: The design and algorithms used in Cacheus are described in this USENIX FAST21 paper and talk video: https://www.usenix.org/conference/fast21/presentation/rodriguez Learning Cache Replacement with CACHEUS 1 intro 基于…

極致cms多語言建站|設置主站默認語言與設置后臺固定語言為中文

小記 很長時間沒有建站了,最近有需求所以又回爐了,使用的極致cms 極致cms幫助文檔 | 極致CMS幫助文檔 由于很長時間沒做,又遇到了之前碰到的兩個問題,憑借經驗和記憶還是處理掉了 1.當網站前臺使用?len或?lzh來切換語言時,管…

Linux Vim 編輯器詳解:從入門到進階(含圖示+插件推薦)

前言在 Linux 的世界中,Vim 是一款被無數開發者喜愛和追捧的強大文本編輯器。如果你厭倦了鼠標點來點去,不妨試試 Vim —— 一款專注于高效鍵盤操作的“終極利器”。本文將帶你全面了解 Vim 的基本概念、模式切換、常用命令、窗口管理,并附上…

web前端渡一大師課 01 事件循環

一. 瀏覽器的進程模型 1.何為進程?程序運行需要有它自己專屬的內存空間,可以把這塊內存空間簡單理解為進程 每個應用至少有一個進程,進程之間相互獨立,即使要通信,也需要雙方同意 2.何為線程?有了進程后,就可以運行程序的代碼了,運行代碼的"人",稱之為"線程&…

linux網絡存儲——freeNAS的安裝配置

一、前言 freeNAS 是一款基于 FreeBSD 的開源網絡存儲操作系統,支持文件共享(如 SMB/CIFS、NFS、AFP)、數據備份、虛擬化存儲等功能。同時FreeNAS開源優勢明顯,代碼開放可自主定制,能滿足多樣需求。支持多種協議…

深度學習圖像分類數據集—七種樹葉識別分類

該數據集為圖像分類數據集,適用于ResNet、VGG等卷積神經網絡,SENet、CBAM等注意力機制相關算法,Vision Transformer等Transformer相關算法。 數據集信息介紹:七種樹葉識別分類:[冬青葉, 楊樹葉, 柳葉, 梧桐葉, 石楠葉,…

c++圖形題練習程序

一.練習題背景 這題是作者再一家公司實習的時候,實習期間的一個考核題目,感覺還是比較有價值的。希望能給還在努力的學弟學妹們一些啟發。 題目大致就是要求用繼承和多態來實現圓、三角形和長方形的面積和周長求解。這步的大致思路是這樣的,你…

【論文閱讀 | PR 2024 |ITFuse:一種用于紅外與可見光圖像融合的交互式 Transformer】

論文閱讀 | PR 2024 |ITFuse:一種用于紅外與可見光圖像融合的交互式 Transformer1.摘要&&引言2.方法2.1 問題表述2.2 框架概述2.3 特征交互模塊2.3.1 共同特征提取分支(IcI_{c}Ic? 分支)2.3.2 獨特特征提取分支(I1I_{1}I…

【Qt】 設計模式

在Qt應用程序開發中,結合數據庫操作、通信、界面邏輯和顯示等功能,以下是常用的設計模式及其典型應用場景: 一、MVC/MVVM(模型-視圖-控制器/視圖模型) 作用:分離數據(模型)、界面&am…

【HarmonyOS】ArkUI-X 跨平臺框架入門詳解(一)

【HarmonyOS】ArkUI-X 跨平臺框架入門詳解(一) 一、前言 1、ArkUI-X框架是什么? ArkUI-X是在ArkUI開發框架的基礎上,進行擴展。支持多個OS平臺,目前支持OpenHarmony、HarmonyOS、Android、 iOS。2、ArkUI-X目前的能力現…

開發者進化論:駕馭AI,開啟軟件工程新紀元

導語:人工智能(AI)的浪潮,特別是以大型語言模型(LLM)為代表的生成式AI,正以前所未有的力量,深刻地重塑著軟件開發的傳統疆域。我們正處在一個關鍵的轉折點——產業的重心正從模型的“…

智慧水務平臺,智慧水務,惠及民生,提升水務管理效率與服務質量

平升電子智慧水務平臺支持海量物聯網數據接入實現供水全流程信息化,深度邏輯運算自動控制實現供水調度智慧化,融入管網地理信息系統實現測點數據時空化,數字孿生實現水廠各工藝環節運行情況可視化,多角度統計分析實現水務運營管理…

【Unity基礎】Unity中元素的層級排序

在Unity中,控制元素的層級排序(渲染順序)是確保場景正確顯示的關鍵。以下是常見的層級排序方式及其適用場景:1. 通過GameObject的層級順序(Sorting Layer/Order in Layer) 適用對象:2D精靈&…

梁的振動特征函數分析2

問題7&#xff1a;左端固定、右端自由梁的振動分析 考慮梁的振動方程&#xff1a; uttKuxxxx0,0<x<l,K>0 u_{tt} K u_{xxxx} 0, \quad 0 < x < l, \quad K > 0 utt?Kuxxxx?0,0<x<l,K>0 邊界條件&#xff1a; 左端固定&#xff08;位移和斜率為零…

AI問答-Token:在人工智能領域,Token 是模型處理文本的核心單元 / 最小可處理片段

一、在人工智能領域&#xff0c;Token 是模型處理文本的核心單元&#xff0c;可理解為文本的“最小可處理片段”二、表格理解類別詳細說明基本定義Token 是模型處理文本的最小語義或語法單位&#xff0c;可以是單詞、子詞、字符、標點符號或特殊符號。例如&#xff1a;- 單詞級…

讀取ubuntu的磁盤分區表與超級塊

1.讀取磁盤分區表sudo fdisk -l /dev/sda2.計算偏移量分區起始偏移 4096 512 2097152 字節 超級塊位置 2097152 1024 2098176字節3.快速驗證&#xff08;直接檢查魔數 53 &#xff09;# 檢查偏移 2,098,176 處是否有 EXT4 魔數 sudo dd if/dev/sda bs1 count2 skip$((209…

科技馴服烈日狂沙:中東沙漠農場的光儲革命

作者 | 小葳 阿布扎比郊外的午后&#xff0c;沙漠灼熱、干旱難耐。 然而一座農場內&#xff0c;景象截然不同&#xff1a;蔬菜生機盎然&#xff0c;果實掛滿枝頭。農戶輕點手機&#xff0c;遠程調控著大棚內溫濕度&#xff1b;灌溉與施肥&#xff0c;則由系統自動精準執行。 這…