首页 > 其他分享 >基于Aidlux平台的工业视觉少样本缺陷检测

基于Aidlux平台的工业视觉少样本缺陷检测

时间:2023-12-02 14:05:27浏览次数:31  
标签:img Aidlux aidlite 样本 mask path np 视觉 256

工业视觉缺陷检测的工作流程

基于Aidlux平台的工业视觉少样本缺陷检测_ide

常用异常检测算法

基于Aidlux平台的工业视觉少样本缺陷检测_Image_02

面临的挑战及发展

基于Aidlux平台的工业视觉少样本缺陷检测_Image_03

基于Aidlux平台的工业视觉少样本缺陷检测_ide_04

图像分割的数据标注

基于Aidlux平台的工业视觉少样本缺陷检测_Image_05

基于Aidlux平台的工业视觉少样本缺陷检测_Image_06

数据标注准确的重要性:

1. 训练模型的基础

2. 提高模型性能

3. 降低误判和误诊分险

4. 减少资源浪费

自动标注SAM的使用

基于Aidlux平台的工业视觉少样本缺陷检测_ide_07

模型切换

基于Aidlux平台的工业视觉少样本缺陷检测_数据_08

模型部署

# -*- coding: UTF-8 -*-
import aidlite_gpu
import cv2
import os
import time
import numpy as np
from PIL import Image

import matplotlib.pyplot as plt
def mask_to_image(mask: np.ndarray):
    if mask.ndim == 2:
        return Image.fromarray((mask * 255).astype(np.uint8))
    elif mask.ndim == 3:
        return Image.fromarray((np.argmax(mask, axis=0) * 255 / mask.shape[0]).astype(np.uint8))


def aidlux_tflite_infer(model_path, img_path, save_path):
    # step1: 初始化aidlite类并创建aidlite对象
    aidlite = aidlite_gpu.aidlite()
    print('model initial success!!')

    # step2: 加载模型
    inp_shape = [256*256*1*4]
    out_shape = [256*256*2*4]
    value = aidlite.ANNModel(model_path, inp_shape, out_shape, 4, 0) 
    # step3: 传入模型输入数据
    img = cv2.imread(img_path, 0)
    img = cv2.resize(img, (256, 256))
    img = img[np.newaxis, ...]
    img = img / 255.0
    img = np.expand_dims(img, axis=0)
    img = img.astype(dtype=np.float32)
    print("image shape is ", img.shape)
    aidlite.setInput_Float32(img)
    
    # step4: 执行推理
    start = time.time()
    aidlite.invoke()
    end = time.time()
    print("infer time(ms):{0}", 1000 * (end - start))
    # step5: 获取输出
    pred = aidlite.getOutput_Float32(0)
    # step6: 后处理
    pred = np.array(pred)
    pred = np.reshape(pred,(2,256,256))
    mask_img = mask_to_image(pred)
    
    mask_img.save(save_path) 
    # mask_img = np.array(mask_img)  
    # cv2.imshow('mask_img', mask_img)
    # cv2.waitKey(0)
    # cv2.destroyAllWindows() 
    
if __name__ == '__main__':
    model_path = "/home/dataset2aidlux/unetmodel_fp32.tflite"
    img_path = "/home/dataset2aidlux/test_imgs/0597.PNG"
    save_path = '/home/dataset2aidlux/test_imgs/result_0597.png'
    aidlux_tflite_infer(model_path, img_path, save_path)
    

效果视频:

基于Aidlux的语义分割模型转换:https://www.bilibili.com/video/BV1K64y1j7SB/

基于Aidlux的语义分割模型部署:https://www.bilibili.com/video/BV19u4y1c7k7/

标签:img,Aidlux,aidlite,样本,mask,path,np,视觉,256
From: https://blog.51cto.com/u_16211690/8654898

