① 貼片電阻阻值的有哪些標注方法
在電子設備中,貼片電阻主要用於穩定和調節電路中的電流和電壓,其次還可作為消耗電能的負載、分流器、分壓器、穩壓電源中的取樣電阻、晶體管電路中的偏執電阻等。它有以下四種限值的標注方法:
數碼法:在貼片電阻器上用三位數碼表示標稱值的標志方法。數碼從左到右,第一、二位為有效值,第三位為指數,即零的個數。偏差通常採用文字元號表示。
直標法:用數字和單位符號在貼片電阻器表面標出阻值,其允許誤差直接用百分數表示,若貼片電阻上未注偏差,則均為±20%。直標法中可用單位符號代替小數點直標法一目瞭然,但只適用於較大體積元件,且國際上不能通用。
文字塵耐符號法:用阿拉伯數字和文字元號兩者有規律的組合來表示標稱阻值,其允許偏差也用文字元號表示。符號前面的數字表示整數阻值,後面的數字依次表示第一位小數阻值和第二位小數阻值。
色標法:用不同顏色的帶或點在貼片電阻器表面標出標稱阻值和允許偏差。國外貼片電阻大部分採用色標法。它分兩種:分別為4環貼片電阻和5環貼片電阻。
用於貼片電阻標注時,還常用背拿兄橘景顏色區別材料,用淺消團色(淡綠色、淺棕色)表示碳膜電阻,紅色(或淺蘭色)表示金屬膜或氧化膜電阻,深綠色表示線繞電阻。
② 人工智慧之模式識別|北京理工大學|Mooc|筆記|更新中
識別的基礎是認知
認知Cognition:獲取某種事物的特徵——概念抽象
識別Re-cognition:根據特徵決定某個具體的事物是不是某種事物——概念歸類
模式:一類事物的共同特徵
識別:對事物進行概念歸類
模式識別:依據事物的特徵進行概念歸類
特徵
相似性
類
特徵空間
向量空間
集合空間
通過訓練(學習)得到分類器模型參數
兩種模式:有監督學習和無監督學習——從訓練集中學習
對於每一個類別都給定一些樣本——形成一個具有類別標簽的訓練樣本集——分類器通過分析每一個樣本去尋找屬於同一類樣本具有哪些共同特徵——從訓練集中學習到具體分類決策規則——有監督的學習
分類器通過有監督學習模式學習到的每個類別樣本的特徵就是關於某個類別概念的知識—— 學習過程就是認知過程
樣本標簽如何得到?——人來給定
有監督學習——從人的經驗中學習分類知識——智能水平有上限
給定訓練樣本集但沒有給每一個樣本貼上類別標簽——屬於同一個類別的樣本之間的相似程度會大於屬於不同類別的樣本之間的相似程度——根據相似程度的大小,按照一些規則把相似程度高的一些樣本作為同一類——將訓練樣本集的一些樣本劃分成不同的類別——再從每一個類別的樣本中去尋找共同特徵,形成分類決策規則——無監督學習
無監督學習——自主地從數據所代表的自然規律中學習關於類別劃分的知識——分類器能達到更高的分類水平——未來模式識別發展的主要方向
屬於同一個類別的樣本之間的相似程度會大於屬於不同類別的樣本之間的相似程度——不同類樣本之間的相似度越小,分類決策規則的裕量也就越大
這樣可以作為評判用於監督學習的帶標簽訓練樣本集以及作為無監督學習結果的樣本集,它的優劣程度的一個指標,稱為「緊致性」准則,即:緊致性好的樣本集樣本的類內相似度遠大於類間相似度。
若要進行定量評判——確定如何度量相似性——可以設置多種指標——如:距離指標(最常用,距離可以定義在任意集合上,只要去計算滿足三條標准:1.正定性:距離是個大於等於0的正實數,當且僅當自己和自己計算距離時才為0;2.對稱性:樣本之間的距離值計算與計算順序無關;3.傳遞性:滿足三角關系——兩個樣本之間的距離一定小於等於分別於第三個樣本之間的距離之和。||在向量空間中可以定義歐氏距離、曼哈頓距離、切比雪夫距離等|| 非向量空間也可以定義距離,如:兩個字元串之間的編輯距離也是一種合法的距離定義)非距離的相似度量標准(如:餘弦相似度——使用向量空間中兩個向量之間的夾角來表達相似程度:cosθ=x T y/||x||·||y|| ;皮爾遜相關系數Pxy=cov(x,y)/∆x∆y;Jaccard相似系數)
如果我們希望有緊致性好的樣本集——那麼就希望能有有效的信息能夠將不同類的樣本很好地區分開——增加特徵的種類==增加特徵的維度——特徵的維度越多,用於識別的信息就越豐富,就有越多的細節信息可以將不同的樣本之間的相似度降低,提高樣本集的緊致性
不需要無限制地增加,只要不斷地增加模式識別問題中地特徵維數會產生維數災難(cruse of dimensionality)——當一個問題描述地維度不斷增加時會帶來計算量劇增與解法性能下降等嚴重問題——模式識別中的維數災難:隨著特徵維度的增加分類器的性能將在一段快速增加的區域後急速地下降並且最終無法使用
當特徵空間以同樣密度能夠容納的樣本總數呈指數增長時,而如果給定樣本集中的樣本數量沒有同步按照指數規律增加的話,那麼問題越往高維度特徵空間映射時樣本集中的樣本就越稀疏,從而使得樣本集的緊致性越來越差,因此分類器的性能越來越差。
要解決維數災難問題或者要同步地大量增加樣本集樣本的數量,難以實現,或者盡可能減少問題所使用的特徵維度。
在降低維度的同時盡可能地提升每一個維度在分類中的效能,從而使模式識別問題在較低的維度下解決。
特徵生成+特徵降維 重點領域——其結果直接影響分類器性能的好壞
我們期望分類器能夠從訓練集樣本中發現所要分類的各個類別的普遍特點即找到最優的分類器,使分類器在經過訓練後不僅能將訓練集中的樣本正確分類,而且對於不在訓練集中的新樣本也能夠正確地分類
因為有誤差所以不能同時滿足【正確分類樣本集】和【正確分類未知新樣本】
採集數據時由於數據採集方法的問題或者存在雜訊干擾得到的樣本特徵會存在誤差甚至會出現「異常數據」
如果我們要求分類器必須正確分類則會在分類規則上出現「失真」,從而在面對新的未知樣本進行分類時出現錯誤(使分類器泛化能力降低)====稱為分類器訓練過程中的「過擬合」
「結構風險最小化准則」
分類決策規則是從自動計算中獲取的而不是人工設定的
設計模式識別系統就是設計分類器的模型、所使用的的特徵和分類器參數的調整演算法
通過採集轉換得到計算機能接受和處理的數據
模式採集:感測器、變送器、模數轉換
得到的數據:待識別樣本的原始信息(包含大量干擾和無用數據)
通過各種濾波降噪措施降低干擾的影響,增強有用的信息,在此基礎上生成在分類上具有意義的各種特徵
得到的特徵:可以仍然用數值來表示,也可以用拓撲關系、邏輯結構等其他形式表示
經過一、二環節獲得的模式特徵維數都是很大的
主要方法:特徵選擇和特徵提取
特徵選擇:從已有的特徵中選擇一些特徵,拋棄其他特徵
特徵提取:是對原始的高維特徵進行映射變換,生成一組維數更少的特徵
分類器訓練是由計算機根據樣本的情況自動進行的,分類有監督學習和無監督學習
在分類器訓練結束後,對待分類的樣本按照已建立起來的分類決策規則進行分類的過程,在待分類的樣本在進行分類決策之前,與訓練樣本一樣要完成模式採集、預處理與特徵生成、特徵降維等環節的處理,還要持續不斷地對分類決策的結果進行評估,已改進分類器的性能。
模式識別演算法:統計模式識別(主流)、結構模式識別
統計模式識別:將樣本轉換成多維特徵空間中的點,再根據樣本的特徵取值情況和樣本集的特徵值分布情況確定分類決策規則。
線性分類器:是最基本的統計分類器,它通過尋找線性分類決策邊界來實現特徵空間中的類別劃分
貝葉斯分類器:它的決策規則是基於不同類樣本在特徵空間中的概率分布以逆概率推理的貝葉斯公式來得到類別劃分的決策結果
最近鄰分類器:把學習過程隱藏到了分類決策中,通過尋找訓練集中與待分類樣本最相似的子集來實現分類決策
神經網路分類器:來源於對生物神經網路系統的模擬,它的本質是高度非線性的統計分類器並且隨著計算機技術的發展從淺層網路向深層網路不斷演化
統計聚類分析:是無監督學習的典型代表
聚類分析:是無監督學習的典型代表,目前多採用統計學習的方法。
模糊模式識別:不是一獨立的方法,而是將模糊數學引入模式識別技術後對現有演算法的模糊化改造,它在更精確地描述問題和更有效地得出模式識別結果方面都有許多有價值的思路。
特徵降維:也不是獨立的模式識別演算法,但是是完成模式識別任務的流程中不可缺少的一個步驟,特徵降維通過尋找數量更少對分類更有效的特徵來提升整個模式識別系統的性能。
結構模式識別:
結構聚類演算法:將樣本結構上某些特點作為類別和個體的特徵通過結構上的相似性來完成分類任務。
句法模式識別:利用了形式語言理論中的語法規則,將樣本的結構特徵轉化為句法類型的判定,從而實現模式識別的功能。
一個典型的基於視覺的模式識別工程問題
多分類問題
模板匹配基本原理:為每一個類別建立一個或多個標準的模板,分類決策時將待識別的樣本與每個類別的模板進行比對,根據與模板的匹配程度將樣本劃分到最相似的類別中。
建立模板時依賴人的經驗所以適應性差
「分類決策邊界」
判別函數G(x)=0
如果判別函數是線性函數則稱為線性判別函數
線性判別函數+對應的分類規則=線性分類器
如果特徵空間是一維的,線性分類器的分類決策邊界就是一個點
如果特徵空間是二維的,線性分類器的分類決策邊界是一條直線
如果特徵空間是三維的,線性分類器的分類決策邊界是一個平面
如果維度很高,從數學上可以得到分類決策邊界是一個超平面
是不是任何一個模式識別問題都可以找到線性分類決策邊界呢?
給定一個樣本集,它是線性可分的嗎?
涉及問題:樣本集的線性可分性
如果一個樣本集,它的各個類別樣本的分布區域是相交的,那麼肯定是線性不可分的;如果各個類別樣本的分布區域是互不相交的,並且都是凸集,那麼它一定是線性可分的;如果互不相交但有的是凹集,也不一定是線性可分的,需要找出凹集區域最小的凸集包絡線稱為凸包,如果凸包都不想交,那麼樣本集才是可分的,否則不可分。
線性可分性——異或問題
非線性分類問題轉化為線性分類問題:
當我們將一個模式識別問題從低維特徵空間映射到高維特徵空間時,就將一個非線性分類問題轉化為一個線性分類問題。======》這種方法被稱為「廣義線性化」
需要多個線性判別函數——用二分類問題的組合來確定多分類的分類決策規則
根據一定的邏輯關系構成多分類的線性分類器
絕對可分:對於樣本集中的每一個類都有一個線性判別函數,可以把屬於這一類和不屬於這一類的樣本分開。——帶來的不可識別區域很多,整體分類器的性能不好。
兩兩可分:判別函數並不是用於判別屬於某一個或者不屬於某一個類的樣本,而是在兩個特定的類別中選邊站。減少了不可識別區域,提升了線性分類器的性能。
如果有k個分類,兩兩可分的線性判別一共需要C2k個判別函數,絕對可分的線性判別需要k個判別函數
最大值可分:樣本集中每一個類別對應有一個判別函數,而一個樣本將被劃分到取值最大的那個判別函數所對應的類別中。——不可識別區域消失,判別函數的數量也僅僅與樣本集中的類別數量一樣。
如何求最大值可分的判別函數?——工作量大
判別函數是樣本到決策超平面距離遠近的一種度量
樣本x到決策邊界的距離r正比於判別函數G(x)的值,判別函數的符號代表了距離r的符號,表示該模式位於決策邊界的正側還是負側
權向量w僅代表決策超平面的法向方向,長度不會影響決策邊界在特徵空間中的位置,可以取w為1,此時判別函數的值就是樣本到決策邊界的距離。
線性分類器——由線性判別函數及相應道德分類決策規則構成的
線性判別函數如何得到?——如何設計線性分類器?——訓練問題
線性分類器學習/訓練的一般思路:
G ij (x)=w T x+w 0
w T 權向量
w 0 偏置量
解區域中尋找最優解
1.設定一個標量的准則函數J(w,w 0 ),使其值能夠代表解的優劣程度,准則函數值越小,說明解越符合要求,越好。
2.通過尋找准則函數J(w,w 0 )的極小值,就能找到最優的一個解,是准則函數取得極小值的增廣權向量w,這就是最優解。 (w,w 0 ) *
訓練集數據的規范化
1.了解感知器模型
感知器(perception)模型是一種神經元模型
多路輸入+單路輸出
將所有輸入信號加權求和後於一個閾值相比較,如果大於閾值,則神經元輸出為1;小於等於閾值,則神經元輸出為0
沒有反饋與內部狀態
只能依靠輸入信號是否超過閾值來決定是否激活神經元的輸出
如果把感知器的輸入信號看作是一個待識別樣本的特徵向量,感知器的數學模型就構成了一個典型的線性分類器,可以做出非常明確的二分類決策
通過樣本集使感知器能夠學習到輸入權重值和輸出的閾值
感知器是一個通過輸入加權和與閾值的比較來決定是否激活輸出的神經元模型,這是一個線性分類器,輸入的權構成了線性分類決策邊界的權向量,激活輸出的閾值 heta就是分類決策邊界的偏置量w 0
求解目標:對所有樣本,都有w T x > 0
感知器演算法設定準則函數的依據:最終分類器要能正確分類所有的樣本
所以J設定為所有錯分樣本的判別函數值之和
X 0 是所有錯分樣本的集合
只要存在錯分樣本,准則函數一定大於0,只有當所有樣本正確分類了,准則函數值才能取得極小值0
梯度下降法
w(k+1)=w(k)-p(k+1)∆J(w(k))
對於線性可分的兩類問題其分類決策邊界為一n維特徵空間中的超平面H
一般情況下會有無窮多個解,當我們確定一個解所對應的權向量w,超平面的斜率和朝向就是確定的了,可以在一定范圍內平移超平面H,只要不達到或者越過兩類中距離H最近的樣本,分類決策邊界都可以正確地實現線性分類,所以任何一個求解得到的權向量w都會帶來一系列平行的分類決策邊界,其可平移的范圍具有一定的寬度,稱為分類間隔(Marigin of Classification)。
當我們改變w,使分類決策邊界的斜率和朝向隨之變化時,我們得到的分類間隔是不同的。
分類間隔越大,兩類樣本做決策時的裕量也就越大
找到可以使分類間隔最大的最優權向量 w*——支持向量機的出發點
分類間隔是由距離分類決策邊界最近的少量樣本決定的,這些樣本被稱為「支持向量 support vector」_支撐起了線性分類器在最大分類間隔意義下的最優解
支持向量機的優化求解目標是求取能帶來最大分類間隔的權向量w
分類間隔是支持向量到分類決策邊界的2倍
Max d = max 2|G ij (x)|/||w|| 支持向量機採用令|G ij (x)|=1 =>min ||w|| 將求取最大的d的問題轉化為求取權向量的長度最短的問題——為了方便進行二次優化——=>min 1/2 ||w|| 2
求取優化目標要求兩類中的所有樣本到分類決策邊界的距離都應該比支持向量更大,其他樣本的判別函數絕對值都需要大於1,即不等式約束條件為:圖
支持向量機採用拉格朗日乘子法將其轉化為無約束優化問題來求解,即通過將所有約束條件與拉格朗日乘子相乘後添加到優化目標中,在求取拉格朗日乘子最大值的條件下,求取最短的權向量w——凸規劃問題——存在唯一解——其充要條件可以通過拉格朗日函數分別對權向量w和偏置值w0求偏導來得到,即滿足這樣的條件——得到權向量的表達公式
KKT條件
經驗風險:訓練之後的分類器的錯誤分類樣本比例
經驗風險最小化 R_emp==o
只有當訓練集的樣本數趨近於無窮,訓練集中樣本的分布趨近於樣本的真實分布時,經驗風險才會趨近於真實樣本分類的風險
為了從根本上解決「過擬合」問題——提出「結構風險最小化SRM」min(R(w))
結構風險:在一個訓練好的分類器面對未知樣本時分類錯誤的概率
泛化誤差界:R(w)<=Remp(w)+φ(h/l) 置信風險 l是訓練集中的樣本數,h為分類器形式的vc維,而φ置信風險的具體計算公式:圖
如果分類器函數形式已經確定,則樣本數越大,置信風險也就越小;如果訓練集中的樣本數量不夠多,那麼結構風險的大小就受置信風險大小的很大影響,而此時置信風險的大小取決於分類器函數形式本身具有的VC維,函數的VC維h越大,則置信風險也就越大,則相應的結構風險也就越大,分類器的泛化能力越差。
什麼是VC維?一類函數所具有的分類能力
它的值是一類函數能打散兩類樣本集中最大樣本數量
分類器函數形式的階次越低,其VC維也就越小,在樣本集數量有限的情況下,訓練後的分類器結構風險就越小,泛化能力越強。
(支持向量機是階次最低的線性函數)——是支持向量機在不需要大量訓練樣本的情況下也能取得泛化能力特別強的分類器訓練結果的主要原因
所以支持向量機是應用結構風險最小化准則的一個結果
線性不可分問題:1.異常點干擾 2.非線性分類
線性支持向量機是把具有最大分類間隔的最優線性判別函數的求解轉化為求解最短權向量的二次規劃問題
異常點的判別函數值距離一定小於1
可以在約束條件中減去一項正數kesei,使判別函數的絕對值允許小於1,kesei就稱為鬆弛變數
把kesei也作為優化目標,希望kesei越少越好,越小越好。
最理想的情況:絕大多數支持向量外側的樣本包括支持向量對應的鬆弛變數都該為0.只有少數支持向量內側才有一個盡可能小的鬆弛變數。
因此,可以把所有鬆弛變數的和值也作為優化目標的一個分項,即在原來的最短權向量的二次優化目標基礎上再加上一項C乘以所有鬆弛變數的和。C為懲罰因子,表示對分類器中存在異常點的容忍程度。C越小,鬆弛變數的存在對整體優化過程的影響越小,對異常點的容忍度越高。如果C取0,約束條件被破壞。
軟間隔的支持向量機:使用鬆弛變數和懲罰因子的支持向量機
採用——廣義線性化(把低維空間中的非線性問題往高維映射,從而轉化為一個線性分類問題)
③ 0×02441a77指令引用的0×02441a77內存。該內存不能written
最近挺多網友出現這樣的問題,建議了解一下是如何產生內存不能讀,以後碰到類似的才不會困惑。一般如果是玩游戲出現有可能該游戲軟體沖突,建議卸載重新安裝。
如果你是打開IE出現的有可能是ie應用程序訪問內存出錯或者某些文件丟失造成的
1 、右擊桌面上「我的電腦」→屬性→高級→錯誤報告→錯誤匯報→勾選「禁用錯誤匯報」→「但在發生嚴重錯誤時通知我」復選框→確定。這樣處理對於一些小錯誤,Windows XP就不會彈出錯誤提示了。
2、如果不行徹底關閉錯誤報告服務。開始→運行中輸入→services.msc→打開「服務」窗口→找到「Error Reporting Service」→打開「Error Reporting Service的屬性」對話框→將「啟動類型」改為「已禁用」→確定後重新啟動系統。(此項目關閉的注冊表方式:開始→運行→輸入regedit→確定→找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]中的Auto=0改成Auto=1)
、重要提示:不要只看這個錯誤提示的指令代碼,而是要看:出這個提示框的上面藍色條狀部分提示的是XXX.EXE那個位置是什麼程序,就大體定位引起出錯或者沖突的主要原因了,對症下葯就能解決。斗握簡單有效的處理方法是看錯誤提示,哪一個軟體引起的沖突就卸載那個軟體,重新啟動機器以後首先關閉殺毒軟體,重此纖新運行安裝。
如果不能解決最好是卸載重新更新ie瀏覽器, 平時注意定期清理系統垃圾,ie緩存。
關於內存不能READ的解決方案
運行某些程序的時候,有時會出現內存錯誤的提示,然後該程序就關閉。
「0x????????」指令引用的「0x????????」內存。該內存不能為「read」。
「0x????????」指令引用的「0x????????」內存,該內存不能為「written」。
一般出現這個現象有方面的,一是硬體,即內存方面有問題,二是軟體,這就有多方面的問題了。
故障分析
硬體方面:
一般來說,內存出現問題的可能性並不大,主要方面是:內存條壞了、內存質量有問題,還有就是2個不同牌子不同容量的內存混插,也比較容易出現不兼容的情況,同時還要注意散熱問題,特別是超頻後。你可以使用MemTest 這個軟體來檢測一下內存,它可以徹底的檢測出內存的穩定度。
假如是雙內存,而且是不同品牌的內存條混插或者買了二手內存時,出現這個問題,這時,就要檢查是不是內存出問題了或者和其它硬體不兼容。
軟體方面:
先簡單說說原理:內存有個存放數據的地方叫緩沖區,當程序把數據放在其一位置時,因為沒有足夠空間,就會發生溢出現象。舉個例子:一個桶子只能將一斤的水,當放入兩斤的水進入時,就會溢出來。而系統則是在屏幕上表現出來。這個問題,經常出現在windows2000和XP系統上,Windows 2000/XP對硬體的要求是很苛刻的,一旦遇到資源死鎖、溢出或者類似Windows 98里的非法操作,系統為保持穩定,就會出現上述情況。另外也可能是硬體設備之間的兼容性不好造成的。
幾個例子
例一:打開IE瀏覽器或者沒過幾分鍾就會出現"0x70dcf39f"指令引用的"0x00000000"內存。該內存不能為「read」。要終止程序,請單擊「確定」的信息框,單擊「確定」後,又出現「發生內部錯誤,您正在使用的其中一個窗口即將關閉」的信息框,關閉該提示信息後,IE瀏覽器也被關閉。
解決方法:修復或升級IE瀏覽器,同時打上補丁。看過其中一個修復方法是,Win2000自升級,也就是Win2000升級到Win2000,其實這種方法也就是把系統還原到系統初始的狀態下。比如你的IE升級到了6.0,自升級後,會被IE5.0代替/運用騰訊瀏覽器/
例二:在windows xp下雙擊光碟裡面的「AutoRun.exe」文件,顯示「0x77f745cc」指令引用的「0x00000078」內存。該內存森銷仿不能為「written」,要終止程序,請單擊「確定」,而在Windows 98里運行卻正常。
解決方法:這可能是系統的兼容性問題,winXP的系統,右鍵「AutoRun.exe」文件,屬性,兼容性,把「用兼容模式運行這個程序」項選擇上,並選擇「Windows 98/Me」。win2000如果打了SP的補丁後,只要開始,運行,輸入:regsvr32 c:\winnt\apppatch\slayerui.dll。右鍵,屬性,也會出現兼容性的選項。
例三:RealOne Gold關閉時出現錯誤,以前一直使用正常,最近卻在每次關閉時出現「0xffffffff」指令引用的「0xffffffff」內存。該內存不能為「read」 的提示。
解決方法:當使用的輸入法為微軟拼音輸入法2003,並且隱藏語言欄時(不隱藏時沒問題)關閉RealOne就會出現這個問題,因此在關閉RealOne之前可以顯示語言欄或者將任意其他輸入法作為當前輸入法來解決這個問題。
例四:我的豪傑超級解霸自從上網後就不能播放了,每次都提示「Ox060692f6」(每次變化)指令引用的「Oxff000011」內存不能為「read」,終止程序請按確定。
解決方法:試試重裝豪傑超級解霸,如果重裝後還會,到官方網站下載相應版本的補丁試試。還不行,只好換就用別的播放器試試了。
例五:雙擊一個游戲的快捷方式,「Ox77f5cdO」指令引用「Oxffffffff」內存,該內存不能為「read」 ,並且提示Client.dat程序錯誤。
解決方法:重裝顯卡的最新驅動程序,然後下載並且安裝DirectX9.0。
例六:一個朋友發信息過來,我的電腦便出現了錯誤信息:「0*772b548f」指令引用的「0*00303033」內存,該內存不能為「written」,然後QQ自動下線,而再打開QQ,發現了他發過來的十幾條的信息。
解決方法:這是對方利用QQ的BUG,發送特殊的代碼,做QQ出錯,只要打上補丁或升級到最新版本,就沒事了。
例七:我的筆記本電腦用的XP系統,有時關閉網頁時會彈出tbrowser.exe遇到問題需要關閉,然後有彈出0x03e7c738指令引用的0x03e7c738內存,該內存不能為read,請問是怎麼回事?
解決方法:先查殺一下病毒,另外如果你安裝了瀏覽增強之類的軟體,請卸掉。
例八:從桌面或開始菜單中打開任何一個程序, 出現錯誤提示:"0x........"指令引用的"0x00000000"內存,該內存不能為"read"。省略號代表可變值。而從運行中打開程序沒問題。
解決方法:運行regedit進入注冊表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks下,應該只有一個正常的鍵值"{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 將其他的刪除(默認鍵值當然不要刪除)。
例九:我三個月前配了台機子。系統比較不穩定,三個月內已經重裝過多次系統,四五天前剛裝過系統,可是經常隨機地出現Explorer-應用程序錯誤,「0x4a01259d「指令引用的「0x00000000"內存。該內存不能為「read"。要終止程序,請單擊「確定「。要調試程序,請單擊「取消」。如果點確定,windows桌面就不見了。這種問題在之前的系統也出現過,不知道是不是硬體的問題?
解決方法:內存的兼容性問題!遇到這類問題,用戶可以自行打開機器把內存的位置調動一下,看問題是否可以解決,如果問題依舊,可與你的朋友調換內存使用。
通過上面的幾個例子,可以看到,出現故障的原因有好多種,下面列出已經提到和有可能發生的原因,方便查閱。
問題產生原因原因--解決方法
內存條壞了--更換內存條
雙內存不兼容--使用同品牌的內存或只用一條內存
內存質量問題--更換內存條
散熱問題--加強機箱內部的散熱
內存和主板沒插好或和其它硬體不兼容等--重插內存或換個插糟
硬碟有問題--更換硬碟
驅動問題--重裝驅動。如果是新系統,要先安裝主板驅動
軟體損壞--重裝軟體
軟體有BUG--打補丁或用最新的版本。
軟體和系統不兼容--給軟體打上補丁或者試試系統的兼容模式
軟體和軟體之間有沖突--如果最近安裝了什麼新軟體,卸載了試試
軟體要使用到其它相關的軟體有問題--重裝相關軟體。比如播放某一格式的文件時出錯,可能是這個文件的解碼器有問題
病毒問題--殺毒
殺毒軟體與系統或軟體沖突--由於殺毒軟體是進入底層監控系統的,可能與一些軟體沖突,卸載了試試
系統本身有問題--有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序,像SP的補丁,最好要打上。如果還不行重裝系統或更換其它版本的系統了。
===============================================
Windows系統出現內存錯誤
使用Windows操作系統的人有時會遇到這樣的錯誤信息:「0X????????指令引用的0x00000000內存,該內存不能written」,然後應用程序被關閉。如果去請教一些「高手」,得到的回答往往是「Windows就是這樣不穩定」之類的義憤和不屑。其實,這個錯誤並不一定是Windows不穩定造成的。本文就來簡單分析這種錯誤的常見原因。
一、應用程序沒有檢查內存分配失敗
程序需要一塊內存用以保存數據時,就需要調用操作系統提供的「功能函數」來申請,如果內存分配成功,函數就會將所新開辟的內存區地址返回給應用程序,應用程序就可以通過這個地址使用這塊內存。這就是「動態內存分配」,內存地址也就是編程中的「指針」。
內存不是永遠都招之即來、用之不盡的,有時候內存分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的指針,而是系統向應用程序發出的一個通知,告知出現了錯誤。作為應用程序,在每一次申請內存後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程序的「健壯性」。
若應用程序沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用指針,繼續在之後的運行中使用這塊內存。真正的0地址內存區保存的是計算機系統中最重要的「中斷描述符表」,絕對不允許應用程序使用。在沒有保護機制的操作系統下(如DOS),寫數據到這個地址會導致立即死機,而在健壯的操作系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程序,以防止其錯誤擴大。這時候,就會出現上述的「寫內存」錯誤,並指出被引用的內存地址為「0x00000000」。
內存分配失敗故障的原因很多,內存不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於操作系統使用很長時間後,安裝了多種應用程序(包括無意中「安裝」的病毒程序),更改了大量的系統參數和系統文件之後。
④ 中考速查標簽怎麼貼
用目錄法或標簽法。
1、目錄法:先確定知識點,亂早灶再查目錄,後確定頁數。2、標簽法:用便利貼逐章標記知識點,沿速查三邊有序地貼在相應頁碼上,以便快速查到。
速查標簽是將相關聯的事件睜晌,用相同的顏色的自由貼標注嘩扮,貼在書的門楣處。充分利用顏色的變化來分類標注,易於尋找。
⑤ 幾種經典的二值化方法及其vb.net實現
圖像二值化的目的是最大限度的將圖象中感興趣的部分保留下來,在很多情況下,也是進行圖像分析、特徵提取與模式識別之前的必要的圖像預處理過程。這個看似簡單的陪燃迅問題,在過去的四十年裡受到國內外學者的廣泛關注,產生了數以百計的閾值選取方法,但如同其他圖像分割演算法一樣,沒有一個現有方法對各種各樣的圖像都能得到令人滿意的結果。
本文針對幾種經典而常用的二值發放進行了簡單的討論並給出了其vb.net 實現。
1、P-Tile法
Doyle於1962年提出的P-Tile (即P分位數法)可以說是最古老的一種閾值選取方法。該方法根據先驗概率來設定閾值,使得二值化後的目標或背景像素比例等於先驗概率,該方法簡單高效,但是對於先驗概率難於估計的圖像卻無能為力。
2、OTSU 演算法(大津法)
OSTU演算法可以說是自適應計算單閾值(用來轉換灰度圖像為二值圖像)的簡單高效方法。1978 OTSU年提出的最大類間方差段瞎法以其計算簡單、穩定有效,一直廣為使用。
3、迭代法(最佳閥值法)
(1). 求出圖象的最大灰度值和最小灰度值,分別記為Zl和Zk,令初始閾值為:
(2). 根據閾值TK將圖象分割為前景和背景,分別求出兩者的平均灰度值Z0和ZB:式中,Z(i,j)是圖像上(i,j)點的象素值,N(i,j)是(i,j)點的權值,一般取1。
(3). 若TK=TK+1,則所得即為閾值,否則轉2,迭代計算。
4、一維最大熵閾值法
它的思想是統計圖像中每一個灰度級出現的概率 ,計算該灰度級的熵 ,假設以灰度級T分割圖像,圖像中低於蘆此T灰度級的像素點構成目標物體(O),高於灰度級T的像素點構成背景(B),那麼各個灰度級在本區的分布概率為:
O區: i=1,2……,t
B區: i=t+1,t+2……L-1
上式中的 ,這樣對於數字圖像中的目標和背景區域的熵分別為:
對圖像中的每一個灰度級分別求取W=H0 +HB,選取使W最大的灰度級作為分割圖像的閾值,這就是一維最大熵閾值圖像分割法。
⑥ 我在做基於二值化理論的醫學圖像處理,請問圖像二值化的理論和方法有哪些圖像二值化的演算法有哪些
二值化簡介
方法:
1、全局二值化
2、局部自適應二值化
應用
一幅圖像包括目標物體、背景還有雜訊,要想從多值 二值化的數字圖像中直接提取出目標物體,最常用的方法就是設定一個閾值T,用T將圖像的數據分成兩部分:大於T的像素群和小於T的像素群。這是研究灰度變換的最特殊的方法,稱為圖像的二值化(BINARIZATION)。 圖像的二值化,就是將圖像上的像素點的灰度值設置為0或255,也就是將整個圖像呈現出明顯的只有黑和白的視覺效果。
1、局二值化
一幅圖像包括目標物體、背景還有雜訊,要想從多值的數字圖像中直世晌接提取出目標物體,最常用的方法就是設定一個全局的閾值T,用T將圖像的數據分頃返物成兩部分:大於T的像素群和小於T的像素群。將大於T的像素群的像素值設定為白色(或者黑色),小於T的像素群的像素值設定為黑色(或者白色)。 全局二值化,在表現圖像細節方面存在很大缺陷。為了彌補這個缺陷,出現了局部二值化方法。 局部二值化的方法就是按照一定的規則將整幅圖像劃分為N個窗口,對這N個窗口中的每一個窗口再按照一個統一的閾值T將該窗口內的像素劃分為兩部分,進行二值化處理。
2、部自適應二值化
局部二值化也有一個缺陷。這個缺陷存在於那個統一閾值的選定。這個閾值是沒有經過合理的運算得來,一般是取該窗口的平局值。這就導致在每一個窗口內仍然出現的是全局二值化的缺陷。為了解決這個問題,就出現了局部自適應二值化方法。 局部自適應二值化,該方法就是在局部二值化的基礎之上,將閾值的雀液設定更加合理化。該方法的閾值是通過對該窗口像素的平均值E,像素之間的差平方P,像素之間的均方根值Q等各種局部特徵,設定一個參數方程進行閾值的計算,例如:T=a*E+b*P+c*Q,其中a,b,c是自由參數。這樣得出來的二值化圖像就更能表現出二值化圖像中的細節。
編輯本段應用
二值化是圖像處理的基本操作,任何圖像處理基本離不開二值化的操作。其應用非常廣泛。
(轉載自網路--》二值化)
⑦ (急)高積分有關core 2 o E6300問題,回答後加上極限積分獎勵以表感謝!
兩個1.8的核心構成雙核 但它是與PD不同的是 CPU內核不同 運算效率也不同
不能簡單的靠主頻來評論一個CPU的運算速度
雖然主頻只有1。8實際CPU的亂兄效果要比以前的CPU要高出很多很多的
以下是網上搜集的資料
Core微架構的產品,頻率最低從1.76GHz起跳,最高的X6800至尊版也只是2.93GHz,與上代Prescott核心的Pentium處理器相比已經大為下降。Core 2處理器中分成兩種核心,其中低端的E6300和E6400基於Allendale核心,另外三個型號即E6600、E6700和X6800則基於Conroe核心,前者具有2MB二級緩存,而後者則具有4MB二級緩存,其他參數則是相同的。這次我們測試的是基於Allendale核心的E6300,具有2MB L2。
Core微架構的設計主要有以下改進的特點:
14級的指令執行流水線:
以往NetBurst架構的P4處理器為追求高頻率而採用了更深的指令執行流水線設計,Williamette和NorthWood等擁有20級、Prescott核心則更達到31級,而AMD K8架構等擁有17級。更長的流水線會讓頻率得到更高的提升,但負面影響是一旦產生分支預測失敗或緩沖區為命中的時間後將會浪費更多的時鍾周期,雖然頻率提升可以彌補這方面的缺陷,但是以現在所能達到的頻率顯然是不足以彌補這種性能損失。因此Core微架構設計了14級的指令執行流水線,更短的流水線也會讓指令的處理速度更快,目前看來這是一種兼顧了效能和速度的解決方法。
寬區動態執行:
4組指令編碼器和3個算術邏輯單元:Core微架構的設計為加強指令的處理能力,改進了編碼器和算術邏輯單嘩漏襲元。而在這當中也加入了一整套的創新功能。如寬動態執行(Wide Dynamic Execution)、宏融合(Macro Fusion)、微操作融合(Micro-op Fusion)等等。寬動態執行和微操作融合都是從前代架構繼承過來然後加以改進優化的技術,至於宏融合是最新加入的,通過合並普通指令的方式減少指令的執行時間。以上3項技術都是Core微架構優化指令執行效率的設計精髓。
共享的智能緩存:
以往雙核的無論是PD系列還是PXE都是獨立的二級緩存,核心之間數據只能通過系統匯流排來交換,這無疑佔用了匯流排帶寬和帶來延遲,不利於核心之間的密切合作。Conroe擁有和Yonah一樣的共享二級緩存,通過內部的Shared Bus Router共用L2 Cache脫離了對系統匯流排的依賴。共享智能緩存的設計也使得功耗和性能之間達到很好的平衡。在不同強度的運算強度下,Core微架構可以關閉其中一個核心而另外一個核心全數使用4MB的二級緩存。而當不需要時也能夠關閉部分的緩存單元以節約能源。
智能內存訪問:
智能內存訪問(Smart Memory Access)包括內存消歧(Memory Disambiguation)和增強的預取器(Advanced Prefetchers),內存消歧能使核心智能地預先判斷內存中將要用到的數據從而縮短等待時間提高效率。經過內存消歧後,分別設置在L1 Cache和L2 Cache的預取器就會先將需要的數據載入到緩存中,這兩個技術配合能夠最大化的使用匯流排帶寬,減少突發性的數據交換造成堵塞。
AMD K8架構加入了內存控制器,使得K8處理器的內存性能更強。Intel方面雖然有能力在核心加入內存控制器,但對於市場佔有率巨大的集成主板和筆記本市場來說,把內存控制器集成到北橋晶元會更好發揮集成顯卡等設備的性能,對將來內存升級也能更快跟進,而加入了智能內存訪問技術後於集成內存控制器相比的性能差距也會大幅減少。
高級數字媒體增強:
高級數字媒體增強(Advanced Digital Media Boost)功能是Intel Core微架構里對SSE指令集的改進,使得Core微架構能處理128bit指令。相對傳統只能處理64bit指令的處理器,Core微架構在處理128bit指令時只需單個的時鍾周期,因此處理128bit指令時性能得到成倍提升。在處理SSE指令集的數據或是多媒體操作時,高級數字媒體增強技術將會更明顯的提高效率搜唯。
⑧ Faster R-CNN:使用RPN實時目標檢測
論文: Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
目標檢測網路大多依靠 區域生成 (region proposal)演算法來假設目標的位置。 R-CNN 是採用 Selective Search 演算法來提取(propose)可能的 RoIs(regions of interest) 區域,然後對每個提取區域採用標准 CNN 進行分類。選擇性搜索(Selective Search )方法就是在目標對象周圍設定2000個形狀大小位置不一的候選區域,目標物體在候選區域的可能性還是比較大的。然後對這些區域卷積,找到目標物體,雖然大多數區域都是無用的。與尋找幾乎個區域比起來,這種方法要高效的多。
Fast R-CNN ,不在原始圖像生成備選區域,而是先整張圖片通過卷積網路得到特徵圖,然後在特徵圖上使用備選區域演算法得到感興趣的區域在特徵圖的映射,之後使用 Rol Pool將所有區域變成同樣尺寸,大大減少了這些目標檢測網路的運行時間,但是區域生成的計算成為整個檢測網路的瓶頸。
Faster R-CNN 引入了一個 區域生成網路(Region Proposal Network,RPN) ,該網路與檢測網路共享輸入圖像的卷積特徵,從而使接近零時間成本的區域生成成為可能。 RPN是一個全卷積網路,可以同時在每個位置預測目標邊界和目標分數。RPN經過端到端的訓練,可以生成高質量的區域候選框,然後提供給Fast R-CNN用於檢測。
Faster R-CNN 由兩個模塊組成:第一個模塊是區域生成的深度全卷積網路,第二個模塊是使用備選區域的Fast R-CNN檢測器。整個系統是一個單個的,統一的目標檢測網路。使用最近流行的「注意力」機制的神經網路術語,RPN模塊告訴Fast R-CNN模塊在哪裡尋找目標。
針對一張圖片,需要獲得的輸出有:
Faster R-CNN 第一步是採用基於分類任務(如ImageNet)的 CNN 模型作為特徵提取器。輸入圖片表示為 H × W × D 的形式,經過預訓練 CNN 模型的處理,得到卷積特徵圖(conv feature map)。
Faster R-CNN 最早是採用在 ImageNet 訓練的 ZF 和 VGG ,其後出現了很多其它權重不同的網路.。如 MobileNet 是一種小型效率高的網路結構,僅有 3.3M 參數;而ResNet-152 的參數量達到了 60M;新網路結構,如 DenseNet 在提高了結果的同時,降低了參數數量。
以 VGG16 為例:
VGG16 圖片分類時,輸入為 224×224×3 的張量(即,一張 224×224 像素的 RGB 圖片)。網路結構最後採用 FC 層(而不是 Conv 層)得到固定長度的向量,以進行圖片分類.。對最後一個卷積層的輸出拉伸為1維的向量,然後送入 FC 層。官方實現中是採用的卷積層 conv5/conv5_1 的輸出。
在深度上,卷積特徵圖對圖片的所有信息進行了編碼,同時保持相對於原始圖片所編碼 「things」 的位置。例如,如果在圖片的左上角存在一個紅色正方形,而且卷積層有激活響應,那麼該紅色正方形的信息被卷積層編碼後,仍在卷積特徵圖的左上角。因此利用特徵圖檢測目標所在的位置是可行的。
ResNet 結構逐漸取代 VGG 作為基礎網路,用於提取特徵。ResNet 相對於 VGG 的明顯優勢是,網路更大,因此具有更強的學習能力.。這對於分類任務是重要的,在目標檢測中也應該如此。另外,ResNet 採用殘差連接(resial connection) 和 BN (batch normalization) 使得深度模型的訓練比較容易。
然後,RPN(Region Propose Network) 對提取的卷積特徵圖進行處理,尋找可能包含 目標的 預定義數量的區域(regions,邊界框) 。為了生成候選區域,在最後的共享卷積層輸出的卷積特徵圖上做 3x3 卷積,卷積核共有512個(VGG),後面是ReLU,這樣每個 3x3 區域會得到一個512維的特徵向量。然後這個特徵向量被輸入到兩個全連接層——一個邊界框回歸層(reg)和一個邊界框分類層(cls)。
下面解釋 k, 2k, 4k 的含義。
基於深度學習的目標檢測中,可能最難的問題就是生成長度不定(variable-length)的邊界框列表(bounding-boxes),邊界框是具有不同尺寸(sizes)和長寬比(aspect ratios )的矩形。在構建深度神經網路時,最後的網路輸出一般是固定尺寸的張量輸出(採用RNN的除外)。例如,在圖片分類中,網路輸出是 (C, ) 的張量,C是類別標簽數,張量的每個位置的標量值表示圖片是類別的概率值。
在 RPN 中,通過採用 anchors(錨) 來解決邊界框列表長度不定的問題,即在原始圖像中統一放置固定大小的參考邊界框。上面說到RPN對特徵圖做3x3的卷積,假設每一次卷積需要預測 k 個候選區域,因此,reg層具有 4k 個輸出,編碼 k 個邊界框的坐標,cls層輸出 2k 個分數,估計每個區域是目標或是背景的概率。這 k 個區域就是 被 k 個參考邊界框初始化, k 個參考框就是 k 個錨點,作為第一次預測目標位置的參考 boxes。錨點的中心位於卷積核滑動窗口的中心。默認情況下每個滑動位置使用3個不同尺度(128 2 , 256 2 , 512 2 )3個不同長寬比(1:2, 1:1, 2:1)的錨點,k=9。對於大小為W×H(通常約為2400)的卷積特徵圖,總共有 W×H×k 個錨點。對於RPN的最後兩個全連接層,參數的個數為 512×(4+2)×k.
不同於直接檢測目標的位置,這里將問題轉化為兩部分。對每一個 anchor 而言:
有一種簡單的方法來預測目標的邊界框,即學習相對於參考邊界框的偏移量。假設參考 box:( ),待預測量:( ),一般都是很小的值,以調整參考 box 更好的擬合所需要的。
雖然 anchors 是基於卷積特徵圖定義的,但最終的 anchos 是相對於原始圖片的.
由於只有卷積層和 pooling 層,特徵圖的維度是與原始圖片的尺寸成比例關系的. 即,數學地表述,如果圖片尺寸 w×h,特徵圖的尺寸則是w/r×h/r. 其中,r 是下采樣率(subsampling ratio). 如果在卷積特徵圖空間位置定義 anchor,則最終的圖片會是由 r 像素劃分的 anchors 集。在 VGG 中, r=16。
RPN 利用所有的參考邊界框(anchors),輸出一系列目標的良好的 proposals。針對每個 anchor,都有兩個不同的輸出:
RPN是全卷積網路。
對於分類層,每個 anchor 輸出兩個預測值:anchor 是背景(background,非object)的 score 和 anchor 是前景(foreground,object) 的 score.
對於回歸層,也可以叫邊界框調整層,每個 anchor 輸出 4 個預測值:
(Δxcenter,Δycenter,Δwidth,Δheight),用於 anchors 來得到最終的 proposals。根據最終的 proposal 坐標和其對應的 objectness score,即可得到良好的 objects proposals.
RPN 有兩種類型的預測值輸出:二值分類和邊界框回歸調整。
為了訓練RPN,我們為每個錨點分配一個二值類別標簽(是目標或不是目標)。我們給兩種錨點分配一個正標簽:(i)具有與實際邊界框的重疊最高交並比(IoU)的錨點,或者(ii)具有與實際邊界框的重疊超過0.7 IoU的錨點。注意,單個真實邊界框可以為多個錨點分配正標簽。通常第二個條件足以確定正樣本;但我們仍然採用第一個條件,因為在一些極少數情況下,第二個條件可能找不到正樣本。對於所有的真實邊界框,如果一個錨點的IoU比率低於0.3,我們給非正面的錨點分配一個負標簽。既不正面也不負面的錨點不會有助於訓練目標函數。
然後,隨機采樣 anchors 來生成batchsize=256 的 mini-batch,盡可能的保持 foreground 和 background anchors 的比例平衡。
RPN 對 mini-batch 內的所有 anchors 採用二分類交叉熵來計算分類 loss。然後,只對 mini-batch 內標記為 foreground 的 anchros 計算回歸 loss。為了計算回歸的目標targets,根據 foreground anchor 和其最接近的 groundtruth object,計算將 anchor 變換到 object groundtruth 的偏移值 Δ。
Faster R-CNN沒有採用簡單的 L1 或 L2 loss 用於回歸誤差,而是採用 Smooth L1 loss. Smooth L1 和 L1 基本相同,但是,當 L1 誤差值非常小時,表示為一個確定值即認為是接近正確的,loss 就會以更快的速度消失.
由於 Anchors 一般是有重疊,因此,相同目標的候選區域也存在重疊。
為了解決重疊 proposals 問題,採用 NMS 演算法處理,丟棄與一個 score 更高的 proposal 間 IoU 大於預設閾值的 proposals.
雖然 NMS 看起來比較簡單,但 IoU 閾值的預設需要謹慎處理. 如果 IoU 值太小,可能丟失 objetcs 的一些 proposals;如果 IoU 值過大,可能會導致 objects 出現很多 proposals。IoU 典型值為 0.7。
NMS 處理後,根據 sore 對topN 個 proposals 排序. 在 Faster R-CNN 論文中 N=2000,其值也可以小一點,如 50,仍然能的高好的結果.
當獲得了可能的相關目標和其在原始圖像中的對應位置之後,問題就更加直接了,採用 CNN 提取的特徵和包含相關目標的邊界框,採用 RoI Pooling 處理,並提取相關目標的特徵,得到一個新的向量。
RPN 處理後,可以得到一堆沒有分類得分的目標 proposals。待處理問題為,如何利用這些邊界框並分類。
一種最簡單的方法是,對每個 porposal,裁剪,並送入pre-trained base 網路,提取特徵;然後,將提取特徵來訓練分類器. 但這就需要對所有的 2000 個 proposals 進行計算,效率低,速度慢。Faster R-CNN通過重用卷積特徵圖來加快計算效率,即採用 RoI(region of interest) Pooling 對每個 proposal 提取固定尺寸的特徵圖。然後 R-CNN 對固定尺寸的特徵圖分類。
目標檢測中,包括 Faster R-CNN,常用一種更簡單的方法,即:採用每個 proposal 來對卷積特徵圖裁剪crop,然後利用插值演算法(一般為雙線性插值 bilinear)將每個 crop resize 到固定尺寸14×14×ConvDepth. 裁剪後,利用 2×2 kernel 的 Max Pooling 得到每個 proposal 的最終7×7×ConvDepth 特徵圖.
之所以選擇該精確形狀,與其在下面的模塊(R-CNN)中的應用有關。
R-CNN利用RoI Pooling提取的特徵進行分類,採用全連接層來輸出每個可能的 目標類別的分類得分,是Faster R-CNN框架中的最後一個步驟。
R-CNN 有兩個不同的輸出:
R-CNN 對每個 proposal 的特徵圖,拉平後採用 ReLU 和兩個大小為 4096 維的全連接層進行處理。然後,對每個不同目標採用兩個不同的全連接層處理:一個全連接層有 N+1 個神經單元,其中 N 是類別 class 的總數,包括 background class;一個全連接層有 4N 個神經單元,是回歸預測輸出,得到 N 個可能的類別分別預測 Δcenterx,Δcentery,Δwidth,Δheight。
R-CNN 的目標基本上是與 RPN 目標的計算是一致的,但需要考慮不同的可能的 object 類別 classes.
根據 proposals 和 ground-truth boxes,計算其 IoU。與任何一個 ground-truth box 的 IoU 大於 0.5 的 proposals 被設為正確的 boxes。IoU 在 0.1 到 0.5 之間時設為 background。這里忽略沒有任何交叉的 proposals。這是因為,在此階段,假設已經獲得良好的 proposals。當然,所有的這些超參數都是可以用於調整以更好的擬合 objects。
邊界框回歸的目標計算的是 proposal 與其對應的 ground-truth間的偏移量,只對基於 IoU 閾值設定類別後的 proposals 進行計算。隨機採用一個平衡化的 mini-batch=64,其中,25% 的 foreground proposals(具有類別class) 和 75% 的background proposals.
類似於 RPNs 的 losses,對於選定的 proposals,分類 loss 採用 multiclass entropy loss;對於 25% 的 foreground proposals 採用 SmoothL1 loss 計算其與 groundtruth box 的匹配。
由於 R-CNN全連接網路對每個類別僅輸出一個預測值,當計算邊框回歸loss 時需謹慎,只需考慮正確的類別。
類似於 RPN,R-CNN 最終輸出一堆帶有類別分類的objects,在返回結果前,再進一步進行處理。
為了調整邊界框,需要考慮概率最大的類別的 proposals. 忽略概率最大值為 background class 的proposals.
當得到最終的 objects 時,並忽略被預測為 background 的結果,採用 class-based NMS. 主要是通過對 objects 根據類別class 分組,然後根據概率排序,並對每個獨立的分組採用 NMS 處理,最後再放在一起.
最終得到的 objects 列表,仍可繼續通過設定概率閾值的方式,來限制每個類的 objects 數量.
Faster R-CNN在論文中是採用分步方法,對每個模塊分別訓練再合並訓練的權重. 自此,End-to-end 的聯合訓練被發現能夠得到更好的結果.
當將完整的模型合並後,得到 4 個不同的 losses,2 個用於 RPN,2 個用於 R-CNN。4 種不同的 losses 以加權和的形式組織. 可以根據需要對分類 loss 和回歸 loss 設置權重,或者對 R-CNN 和 RPNs 設置不同權重.
採用 SGD 訓練,momentum=0.9. 學習率初始值為 0.001,50K 次迭代後衰減為 0.0001. 這是一組常用參數設置。
⑨ NI Vision:二值圖像連通域標記演算法
前面說到,要使用Labwindows + NI Vision(IMAQ Vision)這套商用開發框架來做數圖課設。很明顯,這套虛擬儀器開發平台由NI Instrument(美國國家儀器公司)開發的。大名鼎鼎的Labview軟體就是這個公司開發的。相比較而言,Labwindows使用ANSI C開發,但應用場景是差不多的。
在做課程作業的時候,遇到了一個很有趣的應用。輸入是米粒,比背景灰度要低,目的是輸出米粒的顆數、面積、周長和孔數,這是工業上的一個很常見的應用。具體處理過程是二值化後使用低通濾波,並計算各種性質。
界面設計如下,可以看到米粒的詳細情況。
讓我感興趣的,是通過怎樣的演算法能夠得到米粒的數量?之前曾經用過OpenCV中找最大外界矩形這個函數,但沒有具體了解演算法實現。直覺告訴我原理應該是相似的。
可以看到,每一個米粒之間都是不連通的。這里就就提出了一個概念。 連通區域(Connected Component) 是指圖像中相鄰並有相同像素值的圖像區域。 連通區域分析(Connected Component Analysis,Connected Component Labeling) 是指將圖像中的各個連通區域找出並標記。
二值圖像分析最重要的方法就是連通區域標記,它是所有二值圖像分析的基礎,它通過對二值圖像中白色像素(目標)的標記,讓每個單獨的連通區域形成一個被標識的塊,進一步的我們就可以獲取這些塊的輪廓、外接矩形、質心、不變矩等幾何參數。如果要得到米粒的數量,那麼通過連通區域分析(這里是二值圖像的連通區域分析),就可以得到標記的數量,從而得到米粒的數量。
下面這幅圖中,如果考慮4鄰接,則有3個連通區域,8鄰接則是2個。
從連通區域的定義可以知道,一個連通區域是由具有相同像素值的相鄰像素組成像素集合,因此,我們就可以通過這兩個條件在圖像中尋找連通區域,對於找到的每個連通區域,我們賦予其一個唯一的 標識(Label) ,以區別其他連通區域。
連通區域分析的基本演算法有兩種:1)Two-Pass兩便掃描法 2)Seed-Filling種子填充法 。
兩遍掃描法(Two-Pass),正如其名,指的就是通過掃描兩遍圖像,就可以將圖像中存在的所有連通區域找出並標記。
說了一堆數學語言,其實用圖很好理解
種子填充方法來源於計算機圖形學,常用於對某個圖形進行填充。它基於區域生長演算法。至於區域生長演算法是什麼,可以參照我的這篇 文章 。
同樣的,上動圖
NI Vision 中的運算元定義如下
OpenCV中也有相應的運算元
這里參照其他博客實現一下Two-Pass演算法,Seed-Filling演算法就偷懶不搞了。
Reference:
OpenCV實現圖像連通組件標記與分析
OpenCV-二值圖像連通域分析
數字圖像處理技術 ——鄧繼忠(我的任課老師)