【超音速 專利 CN117710683A】基于分類模型的輕量級工業圖像關鍵點檢測方法

申請號CN202311601629.7
公開號(公開)CN117710683A
申請日2023.11.27
申請人(公開)超音速人工智能科技股份有限公司
發明人(公開)張俊峰(總); 楊培文(總); 沈俊羽; 張小村

技術領域

本發明涉及圖像關鍵點檢測技術領域,具體講的是一種基于分類模型的輕量級工業圖像關鍵點檢測方法。

背景技術

工業關鍵點檢測是指從工業場景中的圖像或視頻中自動識別出工業產品中的關鍵點位置,如機器人的末端執行器、零件的定位點等。傳統的工業關鍵點檢測算法需要大量的計算資源,并且往往需要訓練大規模的數據集,因此在實際應用中存在著一定的局限性。因此迫切需要輕量級的工業關鍵點檢測算法,使在計算資源有限的情況下也能夠實現較好的關鍵點檢測效果。
基于熱圖表示的模型需要多個開銷較高的反卷積產生熱圖,因此速度慢,開銷高。由于熱圖比原圖小幾倍,因此基于熱圖的方法會存在理論誤差下界。而基于回歸的方法受到噪聲和隨機性影響較大,導致結果不穩定。基于分類的模型不會產生熱圖,且分類的維度可以是原圖尺寸,有更高的精度。分類模型受噪聲和隨機性影響較小,訓練過程更穩定,模型更易收斂。

我的理解

一,將待檢測圖像輸入特征提取網絡,通過特征提取網絡提取關鍵點的圖像特征。
二,將圖像特征輸入網絡輸出頭中,通過網絡輸出頭輸出關鍵點的預測橫坐標、預測縱坐標和預測可見性。
三,在待檢測圖像上標注關鍵點,并將關鍵點映射到橫坐標軸和縱坐標軸上,計算關鍵點的橫坐標與預測橫坐標的第一損失值、縱坐標與預測縱坐標的第二損失值以及真實可見性信息與預測可見性的第三損失值,根據第一損失值、第二損失值和第三損失值總損失值,并判斷總損失值能否通過閾值,若不能則篩選掉該關鍵點。
四,所述特征提取網絡包括步長為1的卷積和MobileNetV3small中的一層倒殘差結構。
五,所述網絡輸出頭包括縱坐標分類頭、橫坐標分類頭和可見性分類頭,所述縱坐標分類頭預測關鍵點的縱坐標,所述橫坐標分類頭預測關鍵點的橫坐標,所述可見性分類頭預測關鍵點的可見性。
六,所述縱坐標分類頭預測關鍵點的縱坐標包括以下步驟:
七,將圖像特征經過橫坐標方向步長為2、縱坐標方向步長為1的二維卷積和ReLU激活函數后,得到圖像特征y1;
八,將特征y1經過橫坐標方向步長為2、縱坐標方向步長為1的二維卷積和ReLU激活函數后,得到圖像特征y2;
九,將特征y2橫坐標方向的特征進行全局池化后,得到特征y3;
十,將特征y3經過一維反卷積后,得到特征y4;
十一,將特征y4經過一維反卷積和ReLU激活函數后,得到關鍵點的預測縱坐標。
十二,進一步的,所述橫坐標分類頭預測關鍵點的橫坐標包括以下步驟:
a,將圖像特征經過橫坐標方向步長為1、縱坐標方向步長為2的二維卷積和ReLU激活函數后,得到圖像特征x1;
b,將特征x1經過橫坐標方向步長為1、縱坐標方向步長為2的二維卷積和ReLU激活函數后,得到圖像特征x2;
c,將特征x2縱坐標方向的特征進行全局池化后,得到特征x3;
d,將特征x3經過一維反卷積后,得到特征x4;
e,將特征x4經過一維反卷積和ReLU激活函數后,得到關鍵點的預測橫坐標。
十三,進一步的,所述可見性分類頭預測關鍵點的可見性包括以下步驟:
將圖像特征經過兩次橫坐標方向和縱坐標方向均為4的卷積,使圖像特征的長寬變為原來的1/64,再將卷積后的圖像特征進行全局化和全連接操作后,得到關鍵點的預測可見性。
十四,計算關鍵點的橫坐標與預測橫坐標的第一損失值和縱坐標與預測縱坐標的第二損失值,包括以下步驟:
將關鍵點映射到橫坐標軸和縱坐標軸后,形成橫坐標方向上的one-hot編碼和縱坐標方向上的one-hot編碼,再用交叉熵損失函數計算橫坐標方向上的one-hot編碼與橫坐標預測的第一損失值,和縱坐標方向上的one-hot編碼與縱坐標預測的第二損失值。
十五,計算關鍵點真實可見性信息與預測可見性的第三損失值的方法包括:
用二值交叉熵損失函數計算關鍵點真實可見性信息和預測可見性的第三損失值。
十六,總損失值為第一損失值、第二損失值和第三損失值的加權和,第一損失值、第二損失值和第三損失值的權重分別根據橫坐標、縱坐標和可見性的預測難度確定,預測難度與權重成正比。


