OpenVino概念
1.png

圖改自https://www.learnopencv.com/using-openvino-with-opencv/#openvino-opencv
將已經練習好的深度學習model經過Model Optimizer優化後
(何謂優化請見下面Model Optimizer條目)
經過Inference Engine  跟 硬體(CPU/ GPU /VPU)
到達加速Inference 的目標

★ Model Optimizer
      ●摘錄自:【AI_Column】應用 Intel OpenVINO 土炮自駕車視覺系統
       協助去除已練習好的模型中的冗餘參數,並可將 32bits 浮點數的參數降階,
      以犧牲數個百分點正確率來換取推論速度提拔數十倍到百倍。

   ●把深度學習框架Train出來的model, 轉換成 Inference Engine 可以用的IR file
       目前支援的深度學習框架有 Caffe*, TensorFlow*, MXNet*, and ONNX*.
     ●之前以為所有由Caffe*, TensorFlow*, MXNet*, and ONNX* 訓練出的model
     都可以由Model Optimizer轉換成IR file  ,但看了 的Supported Models章節
     仿佛不是這麼一回事,需找一個底下沒提到的model來嘗試看看
     有成效我再更新
      Supported Models
        For the list of supported models refer to the framework or format specific page:
•        Supported Caffe* models
•        Supported TensorFlow* models
•        Supported MXNet* models
•        Supported ONNX* models
•        Supported Kaldi* models
   ●有script可以 configure Model Optimizer  以導入
     所有OpenVino supported的深度進修框架或單一深度進修框架
       若要手動configure Model Optimizer也有文件可以參考 ->  Model Optimizer Developer Guide.

★ IR file
   包括train model的topology 跟weight,利用者只要知道如何將
   練習好的model change to IR file,就能夠利用OpenVino加快Inference

★ Inference Engine
   用來run 最好化後的深度學習model
   C:\Program Files (x86)\Intel\openvino_2021.4.689\
   deployment_tools\inference_engine\samples底下有放一些IE的samples   
   各Samples申明  
   延長閱讀 → 若何run Inference Engine Samples
★ VPU plugin
    這份文件似乎在講如何的model能被vpu 支援
■OpenVino不供應Model Training
   OpenVino的model來源以我的理解就以下這幾種
   1.本身用OpenVino supported的深度進修框架去train  model
      或去Model Zoo下載所需model
1.        Caffe [ Model Zoo ]
2.        Tensorflow [ Model Zoo ]
3.        MxNet [ Model zoo ] 保持失效
4.        Open Neural Network Exchange (ONNX) [ Model zoo ]
   2.OpenVino裡面附的pre-trained model  
      不外紛歧定有吻合你需求的
   3.OpenCV DNN sample model
■相幹名詞
★ OpenVino用的是CNN( Convolutional Neural Networks )模子 ;
   還包括了Deep Learning Deployment Toolkit (Intel® DLDT).
    網頁設計2.png
      Convolution:影象->filter->擷取出特徵,比如邊沿。
      此種進程叫做Convolution
★ OpenCV和OpenVX有什么联系和区别?
★ 機械進修
   機器進修理論主要是設計和闡發一些讓電腦可以主動進修的演算法。
    機器進修演算法是一類從資猜中主動分析獲得紀律,並操縱紀律對未知資料進行猜測的演算法。
★ 深度進修
   是機械學習的分支。 深度學習框架比較
■若何安裝OpenVino
照著 安裝步驟做便可 (英文看不懂請自行克服)
-------------------------------------------------------------------------------------------------------------------------------
上述的東西都了解以後,接下來開始DEMO OpenVino附的兩個script
■Run the Image Classification Verification Script
   ★在C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\demo下
   可以找到demo_squeezenet_download_convert_run.bat。
   這個demo使用squeezenet model 判定照片中的Object屬於什麼種別
   可判定的種別有一千種,有哪一千種可以看底下這個檔案
   C:\Program Files (x86)\Intel\openvino_2021.4.689\
   deployment_tools\demo\squeezenet1.1.labels
   *路徑中的openvino_2019.1.148的2019.1.148這數字代表版本, 是以若安裝的OpenVino版本跟我不同,那數字也會不同
   *若安裝不只一個版本的OpenVino,分歧版本的OpenVino會有屬於自己的資料夾
   而openvino阿誰捷徑會指向最後安裝的誰人版本
