taicun-lin / interview-qcom

0 stars 0 forks source link

resume #1

Open taicun-lin opened 5 months ago

taicun-lin commented 5 months ago

background

  1. Name: Taicun Lin

  2. Education

    • Master degree from National Taiwan University, Department of Medical device and image
    • Bachelor degree from Fujun University, Computer Science Information Engineering
  3. Summary

    • Familiar on C#,Python,OpenVINO,OpenCV
    • Mostly work on AIOT project or demo event with software full stack development.
    • And technical support, technical marketing.
taicun-lin commented 5 months ago

2022-current experience iEi Principal AI Application Engineer

  1. job description

    • I'm working on iEi now, focus on intel platform, ai, openvino. Use my Intel experience to lead our AI project.
    • Validate Intel CPU/iGPU/dGPU/NPU performance, OpenVINO benchmark, OpenVINO Open Model Zoo benchmark on iEi TANK-XM811. (*Intel-MTL-AIPC, ARC-dGPU) Just like validate Qualcomm CPU/GPU/DSP performance, SNPE benchmark, AIMET Model Zoo on advantech ROM-2860.
    • Survey OpenVINO Model Zoo. Find a stand out model and make a demo application for showcase.
    • Provide total solution, ex: smart-reader, danger-zone, aoi-detection, agv-factory-inspection.
    • We not only work on Intel platform, also survey AMD, Qualcomm-QCM6490 , Hailo, Rock-Chip, Axelera, DeepX. For compare their performance benchmark. Below have our QCM6490 test.
      Qualcomm-QCM6490 Test: *Only simple and quickly test, make sure it can be work.
      Below is reformat of QCS6490_AI_Model_Test_Guide_20231214.txt.
      Just like Intel dlstreamer.

      Step 1: Power UP the devkit

    • connect with power adapter
    • You need to press PWR ON button to boot up with 1 second until two Green LED light up (near by power connector)

      Step 2: login develop kit by ADB command

      adb root
      adb shell

      Step 3: Test AI model

    • TFLite - Posenet, runtime in CPU
      export XDG_RUNTIME_DIR=/run/user/root
      gst-launch-1.0 qtivcomposer name=mixer sink_1::dimensions="<1920,1080>" ! queue ! waylandsink sync=false fullscreen=true \
      qtiqmmfsrc name=camsrc ! video/x-raw\(memory:GBM\),format=NV12,width=1920,height=1080,framerate=30/1 ! queue ! tee name=split ! queue ! mixer. \
      split. ! queue ! qtimlvconverter ! queue ! \
      qtimltflite delegate=hexagon model=/data/TFLite/posenet_mobilenet_v1_075_481_641_quant.tflite ! queue ! \
      qtimlvpose threshold=51.0 results=2 module=posenet labels=/data/TFLite/posenet.labels ! video/x-raw, format=BGRA,width=640,height=360 ! queue ! mixer.
    • TFLite - deeplab-argmax, runtime in CPU
      export XDG_RUNTIME_DIR=/run/user/root
      gst-launch-1.0 -e qtivcomposer name=mixer sink_1::dimensions="<1920,1080>" sink_1::alpha=0.5 ! queue ! waylandsink sync=false fullscreen=true \
      qtiqmmfsrc name=camsrc ! video/x-raw\(memory:GBM\),format=NV12,width=1920,height=1080,framerate=30/1 ! queue ! tee name=split ! queue ! mixer. \
      split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=nnapi-dsp model=/data/TFLite/dv3_argmax_int32.tflite ! queue ! \
      qtimlvsegmentation module=deeplab-argmax labels=/data/TFLite/dv3-argmax.labels ! video/x-raw,width=256,height=144 ! queue ! mixer.
    • TFLite - Classification, runtime in CPU
      export XDG_RUNTIME_DIR=/run/user/root
      gst-launch-1.0 -e --gst-debug=2 qtivcomposer name=mixer sink_1::position="<50, 50>" sink_1::dimensions="<368, 64>" ! queue ! waylandsink sync=false fullscreen=true \
      qtiqmmfsrc name=camsrc ! video/x-raw\(memory:GBM\),format=NV12,width=1920,height=1080,framerate=30/1 ! queue ! tee name=split ! queue ! mixer. \
      split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=hexagon model=/data/TFLite/mobilenet_v2_1.0_224_quant.tflite ! queue ! \
      qtimlvclassification threshold=60.0 results=3 module=mobilenet labels=/data/TFLite/mobilenet.labels ! video/x-raw,format=BGRA,width=368,height=64 ! queue ! mixer.
    • SNPE - Object Detection,runtime in DSP
      export SNPE_TARGET_STL=libgnustl_shared.so
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/local/tmp/snpeexample/lib:/lib/aarch64-linux-gnu:/usr/lib/
      export PATH=$PATH:/data/local/tmp/snpeexample/bin
      export ADSP_LIBRARY_PATH="/data/local/tmp/snpeexample/dsp;/usr/lib/rfsa/adsp;/dsp"
      export XDG_RUNTIME_DIR=/run/user/root
      gst-launch-1.0 qtivcomposer name=mixer sink_1::dimensions="<1920,1080>" ! queue ! waylandsink sync=false fullscreen=true \
      qtiqmmfsrc name=camsrc ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 ! tee name=t ! queue ! mixer. t. ! queue ! \
      qtimlvconverter mean="<0.0, 0.0, 0.0>" sigma="<0.003921, 0.003921, 0.003921>" ! queue ! \
      qtimlsnpe delegate=dsp model=/data/SNPE2/yolov5n320_v213_quantized.dlc layers="< Conv_266, Conv_232, Conv_198 >" ! queue ! \
      qtimlvdetection threshold=51.0 results=10 module= yolov5s labels=/data/SNPE/yolov5m.labels ! \
      video/x-raw,width=480,height=270 ! queue ! mixer.

      image image image

  2. technical marketing

    • I prepare "AiEi No-code AI solution" demo in computex 2024
      image
    • I prepare "AI Computing with SDVoE" demo in computex 2023
      image
    • For prove openvino can be support high loading model, such as stable-diffusion, llm. And this demo can be work on our IPC with Intel dGPU.
    • Co-work with our network team for pass video stream to network and convert to hdmi. SDVoE support 4 channel video stream output.
  3. reference link

