[OpenR8 解決方案] KVM (用 http 連線擷取遠端電腦畫面用人工智慧分析及遙控遠端電腦)

一、前言

 

我們使用 OpenR8 的 Httpd 方式操控遠端電腦來模擬 KVM 功能,範例為將貓與狗的圖片透過遠端操控,自動分類到指定的資料夾底下來,流程如下 。

 

圖1.流程圖.png

圖1.流程圖。

 

二、資料夾介紹-KVM

 

圖2.KVM 資料夾介紹.png

圖2.KVM 資料夾介紹。

 

如上,在KVM 下的資料夾內容由上至下包含 :

 

  1. data 資料夾 :
    1. testImage :

放置訓練用的貓與狗影像。

  1. deploy.prototxt :

分類的網路模型。

  1. labelmap_voc.prototxt 與 predefined_classes.txt :

分類類型。

  1. VGG_SSD_300x300_iter_120000.caffemodel :

訓練好的模型。

  1. KVM_Httpd_Client.flow :

運行在控制端。它會向 Server 要求螢幕截圖,然後從 show 出來的 window 中抓取滑鼠事件,把事件發給 Server 。以控制 Server 端的滑鼠。

  1. KVM_Httpd_Client_Caffe_DogOrCat_Example.flow :

運行此範例時,需要在 Server 開啟貓狗圖片的測試資料夾。Client 向 Server 收到螢幕截圖,然後裁切固定位置,把位置影像傳給 Caffe ,辨識是否為貓還是狗,依據辨識結果[貓、狗、空的]進行[發送滑鼠拖曳事件把圖拖曳到 Cat 資料夾、發送滑鼠拖曳事件把圖拖曳到 Dog 資料夾 、結束程式]動作。

由於[裁切位置、拖曳的座標點]為固定值,所以當運行在不同解析度的主機時,需要修改相關數值。

  1. KVM_Httpd_Client_HaveKeyBoard.flow :

以 KVM_Httpd_Client.flow 的功能加上遠端鍵盤控制功能。鍵盤能執行的部份為 0~9、a~z、enter 與空白鍵等。讀不到 shift、alt、control、F1~F12與上下左右。

  1. KVM_Httpd_Server.flow :

運行在被遙控端的主機。它建立一個 Httpd server ,收到特定指令後,依據該指令螢幕截圖、操控鍵盤滑鼠。

 

 

 

 

三、KVM 範例程式說明

 

  1. 在遠端(遙控端)電腦開啟 OpenR8 執行 KVM_Httpd_Server.flow 檔案運行 Httpd server

在遠端(遙控端)電腦開啟 OpenR8 執行 KVM_Httpd_Server.flow 檔案運行 Httpd server,如圖3圖4所示,如果有跳出 Windows 安全性警訊視窗,請選擇允許存取按鈕,如圖5所示。

 

圖3.開啟 KVM_Httpd_Server.flow 檔案.png

圖3.開啟 KVM_Httpd_Server.flow 檔案。

 

圖4.執行開啟 Httpd server 視窗.png

圖4.執行開啟 Httpd server 視窗。

 

圖5.點擊允許存取按鈕 解除 Windows Defender 防火牆.png

圖5.點擊允許存取按鈕 解除 Windows Defender 防火牆。

 

  1. 開啟 KVMdatatestImage 資料夾

當開啟 Httpd server 後,開啟路徑 KVMdatatestImage 資料夾,將此視窗放大至全畫面,如圖6所示,讓 client 端可以控制遠端電腦的滑鼠把裡面的貓狗圖片,透過 caffe 分類用滑鼠拖拉至貓或狗的資料夾。

 

圖6.testImage 資料夾 將此視窗放大至全畫面.png

圖6.開啟路徑 KVMdatatestImage 資料夾,將此視窗放大至全畫面。

 

  1. 在 Client 端電腦開啟 OpenR8 執行 KVM_Httpd_Client_Caffe_DogOrCat_Example.flow 檔案

在 Client 端電腦開啟 OpenR8 執行 KVM_Httpd_Client_Caffe_DogOrCat_Example.flow 檔案,如圖7所示。在點擊執行按鈕前,需要設定載入訓練好的 caffe 模型分類圖片、遠端 IP 位置、滑鼠點擊圖片的座標位置與拖拉圖片至指定資料夾的滑鼠座標位置,如下說明:

 

圖7.開啟 KVM_Httpd_Client_Caffe_DogOrCat_Example.flow 檔案.png

圖7.開啟 KVM_Httpd_Client_Caffe_DogOrCat_Example.flow 檔案。

 

  1. 載入訓練好的 caffe 模型

一開始先選擇第2個 intend 方塊「Caffe_物件偵測_讀取網路」內「caffeModelPath (字串)」項目,點擊「…」按鈕,選擇訓練好的 caffe 模型,如圖8所示。

 

圖8.選擇訓練好的 caffe 模型.png

圖8.選擇訓練好的 caffe 模型。

 

  1. 設定遠端(操控)電腦 IP 位置

選擇第3個 intend 方塊「字串_加法」內「字串A(字串)」項目的「serverURL_pre」參數,點擊「編緝」按鈕,只需要修改遠端(操控)電腦 IP 部份,例如 「http://192.168.88.11:9000/?cmd=」只需要修改「192.168.88.11」部份,改成要遠端(操控)電腦 IP 位置,如圖9所示。

 