網頁設計    3.png
★這個batch的內容以下
   Step1 :  下載SqueezeNet model (使用downloader.py)
   Step2: 用 Model Optimizer 把SqueezeNet轉成IR file。
                (利用mo.py)
   Step3: Build Inference Engine samples
                batch檔履行過程當中, 會看到cmd 畫面卡在
                Build Inference Engine samples using MS Visual Studio (MSBuild.exe)一段時候
                請耐心等待 。此步會產生 classification_sample.exe
   Step4: 把car.png & IR file當作iInference Engine的input 來剖析car.png
   ↓This is car.png
    
4.png
   ↓針對比片中的Object,分類前十名的後果依序從Prob.高到低擺列
   分類成果最高分數是sport car

   5.png
★重跑demo_squeezenet_download_convert_run.bat
   跑過一次batch之後,若再履行一次batch,
   因為某些檔案跑過一次batch以後就已經存在了
   batch裡的寫法偵測到某些檔案存在以後就會疏忽掉某些Step
   若想要完整地再跑一次,需刪除以下檔案
   ●刪除model
   C:\Users\$(username)\Documents\Intel\OpenVINO\openvino_models
    \models\FP32\classification
   底下整個squeezenet 資料夾刪掉
   注意:FP32是針對CPU device的,若是VPU devide ,對應到的folder name是FP16

   ●刪除 IR       
   C:\Users\$(username)\Documents\Intel\OpenVINO\openvino_models\ir\FP32
    \classification\squeezenet\1.1\ 底下全部caffe 資料夾刪掉
   注意:FP32是針對CPU device的,若是VPU devide ,對應到的folder name是FP16
------------------------------------------------------------------------------------------------
■Run the Inference Pipeline Verification Script
★demo_security_barrier_camera.bat 這個batch的內容如下
Step1 : 下載 three pre-trained models IRs
Step2:build Security Barrier Camera Demo Inference Engine來闡明car1.bmp
Step3: 圖片裡的object會被第一個model判斷成是車輛,
              這個判斷結果被看成input 導入到下一個model,
              這個model可以指出車輛的一些屬性 ex:車牌
              最後 車牌被看成input導入到第三個model,這個model可以把車牌的字元辨認出
              會被稱做Pipeline 我想應當是辨認了局從第一個model傳到第三個model
             像水流在管線裡活動一樣吧...

        
★重跑整個bat
  跑過一次batch之後,有些step會被忽略掉,因為某些檔案已存在了
  若要乾乾淨淨的再跑一次,需要刪除以下檔案
  ●刪除 IR      
  C:\Users\$(username)\Documents\Intel\OpenVINO\openvino_models\
  ir\FP32\classification\squeezenet\1.1\
  底下整個caffe 資料夾刪掉

----------------------------------------------------------------------------------------------------------
以上範例是使用openvino在 CPU
若用其他intel 硬體, 好比movidius gpu vpu  FPGA or MYRIAD
請參考安裝文件中 Optional Steps這部分
-----------------------------------------------------------------------------------------------------------
■OpenVino PreTrained Model
★OpenVINO供應好幾個pre-trained models
可以用Model Downloader 或到
https://download.01.org/opencv/2019/open_model_zoo/ 去下載
下載的model是被優化過的model,稱作IR file( xml 檔+ bin 檔)

★可在這邊 https://docs.openvinotoolkit.org/latest/_demos_README.html
Demos that Support Pre-Trained Models章節
看各個pre-trained model support哪些Device
Object Detection Models
裡面包含好幾個model可以用來偵測object
包括:人臉,人,車輛
Object Recognition Models
用來分類或特徵辨識,利用在其他detector以後。好比先做人臉偵測,再做年齒/性別辨識

Semantic Segmentation Models
原文網址:https://kknews.cc/zh-tw/tech/mgqvl9.html
語義分割(Semantic Segmentation)的目標是給定一張圖片,對於圖片中的每一個像素做分類。
例如圖1(a)中給出的原始輸入圖片,語義分割算法對圖片中的每一個像素分類,
獲得如圖1(b)的結果。在圖1(b)中,分歧色彩代表分歧類別:
如紅色代表行人,藍色代表汽車,綠色代表樹,灰色代表建築物等。
語義朋分問題在良多應用場景中都有著十分主要的感化(例如圖片理解,主動駕駛等)