taicun-lin commented 5 months ago

2021-2022 experience blueskies.ai Service Manager

  1. jon description

    • I was worked on Blueskies.ai 2 years for AI project software development.
      Blueskies.ai is software and service provider, base on customer requirement start from zero to develop AI service.
    • Software development include programming, script, rawdata collect, training ai model, subscribe data by mqtt/zmq protocol, ai inference application, save rawdata inference result to database,camera,led,speaker sensor control
    • Integrate partner solution,third-party solution and customer IT system
    • Develop dashboard UI.
  2. Technical support

    • Deploy our release product to customer factory, and validate it.
    • Provide customer python script for good to integrate their IT system.
taicun-lin commented 5 months ago

2015-2021 experience intel AIOT Software Engineer

  1. solution

case study1(retail carrefour):

target: end-customer demo link: https://m.eprice.com.tw/tech/talk/1141/5027227/1 link: https://advantechfiles.blob.core.windows.net/cms/30cfab70-fa42-4be6-9705-0ca7d14e652c/Case%20Study%20%20PDF%20File/Advantech-iRetail-Customer-Story_Carrefour-Taiwan_20170914_Eng.pdf link: https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/real-time-sensor-fusion-for-loss-detection.html link: https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/automated-checkout.html link: https://cdrdv2-public.intel.com/671083/intel-vision-accelerator-design-products-intel-advantech-solution-brief.pdf

  • Solution Provider(Intel/Advantech)
  • End Customer(Carrefour)
  • Intel build a base on AI solution of self-auto-checkout to advantech. advantech base on Intel cpu to design IPC, base on Intel vpu to design accelerate card. Intel base on OpenVINO to create demo real-time-sensor-fusion-for-loss-detection and automated-checkout Integrate as below
  • Sensor: weight-scale,cameras,RFIDs get object information from weight-scale,camera,RFID
  • HW: advatech gateway IPC/VPU AI inference on gateway. Collect data on controller.
  • SW:Intel-OpenVINO-Solution/Advantech-System/Carrefour-IT-System/Cloud(or Server)/checkout-APP Base on Intel OpenVINO Solution for AI detection result. Advantech provide lib/api/sdk for get controller result. Carrefour provide api for get object pricing and save checkout order to Carrefour IT system/server/cloud. End user can be on touch screen to see the checkout application and auto checkout it by themself.** image image image

case study2(smart meter reader):

