Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
研究中,來自北航和微軟亞研的研究者聯合創建了一個基于圖像的表格檢測和識別新型數據集 TableBank,該數據集是通過對網上的 Word 和 Latex 文檔進行弱監督而建立的。該數據集包含 417K 個高質量標注表格,通過此數據集作者利用深度神經網絡 SOTA 模型建立了數個強大的基線,從而助力更多研究將深度學習方法應用到表格檢測與識別任務中。目前 TableBank 已開源。
TableBank 開源地址:https://github.com/doc-analysis/TableBank
表格通常以結構化的方式展示基本信息,因而表格檢測和識別是諸多文件分析應用中的一項重要任務。如圖 1 所示,由于表格的布局和格式不同,其檢測和識別是個難題。常規表格分析技術通常以文件的布局分析為基礎。但這些技術中的大多數都無法泛化,究其原因,它們依賴于手工構建的特征,而后者對布局變化不具備穩健性。最近,計算機視覺領域深度學習的快速發展極大地推動了數據驅動且基于圖像的表格分析方法。基于圖像的表格分析的優勢體現在其對文件類型的穩健性,并對文件是頁面掃描圖像還是原始數字文件格式不做任何假設。因此,大型端到端深度學習模型能夠取得更好的效果。
圖 1:不同布局和格式的表格電子文件。
現有的基于深度學習的表格分析模型通常對使用數千個人工標注訓練實例獲得的預訓練目標檢測模型進行微調,但它依然難以在現實世界應用程序中擴展。例如,我們發現,在類似圖 1a、1b 和 1c 中的數據上訓練出的模型在圖 1d 中表現不佳,其原因在于表格布局和顏色大不相同。因此,擴大訓練數據是使用深度學習構建開放域表格分析模型的唯一途徑。深度學習模型比傳統模型復雜得多,現在的很多標準深度學習模型擁有數億自由參數,且需要更多標注訓練數據。在實踐中,人工標注大型訓練數據成本高昂且缺乏靈活性,這是實際部署深度學習模型的關鍵瓶頸。眾所周知,ImageNet 和 COCO 是兩個流行的圖像分類和目標檢測數據集,兩者均以眾包的方式構建,但花費高昂且耗日持久,需要數月甚至數年時間來構建大型基準數據集。幸運的是,網絡上存在大量數字文件,如 Word 和 Latex 源文件。對這些在線文件進行一些表格標注方面的弱監督則是有益的。
為解決對標準開放域表格基準數據集的需求,該研究提出一種新穎的弱監督方法,可自動創建 TableBank 數據集,TableBank 要比現有的表格分析人工標注數據集大幾個量級。與傳統弱監督訓練集不同,該研究提出的弱監督方法可以同時獲得大規模和高質量的訓練數據。現在,網絡上有大量電子文檔,如 Word(.docx)和 Latex(.tex)文件。這些在線文檔的源代碼中包含表格的 mark-up tag。直觀地講,借助每個文檔中的標記語言,研究者可以通過添加邊框來操控這些源代碼。就 Word 文檔而言,內部 Office XML 代碼可以在標注每一表格邊界的地方進行修改。就 Latex 文檔而言,tex 代碼同樣可以在標注表格邊界的地方進行修改。這種方式可以為多個不同域創建高質量的標注數據,如商業文件、官方名錄和科研論文等,這些數據對大規模表格分析任務大有裨益。
TableBank 數據集共包含 417,234 個高質量標注表格以及各域中對應的的原始文檔。為驗證 TableBank 的效果,研究者使用當前最優的端到端深度神經網絡模型構建了多個強大的基線。表格檢測模型基于不同設置下的 Faster R-CNN 架構(Ren 等人,2015 年),表結構識別模型基于圖像-文本(image-to-text)的編碼器-解碼器框架。實驗結果表明,布局和格式變化對表格分析任務的準確率影響很大。此外,在某一特定域訓練的模型在另一域中表現不佳。這表明,在 TableBank 數據集上建模和學習還有很大的進步空間。
大致上,研究者構建 TableBank 數據集時使用了兩種不同的文件類型:Word 文檔和 Latex 文檔。這兩種文件類型的源代碼中都包含 mark-up tag。這部分分三步詳細介紹了數據收集過程:文檔獲取、創建表格檢測數據集、創建表結構識別數據集。
研究者從網上抓取 Word 文檔。這些文檔都是 .docx 格式,因此研究者可以通過編輯內部 Office XML 代碼來添加邊框。研究者并未過濾文檔語言,因此這些文檔包含英語、中文、日語、阿拉伯語和其他語言。這使得該數據集在實際應用中更多樣化、更穩健。
Latex 文檔與 Word 文檔不同,因為前者需要其他資源來編譯成 PDF 文檔。因此,研究者不能從網上抓取 tex 文檔,而是利用最大預印本數據庫 arXiv.org 中的文檔以及相應的源代碼。借助 arXiv bulk data access,研究者下載了 2014 年至 2018 年論文的 Latex 源代碼。
直觀地講,借助每個文檔中的標記語言,研究者可以通過添加邊框來操控源代碼。處理流程如圖 2 所示。就 Word 文檔而言,研究者通過編輯每個文檔中的內部 Office XML 代碼來添加表格邊框。每個 .docx 格式文件有一個壓縮包,解壓后的文件夾中有一個 document.xml 文件。在 XML 文件中,該代碼片段介于標記 <w:tbl> 和 </w:tbl> 之間,通常表示 Word 文件中的表格,如圖 3 所示。研究者修改 XML 文件中的代碼片段,使表格邊框可更改為與文檔其他部分不同的顏色。如圖 3 所示,研究者在 PDF 文檔中添加了一個綠色邊框,該表格得到完美識別。最后,研究者從 Word 文檔中獲得了 PDF 頁面。
圖 2:數據處理流程。
圖 3:通過 Office XML 代碼中的 <w:tbl> 和 </w:tbl> 標記來識別和標注表格。
表結構識別旨在確定表格的行列布局結構,尤其適用于掃描圖像等非數字化文檔格式的表格。現有表結構識別模型通常用于識別布局信息和單元格的文本內容,而文本內容識別并非這一工作的重心。所以,研究者將任務定義為:給定一個圖像格式的表格,生成表示表格行列布局和單元格類型的 HTML 標簽序列。通過這種方式,研究者可以從 Word 和 Latex 文檔的源代碼中自動構建表表結構識別數據集。就 Word 文檔而言,研究者只需將原始 XML 信息從文檔格式轉換成 HTML 標簽序列即可。而對于 Latex 文檔,研究者首先使用 LaTeXML toolkit 從 Latex 中生成 XML,然后將其轉換為 HTML 格式。如圖 4 中的簡單示例,研究者使用 <cell_y> 表示含有文本的單元格,<cell_n> 表示沒有文本的單元格。在過濾噪聲后,研究者基于 Word 和 Latex 文檔創建了 145,463 個訓練實例。
圖 4:表格轉 HTML 示例,其中 <cell_y> 表示含有文本的單元格,<cell_n> 表示沒有文本的單元格。
表格檢測
該研究使用 Faster R-CNN 作為表格檢測基線模型,其架構如下圖所示:
圖 5:用于表格檢測的 Faster R-CNN 模型。
該研究使用圖像-文本模型作為表結構識別的基線模型,其整體架構如下圖所示:
圖 6:用于表結構識別的圖像-文本模型。
表 1:TableBank 數據集的統計數據。
表 2:使用 ResNeXt-{101,152} 作為骨干網絡對 Word 和 Latex 數據集的評估結果。
表 3:圖像-文本模型在 Word 和 Latex 數據集上的評估結果(BLEU)。
表 4:生成 HTML 標注序列和真值序列之間的精確匹配(exact match)數量。
圖 7:使用 a)partial-detection、b)un-detection 和 c)mis-detection 進行表格檢測的示例。
論文:TableBank: Table Benchmark for Image-based Table Detection and Recognition
論文鏈接:https://arxiv.org/pdf/1903.01949.pdf
Node-RED 基于web瀏覽器的可視化拖拽Scada軟件
Node-RED Windows系統下安裝教程
Node-RED教程 – Windows系統下開機自啟
Node-RED教程 – 怎樣安裝節點插件
Node-RED教程-程序代碼的導入導出
Node-RED頁面(dashboard)教程
01 – excel表格生成及下載
02 – Modbus讀取數據存入csv文件
03 – 三菱MC協議讀寫
04 – Modbus讀寫及建立從站示例
05 – ModbusTCP 多個從站讀取數據寫入MySQL數據庫
06 – Modbus從站的建立
07 – 通過網址url鏈接讀寫modbus從站
08 – ui界面生成表格
09 – 動態生成圖表
10 – 自定義表格
11 – 帶有命令的UI表格
12 – HMI示例01
13 – 登錄界面及登錄自動退出UI
14 – Modbus讀取數據寫入mysql并可查詢顯示曲線圖
15 – 獲取國際空間站的位置并頁面地圖顯示
16 – 頁面顯示CPU負載率
17 – 文本轉語音示例
18 – SCADA畫面裝配線
19- Test HMI上下料
20 – 帶監控畫面語音提示的水位控制系統
21 – modbus讀取數據寫入execl文件中每天一個文件
22 – modbus讀取數據寫入mysql并可根據日期查詢并顯示曲線圖
23 – Node-RED與歐姆龍 CP1H通訊
24 – Node-RED與匯川H5U通訊
25 – Node-RED與臺達PLC AS228T通訊
26 – Node-RED與緯創PLC VC1-0806MAT通訊
27 – Node-RED與西門子S7-1200通訊
28 – Node-RED與信捷XLH-24A16L通訊
37 – Node-RED與歐姆龍PLC進行以太網連接讀取地址或多個讀取
38 – Node-RED教程-發送電子郵件
39 – Node-RED教程 與MySQL交互示例
40 – Node-RED教程-modbus輪詢通訊
01-抓取錯誤
01 – 節點執行完成后的處理
01 – 輸出payload值
02 – 輸出完整消息
03 – 輸出到控制臺
04 – 輸出到節點狀態
05 – 使用 JSONata 格式化輸出
01 – 啟動時觸發流程
02 – 定時觸發流程
03 – 在指定時間觸發流程
01 – 選項卡內的鏈接
02 – 跨選項卡鏈接
03 – Link call 調用
01 – 處理狀態消息輸出
01 – 設定payload值
02 – 設置任意屬性值
03 – 使用 JSONata 設置值
04 – 使用環境變量賦值
05 – 設置流程上下文
06 – 刪除消息屬性
07 – 移動消息屬性
01 – 延遲
02 – 通過消息屬性延遲消息
03 – 重置或刷新待處理消息
04 – 減慢消息通過流程的速度
05 – 減慢每個topic的消息傳輸速率
06 – 帶釋放的簡單隊列
01 – 從外部命令獲取標準輸出
02 – 從外部命令獲取錯誤輸出
03 – 以spawn模式運行外部命令
01 – 發送消息到輸出端口
02 – 發送多條消息
03 – 異步發送消息
04 – 記錄事件
05 – 處理錯誤
06 – 在上下文中存儲數據
07 – 顯示狀態信息
08 – 使用外部模塊
09 – 設置和關閉
10 – 異步設置
01 – 縮放輸入值
02 – 縮放輸入值并四舍五入為整數
03 – 限制輸入值
04 – 縮放并循環輸入值
01 – 選擇輸出端口
02 – 檢查所有規則
03 – 在第一個匹配后停止
04 – 根據類型選擇輸出端口
05 – 使用JSONata進行開關規則設定
06 – 使用JSONata設置開關值
07 – 重新創建消息序列
08 – 基于屬性路由消息
09 – 基于上下文值路由消息
01 – 使用Mustache語法
02 – 將結果解析為JSON
03 – 將結果解析為YAML格式
01 – 間隔輸出兩個值
02 – 如果在定義的時間內未收到消息則觸發一個流程
03 – 在流程停止發送時發送占位符消息
04 – 使用觸發節點進行超時處理
01 – 創建HTTP端點
02 – 處理查詢參數
03 – 處理URL參數
04 – 訪問HTTP請求頭部信息
05 – 向流程發送數據
06 – 將文件發布到流程中
07 – 處理Cookie
01 – 連接到TCP輸出服務器
02 – 連接到TCP輸入服務器
03 – 向TCP連接的客戶端發送回復
01 – 使用UDP協議傳輸數據
01 – 連接到WebSocket輸入服務器
02 – 連接到WebSocket輸出服務器
01 – 使用默認列名將CSV解析為消息序列
02 – 使用默認列名將CSV解析為數組
03 – 使用指定的列名將CSV解析為消息序列
04 – 將第一行中的列名解析為消息序列的CSV
05 – 將JavaScript對象轉換為CSV格式
06 – 將JavaScript對象轉換為CSV格式
07 – 將JavaScript對象數組轉換為帶有列名標題的CSV格式
08 – 在輸入消息中指定列名
09 – 當設置重置屬性時發送列名
10 – 使用連接節點連接解析的CSV消息序列
01 – 使用CSS選擇器提取HTML元素數組
02 – 通過CSS選擇器提取HTML元素序列
03 – 使用消息中指定的CSS選擇器提取HTML元素數組
04 – 使用連接節點連接提取的HTML元素序列
01 – 將JSON字符串轉換為JavaScript對象
02 – 將JavaScript對象轉換為JSON字符串
03 – 驗證輸入的JSON字符串
01 – 將JavaScript對象轉換為XML
02 – 將XML轉換為JavaScript對象
03 – 使用options屬性控制轉換
01 – 將JavaScript對象轉換為YAML
02 – 將YAML轉換為JavaScript對象
01 – 基于數字的分組模式
02 – 基于時間的分組模式
03 – 連接模式
01 – 自動合并模式
02 – 手動合并模式
03 – 序列遞減模式
01 – 對數組的 payload進行排序
02 – 對消息序列進行排序
01 – 拆分payload消息
01 – 從文本中讀取字符串
02 – 使用指定格式讀取數據
03 – 按行分割讀取數據
04 – 創建消息流程
01 – 監視文件的變化
02 – 監視目錄中的變化
01 – 將字符串寫入文本文件
02 – 將字符串寫入由屬性指定的文件
03 – 刪除文件
04 – 按指定格式寫入數據
教程地址: han-link.cn/3707.html
#工業#
一下html中文件標簽和文本標簽的使用
目的是學會使用,所以借助工具可以省好多時間
1.文件標簽:構成html最基本的標簽
html:html文檔的根標簽
head:頭標簽。用于引入html文檔的一些屬性。引入外部的一些資源
title:標題標簽
body:體標簽
<!DOCTYPE html>:html5中定義該文檔是html
2.文本標簽:和文本有關的標簽
注釋:<!-- 注釋內容 –->
<h1> 到<h6>:標題標簽自帶換行的效果
<p>:表示段落的標簽
<br>:換行標簽<br/>和<br>的寫法都不會報錯
<hr>:顯示一條水平線(也是一個自閉和標簽)水平線有一些屬性我們可以控制它的樣式。hr里面表示高度是size而不是height.對齊方式默認是居中的。
<b>:字體加粗
<i>:斜體
<font>:字體標簽(通過屬性來修改字體的字號,大小,顏色,以及字體的樣式)
<center>:文本居然標簽
這里講下網頁下面的版權標簽是如何寫出來的。
3.圖片標簽:用來展示圖片的(圖片也是一個自閉合標簽)
屬性:src:用來指定圖片的位置
什么都不寫默認就是./的形式
../表示上一級目錄
4.列表標簽:
有序列表:ol,li(li表示的是列表的每一項)
無序列表:ul,li
5.鏈接標簽:
a:定義一個超鏈接
屬性:
href:指定訪問資源的URL(統一資源定位符,就是路徑的表示形式)
target:(是目標的意思)指定打開資源的方式
_self:在當前頁面打開
_blank:在空白頁面打開
6.表格標簽:在HTML中的表格只有行的概念,沒有列的概念,將表格以行的形式進行分割,然后再對行進行操作。
table:定義表格
width:表格的寬度
border:邊框
cellpadding:單元格內容左對齊(定義內容和單元格的距離)
cellspacing:邊框合并(定義單元格之間的距離,如果指定為0,單元格的線會合為一條)
bgcolor:背景色
align:表格的對齊樣式
tr:定義行
bgcolor:背景色
align:表格的對齊樣式(是用來修改文本的對齊方式的)
td:定義單元格
colspan:合并列
rowspan:合并行
th:定義表頭單元格
<caption>:表格標題
<thread>:表示表格的頭部分
<tbody>:表示表格的體部分
<tfoot>:表示表格的腳部分
7.塊標簽:div和span是結合css使用的
span:文本信息在一行顯示,行內標簽,內聯標簽(意思就是它不會換行)
div:是會換行的。每一個div占滿一整行。塊級別的標簽
8.語義化標簽:html5中為了提高程序的可讀性,提高了一些標簽
<header>
<footer>
*請認真填寫需求信息,我們會在24小時內與您取得聯系。