Intel® Edge Software Hub
Get help on building Edge Software Hub solutions for edge compute node
Announcements
Welcome to the Intel Community! If you like the answer to your question, please mark it as 'Accepted Solution' to help others.

The Edge Software Vision Package for Red Hat Enterprise Linux is now available here.

Learn more about developing on Intel® Hardware and Software here.
245 Discussions

Using TLS 2.0 to duplicate PCB Demo project

DFI_SW
Beginner
358 Views

Hi,

I'm trying to use the TLS 2.0 to duplicate the PCB Demo Project model (/EII/IEdgeInsights/common/video/udfs/python/pcb/ref/model_2.*) for verifying the training procedure.

I added the ref.png into the Dataset and referred to the coordinates(roi_2.json) for labeling the missing/short annotations, then used the "SSD Mobilenet v1" Pretrained Model for "object detection" training. The screenshot of the parameters is attached, and it seems the output files(attached as model_z.xml) are much different from the files in the original package. After replacing the model files and modifying the config values, the PCB Demo project couldn't work.

Is it possible to build a workable PCB Demo with the TLS 2.0? Is there anything wrong with the  parameters I set?

Labels (1)
0 Kudos
1 Solution
WengWai_C_Intel
Moderator
330 Views

@DFI_SW 

The PCB sample demo in EII was trained separately without using TLS 2.0 as it has been created much earlier as an sample app. However, you can use TLS2.0 easily to create a similar PCB demo and run the inferencing with EII using the sample app algo with minimum change required. Here's my suggestion assuming you are creating a defect detection on PCB using object detection model:

1) You can use own PCB images and upload into TLS2.0, perform image annotation using TLS2.0 to label all the defects on those images. This will create your own labelled dataset in TLS2.0 for deep learning model training.

2) In TLS2.0, create a new project for object detection. Recommendation to use the SSDMobileV2 to perform the model training. This is because EII provided a sample app in the CustomUDF/PySafetyGearAnalytics which came with the sample inferencing algo that can be directly reuse without much changes required.

3) Upon the model training completed, you can directly download the IR model files (FP32) from TLS2.0 and reuse the PySafetyGearAnalytics sample app in EII to run with your new IR model files. You will just need to adjust the threshold limit in the safety_classifier.py file based on your trained model accuracy.

4) Finally, you can switch your EII video_ingestion configuration to setup a live camera (USB webcam etc) and run the video_analytics using your trained model. The live camera pointing to the PCB will stream the frames into EII for analytics and view the inferencing result using EII's visualizer app.

Hope this suggestion can give you the idea to start. Thanks!

View solution in original post

2 Replies
WengWai_C_Intel
Moderator
331 Views

@DFI_SW 

The PCB sample demo in EII was trained separately without using TLS 2.0 as it has been created much earlier as an sample app. However, you can use TLS2.0 easily to create a similar PCB demo and run the inferencing with EII using the sample app algo with minimum change required. Here's my suggestion assuming you are creating a defect detection on PCB using object detection model:

1) You can use own PCB images and upload into TLS2.0, perform image annotation using TLS2.0 to label all the defects on those images. This will create your own labelled dataset in TLS2.0 for deep learning model training.

2) In TLS2.0, create a new project for object detection. Recommendation to use the SSDMobileV2 to perform the model training. This is because EII provided a sample app in the CustomUDF/PySafetyGearAnalytics which came with the sample inferencing algo that can be directly reuse without much changes required.

3) Upon the model training completed, you can directly download the IR model files (FP32) from TLS2.0 and reuse the PySafetyGearAnalytics sample app in EII to run with your new IR model files. You will just need to adjust the threshold limit in the safety_classifier.py file based on your trained model accuracy.

4) Finally, you can switch your EII video_ingestion configuration to setup a live camera (USB webcam etc) and run the video_analytics using your trained model. The live camera pointing to the PCB will stream the frames into EII for analytics and view the inferencing result using EII's visualizer app.

Hope this suggestion can give you the idea to start. Thanks!

JesusE_Intel
Moderator
304 Views

Intel will no longer monitor this discussion, please start a new discussion if you have additional questions.


Reply