6.png

Instance Segmentation Models
INSTANCE SEGMENTATION可以知道同類object的數量(不同色彩表示)
https://arxiv.org/pdf/1405.0312.pdf
 8.png
9.png
Human Pose Estimation Models
Image Processing
提高影像品質
10.png

Text Detection
Action Recognition Models
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
■Trouble Shooting
● 安裝時遇到CMake*/ Python* version  xxx or higher is not detected.
       11.png

      ->Fixed by 安裝如提醒的CMake & Python版本後
      再重安裝一次OpenVino
● 電腦已經有安裝Python3.6.5了
      仍是會呈現Python* version  xxx or higher is not detected.
      ->Fixed by 再安裝一次Python >選Modify  >勾選Add Python.....
      ->再安裝一次OpenVino就可以了

      12.png

● 履行demo_squeezenet_download_convert_run.bat前
      若沒有安裝cmake 會呈現以下Error
       'cmake' is not recognized as an internal or external command,
       operable program or batch file.
       ->Fixed by 安裝cmake
       請參考 Install CMake* 3.4 or higher章節
  ● 履行demo_squeezenet_download_convert_run.bat産生以下Err
      target_precision = FP32
      Python 3.6.6
      ECHO is off.
      PYTHONPATH=C:\Program Files (x86)\IntelSWTools\openvino\python\python3.6;
      [setupvars.bat] OpenVINO environment initialized
      INTEL_OPENVINO_DIR is set to C:\Program Files (x86)\IntelSWTools\openvino
      Python 3.6.6
      ECHO is off.
      Collecting pyyaml
      Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by       'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Proxy Authentication Required (         Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied.  )',))':                 /simple/pyyaml/
       ...
      Could not find a version that satisfies the requirement pyyaml (from versions: )
      No matching distribution found for pyyaml
      ->Fixed by 更改proxy設定
      按照Cannot connect to proxy這個訊息判定應當是proxy問題
      本來我是使用公司內網run script
      後來將proxy調整成以下設定&連手機熱門就可以履行了  
       13.png
  ● 出現以下Error
     ###############|| Generate VS solution for Inference Engine samples using cmake ||###############

     Waiting for 2 seconds, press a key to continue ...
     Creating Visual Studio 15 2017 x64 files in      
     C:\Users\$(userName)\Documents\Intel\OpenVINO\inference_engine_samples_build...
     CMake Error at CMakeLists.txt:7 (project):
     Generator
     Visual Studio 15 2017
     could not find any instance of Visual Studio.
     -- Configuring incomplete, errors occurred!
     ->fixed by reboot
    因為在安裝openvino之前我有開visual studio installer去 modify設定
    設定完後沒有依照指導重開機
    因此泛起以上issue
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
●其它參考貫穿連接
  - OPENvINO with openCV
  - 既跨平台又開源 英特爾開啟聰明視覺創新
    超過20個預先練習的模型,和針對OpenCV和OpenVx的最佳化電腦視覺庫。
    OpenVINO工具套件可透過CPU、GPU、FPGA、Movidius VPU(AI晶片 )等硬體進行部署,
    增強視覺系統功能和性能
-   SqueezeNet
     SqueezeNet 是圖片分類模子,最合適參數較少及較小的模子利用,相較於現代圖片分類模子 (AlexNet),
     不會犧牲品質。
-   C:\Program Files (x86)\Intel\openvino_2021.4.689\documentation

網頁設計

網頁設計 

文章標籤

robbinnycr707 發表在 痞客邦 留言(0) 人氣()

註冊、設置好狐狸錢包後,如文內新增BSC鏈一般新增Arbitrum鏈網路。

網路名稱
文章標籤

robbinnycr707 發表在 痞客邦 留言(0) 人氣()

ESP32 腳位 34 對應10K歐姆電阻與光敏電組連接處
ESP32 腳位 27 對應LED 正極
10K歐姆電阻另外一腳接VCC
LED腳負極接地
光敏另外一腳接地
光敏電阻與10K歐姆電阻毗連
如圖:

網頁設計

1.jpg

文章標籤

robbinnycr707 發表在 痞客邦 留言(0) 人氣()

網頁設計
完成圖
3.png
文章標籤

robbinnycr707 發表在 痞客邦 留言(0) 人氣()

