【圖像標注技巧】目標檢測圖像標注技巧

介紹一些圖像標注技巧。之前引用過別人的文章 yolo目標檢測 技巧 trick 提升模型性能,deep research檢測調研報告也可以進行參考。

拉框類的標注,如果你不確定哪種方法好,你可以把所標注區域的都剪切出來,然后站在屏幕一米之外瞇起眼睛,看看能否區分不同的標注類別,人工模擬卷積過程。

1.模糊、重合圖像

參考d-fine的標注方法,模糊、重合物體可以這樣標注。
在這里插入圖片描述
前后重合(例如近處一個人張開手,遠處在他的手下面還有一個人),可以將兩個人分別標注;模糊目標也可以整體標注,但是置信度可能較低。

2.過大的目標

假設一張圖像中,人體比例大于畫面整體70%,那么你可以把圖像處理成下圖那樣(加個黑邊),然后再進行標注、模型訓練。推理的時候,如果需要,也可以把圖像進行類似的加黑邊處理。
在這里插入圖片描述

3.一般原則

  1. 距離太遠?法判斷,不標。角度相似的重復樣本只取一張 (除非角度有變化,比如在側面和正面拍攝了同一臺筆記本)。
  2. 主要目標被異物遇到遮擋?于 70%時,?需標注。(假設一個人站在一塊大模板上,只漏出脖子和胸部,那么大概率你不能把他標成“人體”;個人感覺,在這樣的條件下即便不標注,模型也有一定的概率識別出“人體”)。
  3. 只能看到?個?標的局部圖,占據整體圖像?積超過70%且?法分辨具體?標,不標(假設你在距離一臺施工機械一米的地方拍了張照片,你只能看到黃色的車體結構,但是無法分辨挖掘機/吊車等具體類型,此時可以不標注,但是模型仍有可能識別出某一種施工機械)。
  4. 對于過明,過暗,模糊,??標注圖?(圖中有標注框)時,不標。

4.細長目標

可以從中間斷開,例如一根電線被電線桿階段,則可以分成兩個區域,標注電線桿左邊和右邊的電線,如紅色框:
在這里插入圖片描述
如果中間沒有分割,例如一條垂直的細線,那么你可以把標注框稍微留寬一點(也可以先貼著邊緣標注,然后用代碼統一沿較細的邊按照10%等比例進行放大,這個方法試過,即便沒有提升,也不會有太大的損失),例如左右各延長1/3:
在這里插入圖片描述

5.傾斜目標

建議用旋轉目標檢測或分割解決。圖中紅框有些超過邊界了。

6.零散目標

假設著火了,4條火線聚在一起,遠處有一條短的火線,且距離較遠,那么也許可以使用右圖的綠框進行標注(盡可能讓畫框中的火焰面積占比大一些),但是沒有驗證過。

在這里插入圖片描述

7.L形目標

例如下圖近處的金屬桿子,呈現L形,用兩個框標注L的每一條臂。
在這里插入圖片描述

8.易混淆目標

例如吊車、斗臂車,二者底盤幾乎一致(都是黃色的多輪卡車),那么在標注的時候就可以先標出施工機械整體,再標出標“底盤”、“吊臂”、“載人斗臂”等(可以不標底盤),通過組合關系進行判斷(例如在施工機械整體大框中,有一個吊臂的框,那么大概率這就是一輛吊車臂車)。有時候你進能看到吊車的吊臂,這時候“吊臂”標簽就發揮了作用。

有其他類似的車輛,例如普通的城市救援黃色多輪卡車,你可以嘗試僅僅將其標注為底盤,然后通過斗臂和吊臂來判斷。你也可以將其標注為“城市救援車輛”,或者直接不對其做任何標注,可以試一下哪種方法效果好。

假設你正在識別地面上的深坑。水坑反光會對你造成影響,那么你就可以增加一個類別“水坑反光”,或者訓練一個二分類模型,區別深坑和水坑。玻璃瓶塑料瓶也可以采取類似的手段,先識別瓶子,再做分類。

