• 【图像分类】基于HOG特征结合SVM实现图像分类识别附matlab代码


    1 内容介绍

    ​为了满足人工智能在目标识别方法中的应用需求,需要具备对海量数据进行智能分类、识别、判读的能力.进一步挖掘了目标特性数据库数据,并将基于HOG+SVM的目标识别算法应用于红外目标识别过程中.选择采集到的汽车、直升机、飞机、舰船、无人机等目标,并结合HOG算子与SVM分类方法来实现目标检测与分类算法,从而实现了目标智能化分类研究,为后续目标特性的进一步分析以及导引头智能化算法设计提供了支撑.

    2 部分代码

    %% 用hog特征对图像进行多分类,svm训练,1 VS 1  

    %% 1 数据集,包括训练的和测试的 (注意自己图片存放路径,附录我给出示例下载图片链接) 

    imdsTrain = imageDatastore('train_images',...  

        'IncludeSubfolders',true,...  

        'LabelSource','foldernames');  

    imdsTest = imageDatastore('test_image');  

    %% 显示训练的图片种类Labels和数量Count

    Train_disp = countEachLabel(imdsTrain);

    disp(Train_disp);

      

    %%   2 对训练集中的每张图像进行hog特征提取,测试图像一样  

    % 预处理图像,主要是得到features特征大小,此大小与图像大小和Hog特征参数相关  

    imageSize = [256,256];% 对所有图像进行此尺寸的缩放  

    image1 = readimage(imdsTrain,1);  

    scaleImage = imresize(image1,imageSize);  

    [features, visualization] = extractHOGFeatures(scaleImage);  

    imshow(scaleImage);hold on; plot(visualization)  

      

    % 对所有训练图像进行特征提取  

    numImages = length(imdsTrain.Files);  

    featuresTrain = zeros(numImages,size(features,2),'single'); % featuresTrain为单精度  

    for i = 1:numImages  

        imageTrain = readimage(imdsTrain,i);  

        imageTrain = imresize(imageTrain,imageSize);  

        featuresTrain(i,:) = extractHOGFeatures(imageTrain);  

    end  

      

    % 所有训练图像标签  

    trainLabels = imdsTrain.Labels;  

      

    % 开始svm多分类训练,注意:fitcsvm用于二分类,fitcecoc用于多分类,1 VS 1方法  

    classifer = fitcecoc(featuresTrain,trainLabels);  

      

    %% 预测并显示预测效果图  

    numTest = length(imdsTest.Files);  

    for i = 1:numTest  

        testImage = readimage(imdsTest,i);  

        scaleTestImage = imresize(testImage,imageSize);  

        featureTest = extractHOGFeatures(scaleTestImage);  

        [predictIndex,score] = predict(classifer,featureTest);  

        figure;imshow(testImage);  

        title(['预测图像: ',char(predictIndex)]);  

    end  

    3 运行结果

    4 参考文献

    [1]姜经纬, 程传蕊. 基于HOG+SVM的图像分类系统的设计与实现[J]. 漯河职业技术学院学报, 2017, 16(2):4.

    [2]宋敏敏, 周泽亚, 邱燕,等. 基于HOG特征和SVM分类器的红外图像智能检测与分类方法[J]. 红外, 2022(043-004).

    博主简介:擅长智能优化算法神经网络预测信号处理元胞自动机图像处理路径规划无人机雷达通信无线传感器等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

    部分理论引用网络文献,若有侵权联系博主删除。

  • 相关阅读:
    vue3利用 a 标签,文件流,JSZip 压缩包,实现文件下载
    零基础Linux_5(开发工具_上)yum和vim和gcc/g++和gdb
    k8s-8部署Prometheus+Grafana
    [无线通信基础-13]:图解移动通信技术与应用发展-1-概述
    MUI UI Kit Design System for Figma
    Android Gradle8.0以上多渠道写法以及针对不同渠道导入包的方式,填坑!
    Android的亮灯逻辑辨析
    docker基础用法
    Python的GIL存在的情况下,是否还有必要添加线程锁。
    python自动化:桌面壁纸下载器,满足你对桌面壁纸的无限畅想!
  • 原文地址:https://blog.csdn.net/matlab_dingdang/article/details/126938459