diff --git a/Readme.md b/Readme.md index fd2937d..e33d194 100644 --- a/Readme.md +++ b/Readme.md @@ -16,31 +16,39 @@ Copyright 2022 AIoT Dev. Dep., IPA # EXMU-X261 -- [EXMU-X261](#exmu-x261) - [See What's New](#see-whats-new) - [Introduction](#introduction) -- [Table of contents](#table-of-contents) +- [Getting Started](#getting-started) - [How to open an issue and sync repo on github?](#how-to-open-an-issue-and-sync-repo-on-github) - [License](#license) # See What's New -- [Release Notes](./docs/release.md) -- [Dependencies Version](./docs/release.md) +- [Changelogs](./docs/changelogs.md) # Introduction We have created this repository to provide a quick and easy way to get started with our product. Here are some tips on how to learn it. Additionally, if you have any ideas regarding our content, you can open an issue on GitHub. Sync fork will bring up the newest content from the upstream repository. -# Table of contents - - [Getting Started](./tocs/0.Getting-Started/Getting-Started.md) +# Getting Started + - [Installation and Setup](./tocs/0.Getting-Started/Getting-Started.md) - [Hardware](./tocs/1.Hardware/hardware.md) - [Software](./tocs/2.Software/) - [dpu-sc](./tocs/2.Software/dpu-sc.md) - [stesting-sc](./tocs/2.Software/stesting-sc.md) - - [VVAS](./tocs/2.Software/VVAS.md) - - [POC](./tocs/3.POC/) - - [Defect Detection](./tocs/3.POC/Defect-Detection.md) + - [VVAS(Vitis Video Analytics SDK)](./tocs/2.Software/VVAS.md) + - [PoC](./tocs/3.POC/) - [VVAS Demo](./tocs/3.POC/VVAS-Demo.md) - - [FAQ](./tocs/4.FAQ/FAQ.md) + - [ANPR](./tocs/3.POC/ANPR.md) + - [Case study](./tocs/5.Case-study/case-study.md) + - [Powered by AMD](https://www.xilinx.com/video/corporate/innodisk-machine-vision-solution-kit-powered-by-amd-kria-som.html) + - [Innodisk’s Machine Vision Solution Kit Powered by AMD’s Kria SOM](https://www.xilinx.com/content/dam/xilinx/publications/powered-by-xilinx/innodisk-case-study.pdf) + - [Defects detection solutions](./tocs/5.Case-study/Defect-Detection.md) + - **USB Pendrive assembly** + - **Screw defect** + - **Pneumonia (X-Ray)** + - [用于缺陷检测的自动化边缘 AI 解决方案](https://china.xilinx.com/video/events/cns_xtd_AI_solution.html) + - [宜鼎国际最新肺部X光片偵測 自动化边缘 AI 解决方案加速医疗诊断速度](https://www.myinnodisk.cn/newsDetail/1363.html) + - [Innodisk Corporation(Platform) x Neovision(AI Model)](https://www.linkedin.com/posts/neovisionsas_intelligenceartificielle-industrie-activity-7039869643737456640-52r8?utm_source=share&utm_medium=member_desktop) + - **Gesture Recognition**
diff --git a/docs/changelogs.md b/docs/changelogs.md new file mode 100644 index 0000000..e397a84 --- /dev/null +++ b/docs/changelogs.md @@ -0,0 +1,24 @@ + + +# Changelogs + +Type | desc. | version | Autor +--- | --- | --- | --- +Feat | Introduction of EXMU-X261 hardware
Introduction of EXMU-X261 BSP v0.0.3 LTS
Introduction of EXMU-X261 software application | 0.0.1 | Ju (hueiru_chen@innodisk.com) +doc | Add workflow of flashing qspi
Update workflow of flashing emmc
Update A2 carrier board info
Update rpm discription
Update "What is BSP"
Modify FAQ and dependency versions
Fix typos
| 0.0.2 | Ju (hueiru_chen@innodisk.com) +doc | Update BSP v1.0.4 for A3 carrier board | 0.0.3 | Ju (hueiru_chen@innodisk.com) +doc | 1. Modify release note to changelog
2. add case study section
3. Modify wording
4. add ANPR.md
5. Rearrange defect detection| 0.0.4 | AH (allen_huang@innodisk.com) + +# Dependencies Version + +BSP | Vitis-AI | VVAS|stesting| +|:---:|:---:|:---:|:---:| +|1.0.4|1.4|1.0|0.0.4| + +- The dpu-sc would not be preload in BSP. +- The VVAS not be support before BSP version v0.0.3. Would be support start from v1.0.4 version. diff --git a/docs/release.md b/docs/release.md deleted file mode 100644 index c3f636a..0000000 --- a/docs/release.md +++ /dev/null @@ -1,24 +0,0 @@ - - -# Release Notes - -Type | desc. | version ---- | --- | --- -Feat | - Introduction of EXMU-X261 hardware
- Introduction of EXMU-X261 BSP v0.0.3 LTS
- Introduction of EXMU-X261 software application | 0.0.1 -doc | - Add workflow of flashing qspi
- Update workflow of flashing emmc
- Update A2 carrier board info
- Update rpm discription
- Update "What is BSP"
- Modify FAQ and dependency versions
- Fix typos
| 0.0.2 -doc | - Update BSP v1.0.4 for A3 carrier board
| 0.0.3 - -# Dependencies Version -The dpu-sc would not be preload in BSP. - -BSP | Vitis-AI | VVAS|stesting| -|:---:|:---:|:---:|:---:| -|1.0.4|1.4|1.0|0.0.4| - -- The dpu-sc would not be preload in BSP. -- The VVAS not be support before BSP version v0.0.3. Would be support start from v1.0.4 version. diff --git a/tocs/0.Getting-Started/Getting-Started.md b/tocs/0.Getting-Started/Getting-Started.md index 22ce106..704cae7 100644 --- a/tocs/0.Getting-Started/Getting-Started.md +++ b/tocs/0.Getting-Started/Getting-Started.md @@ -4,8 +4,7 @@ This software is released under the MIT License. https://opensource.org/licenses/MIT --> -# Table of Contents -- [Table of Contents](#table-of-contents) +# TOC - [What you will need](#what-you-will-need) - [Hardware](#hardware) - [Software](#software) diff --git a/tocs/1.Hardware/hardware.md b/tocs/1.Hardware/hardware.md index 7c8d93c..2728f37 100644 --- a/tocs/1.Hardware/hardware.md +++ b/tocs/1.Hardware/hardware.md @@ -5,6 +5,7 @@ https://opensource.org/licenses/MIT --> +# TOC - [SOM Board Overview](#som-board-overview) - [Devices on SOM](#devices-on-som) - [QSPI Flash](#qspi-flash) diff --git a/tocs/2.Software/VVAS.md b/tocs/2.Software/VVAS.md index 5c1752d..8b5cedb 100644 --- a/tocs/2.Software/VVAS.md +++ b/tocs/2.Software/VVAS.md @@ -4,7 +4,7 @@ This software is released under the MIT License. https://opensource.org/licenses/MIT --> - +# TOC - [Overview](#overview) - [How to Install](#how-to-install) - [Install by RPM](#install-by-rpm) diff --git a/tocs/2.Software/dpu-sc.md b/tocs/2.Software/dpu-sc.md index f0b2b37..98547b6 100644 --- a/tocs/2.Software/dpu-sc.md +++ b/tocs/2.Software/dpu-sc.md @@ -4,6 +4,9 @@ This software is released under the MIT License. https://opensource.org/licenses/MIT --> +# TOC +- [Overview](#overview) +- [Download](#download) # Overview [dpu-sc](https://github.com/InnoIPA/dpu-sc)(DPU sample code) is a public repo. DPU-SC is a python sample code. It shows how to run AI inference on our system. Also, user can replace customized model(.xmodel) to use it. diff --git a/tocs/2.Software/stesting-sc.md b/tocs/2.Software/stesting-sc.md index 7888dbf..3945a05 100644 --- a/tocs/2.Software/stesting-sc.md +++ b/tocs/2.Software/stesting-sc.md @@ -4,7 +4,7 @@ This software is released under the MIT License. https://opensource.org/licenses/MIT --> - +# TOC - [Overview](#overview) - [Download](#download) diff --git a/tocs/3.POC/ANPR.md b/tocs/3.POC/ANPR.md new file mode 100644 index 0000000..2887ee7 --- /dev/null +++ b/tocs/3.POC/ANPR.md @@ -0,0 +1,18 @@ + +# TOC +- [Overview](#overview) +- [Demo](#Demo) + +# Overview +Automatic number-plate recognition is a technology that uses optical character recognition on images to read vehicle registration plates to create vehicle location data. Source: [Wiki](https://en.wikipedia.org/wiki/Automatic_number-plate_recognition) + +LPRNet: License Plate Recognition via Deep Neural Networks: end-to-end method for Automatic License Plate Recognition without preliminary character segmentation. [Paper](https://arxiv.org/abs/1806.10447) + +# Demo +We have implemented the demo in [dpu-sc](../2.Software/dpu-sc.md). +![LPR](./fig/lpr.gif) \ No newline at end of file diff --git a/tocs/3.POC/Defect-Detection.md b/tocs/3.POC/Defect-Detection.md deleted file mode 100644 index 7a742bf..0000000 --- a/tocs/3.POC/Defect-Detection.md +++ /dev/null @@ -1,33 +0,0 @@ -# Table of contents -- [Table of contents](#table-of-contents) -- [Intorduction](#intorduction) -- [Defect Detection Solution](#defect-detection-solution) - - [USB Defect Detection](#usb-defect-detection) - - [Screw Defect Detection](#screw-defect-detection) -- [Demo](#demo) - -# Intorduction -We create a defect detection solution on EXMU-X261. When camera catch the image, the image will input to EXMU-X261. The EXMU-X261 will preprocess the image. After all, the DPU will inference image and output result with bounding box. The result will shows on screen. -![DD-flow](./fig/DD-flow.png) - - -# Defect Detection Solution -### USB Defect Detection -This solution can be used in factory to detect the logo or the assembly of components error. - -PASS -![DD-OK](./fig/DD_predict_result_true.png) - -NG -![DD-False](./fig/DD_predict_result_false.png) - -### Screw Defect Detection -This solution can be used in factory to detect the screw defect. -![screw_predict_result](./fig/screw_predict_result.png) - -# Demo -|Solution| Model | Input Size | FPS on X261 | -|:------:| :-------------: |:----: |:---:| -| USB | YOLOv4-tiny | 320x320 | 35 FPS | - -![DD-USB](./fig/DD-USB.gif) diff --git a/tocs/3.POC/VVAS-Demo.md b/tocs/3.POC/VVAS-Demo.md index d1225a6..141178c 100644 --- a/tocs/3.POC/VVAS-Demo.md +++ b/tocs/3.POC/VVAS-Demo.md @@ -5,6 +5,7 @@ https://opensource.org/licenses/MIT --> +# TOC - [Overview](#overview) - [How to Install](#how-to-install) - [VVAS](#vvas) @@ -14,6 +15,8 @@ - [Innodisk demo](#innodisk-demo) - [Install by RPM](#install-by-rpm-1) - [How to run](#how-to-run) +- [DEMO](#demo) + - [Computex taipei, 2023](#computex-taipei-2023) - [Reference](#reference) # Overview @@ -130,6 +133,10 @@ rpm -ivh --force vvas_demo-0.1-1.aarch64.rpm ![vvas_demo](fig/vvas_demo.jpg) +# DEMO +## Computex taipei, 2023 +![computex](fig/vvas_computex_2023.gif) + # Reference [Multichannel ML](https://xilinx.github.io/VVAS/main/build/html/docs/Embedded/Tutorials/MultiChannelML.html) diff --git a/tocs/3.POC/fig/lpr.gif b/tocs/3.POC/fig/lpr.gif new file mode 100644 index 0000000..505c79b Binary files /dev/null and b/tocs/3.POC/fig/lpr.gif differ diff --git a/tocs/3.POC/fig/vvas_computex_2023.gif b/tocs/3.POC/fig/vvas_computex_2023.gif new file mode 100644 index 0000000..66f6830 Binary files /dev/null and b/tocs/3.POC/fig/vvas_computex_2023.gif differ diff --git a/tocs/4.FAQ/FAQ.md b/tocs/4.FAQ/FAQ.md index f4017f1..e3533e8 100644 --- a/tocs/4.FAQ/FAQ.md +++ b/tocs/4.FAQ/FAQ.md @@ -7,7 +7,6 @@ # FAQ -- [FAQ](#faq) - [What is BSP?](#what-is-bsp) - [How to flash eMMC on X261?](#how-to-flash-emmc-on-x261) - [How to update QSPI FW?](#how-to-update-qspi-fw) diff --git a/tocs/5.Case-study/Defect-Detection.md b/tocs/5.Case-study/Defect-Detection.md new file mode 100644 index 0000000..43d0a21 --- /dev/null +++ b/tocs/5.Case-study/Defect-Detection.md @@ -0,0 +1,57 @@ + +# TOC +- [Intorduction](#intorduction) +- [Defect Detection Solutions](#defect-detection-solutions) + - [USB pendrive Defect Detection](#usb-pendrive-defect-detection) + - [Screw Defect Detection](#screw-defect-detection) + - [Pneumonia Detection](#pneumonia-detection) + +# Intorduction +We create the defect detection solutions on EXMU-X261. When camera catch the image, the image will input to EXMU-X261. The EXMU-X261 will preprocess the image. After all, the DPU will inference image and output result with bounding box. The result will shows on screen. + +![DD-flow](./fig/DD-flow.png) + +|Solution| Model | Input Size | AVG. FPS on X261 | +|:------:| :-------------: |:----: |:---:| +| Object detection | YOLOv4-tiny | 320x320 | ~35 FPS | + +`In the following section we have presented 3 case studies for you with object detection solution.` + +# Defect Detection Solutions +
+ USB pendrive Defect Detection + +This solution can be used in factory to detect the logo or the assembly of components error. + +PASS +![DD-OK](./fig/DD_predict_result_true.png) + +NG +![DD-False](./fig/DD_predict_result_false.png) + +Live demo +![DD-USB](./fig/DD-USB.gif) + +
+
+
+Screw Defect Detection + +This solution can be used in factory to detect the screw defect. + +![screw_predict_result](./fig/DD-screw.gif) +
+
+
+Pneumonia Detection + +[COVID-19 Sniper: An advanced diagnostic taool for pneumonia](https://www.hackster.io/covid-19-sniper/covid-19-sniper-an-advanced-diagnostic-tool-for-pneumonia-70be48) + +![oty](./fig/DD-oty.gif) +
+ diff --git a/tocs/5.Case-study/case-study.md b/tocs/5.Case-study/case-study.md new file mode 100644 index 0000000..c9a942c --- /dev/null +++ b/tocs/5.Case-study/case-study.md @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/tocs/3.POC/fig/DD-USB.gif b/tocs/5.Case-study/fig/DD-USB.gif similarity index 100% rename from tocs/3.POC/fig/DD-USB.gif rename to tocs/5.Case-study/fig/DD-USB.gif diff --git a/tocs/3.POC/fig/DD-flow.drawio b/tocs/5.Case-study/fig/DD-flow.drawio similarity index 100% rename from tocs/3.POC/fig/DD-flow.drawio rename to tocs/5.Case-study/fig/DD-flow.drawio diff --git a/tocs/3.POC/fig/DD-flow.png b/tocs/5.Case-study/fig/DD-flow.png similarity index 100% rename from tocs/3.POC/fig/DD-flow.png rename to tocs/5.Case-study/fig/DD-flow.png diff --git a/tocs/5.Case-study/fig/DD-oty.gif b/tocs/5.Case-study/fig/DD-oty.gif new file mode 100644 index 0000000..3133c50 Binary files /dev/null and b/tocs/5.Case-study/fig/DD-oty.gif differ diff --git a/tocs/5.Case-study/fig/DD-screw.gif b/tocs/5.Case-study/fig/DD-screw.gif new file mode 100644 index 0000000..82ac97c Binary files /dev/null and b/tocs/5.Case-study/fig/DD-screw.gif differ diff --git a/tocs/3.POC/fig/DD_predict_result_false.png b/tocs/5.Case-study/fig/DD_predict_result_false.png similarity index 100% rename from tocs/3.POC/fig/DD_predict_result_false.png rename to tocs/5.Case-study/fig/DD_predict_result_false.png diff --git a/tocs/3.POC/fig/DD_predict_result_true.png b/tocs/5.Case-study/fig/DD_predict_result_true.png similarity index 100% rename from tocs/3.POC/fig/DD_predict_result_true.png rename to tocs/5.Case-study/fig/DD_predict_result_true.png diff --git a/tocs/3.POC/fig/screw_predict_result.png b/tocs/5.Case-study/fig/DD_screw_predict_result.png similarity index 100% rename from tocs/3.POC/fig/screw_predict_result.png rename to tocs/5.Case-study/fig/DD_screw_predict_result.png