target: internal demo link: https://docs.openvino.ai/2024/notebooks/203-meter-reader-with-output.html link: https://github.com/IEI-dev/Smart-Meter-Reader Customize from openvino notebooks 203-meter-reader. traditional meter analog value to digital value Integrate 3-party toolkit to be a demo.

  • AI: This example have 3 step, step1 for find meter, step2/3 for find scale value We change step3 opencv-scale function to object-detection function
    old:1. Meter-Detection 2.Meter-Segmentation 3.Rectangle-Mapping image new:1. Meter-Detection 2.Meter-Segmentation 3.Scale-Detection image
  • SW: Use ready toolkit Grafana/Node-Red/influxDB as UI

312683051-343baf9c-b34a-4616-a09b-7010af1593ad.webm

case study3(danger-zone):

target: partner demo link: https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/work-zone-analytics.html link: https://dlstreamer.github.io/ This demo will show on embedded-world-2024 iEi booth. If you will join this event, you can see our demo. Customize from Intel OpenVINO example work-zone-analytics This demo for prove AI can be work on Intel dGPU. Intel announce ARC dGPU in 2023. We are Intel partner, we need to use it to demo and promote it. So next year should be focus on npu for AIPC.

In software, we use dlstreamer to replace python/openvino/opencv. dlstreamer is gstreamer with openvino element. For prove we can no-code for easy show the demo. *Personally I prefer use python/openvino/opencv,no-code means you can't customize it.

  • HW: CPU/iGPU/VPU -> dGPU
  • SW: python/openvino/opencv -> dlstreamer

image

image

  1. technical support

    • provide benchmark to customer for understand performance.
    • provide demo to customer for quick start Intel OpenVINO.
    • provide script/tools/document, customer can good to integrate their system.
    • Solve simple issue directly. if your issue about demo setup, I can solve it.
      if customer have other issue, we will create IPS ticket. And reach out to engineer support team.
    • Co-work with back-end engineer team for new production power-on test.
    • Co-work with internal engineer team, ODM partner,3-party service provider ,and end-customer for build solution.
  2. technical marketing

    • Visit customer with sales and provide our new platform and solution demo.
    • provide new platform training and workshop.
    • Demo our POC on popular event, like computex,embedded world, ciif, hannver messe.

ComputeX2016: smart greenhouse(none AI, it's IOT4.0)

link: https://news.xfastest.com/computex-2016/21910/computex-2016-intel/
-real-time greenhouse monitor -The farmer will give you a daily SOP for take plant. Use this SOP to create auto irrigation planting system. Get sensor rawdata from arduino to wifi-module to gateway to server. The system will adjust send mqtt message to the edge device, according to SOP or other requirement. -In addition to the basic SOP, there are also have weather abnormalities
if soil sensor detect pH is too low, will open two pump, one for water, one for fertilizer.
Control these two pump speed for adjust fertilizer concentration.
if today is cloudy day, will open light.

  • Sensor:
    (input)temperature,humidity,soil,luminescence,camera
    (output)motor,pump,light,fan
  • HW:
    arduino101/edison, wifi-module(wise), gateway, end-customer's server
  • SW:
    advantech PLC lib, Natural Stance IT system,web base demo by C#,asp.net
  • Cloud:
    windriver helix device cloud

image

image

ComputeX2019: label OCR detector in factory

Smart camera will do lightweight label detection for filter data in first. And then send picture to gateway for OCR detection, and then save result to server. This demo can be reduce network and server loading.

  • HW: Smart camera(2in1,camera+minipc+m.2vpu), gateway, server
  • SW: python/opencv/openvino image image image

Edge AI Optimization challenge

Demo for ODM partner. Prepare several different level computer, and several ai model. Install openvino and benchmark tool for show the performance. Partner can be modify the code, choose CPU/iGPU/VPU and choose model. Hands-on do it and see the performance in this event. image

taicun-lin commented 5 months ago

2014-2015 experience microsoft technical account manager

  1. technical support

    • provide script and applucation by powershell/C#/.NET, such as -AD/LDAP account management -Windows file server share folder permission control -IIS log analysis -Exchange server data batch move, -windows/exchange/ad/lync deploy -product training -write technical document
  2. technical management

    • for product deploy status, dateline, customer requirement,
      back-end team response, customize requirement,
      training, system test and validate.
taicun-lin commented 5 months ago

2013-2014 experience acer security engineer

  1. job description
    • Using web vulnerability assessment to scan customer website.
    • Official vulnerability such as OWASP top 10.
    • And validate the scan result. According the result to make a report and provide suggestion.
    • I also work on website function test, when our IT team have new release. if find any bug in test, will response to IT team