模組說明
人臉偵測框要與預覽畫面對齊,應先將偵測輸出還原到約定的原圖座標,再依實際處理流程進行裁切、旋轉、鏡像與預覽縮放,並計入顯示位移。本例依序進行裁切、順時針旋轉、水平鏡像與放大;此順序並非所有裝置通用。
人臉框偏移或方向相反,不一定是偵測模型出錯。本頁說明座標模組的輸入、數學範例與驗證方法,不代表新SDK版本公告。
模組介面應保留哪些欄位
表格可橫向滑動查看完整欄位。
| 物件 | 必要欄位 | 用途 |
|---|---|---|
| 偵測輸入 | 原圖寬高、偵測輸入寬高、預處理縮放或留邊 | 把模型輸出還原到約定原圖座標 |
| 裁切與方向 | 原圖裁切矩形、旋轉角度、旋轉方向及鏡像時點 | 明確變換範圍和執行次序 |
| 預覽區域 | 可見區域、縮放模式、顯示偏移及實際方向 | 區分填滿裁切、完整顯示和留邊 |
| 輸出與追溯 | 框與關鍵點座標、時間戳、影格編號及變換配置版本 | 保持結果與當前影格、配置相對應 |
原始人臉框、五點關鍵點和預覽疊加結果應分別可檢視。若模型輸入有留邊或縮放,先撤銷相應預處理,再執行約定的預覽變換;不要只對框中心做變換而忽略四角。
一個可手算的方向變換示例
以下為數學算例,不是裝置實測。使用左上角原點、x向右、y向下的連續邊界座標。640×480原圖裁切起點為(80,40),裁切尺寸320×240;原圖點(120,70)減去裁切起點後為(40,30)。先順時針旋轉90度,得到(240−30,40)=(210,40),旋轉後尺寸240×320;再水平鏡像,得到(240−210,40)=(30,40);最後等比放大2倍,無額外偏移,顯示點為(60,80),顯示區域480×640。
A · 原圖
640×480 · (120,70)
B · 裁切後
320×240 · (40,30)
C · 順時針旋轉90度
240×320 · (210,40)
D · 水平鏡像後
240×320 · (30,40)
E · 放大2倍後
480×640 · (60,80)
紅點代表同一個數學點,各圖依各自影像尺寸等比例繪製,不能以畫面上圖框的長度比較像素尺寸。這是連續邊界座標示意,不是實機偵測結果。
這裡座標定義為連續邊界,旋轉使用高度減y。若程式碼處理離散像素索引,則會涉及高度減1再減y,不能直接混用這兩種約定。Android變換介面可參考Matrix官方文件,具體矩陣拼接順序仍需與輸入輸出約定核對。
模組幾何自檢和裝置驗證怎樣分開
先使用角點、中心、非對稱點和跨裁切邊界的矩形,核對順序、邊界及逆變換。矩形應變換四角後重新取包圍框。數學算例通過後,還需在目標裝置檢查感測器方向、前後攝鏡像、預覽縮放和頁面旋轉;幾何自檢不能證明即時處理流程或長期穩定性。
RK3588離線視覺SDK案例(簡體中文)提供人臉框、關鍵點和方向輸出,公開基線為YuNet CPU偵測,不含身份識別或NPU效能結論。可透過RK3588 Android適配服務(簡體中文)提供帶方向標記的樣圖、裝置資訊及預覽佈局,先確認座標介面與目標裝置聯調範圍。
線上諮詢
電話諮詢
微信諮詢
回到頂部