假設你在識別電線桿上的裂縫,那么先識別電線桿,再判斷你檢測到的裂縫是否位于電線桿內部,也是不錯的選擇。

9.模型建議

以下是其他大模型給出的調研報告,截取一部分內容,完整內容請參考請參考文章deep research檢測調研報告

9.1復雜背景、模糊重合解決

  1. 專注標注: 標注時需要高度集中,仔細區分目標物體與背景。
  2. 緊密邊界: 確保邊界框緊密貼合目標,排除不相關的背景 。
  3. 明確指南:標注指南中應包含如何處理模糊邊界(例如陰影、毛發、煙霧等)的規則,明確是應該包含還是排除這些區域 。
  4. 針對性測試: 在模型評估時,應特別關注其在復雜背景和雜亂環境下的表現

9.2 小目標

可以使用sahi等框架,更精細地去識別小刮擦痕跡、破損等。具體訓練方法可以參考這個文章)。以下模型調研給出的方案也可以:
5. 保持圖像分辨率: 盡可能使用高分辨率的原始圖像進行標注和訓練,避免信息損失 。
6. 圖像切片 (Tiling):對于非常高分辨率的圖像,可以考慮將其切割成多個較小的圖塊(Tiles),然后在每個圖塊上進行標注和檢測,最后再將結果合并 。
7. 精細標注: 標注時利用縮放功能仔細定位小物體的邊界。確保所有小物體都被一致地標注,避免遺漏 。
8. 模型適配:可能需要調整模型架構,例如增加專門用于檢測小物體的特征層或檢測頭 。
9. 數據增強:使用數據增強技術(如旋轉、翻轉、色彩抖動、復制粘貼小物體等)來增加小物體樣本的多樣性和數量 。
10. 測試時放大:在測試階段將輸入圖像放大,有時可以提高小物體檢測性能,即使訓練時沒有專門標注小物體 。

9.3 共性原則

  1. 利用標注工具提供的縮放(Zoom)功能,以便在像素級別進行精確定位 。
  2. 仔細調整邊界框的邊緣,使其與物體的輪廓對齊,特別是對于不規則形狀的物體 。
  3. 盡量減少邊界框內的背景區域。如果確實需要包含少量背景(例如,為了保持一定的上下文或由于工具限制),應在整個數據集中保持一致的填充(Padding)策略**(可以借助代碼實現,參見4。細長目標**),但通常建議最小化填充 。
  4. 對于圖像中出現的同一類別的多個實例,應為每個實例單獨繪制邊界框,而不是將它們框在一起 。
  5. 邊界框(Bounding Box)應緊密地包圍目標物體,覆蓋其所有可見部分,同時避免包含過多的背景區域,也不能裁剪掉物體的任何部分 。理想情況下,邊界框的邊緣應緊貼物體最外沿的像素 。

9.4遮擋 (Occlusion):

當一個物體被另一個物體或背景部分阻擋時,就會發生遮擋 。這是現實世界圖像中非常常見且具有挑戰性的問題 。

標注策略: 關于如何標注被遮擋物體,存在不同的實踐方法,因此遵循項目定義的明確、一致的指南至關重要 。
一種常見的做法是,估計并標注出被遮擋物體的完整邊界,即使只有部分可見 。這種方法旨在幫助模型學習即使在部分可見的情況下也能識別整個物體。

另一種做法是,僅緊密標注物體的可見部分 。這種方法側重于提供模型當前可見區域的精確信息。選擇哪種策略取決于模型的預期行為和應用場景。

如果標注工具支持,可以使用特定的標簽或屬性(例如 Pascal VOC 或 CVAT 中的 occluded 標志 或自定義屬性)來明確指示遮擋情況。

對于嚴重遮擋或形狀復雜的物體,可以考慮使用實例分割 或多邊形標注 代替邊界框。在某些場景下,顯式地標注那些容易發生遮擋的邊界情況(例如,體育比賽中球員聚集的區域)可能有助于模型訓練 。通過在包含不同遮擋程度圖像的數據集上進行微調,可以提高模型處理遮擋的魯棒性 。

