歡迎!感謝您收看本集節目。今天我主要想介紹如何將影像整合到 JMP 的工作流程中。我將結合使用 JMP 和 JMP Pro 的功能進行演示,如果使用 JMP Pro 的功能,我會特別說明。說到將影像整合到 JMP 的工作流程,其實整個工作流程非常龐大,我們可以在工作流程的任何地方進行影像處理,從將影像用作資料來源到將其用於分析,當然,最終將其整合到我們的輸出中。
話雖如此,今天我想進行一些案例研究,但首先我想先簡單介紹一下,並介紹一下我們將要討論的內容。我將主要示範如何讓 JMP 為我們建立圖像,例如,如果我有來自其他來源的圖像,如何將它們匯入資料表。也許你需要從靜態圖像中提取信息,並將其導入到動態 JMP 報告中。我們將透過幾個範例來實現這一點。同樣,從靜態圖像到我可以實際操作的圖像。
然後,我們會稍微轉換一下思路,利用這些影像,例如拍攝某個物體的熱圖,並將其轉換成曲線,以便在 JMP 的函數資料探索器中使用。我們也會利用圖像來建構溫度模型。我們會做很多事情,甚至會利用這個模型進行即時監控。
話雖如此,我還是要結束這個話題,我們直接開始吧。我覺得最好從個案研究的角度來討論。這裡面有一段故事。不要過度解讀,因為大部分內容都是我編的。主要是為了敘述一個故事。
假設我們是 Casey Sparks,一位負責製造一台機器的電氣製程工程師,這台機器對於紅三角零件工廠的零件製造流程至關重要。我們已經製造了這台機器的原型,但機器總是過熱。我們已經能夠追蹤到機器上一塊特定的內部電路板,內部電路板的意思是這塊電路板是我們自己製造的。這太好了,因為這意味著我們可以對其進行修改。真的,公司需要這件事昨天就完成。它需要做好投入生產的準備。生產一直在努力滿足這種新產品的需求,而這台機器真的會讓每個人的工作變得輕鬆得多。它會影響每個人的士氣。當然,由於這種變通方法,加班預算受到了影響。
就我個人而言,這位名叫凱西 (Casey) 的人物是紅三角 (Red Triangle) 的新成員,她希望能有所作為。我們都希望在工作上有所作為。我們將使用圖像來演示理解、解決問題以及驗證我們是否已解決問題的過程。我們將一起完成理解過程。我們將一起進行實驗過程,然後一起進行驗證過程,基本上就是整個演示過程。
我們先從資料表開始。這種情況可能經常發生,例如你在做研究時,會畫出一組圖表。如果能把這些圖表放到一個表格裡,然後再進行一些處理就太好了。這很簡單,但它隱藏在“編輯”功能表中。
在 JMP 中,右鍵單擊任意圖像,然後轉到「編輯」選單,您會看到下面有一個選項,上面寫著「製作如下圖表表格」。這真的就完成了。現在,由於這份報告中有多個相同的圖表,JMP 已經幫我製作了這張表格,而且這些圖表實際上是以全尺寸、全解析度顯示的。
在討論這個問題的時候,我們可以開始對每個文件做一些筆記。 Casey 發現了這四個潛在問題。她想做一些筆記,並將這份文件儲存到她的專案資料夾中,這樣以後別人研究這個問題的時候,就能看到這些筆記和圖表。這真的太棒了。
再次強調,操作非常簡單,只需右鍵單擊圖表,進入「編輯」選單,然後建立一個像這樣的圖表表格。這是一個令人驚嘆的功能。稍後我將向您展示如何非常快速地將您自己的圖像匯入資料表,速度大概就是這樣。
也許我們可以稍微改變一下方向。我們已經有這張初始因素的圖表了。這大概是Casey正在考慮嘗試的四個潛在因素。她還找到了幾張需要用來取得數據的圖片。
這裡稍微繞個彎。本期刊物中有一個鏈接,即將分享,指向 JMP 市場上一個名為“圖像轉表格”的擴展程序。坦白說,這個插件是我寫的,所以我認為它很棒。不過,您可以免費下載並安裝到 JMP 中,然後就可以匯入映像了。我這裡有幾個範例,我們將以第一個例子為例。
假設凱西發現…她整理了公司先前的實驗資料庫,找到了一張10年前某人繪製的圖表,上面用某個任意單位的功效對某個X因子進行了統計。這真的很酷。她對此感到非常興奮,因為這能幫助她理解其中一個因素。但她很想得到一個估算值,看看它會不會持續上升?尤其是當X等於7時,她真正感興趣的是這個。
除了畫一條線,用某種統計學的嚴謹方法觀察,她不能推論 X 等於 7 嗎?答案當然是肯定的。很簡單。安裝好那個插件後,你只需選擇它,它就會問你,你的圖片檔案在哪裡?我們把它指向那裡。不好意思。
我們得到了一張圖像的圖片,下面還有一個小控制台。我只需要推送它,移除白色像素,你就會看到,我們導入的資料從原本需要的 27 萬行變成了 5 萬行。圖像轉成表格後,通常會變得很大。只要能節省時間,那就太好了。
不過,按下按鈕後,你會得到一個數據表和幾張圖表。有時黑白圖表效果更好,有時彩色圖表效果更好。在這種情況下,我認為彩色圖表效果更好。我們來看看導入的50000像素的資料表。我要把它移到這裡,思考接下來需要做什麼。為了推斷X等於7的位置,我們需要執行幾個步驟。
首先要做的是重新校準 X 軸和 Y 軸。為此,我只需進行選擇即可。由於這只是“圖形生成器”,因此互動式選擇非常容易。我已經選擇了圖形上的區域。我將點擊重新校準 X 軸和 Y 軸。我選擇的 X 軸範圍從 0 到 5,Y 軸範圍從 0 到 1。我只需要輸入這些值即可。 0 到 5,0 到 1。
我點擊“確定”,然後它告訴我,嘿,我為你創建了這些新列。你可能想用一下。是的,我喜歡這個主意。每次我這樣做,我都會驚訝於它是多麼簡單,我多少次希望以前找到一張圖片時就能有這個功能。現在這些比例尺對齊了。這真的非常非常酷。
不過,我下一步只需要保留中間這條藍色軌跡,不需要其他顏色。因為我現在在 JMP 中已經有這些數據了,所以這很簡單。我要打開“聚類”選單,對於像這樣的大型資料集,K 均值聚類非常快。
我真正需要做的就是告訴 JMP,我希望你對顏色進行聚類。我希望你把它分成幾種顏色。現在我可以看一下圖表,用手指數一下。我有黑色、兩種灰色和藍色。所以一共有四種顏色。我可能想在這裡輸入“4”。
不過,我發現,這是因為電腦在製作圖像時會將顏色混合在一起。我發現,將可見的顏色數量加倍,效果真的非常好。我點擊了“go”。同樣,這個功能很棒,而且具有互動性,我可以使用鍵盤上的向下箭頭,直接瀏覽。
這不是簇 1。哦,我想點擊一下就到了。這是簇 2。我可以繼續。我要做的是,選擇除簇 2 之外的所有內容,然後轉到我的資料表並刪除那些行。好了。現在我有了那條藍色軌跡,而且它的單位正確。現在我可以很容易地用我校準的單位來擬合那條曲線。
我知道,因為它會上下波動……我要按住 Alt 鍵並點擊它。我知道,隨著它上下波動,它可能是雙指數函數,但我不知道它是 4 還是 5。我可能應該記住這一點。它是一個雙指數 5 參數,因為它位於最上面,所以我要消除它。
現在,我突然有了推斷的能力。這是一個非常好的R平方,0.99。我可以看看那個刻畫器。我可以看到我們在7的位置。我可以得到這個值。把影像中的資訊匯入JMP真的非常非常容易。讓我先整理一下,然後再舉一個例子。我來做一下。
Casey 能推論 X 等於 7 的情況嗎?是的,很容易。只需幾個步驟。這是 Casey 找到的另一張圖。我們假設它來自學術期刊,你會看到這是兩個不同的群組,但它只是一個圖,或者我不應該說是圖,它只是一個圖的圖像。
她真正想做的可能是為黃點和綠點分別繪製一條擬合線,兩條不同的擬合線。她沒有數據,這只是從網路上找的。她能為每組分別繪製一條擬合線嗎?當然可以。我們將再次使用這個插件,並結合這張圖到表格。我們選擇這張範例散點圖。
順便說一句,我忘了說了,如果你下載了這本日記,你就能存取所有文件。你按下那個按鈕,它就會創造你需要的所有檔案。
我們只需要像之前一樣操作即可。首先,移除白色像素。點選“導入”按鈕。導入完成後,我們像之前一樣重新校準座標軸,也就是選擇已知邊界的區域。看起來,X 軸的範圍是 50 到 70,Y 軸的範圍是 60 到 180。點擊“重新校準”,然後從 50 到 70,再從 60 到 180。點選“確定”。現在我有了這些新的座標軸。太棒了。
接下來,我要根據顏色對這些數據點進行分類。同樣,在“圖形生成器”中,我只需選擇對我來說重要的內容。然後,我會到這裡,說「我想進行一些顏色校準」。這裡有幾個選項。這是一個分類圖例,可以是文字或字元。
我要按下這個按鈕,JMP 會…我可能應該把那個資料表弄出來。好了。它高亮了這些綠色的。它讓我輸入與它們相關的文字。這是 A。接下來是 B。它往往會找到一些額外的顏色,就像我們提到的,計算機會進行混合。我會跳過出現的其他顏色。好了。背景中還有三種我們不太在意的額外顏色。
但這裡有個很酷的功能。現在,如果我打開資料表,選擇 A,它就是綠色;選擇 B,它就是黃色/橘色。但也許更重要的是,這裡還有所有其他的內容。因為我不關心其他內容,所以我可以刪除它們。這樣就只剩下圖例的殘留部分了,我可以刪除它。
現在我已經把資料導入了。不過,我目前還沒有找到一個單獨的點。我有46個點。我擔心如果用那條擬合線,可能不太準確,因為每個資料組的點數都不一樣。我覺得我們還沒準備好。或許我想做的是找到每個點的中心。我們將使用和之前一樣的工具,K均值聚類。
我不會根據顏色進行聚類(顏色我已經有了,沒錯),而是根據 X 和 Y 組進行聚類。基本上,我告訴 JMP,我希望你創建一些聚類。現在,我們面臨這個問題。有多少個聚類?我不知道。看起來在 30 到 40 個之間。我可以數一下,但如果我直接輸入這個範圍的聚類,JMP 會告訴我,顯然是 38 個聚類。我更喜歡這樣,比手動計算好多了。
我要回到38號這裡再確認一下。我想把顏色存到表格裡。這會改變圖形產生器裡的顏色。只要我沒有看到某個數據點直接切成兩半,我就知道我得到的數值是正確的。我可以把這些簇存到表格裡。現在我的資料表基本上包含了我需要做的一切。它包含了簇和標籤。
我可以很快地總結一下,比如說,我想知道每個聚類屬於哪個組,然後我想知道 X 和 Y 的中點或平均值。如果我把這些做成資料表,然後把它拉進圖形產生器,最後就能回答這個問題了。最後,也就是說,這總共花了我們大約 2 分鐘。太酷了。
現在我可以找這個,然後求出那個方程式。回到我們最初的問題,Casey 能計算出每組的擬合線嗎?她完全可以。我們可以輕鬆地從圖像中獲取資訊。我們可以處理這些訊息,並且可以使用 JMP 工具來處理。這真的非常非常酷。對我來說,它能做到這麼多,真是令人印象深刻。
清理一下這裡,然後我們進入下一個階段,也就是…在背景資訊中,Casey 運用所有這些資訊縮小了實驗的幾個因素範圍。我們再次嘗試降低某個組件的溫度。她將範圍縮小到幾個因素,並製作了這些測試板,總共有 20 個。
然後,她對每塊電路板進行了20分鐘的壓力測試,但輸出結果並不是一個數字。輸出的是一張熱圖像,大概像這樣。有沒有辦法利用這張影像來降低電路板的總溫度?也許不只是最熱點的溫度,而是電路板的總溫度?當然,答案是肯定的。我們已經做過類似的測試了,用圖像來做表格,所以我在這裡走個捷徑。
基本上,我們需要對她測試的每一張圖像的數據進行一些處理。你可能看不太清楚,但這裡有一個淺灰色的小邊框。如果我選擇它,然後刪除它,再選擇最熱點,也就是這裡,然後我選擇與最熱點相同的 Y 軸,並刪除其他點,這樣我就可以將這裡的 Y 軸從僅顯示一條軌跡改為顯示溫度本身,這樣我就可以使用它了。
這看起來可能很複雜,但我也創建了一個工作流程來做這件事。這只是我記錄了自己在JMP中操作的過程。我確實稍微作弊了一下,寫了一個小腳本,但那隻是為了選擇。工作流程會問我,嘿,這是第幾個運行號碼?它會保存那個資料表。
生活真美好。用 20 張圖片做這件事沒什麼大不了的。如果你真的不想重複 20 次同樣的工作流程,你也可以寫個腳本來做。我不會給你演示,但如果你好奇的話,我也附上了。這個過程可以照著做。 Casey 可以用這個過程來測量…我們來看看每個 X 位置分別運行一次。
你可以看到,每次運行的實驗設計 (DOE) 都重複了好幾次。現在,我們創建了這個包含 20 次運行的實驗設計 (DOE),並將影像資訊整合到其中。這意味著我們可以使用函數資料探索器 (Functional Data Explorer)。順便說一下,函數資料探索器是 JMP Pro 的一項功能,但我們可以將其用於所有這些跡線。抱歉,我跳過了一步。這個數據表可能比較直觀一些。
我擁有所有這些運行數據和所有測試板的所有跡線,以及一個運行零點,這是理想值。我可以告訴 JMP Pro 中的函數資料瀏覽器:「嘿,這是我所有的跡線。我有一個目標。你能優化這個目標嗎?」它會告訴我需要將因子設定到哪裡才能實現目標。我還可以進行實驗,看看溫度跡線會發生什麼變化。
能夠從電路板及其溫度的圖像,到 DOE 設置和因子設置,從而最大限度地降低整個表面的整體溫度,而不是僅僅改善一個數據點,而這可能會以犧牲其他數據點為代價,這真是太酷了。這真的太酷了。
Casey 完成了那個實驗,並製作了她理想的最佳點電路板,準備將最終的機器投入生產。但她希望對其進行監控,因為運行 DOE 並找到最佳點是一回事,而將這個最佳點投入生產並進行驗證,確保其性能良好則是另一回事。
問題在於,測試設備配備了校準過的溫度感測器和熱像儀。她可以同時使用這兩個設備,但生產設備只有一台熱像儀,而且這台熱像儀已經安裝好了,所以她不想更換任何溫度感測器。她仍然想知道最高溫度是多少。
有幾個問題。她能用圖片當溫度計嗎?或許可以更進一步,如果溫度過高,她能收到通知嗎?我不知道。如果她想知道溫度是多少,她能在手機上查看嗎?我們先從用這些圖片當溫度計開始吧。同樣,如果你按下那個按鈕,它也會為你建立這個資料夾。
透過所有這些 DOE 檔案(包括圖像),您會發現這裡的第 1 次運行比第 2 次運行稍微亮一些,因此溫度也稍微高一些。我想要做的是將所有這些圖像快速導入 JMP,並用它們創建一個資料集。這非常簡單。就在文件「導入多個文件」中。就在那裡。我只需要告訴 JMP 在哪裡執行此操作。當然,它會記住我上次使用的時間,所以它已經在那裡了。
我要按擴展名選擇文件,我有一些 PNG 文件,因為我不想導入 JMP 文件,只想導入圖片。如果我點擊“新增檔案名稱”列,JMP 會自動提示:“哦,你有很多圖片?我知道怎麼處理。我只需要把它們放到資料表中就可以了。”
我不需要複製貼上任何東西。基本上,只要點擊三下就搞定了。這真的很酷。影像可以直接使用。稍微重新編碼一下,我就能把檔案名稱簡化成運行編號。
為了便於我們的案例研究,我們假設Casey做了這項工作。她獲得了運行次數和實際最高溫度,因為她的機器配備了感測器和熱像儀。她將用這些來測試,並建立一個模型,看看她能否根據圖像預測溫度。這需要一些計算量。這也是JMP Pro的功能。它是JMP Pro的一個插件,但本質上,它是一種使用圖像並利用這些圖像創建模型的方法。這真的很酷。
在本例中,我們有一個模型正在預測…它對模型中保留的資料的 R 平方約為 0.8。 Casey 繼續使用該模型並為其產生 Python 程式碼,然後取得該 Python 程式碼。當然,我認為她需要在生產機器上安裝幾個模組。取得這個 Python 程式碼並將其安裝到生產機器上。
然後,生產機器可以使用在 JMP 中建立的模型,但它將使用其 Python 版本。她不必在世界上的每台機器上都安裝 JMP。她只需使用 JMP 創建模型,然後機器就可以運行該模型。真的非常酷。她還編寫了一些程式碼,將其輸出到資料庫,然後使用 JMP Live 自動刷新並查看溫度的變化。
她訂閱了所有警告。如果溫度失控,她會立即知道,或者她也可以在手機上查看。我想我應該展示一下在手機上顯示的效果。她可以在手機上看到。是的,一切都很好。問題的答案是,如果溫度過高,她能收到通知嗎?她能用手機查看溫度嗎?是的,是的,是的。我認為最酷的是,她使用資料表中的圖像創建了一個溫度模型,而且這個模型的預測效果非常非常好。
回想一下,我們今天做了什麼?嗯,我們從 JMP 獲取了一些圖像。不好意思。我們用 JMP 產生了一些圖像。我們將圖像匯入表格。我們將其中包含的資訊、圖表或圖像匯入 JMP,然後我們就可以對其進行處理和使用。
然後,我們能夠利用這些知識進行實驗,利用從影像中推斷出的曲線,並將影像本身作為建構模型的因素。感謝收看。非常期待看到我們接下來可以用圖像做什麼。謝謝。