• 【图像分类】基于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代码问题可私信交流。

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

  • 相关阅读:
    浏览器cookie怎么清除,彻底清除上网痕迹只需这几步
    数据仓库技术及应用(Hive调优)
    VsCode + gdb + gdbserver远程调试arm嵌入式linux C/C++程序
    小车测速并通过OLED显示
    【无标题】
    学习【Cesium】第四篇,Cesium的坐标与转换(学不会揍我)
    FPGA工程师面试试题集锦121~130
    docker 部署 MongoDB
    OBS插件--音频采集
    在jar里限制指定的包名才可调用(白名单)。
  • 原文地址:https://blog.csdn.net/matlab_dingdang/article/details/126938459