9.5 截斷

當物體的一部分超出了圖像的邊界時,即為截斷 。

標注策略: 通常的做法是標注物體的可見部分。在支持此功能的格式中(如 Pascal VOC),應使用 truncated 標志(通常為 1)來表明該物體被截斷 。同樣,處理截斷物體的方式應在標注指南中明確規定,并保持一致性 。

處理遮擋和截斷物體時,存在一種內在的張力:是優先保證邊界框對可見部分的緊密貼合 ,還是優先估計物體的完整范圍以保持物體身份的完整性 ?這沒有絕對統一的標準,凸顯了制定清晰、具體的項目標注指南的必要性。選擇的策略將直接影響模型如何學習處理這些部分可見的情況。

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

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

相關文章

數字信號處理技術架構與功能演進

數字信號處理(DSP)是通過數字運算實現信號分析、變換、濾波及調制解調的技術領域,其發展過程與技術應用如下: 一、定義與核心功能 技術定義:通過算法將模擬信號轉換為數字形式進行處理,具有高精度、可編程…

瀏覽器上下文通信

文章目錄 瀏覽器上下文通信同源通信同源通信流程同一瀏覽器上下文通信不同瀏覽器上下文通信 跨域通信前端和前端跨域前端和后端跨域 瀏覽器上下文通信 瀏覽器上下文通信分為兩種:同源和跨源。同樣的同源通信也分為同一瀏覽器上下文和不同的瀏覽器上下文。 同源通信…

Linux 離線部署 Docker 18.06.3 終極指南(附一鍵安裝卸載腳本)

Linux 離線部署 Docker 18.06.3 終極指南(附一鍵安裝/卸載腳本) 摘要:本文針對無外網環境的 Linux 服務器,提供基于二進制包的 Docker 18.06.3 離線安裝全流程指南。包含自動化腳本設計、服務配置優化及安全卸載方案,…

【前端】跟著maxkb學習logicflow流程圖畫法

文章目錄 背景1. 選定學習對象-maxkb應用邏輯編排2. 確定實現框架3. 關鍵邏輯:查看app-node.js4. 學習開始節點繪制流程數據形式 5. 給節點增加表單輸入框遇到過的問題 背景 看看前端如何繪制流程圖,界面好看點。 "logicflow/core": "1.…

Android 12系統靜態壁紙深度定制指南

1. 需求背景與實現原理 在Android 12系統ROM定制開發中,擴展靜態壁紙功能需要深入理解WallpaperManagerService的架構體系。系統壁紙管理通過雙端協作實現: WallpaperManagerService(frameworks層):負責壁紙狀態管理、…

相得益彰 — 基于 GraphRAG 事理圖譜驅動的實時金融行情新聞資訊洞察

*本文為亞馬遜云科技博客文章,僅用于技術分享,不構成投資建議或金融決策支持。文中涉及的公司名稱僅用于技術示例,不代表亞馬遜云科技觀點或與這些公司的商業合作關系。 背景介紹 在當今這個信息爆炸的時代,金融市場每天都在產生…

OpenCV---圖像預處理(四)

OpenCV—圖像預處理(四) 文章目錄 OpenCV---圖像預處理(四)九,圖像掩膜9.1 制作掩膜9.2 與運算9.3 顏色替換9.3.19.3.2 顏色替換 十,ROI切割十 一,圖像添加水印11.1模板輸入11.2 與運算11.3 圖像…

【MySQL】:數據庫事務管理

一:學習路徑 (1)下載安裝mysql (2)學習語言:SQL(操作數據庫) (3)mysql集群(提升數據庫存儲效率) (4)SQL使用,M…

內存函數和動態內存管理

目錄 一、memcpy庫函數介紹 1. memcpy的使用 2. memcpy的模擬 二、memmove庫函數介紹 1. memmove的使用 2. memmove的模擬 三、memset庫函數介紹 四、memcmp庫函數介紹 五、動態內存中malloc和free 1. malloc 2. free 六、動態內存中calloc和realloc 1. calloc 2. realloc 七、…

yarn的基本介紹