ESP32 腳位34 毗鄰到可變電阻腳位 2
ESP32 腳位VIN 毗鄰到可變電阻腳位 1
ESP32 腳位GND 毗連到可變電阻腳位 3
1.jpg


讀取數值為12 bits = 4096
0 - 4095

程式碼:

  1. const int potPin = 34;
  2. int val=0;
  3. void setup() {
  4.   Serial.begin(115200); //連線速度
  5.   delay(1000);
  6. }
  7.  
  8. void loop() {
  9.   // put your main code here, to run repeatedly:
  10.   val = analogRead(potPin); //讀取電壓數值
  11.   Serial.println(val); //印出電壓數值
  12.   delay(500); //延遲0.5秒
  13. }
文章標籤

robbinnycr707 發表在 痞客邦 留言(0) 人氣()

1.jpg
php5與php7的區別是什麼?下面本篇文章就來給各人對比一下php5與php7,介紹php5與php7之間的區別。有必然的參考價值,有需要的朋友可以參考一下,希望對你有所匡助。
文章標籤

robbinnycr707 發表在 痞客邦 留言(0) 人氣()

232814bb9b2u8hcptv6dc7.png

展現網址:點我觀看

 

文章標籤

robbinnycr707 發表在 痞客邦 留言(0) 人氣()

在利用CSS的時候,用某些殊效能讓網站更有活力,假如運用JQUERY又太過複雜

不過今天作者看到某網站的應用不錯,於是就哄騙CSS也做了

可以看到下圖,滑鼠未移置圖片類型

1.png



用CSS寫下列代碼
 
  1. .chimga{
  2.     margin:10px;
  3.     width:100%;
  4.     height:100%;
  5.     box-sizing:border-box;
  6.     overflow:hidden;
  7.     display:block;
  8. }
  9. .chimga:hover img{
  10.     -moz-transform:scale(1.3) rotate(2deg);
  11.     -webkit-transform:scale(1.3) rotate(2deg);
  12.     -o-transform:scale(1.3) rotate(2deg);
  13.     -ms-transform:scale(1.3) rotate(2deg);
  14.     transform:scale(1.3) rotate(2deg);
  15. }
複製代碼
文章標籤

robbinnycr707 發表在 痞客邦 留言(0) 人氣()

假如編譯直行時呈現以下訊息,就是電腦與 Arduino 板子沒法溝通

1.png

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x9f


1.USB 有無連接。(看 Arduino 板子上的燈有無亮就能夠確認這點)
2.有無設定 Arduino 的驅動程式。

3.Arduino Board 的板型是不是准確 (選擇 Arduino IDE 功能表中的 Tool/Board 確認板型)
4.COM port 設定是不是准確。
選擇 Arduino IDE 功能表中的 Tool/Serial port 確認 port
您可以用裝置經管員看看 (Windows 中選 裝配辦理員/毗鄰埠/),由於我的 Arduino-UNO 用 USB 摹擬為 COM11,因此我在 Tool/Serial port 必需選擇 COM11


5.最後是PROCESSOR是否拔取准確

文章出處:網頁設計,網站架設 ,網路行銷,網頁優化,SEO - NetYea 網頁設計

文章標籤

robbinnycr707 發表在 痞客邦 留言(0) 人氣()

DEMO圖片
2.png

Strength.js 套件能用在註冊時就先搜檢暗碼的強度,目前許多網站都有會員機制,良多人怕密碼會忘掉或是偷懶城市用一些很簡短簡單的暗碼,這樣就讓其它歹意的使用者就有機可趁,這也讓網站的管理者很頭大。

此套件主要的標準分數為:
暗碼必需包含8個字符以上
暗碼必需包括1個小寫字母
暗碼必須包括1個大寫字母
暗碼必需包含1個數字
固然有非凡的字元也是加分的關鍵

使用方法:
第一步 載入 JavaScripts 和 CSS 的樣式檔案

  1. <!-- 樣式檔案 -->
  2. <link href='strength.css' rel='stylesheet' type='text/css'>
  3. <!-- 利用 Google 的 API 獲得 jQuery-->
  4. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  5. <!-- Strength.js 的主程式檔案-->
  6. <script type="text/javascript" src="strength.js"></script>
文章標籤

robbinnycr707 發表在 痞客邦 留言(0) 人氣()