如果有不明白的,請加文末QQ群。

擴展閱讀

視頻課程

先學簡單的課程,請移步CSDN學院,聽白銀講師(也就是鄙人)的講解。
https://edu.csdn.net/course/detail/38771

如何你想快速形成戰斗了,為老板分憂,請學習C#入職培訓、C++入職培訓等課程
https://edu.csdn.net/lecturer/6176

相關推薦

我想對大家說的話
《喜缺全書算法冊》以原理、正確性證明、總結為主。
按類別查閱鄙人的算法文章,請點擊《算法與數據匯總》。
有效學習:明確的目標 及時的反饋 拉伸區(難度合適) 專注
聞缺陷則喜(喜缺)是一個美好的愿望,早發現問題,早修改問題,給老板節約錢。
子墨子言之:事無終始,無務多業。也就是我們常說的專業的人做專業的事。
如果程序是一條龍,那算法就是他的是睛

測試環境

操作系統:win7 開發環境: VS2019 C++17
或者 操作系統:win10 開發環境: VS2022 C++17
如無特殊說明,本算法用**C++**實現。

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

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

相關文章

數據庫MySQL下載安裝

MySQL下載安裝地址如下: MySQL :: Download MySQL Community Server 1、下載界面 2、點擊下載 3、解壓記住目錄 4、配置my.ini文件 未完..

C語言課程回顧:九、C語言之預處理命令

9 預處理命令 9 預處理命令9.1 概述9.2 宏定義9.2.1 無參宏定義9.2.2 帶參宏定義 9.3 文件包含9.4 條件編譯9.5 本章小結9.6 擴展 10種軟件濾波方法的示例程序1、限副濾波2、中位值濾波法3、算術平均濾波法4、遞推平均濾波法(又稱滑動平均濾波法)5、中位…

Vue.js學習筆記(五)抽獎組件封裝——轉盤抽獎

基于VUE2轉盤組件的開發 文章目錄 基于VUE2轉盤組件的開發前言一、開發步驟1.組件布局2.布局樣式3.數據準備 二、最后效果總結 前言 因為之前的轉盤功能是圖片做的,每次活動更新都要重做UI和前端,為了解決這一問題進行動態配置轉盤組件開發,…

【jvm】字符串常量池問題

目錄 一、基本概念1.1 說明1.2 特點 二、存放位置2.1 JDK1.6及以前2.2 JDK1.72.3 JDK1.8及以后 三、工作原理3.1 創建字符串常量3.2 使用new關鍵字創建字符串 四、intern()方法4.1 作用 五、優點六、字節碼分析6.1 示例16.1.1 代碼示例6.1.2 字節碼6.1.3 解析 6.2 示例26.2.1 代…

STM32智能倉儲管理系統教程

目錄 引言環境準備晶智能倉儲管理系統基礎代碼實現:實現智能倉儲管理系統 4.1 數據采集模塊 4.2 數據處理與決策模塊 4.3 通信與網絡系統實現 4.4 用戶界面與數據可視化應用場景:倉儲管理與優化問題解決方案與優化收尾與總結 1. 引言 智能倉儲管理系統…

7 月12日學習打卡--棧和隊列的相互轉換

hello大家好呀,本博客目的在于記錄暑假學習打卡,后續會整理成一個專欄,主要打算在暑假學習完數據結構,因此會發一些相關的數據結構實現的博客和一些刷的題,個人學習使用,也希望大家多多支持,有不…

什么是STM32?嵌入式和STM32簡單介紹

1、嵌入式和STM32 1.1.什么是嵌入式 除了桌面PC之外,所有的控制類設備都是嵌入式 嵌入式系統的定義:“用于控制、監視或者輔助操作機器和設備的裝置”。 嵌入式系統是一個控制程序存儲在ROM中的嵌入式處理器控制板,是一種專用的計算機系統。…

初階數據結構速成

本篇文章算是對初階數據結構的總結,內容較多,請耐心觀看 基礎概念部分 順序表 線性表( linear list )是n個具有相同特性的數據元素的有限序列。 線性表是?種在實際中?泛使 ?的數據結構,常?的線性表:…

C語言 錯題本