1.Hadoop的三大結構及各自的作用: Hadoop是一個開源的分布式計算框架,它主要包括三大核心組件:HDFS(Hadoop Distributed File System)、YARN(Yet Another Resource Negotiator)和MapReduce。以…

STM32的啟動方式

目錄 一、從主閃存存儲器啟動(Main Flash Memory) 二、從系統存儲器啟動(System Memory) 三、從內置SRAM啟動(Embedded SRAM) 四、從外掛存儲介質啟動的實現方式 1. 存儲介質選型 2. 硬件連接 3. 引…

STC定時器頻率占空比程序

// // 一、宏定義區 // #include <STC15.H> //頭文件 #include <intrins.h> //庫函數文件 #define FOSC 12000000L //IRC頻率 typedef …

數據庫服務器架構

ORM ORM&#xff08;Object Relational Mapping&#xff09;&#xff1a;對象與關系數據之間的映射 映射關系表&#xff1a; 類&#xff08;class&#xff09;—— 數據庫的表&#xff08;table&#xff09; 對象&#xff08;object&#xff09;——記錄&#xff08;record…

【論文速遞】2025年04周 (Robotics/Embodied AI/LLM)

目錄 DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning摘要 Evolving Deeper LLM Thinking摘要 Kimi k1.5: Scaling Reinforcement Learning with LLMs摘要 Agent-R: Training Language Model Agents to Reflect via Iterative Self-Train…

FortiAI 重塑Fortinet Security Fabric全面智能化進階

專注推動網絡與安全融合的全球性綜合網絡安全解決方案供應商 Fortinet&#xff08;NASDAQ&#xff1a;FTNT&#xff09;&#xff0c;近日宣布&#xff0c;旗下 Fortinet Security Fabric 安全平臺成功嵌入了 FortiAI 關鍵創新功能。這一舉措將有效增強用戶對各類新興威脅的防護…

汽車免拆診斷案例 | 2019款大眾途觀L車鼓風機偶爾不工作

故障現象 一輛2019款大眾途觀L車&#xff0c;搭載DKV發動機和0DE雙離合變速器&#xff0c;累計行駛里程約為8萬km。車主進廠反映&#xff0c;鼓風機偶爾不工作。 故障診斷  接車后試車&#xff0c;鼓風機各擋位均工作正常。用故障檢測儀檢測&#xff0c;空調控制單元&#x…

MySQL為什么默認使用RR隔離級別?

大家好&#xff0c;我是鋒哥。今天分享關于【MySQL為什么默認使用RR隔離級別?】面試題。希望對大家有幫助&#xff1b; MySQL為什么默認使用RR隔離級別? 1000道 互聯網大廠Java工程師 精選面試題-Java資源分享網 MySQL 默認使用 RR&#xff08;Repeatable Read&#xff09;…

目標檢測篇---R-CNN梳理

目標檢測系列文章 第一章 R-CNN 目錄 目標檢測系列文章&#x1f4c4; 論文標題&#x1f9e0; 論文邏輯梳理1. 引言部分梳理 (動機與思想) &#x1f4dd; 三句話總結&#x1f50d; 方法邏輯梳理&#x1f680; 關鍵創新點&#x1f517; 方法流程圖補充邊界框回歸 (BBR)1. BBR 的…

Java技術棧 —— 基本規范

Java技術棧 —— 基本規范 一、接口文檔生成工具二、接口設計2.1 開發順序2.2 接口規范 三、數據類封裝 一、接口文檔生成工具 有很多jar包都支持swagger的接口文檔&#xff0c;這樣方便了接口測試&#xff0c;不需要用apifox自己寫接口&#xff0c;直接調用文檔里的swagger接…

Django ORM 定義模型

提示&#xff1a;定義模型字段的類型 文章目錄 一、字段類型二、字段屬性三、元信息 一、字段類型 常用字段 字段名描述備注AutoFieldint 自增必填參數 primary_keyTrue&#xff0c;無該字段時&#xff0c;django自動創建一個 BigAutoField&#xff0c;一個model不能有兩個Au…