PCB板缺陷检测机器视觉识别算法 yolo
PCB板缺陷檢測機器視覺識別算法通過python+yolo系列網絡深度學習模型對PCB電路板外觀實時監測,當模型算法監測到有缺陷的PCB板時立即抓拍存檔。Python是一種由Guido van Rossum開發的通用編程語言,它很快就變得非常流行,主要是因為它的簡單性和代碼可讀性。它使程序員能夠用更少的代碼行表達思想,而不會降低可讀性。Python可以使用C / C++輕松擴展,這使我們可以在C / C++中編寫計算密集型代碼,并創建可用作Python模塊的Python包裝器。
Yolo意思是You Only Look Once,它并沒有真正的去掉候選區域,而是創造性的將候選區和目標分類合二為一,看一眼圖片就能知道有哪些對象以及它們的位置。Yolo模型采用預定義預測區域的方法來完成目標檢測,具體而言是將原始圖像劃分為 7x7=49 個網格(grid),每個網格允許預測出2個邊框(bounding box,包含某個對象的矩形框),總共 49x2=98 個bounding box。我們將其理解為98個預測區,很粗略的覆蓋了圖片的整個區域,就在這98個預測區中進行目標檢測。
YOLO算法- YOLO算法是一種基于回歸的算法,它不是選擇圖像中有趣的部分,而是預測整個圖像中的類和包圍框運行一次算法。要理解YOLO算法,我們首先需要了解實際預測的是什么。我們使用YOLO(你只看一次)算法進行對象檢測。YOLO是一個聰明的卷積神經網絡(CNN),用于實時進行目標檢測。該算法將單個神經網絡應用于完整的圖像,然后將圖像劃分為多個區域,并預測每個區域的邊界框和概率。這些邊界框是由預測的概率加權的。
Adapter接口定義了如下方法:
public abstract void registerDataSetObserver (DataSetObserver observer)
Adapter表示一個數據源,這個數據源是有可能發生變化的,比如增加了數據、刪除了數據、修改了數據,當數據發生變化的時候,它要通知相應的AdapterView做出相應的改變。為了實現這個功能,Adapter使用了觀察者模式,Adapter本身相當于被觀察的對象,AdapterView相當于觀察者,通過調用registerDataSetObserver方法,給Adapter注冊觀察者。
public abstract void unregisterDataSetObserver (DataSetObserver observer)
通過調用unregisterDataSetObserver方法,反注冊觀察者。
public abstract int getCount () 返回Adapter中數據的數量。
public abstract Object getItem (int position)
Adapter中的數據類似于數組,里面每一項就是對應一條數據,每條數據都有一個索引位置,即position,根據position可以獲取Adapter中對應的數據項。
public abstract long getItemId (int position)
獲取指定position數據項的id,通常情況下會將position作為id。在Adapter中,相對來說,position使用比id使用頻率更高。
public abstract boolean hasStableIds ()
hasStableIds表示當數據源發生了變化的時候,原有數據項的id會不會發生變化,如果返回true表示Id不變,返回false表示可能會變化。Android所提供的Adapter的子類(包括直接子類和間接子類)的hasStableIds方法都返回false。
public abstract View getView (int position, View convertView, ViewGroup parent)
getView是Adapter中一個很重要的方法,該方法會根據數據項的索引為AdapterView創建對應的UI項。
總結
以上是生活随笔為你收集整理的PCB板缺陷检测机器视觉识别算法 yolo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三维激光扫描后处理软件_三维激光扫描应用
- 下一篇: 《双积分AD转换器》的制作经历