C語言 錯題本 文章目錄 C語言 錯題本77月11號整數求逆--掌握 7月12號求符合給定條件的整數集水仙花數打印九九口訣表--掌握統計素數并求和--掌握 7月13號湊硬幣前n項和(一加一減)最大公約數 7月14號正序整數分解 7月17號簡單計算器 217月26號求符合給定條件的整數集水仙花數 旨…

【安全設備】上網行為管理

一、什么是上網行為管理 上網行為管理是對企業內部員工使用互聯網行為的監視和管理,旨在規范網絡使用者的上網行為,提高網絡安全性,保護企業信息安全,同時提高員工的工作效率。上網行為管理通過對員工的上網行為進行監控、記錄和…

機器學習——關于極大似然估計法的一些個人思考(通俗易懂極簡版)

最近在回顧機器學習的一些相關理論知識,回顧到極大似然法時,對于極大似然法中的一些公式有些迷糊了,所以本文主要想記錄并分享一下個人關于極大似然估計法的一些思考,如果有誤,請見諒,歡迎一起前來探討。當…

單元測試實施最佳方案(背景、實施、覆蓋率統計)

1. 什么是單元測試? 對于很多開發人員來說,單元測試一定不陌生 單元測試是白盒測試的一種形式,它的目標是測試軟件的最小單元——函數、方法或類。單元測試的主要目的是驗證代碼的正確性,以確保每個單元按照預期執行。單元測試通…

合肥高校大學智能制造實驗室數字孿生可視化系統平臺建設項目驗收

合肥高校大學智能制造實驗室近日迎來了一項重要時刻,數字孿生可視化系統平臺建設項目順利通過了驗收。這一項目的成功實施,不僅標志著合肥高校在智能制造領域取得新的突破,為我國智能制造技術的發展注入新活力。 合肥高校智能制造實驗室作為…

T972 切換至pdm 聲音輸入的方法

1.在hardware/amlogic/audio/audio_hal/audio_hw.c下,直接切換 在 static unsigned int select_port_by_device(struct aml_audio_device *adev) 中先強制切換為pdm 2.在device mk 配置文件中 #add fof fix the mic bug by jason 20230621 PRODUCT_PROPERTY_OVE…

MySQL 數據庫基礎概念

一、什么是數據庫? 數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫。 每個數據庫都有一個或多個不同的 API 用于創建,訪問,管理,搜索和復制所保存的數據。 我們也可以將數據存儲在文件中&…

淺析Kafka Streams中KTable.aggregate()方法的使用

KTable.aggregate() 方法是 Apache Kafka Streams API 中用于對流數據進行狀態化聚合的核心方法之一。這個方法允許你根據一個鍵值&#xff08;通常是<K,V>類型&#xff09;的流數據&#xff0c;應用一個初始值和一個聚合函數&#xff0c;來累積和更新一個狀態&#xff0…

MSPM0G3507(三十六)——超聲波PID控制小車固定距離

效果圖&#xff1a; 波形圖軟件是VOFA&#xff0c;B站有教程 &#xff0c;雖然有缺點但是非常簡單。 視頻效果&#xff1a; PID控制距離 之前發過只有超聲波測距的代碼&#xff0c;MSPM0G3507&#xff08;三十二&#xff09;——超聲波模塊移植代碼-CSDN博客 SYSCFG配置&#…

Ubuntu下如何設置程序include搜索路徑及鏈接路徑

添加庫的include及lib路徑 linux下系統默認路徑為 /usr/include, /usr/local/include, gcc在編譯程序時會按照當前目錄路徑->系統默認路徑->系統環境變量的路徑方式去查找&#xff0c;所以當我們想調用的庫未安裝在系統默認路徑時&#xff0c;我們可以通過手動添加環境變…

數據壓縮的藝術:Kylin Cube設計中的自動壓縮特性

數據壓縮的藝術&#xff1a;Kylin Cube設計中的自動壓縮特性 在大數據的浩瀚宇宙中&#xff0c;Apache Kylin以其卓越的數據立方體&#xff08;Cube&#xff09;技術&#xff0c;為企業提供快速的多維數據分析能力。隨著數據量的不斷增長&#xff0c;存儲效率成為了一個關鍵問…

用友NC Cloud blobRefClassSearch FastJson反序列化RCE漏洞復現

0x01 產品簡介 用友 NC Cloud 是一種商業級的企業資源規劃云平臺,為企業提供全面的管理解決方案,包括財務管理、采購管理、銷售管理、人力資源管理等功能,實現企業的數字化轉型和業務流程優化。 0x02 漏洞概述 用友 NC Cloud blobRefClassSearch 接口處存在FastJson反序列…