圖9.修改遠端 操控 電腦 IP.png

圖9.修改遠端(操控)電腦 IP。

 

  1. 設定從遠端(操控)電腦開啟貓狗圖片的畫面裁切座標

選擇第18個 intend 方塊「影像_裁切」,修改裡面的「x、y、w、h」參數,點擊「編緝」按鈕修改,如圖10所示,可以在第18個 intend 方塊「影像_裁切」前拉入1個 intend 方塊「影像_儲存」,將遠端(操控)電腦全畫面儲存下來,如圖11所示,使用小畫家編輯此影像來看「x、y、w、h」參數,如圖12所示,讓遠端(操控)電腦開啟的貓狗圖片,可以正常裁切到正確的圖像資訊,才能分類成功,圖13所示。

 

圖10.設定從遠端 操控 電腦開啟貓狗圖片的畫面裁切座標.png

圖10.設定從遠端(操控)電腦開啟貓狗圖片的畫面裁切座標。

 

圖11.將遠端 操控 電腦全畫面儲存下來.png

圖11. 將遠端(操控)電腦全畫面儲存下來。

 

圖12.使用小畫家編輯此影像來看 x y w h 參數.png

圖12.使用小畫家編輯此影像來看「x、y、w、h」參數。

 

圖13.正常裁切到正確的圖像資訊.png

圖13.正常裁切到正確的圖像資訊。

 

  1. 設定滑鼠點擊圖片的座標位置

選擇第31個 intend 方塊「Httpd_HttpGetString」內「serverURL (字串)」項目的「serverURL_clickDown」參數,點擊「編緝」按鈕,只需要修改遠端(操控)電腦 IP 與 x、y 部份,例如 「http://192.168.88.11:9000/?cmd=mouse&x=205&y=151&event=1&flag=1」只需要修改「192.168.88.11」、「x=205」與「y=151」部份,改成要遠端(操控)電腦 IP 位置及點擊圖片 xy 座標位置,如圖14所示。

 

圖14.設定滑鼠點擊圖片的座標位置.png

圖14.設定滑鼠點擊圖片的座標位置。

 

  1. 拖拉圖片至指定資料夾的滑鼠座標位置

選擇第33個與第35個 intend 方塊「Httpd_HttpGetString」內「serverURL (字串)」項目的「serverURL_drop」與「serverURL_moveToCat」參數,點擊「編緝」按鈕,只需要修改遠端(操控)電腦 IP 與 x、y 部份,例如 「http://192.168.88.11:9000/?cmd=mouse&x=366&y=150&event=4&flag=0」只需要修改「192.168.88.11」、「x=366」與「y=150」部份,改成要遠端(操控)電腦 IP 位置及拖拉圖片至指定資料夾 xy 座標位置,如圖15所示。

 

圖15.拖拉圖片至指定資料夾的滑鼠座標位置.png

圖15.拖拉圖片至指定資料夾的滑鼠座標位置。

 

  1. 將滑鼠移開指定資料夾的座標位置

選擇第37個 intend 方塊「Httpd_HttpGetString」內「serverURL (字串)」項目的「serverURL_moveToOut」參數,點擊「編緝」按鈕,只需要修改遠端(操控)電腦 IP 與 x、y 部份,例如 「http://192.168.88.11:9000/?cmd=mouse&x=700&y=300&event=0&flag=0」只需要修改「192.168.88.11」、「x=700」與「y=300」部份,改成要遠端(操控)電腦 IP 位置及移開指定資料夾 xy 座標位置,如圖16所示。

 

圖16.將滑鼠移開指定資料夾的座標位置.png

圖16.將滑鼠移開指定資料夾的座標位置。

 

  1. 上面描述的部份為設定將圖片分類至貓的資料夾,需要再設定滑鼠分類至狗的資料夾,所以要修改第41、43、45與47個 intend 方塊「Httpd_HttpGetString」內「serverURL (字串)」項目,修改步驟請依照3.4~3.6來修改。
  2. 當所有設定都設定好,點擊「執行」按鈕,開始運行分類,如圖17所示。

 

圖17.點擊 執行 按鈕 開始運行分類.png

圖17.點擊「執行」按鈕,開始運行分類。

 

  1. 模擬 KVM 功能,將貓與狗的圖片自動分類

圖18所示,為運行分類過程,將擷圖辨識是否為貓或狗,分類至貓或狗資料夾,如圖19所示。

 

圖18.運行分類過程.png

圖18.運行分類過程。

 

圖19.將擷圖辨識是否為貓或狗 分類至貓或狗資料夾.png

圖19.將擷圖辨識是否為貓或狗 分類至貓或狗資料夾。


延伸閱讀

1.
OpenR8 社群版 - 人人都會用的 AI 軟體 (免費下載)

[CP 值最好的 AI 人工智慧電腦熱賣中]
硬體採用最新最快的 Titan RTX, RTX-2080Ti-11G, 及 TESLA V100!
視窗圖控介面,易學易用。
硬體優勢:針對深度學習最佳化設計,且經過客戶端 24H 運作驗證。
軟體優勢:事先安裝人工智慧軟體及優化設定,每週提供最新 AI 演算法下載。
公司優勢:專業人工智慧機器人設計公司,資本額一億。
歡迎企業、學校、及公家機關大量採購。
可租用,歡迎來信或來電洽詢。
詳細資料請參閱以下網址: https://tw.openrobot.club/ai_computer