界定工作流程所主張的範圍
AI 工作流程階段並不要求用神經網路模型去估算瓶內容物。經原始碼審閱的固定工站方案,可以從可觀察的邊界推導出可見高度比例,而 AI 助手則幫助檢查流程圖,並提出受控的參數改動。這兩種角色要分開。計算得到的比例不是液體體積,助手的解釋也不是獨立量測。Deyi Vision 在所宣告的邊界內支援原始碼層面的工作流程審閱;實際安裝的節點和執行環境仍須按專案逐一驗證。在經審閱的原始碼快照中,瀏覽器本地執行 OpenCV.js 並不是已實作的能力,不得透過網頁預覽暗示具備該能力。
宣告輸入約定
評估流程圖之前,先凍結原始影像識別碼、像素格式、容器組、裁切座標和參考類別。裁切必須帶有回到原始影像的變換關係,這樣上報的邊界才能在瓶子的影像中定位。對於尺寸異常、裁切越界和影像識別碼不一致的輸入,應拒絕處理,而不是悄悄縮放或換成示範影像。取像故障不屬於物理充填不足的範疇。如果某個被接受的輸入格式需要灰階轉換,應在工作流程版本中宣告該轉換,並保留原始影像。把修訂後的裁切與另一張不同的源影像比較,無法隔離出參數改動的影響。
檢查邊界可觀測性
參考方案尋找的是:在觀察區域內足夠多的位置上,出現對比度足夠高、唯一的垂直方向強度過渡,並且邊界位置的離散度有限。它的各項設定既控制可觀測性,也控制允許的可見高度比例。在一個明確標註為合成的範例中,20 px 高的區域內,唯一邊界位於 y=8 時得到 0.6;邊界位於 y=14 時得到 0.3。強度相當的競爭過渡仍判為 Review,而不是隨意選取第一條邊緣。不要把合成的對比度或離散度設定直接套用到客戶的容器上。要用帶標註的真實樣例來確認觀察特徵,其中包括空瓶、瓶壁眩光和泡沫。
讓影像與替代指標座標保持關聯
邊界幾何指向的是固定的裁切區域和原始容器影像,而不是一個沒有標註的比例。
- 凍結的原始影像識別碼
- 宣告的裁切與變換
- 可觀察的邊界幾何
- 附有效性與規則的比例
為類型化輸出設定閘門
應把數值、幾何和規則輸出作為相互關聯的一組結果來使用,而不是當作相互獨立、可以互換的數值。在經審閱的參考實作中,邊界不可觀測時,數值埠可能保持預設值,而規則為 Review,幾何對量測無效。該預設值並不是實測的空瓶。解讀結果要以宣告的有效性和判定狀態為前提,並保留生成該結果的影像識別碼和工作流程識別碼。下面的虛擬碼說明的是控制邊界,而不是現成的 PLC 連接器。規則缺失、非有限值、輸出類型錯誤或狀態無法識別,都是需要明確處理的故障,絕不能成為憑空造出一個合格比例的理由。
import math
state = result['rules']['Decision']
raw_number = result['number']
measurement_valid = (
state in ('Pass', 'Fail')
and result['geometry']['Validity'] == 'Valid'
and type(raw_number) in (int, float)
and math.isfinite(raw_number)
)
trusted_ratio = raw_number if measurement_valid else None
decision = state
# Preserve the native decision and identities; this snippet does not drive an actuator.
# Missing fields raise errors; invalid geometry or values never become a trusted level.約束 AI 的提議
請助手提出帶有明確假設的候選方案,例如透過更改允許調整的對比度設定,把瓶壁反光與真實邊界分開。把改動限制在受支援的、已宣告的參數上,並保留基線流程圖。要求提議寫明受影響的樣本組,以及能夠證偽該假設的反例。提議不得修改參考答案、把有問題的樣本裁掉、取消 Review 結果,或為了取得更好的得分而切換到未經驗證的後端。儲存下來的候選方案記錄的只是一條工程建議,並不能確認試驗已經執行、模型已經就緒,或量產相機的配置已經改變。
在開發樣本上比較
在同一批凍結的開發樣本上評估基線和候選方案,輸入準備方式相同,並採用完整的計畫分母。將可觀察邊界上的 Pass 與 Fail 判定,與 Review、執行錯誤和缺失結果分開比較。按容器分組比較,而不是把許多相鄰影格都算作獨立的成功。要檢查充填不足漏檢的表面下降,是否只是因為把更多低液位的瓶子送去了 Review。這種取捨可能有用,但必須明確寫出。選定候選方案之後,驗收樣本要保持獨立;如果它的答案被用於又一次參數改動,應說明它是被重複使用的開發證據,而不是未經觸碰的驗收集。
維護工作流程工作簿
工作流程工作簿把輸入影像識別碼、裁切變換、容器參考類別、基線與候選版本、實際執行環境識別碼、參數值和類型化輸出關聯在一起。原始的規則狀態和幾何要與數值埠一起儲存,失敗情形也要儲存。下表說明了為什麼單獨一欄數值無法描述整個試驗。耗時要記錄為實際執行中的觀測值,而不是依據已儲存的流程圖作出的承諾。在記錄中把流程圖編寫、成功執行和工程批准分開。這樣的結構能讓另一位審閱者還原:候選方案改變的是邊界可觀測性、允許的比例區間,還是只改變了附在未變結果上的解釋。
| 結果情形 | 需要記錄的內容 | 解讀 |
|---|---|---|
| 合成 20 px ROI 中唯一邊界位於 y=8 | 比例 0.6,以及與之相符的幾何和規則 | 可觀察的替代指標;套用已宣告的比例規則 |
| 合成的唯一邊界 y=14 | 比例 0.3,以及與之相符的幾何和規則 | 可觀察的較低替代指標;保留其已宣告的判定 |
| 強度相當的多條邊界 | Review 狀態與無效的量測幾何 | 不要把預設的數值埠解讀為空瓶 |
| 執行環境或識別碼不一致 | 原始的執行失敗紀錄及請求識別碼 | 沒有可信的液位結果;不得用上一張影像代替 |
注入缺失與有歧義的證據
交接之前,先注入明確的故障案例:缺失的原始影像、錯誤的裁切識別碼、不可用的執行環境、強度相當的邊界,以及請求取消之後才到達的結果。檢查每種情形是否都保持明確的未通過狀態,並且不能沿用上一個瓶子的舊比例。重試必須仍與它自己的請求識別碼和結果識別碼關聯;不確定的回應不能作為成功的證據。如果工作流程在專案的特定擴充功能中使用了檢測器或外部模型,要另行驗證具體的軟體套件以及輸入輸出約定。列出的範本或匯入的模型,並不能說明已經就緒,本篇教學也不授權傳輸影像。
AI 提議,由記錄在案的比較來選定
候選方案的編寫要與執行、比較和專案驗收分開。
- 凍結樣本與基線版本
- 提出有限定範圍的參數假設
- 比較完整的類型化結果
- 選定候選方案並保留侷限
交接候選方案,而不是發布版本
交接選定的候選方案時,要一併提供其凍結的樣本、宣告的輸入約定、可觀測性設定、類型化輸出的對應和完整的比較報告。保留基線和尚未解決的樣例,讓接手的工程師既能重現行為,也能看到侷限。整合還需要經過驗證的相機取像、事件關聯、延遲處理,以及獨立的產線驗收。不要發布由合成工作表得出的準確率數字,也不要把原始碼層面的固定工站支援說成是通過了真實工廠測試的已發布應用。下一個排查階段應從留存的故障證據出發,而不是從一張僅因儲存時沒有報錯就被標為成功的流程圖出發。
來源與技術參考資料
這些資料說明本教學所用方法的依據與適用範圍。文中的檢查範例僅供參考;量產驗收需要用你自己的樣品取得佐證。
- Image ThresholdingOpenCV查核於
- Deyi Vision Vision WorkbenchDeyi Vision查核於
部件與選型參考
- machine vision software · 英文參考資料
- 機器視覺驗收測試清單
- 自動化外觀檢測
- EAN-13 追溯:產線驗收
- EAN-13 追溯:解碼與資料規則
- 穩定的相機取像:緩衝區、逾時與重新連線
- 驗收並整合可見液位工作流程
- 關聯檢測紀錄、影像與工件識別碼
- OCR 標籤核對:驗收與 PLC 約定
- OCR 標籤核對:原生工作流程與精確比對
- 未封口包裝完整性檢測的驗收與整合
- 搭建 AI 輔助的未封口包裝完整性工作流程
- 用明確的狀態建立 PLC 與視覺系統的交握
- 密封與膠條外觀:產線驗收
- 密封與膠條外觀:工作流程規則
- SKU 顏色分選:驗收與未知物品分流
- SKU 顏色分選:類型明確的顏色與 SKU 規則
- 表面瑕疵檢測:驗收與產線輸出
- 表面瑕疵檢測:限定範圍的 AI 評估
- 觸發到 PLC 判定的延遲負載測試
- 完整視覺配方的版本管理與回滾