相关文章

  • 基于Aidlux平台的工业视觉少样本缺陷检测
    工业视觉缺陷检测的工作流程 常用异常检测算法面临的挑战及发展图像分割的数据标注 数据标注准确的重要性:训练模型的基础提高模型性能降低误判和误诊分险减少资源浪费自动标注SAM   模型切换模型部署#-*-coding:UTF-8-*-importaidlite_gpu......
  • 北京大学 | Video-LLaVA视觉语言大模型:统一输入,同时处理图片和视频数据
    前言 北京大学和其他机构的研究人员近期提出了一种名为Video-LLaVA的视觉语言大模型。该模型的创新之处在于能够同时处理图片和视频作为输入。在处理图片的任务中,该模型展现出了出色的性能,在多个评估榜单中名列前茅,尤其在视频方面取得了令人瞩目的成绩。这项研究的关键点在于关注......
  • 使用Aidlux进行工业视觉少样本缺陷检测的实战应用
     Aidlux是一个强大的工具,可以帮助我们进行深度学习模型的开发和部署。在这个视频中,我们将会看到如何下载和安装Aidlux,如何使用VSCode远程连接到Aidlux,如何在Aidlux商店中安装Python3.9和OpenCV-Python,以及如何进行模型转换和上传。首先,我们需要下载和安装Aidlux。这个过程非......
  • 关于CCD视觉对位系统+UVW对位平台计算公式算法举例
    UVW对位平台介绍:1、这是一种可以实现以平面上任意一点为中心,进行旋转运动的装置,并可沿着任意的方向平移。2、此平台和视觉CCD纠偏系统对接在一起,可以很快完成高精度的纠偏工作,重复定位精度一般可达±1μm;下述算法由平台相对移动量可算出各执行器(U、V、W)的移动量。回转中心(at,bt)指......
  • 视频监控中的智能算法与计算机视觉技术
    智能视频监控是一种基于人工智能技术的监控系统,它能够通过对图像和视频数据进行分析,自动识别目标物体、判断其行为以及进行异常检测等功能,从而实现对场景的智能化监管。以下是常见的一些用于智能视频监控的算法:1、人脸识别技术人脸识别技术是智能监控中十分常见的智能分析技术......
  • 应用案例 | 基于三维视觉的PCB板检测系统解决方案
    Part.1 引言在现代化电子产品中,印刷电路板(又称PCB板)是电子行业中的重要器件,也是集成各种电子元器件的信息载体。PCB板在电子领域中有广泛的应用,其质量的好坏直接影响到产品的性能。随着PCB板开发的进步,制作工艺日益朝高密度、超薄型、细间距的要求发展,其元器件上的线宽、间距等达......
  • Soul CEO张璐深耕AIGC领域,为行业数字化发展提供创新样本
    随着AIGC技术的快速发展,人工智能进入2.0时代。AIGC技术融合了GAN、CLIP、Transformer、Diffusion、预训练模型、多模态技术、生成算法等多种技术,具有强大的基础能力和通用性,正逐渐成为各大互联网巨头争相竞争的赛道。据艾瑞咨询预测,中国AIGC产业规模2023年约为143亿元,2028年预......
  • 视觉差缓动效果的轮播--React版
    React实现视觉差效果缓动轮播效果如下(图片帧率低看起来有点卡顿,看个大概就行):分享一下思路:1.正常引入一个轮播组件(站在巨人肩膀省时省力),去除指示点、引导箭头等不需要的元素,有些组件支持配置,不支持就手动覆盖CSS样式了2.找到组件中用于显示展示当前图片的类名3.添加transform......
  • 动手学深度学习----计算机视觉
    向着吃点心的时刻出发!——久岛鸥锚框数据集:首先人手动在图片数据中进行标注,标注的有物体的类型,物体对应的框(框的位置)框的位置表示方式很多,如左上角x,左上角y,高,宽这样表示我们手动标注的框为真实框,锚框是我们程序生成的,经过我们的处理需要与真实框进行匹配,并算出......
  • 激发创新,助力研究:CogVLM,强大且开源的视觉语言模型亮相
    激发创新,助力研究:CogVLM,强大且开源的视觉语言模型亮相CogVLM是一个强大的开源视觉语言模型(VLM)。CogVLM-17B拥有100亿视觉参数和70亿语言参数。CogVLM-17B在10个经典跨模态基准测试上取得了SOTA性能,包括NoCaps、Flicker30kcaptioning、RefCOCO、RefCOCO+、RefCO......