# 이미지 분류

모델에 파이프라인 명령어를 실행하기 전에, 필요한 [요구 조건](https://docs.qualcomm.com/doc/80-70020-15BK/topic/ai-hub-qualcomm-im-sdk.html#prerequisites) 을 따라야 합니다.

분류 명령어를 실행하기 전에 SSH 셸에서 다음 명령어를 실행하세요.

export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1
    Copy to clipboard

## GoogLeNet

GoogLeNet은 Imagenet 데이터 세트에서 이미지를 분류할 수 있는 머신 러닝 모델입니다. 이 모델을 사용하여 특정 사용 사례에 대해 더 복잡한 모델을 빌드할 수도 있습니다.

AI Hub 모델은 [이 GoogLeNet 구현](https://github.com/pytorch/vision/blob/main/torchvision/models/googlenet.py) 을 기반으로 합니다.

- 모델: [GoogLeNet](https://aihub.qualcomm.com/iot/models/googlenet)
- 레이블: [imagenet_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/imagenet_labels.txt)

참고

이 모델을 추론에 사용할 경우 분류 레이블이 표시되지 않을 수 있습니다.

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::position="<30, 30>" sink_1::dimensions="<640, 360>" ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/googlenet_quantized.tflite ! queue ! \
    qtimlvclassification threshold=51.0 results=5 module=mobilenet labels=/etc/labels/imagenet_labels.txt \
    extra-operation=softmax constants="Mobilenet,q-offsets=<53.0>,q-scales=<0.08174873143434525>;" ! video/x-raw,format=BGRA,width=640, height=360 ! queue ! mixer.
    Copy to clipboard

## Inception-v3

InceptionNetV3는 Imagenet 데이터 세트에서 이미지를 분류할 수 있는 머신 러닝 모델입니다. 이 모델을 사용하여 특정 사용 사례에 대해 더 복잡한 모델을 빌드할 수도 있습니다.

이 모델은 Google의 오픈 이미지 데이터 세트의 샘플을 사용하여 int8로 양자화된 사후 학습 모델입니다.

AI Hub 모델은 [이 Inception-v3 구현](https://github.com/pytorch/vision/blob/main/torchvision/models/inception.py) 을 기반으로 합니다.

- 모델: [Inception-v3](https://aihub.qualcomm.com/iot/models/inception_v3)
- 레이블: [imagenet_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/imagenet_labels.txt)

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::position="<30, 30>" sink_1::dimensions="<640, 360>" ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/inception_v3_quantized.tflite ! queue ! \
    qtimlvclassification threshold=51.0 results=5 module=mobilenet labels=/etc/labels/imagenet_labels.txt \
    extra-operation=softmax constants="Inception,q-offsets=<33.0>,q-scales=<0.18740029633045197>;" ! video/x-raw,format=BGRA,width=640, height=360 ! queue ! mixer.
    Copy to clipboard

## MobileNet-v2

MobileNetV2는 Imagenet 데이터 세트에서 이미지를 분류할 수 있는 머신 러닝 모델입니다. 이 모델을 사용하여 특정 사용 사례에 대해 더 복잡한 모델을 빌드할 수도 있습니다.

AI Hub 모델은 [이 MobileNet-v2 구현](https://github.com/tonylins/pytorch-mobilenet-v2/tree/master) 을 기반으로 합니다.

- 모델: [MobileNet-v2](https://aihub.qualcomm.com/iot/models/mobilenet_v2)
- 레이블: [imagenet_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/imagenet_labels.txt)

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::position="<30, 30>" sink_1::dimensions="<640, 360>" ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/mobilenet_v2_quantized.tflite ! queue ! \
    qtimlvclassification threshold=51.0 results=5 module=mobilenet labels=/etc/labels/imagenet_labels.txt \
    extra-operation=softmax constants="Mobilenet,q-offsets=<69.0>,q-scales=<0.2386164367198944>;" ! video/x-raw,format=BGRA,width=640, height=360 ! queue ! mixer.
    Copy to clipboard

## MobileNet-v3-Large

MobileNet-v3-Large는 Imagenet 데이터 세트에서 이미지를 분류할 수 있는 머신 러닝 모델입니다. 이 모델을 사용하여 특정 사용 사례에 대해 더 복잡한 모델을 빌드할 수도 있습니다.

AI Hub 모델은 [이 MobileNet-v3-Large 구현](https://github.com/pytorch/vision/blob/main/torchvision/models/mobilenetv3.py) 을 기반으로 합니다.

- 모델: [MobileNet-v3-Large](https://aihub.qualcomm.com/iot/models/mobilenet_v3_large)
- 레이블: [imagenet_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/imagenet_labels.txt)

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::position="<30, 30>" sink_1::dimensions="<640, 360>" ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/mobilenet_v3_large_quantized.tflite ! queue ! \
    qtimlvclassification threshold=51.0 results=5 module=mobilenet labels=/etc/labels/imagenet_labels.txt \
    extra-operation=softmax constants="Mobilenet,q-offsets=<99.0>,q-scales=<0.18705224990844727>;" ! video/x-raw,format=BGRA,width=640, height=360 ! queue ! mixer.
    Copy to clipboard

## ResNet18

ResNet18는 Imagenet 데이터 세트에서 이미지를 분류할 수 있는 머신 러닝 모델입니다. 이 모델을 사용하여 특정 사용 사례에 대해 더 복잡한 모델을 빌드할 수도 있습니다.

AI Hub 모델은 [이 ResNet18 구현](https://github.com/pytorch/vision/blob/main/torchvision/models/resnet.py) 을 기반으로 합니다.

- 모델: [ResNet18](https://aihub.qualcomm.com/iot/models/resnet18)
- 레이블: [imagenet_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/imagenet_labels.txt)

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::position="<30, 30>" sink_1::dimensions="<640, 360>" ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/resnet18_quantized.tflite ! queue ! \
    qtimlvclassification threshold=30.0 results=5 module=mobilenet labels=/etc/labels/imagenet_labels.txt \
    extra-operation=softmax constants="Resnetnet,q-offsets=<68.0>,q-scales=<0.14944985508918762>;" ! video/x-raw,format=BGRA,width=640, height=360 ! queue ! mixer.
    Copy to clipboard

## ResNet101

ResNet101는 Imagenet 데이터 세트에서 이미지를 분류할 수 있는 머신 러닝 모델입니다. 이 모델을 사용하여 특정 사용 사례에 대해 더 복잡한 모델을 빌드할 수도 있습니다.

AI Hub 모델은 [이 ResNet101 구현](https://github.com/pytorch/vision/blob/main/torchvision/models/resnet.py) 을 기반으로 합니다.

- 모델: [ResNet101](https://aihub.qualcomm.com/iot/models/resnet101)
- 레이블: [imagenet_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/imagenet_labels.txt)

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::position="<30, 30>" sink_1::dimensions="<640, 360>" ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/resnet101_quantized.tflite ! queue ! \
    qtimlvclassification threshold=51.0 results=5 module=mobilenet labels=/etc/labels/imagenet_labels.txt \
    extra-operation=softmax constants="Resnet,q-offsets=<46.0>,q-scales=<0.2186901867389679 >;" ! video/x-raw,format=BGRA,width=640, height=360 ! queue ! mixer.
    Copy to clipboard

## ResNeXt50

ResNeXt50는 Imagenet 데이터 세트에서 이미지를 분류할 수 있는 머신 러닝 모델입니다. 이 모델을 사용하여 특정 사용 사례에 대해 더 복잡한 모델을 빌드할 수도 있습니다.

AI Hub 모델은 [이 ResNeXt50 구현](https://github.com/pytorch/vision/blob/main/torchvision/models/resnet.py) 을 기반으로 합니다.

- 모델: [ResNeXt50](https://aihub.qualcomm.com/iot/models/resnext50)
- 레이블: [imagenet_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/imagenet_labels.txt)

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::position="<30, 30>" sink_1::dimensions="<640, 360>" ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/resnext50_quantized.tflite ! queue ! \
    qtimlvclassification threshold=35.0 results=5 module=mobilenet labels=/etc/labels/imagenet_labels.txt \
    extra-operation=softmax constants="Resnetnet,q-offsets=<30.0>,q-scales=<0.06314703077077866>;" ! video/x-raw,format=BGRA,width=640, height=360 ! queue ! mixer.
    Copy to clipboard

## ResNeXt101

ResNeXt101는 Imagenet 데이터 세트에서 이미지를 분류할 수 있는 머신 러닝 모델입니다. 이 모델을 사용하여 특정 사용 사례에 대해 더 복잡한 모델을 빌드할 수도 있습니다.

AI Hub 모델은 [이 ResNeXt101 구현](https://github.com/pytorch/vision/blob/main/torchvision/models/resnet.py) 을 기반으로 합니다.

- 모델: [ResNeXt101](https://aihub.qualcomm.com/iot/models/resnext101)
- 레이블: [imagenet_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/imagenet_labels.txt)

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::position="<30, 30>" sink_1::dimensions="<640, 360>" ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/resnext101_quantized.tflite ! queue ! \
    qtimlvclassification threshold=35.0 results=5 module=mobilenet labels=/etc/labels/imagenet_labels.txt \
    extra-operation=softmax constants="Resnetnet,q-offsets=<37.0>,q-scales=<0.1848793774843216>;" ! video/x-raw,format=BGRA,width=640, height=360 ! queue ! mixer.
    Copy to clipboard

## Shufflenet-v2

ShufflenetV2는 Imagenet 데이터 세트에서 이미지를 분류할 수 있는 머신 러닝 모델입니다. 이 모델을 사용하여 특정 사용 사례에 대해 더 복잡한 모델을 빌드할 수도 있습니다.

AI Hub 모델은 [이 Shufflenet-v2 구현](https://github.com/pytorch/vision/blob/main/torchvision/models/shufflenetv2.py) 을 기반으로 합니다.

- 모델: [Shufflenet-v2](https://aihub.qualcomm.com/iot/models/shufflenet_v2)
- 레이블: [imagenet_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/imagenet_labels.txt)

참고

이 모델을 추론에 사용할 경우 분류 레이블이 표시되지 않을 수 있습니다.

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::position="<30, 30>" sink_1::dimensions="<640, 360>" ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/shufflenet_v2_quantized.tflite ! queue ! \
    qtimlvclassification threshold=35.0 results=5 module=mobilenet labels=/etc/labels/imagenet_labels.txt \
    extra-operation=softmax constants="Resnetnet,q-offsets=<69.0>,q-scales=<0.14428946375846863>;" ! video/x-raw,format=BGRA,width=640, height=360 ! queue ! mixer.
    Copy to clipboard

## SqueezeNet-1\_1

SqueezeNet은 Imagenet 데이터 세트에서 이미지를 분류할 수 있는 머신 러닝 모델입니다. 이 모델을 사용하여 특정 사용 사례에 대해 더 복잡한 모델을 빌드할 수도 있습니다.

AI Hub 모델은 [이 SqueezeNet-1_1 구현](https://github.com/pytorch/vision/blob/main/torchvision/models/squeezenet.py) 을 기반으로 합니다.

- 모델: [SqueezeNet-1_1](https://aihub.qualcomm.com/iot/models/squeezenet1_1)
- 레이블: [imagenet_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/imagenet_labels.txt)

참고

이 모델을 추론에 사용할 경우 분류 레이블이 표시되지 않을 수 있습니다.

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::position="<30, 30>" sink_1::dimensions="<640, 360>" ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/squeezenet1_1_quantized.tflite ! queue ! \
    qtimlvclassification threshold=25.0 results=5 module=mobilenet labels=/etc/labels/imagenet_labels.txt \
    extra-operation=softmax constants="Resnetnet,q-offsets=<0.0>,q-scales=<0.16435524821281433>;" ! video/x-raw,format=BGRA,width=640, height=360 ! queue ! mixer.
    Copy to clipboard

## WideResNet50

WideResNet50는 Imagenet 데이터 세트에서 이미지를 분류할 수 있는 머신 러닝 모델입니다. 이 모델을 사용하여 특정 사용 사례에 대해 더 복잡한 모델을 빌드할 수도 있습니다.

AI Hub 모델은 [이 WideResNet50 구현](https://github.com/pytorch/vision/blob/main/torchvision/models/resnet.py) 을 기반으로 합니다.

- 모델: [WideResNet50](https://aihub.qualcomm.com/iot/models/wideresnet50)
- 레이블: [imagenet_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/imagenet_labels.txt)

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::position="<30, 30>" sink_1::dimensions="<640, 360>" ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/wideresnet50_quantized.tflite ! queue ! \
    qtimlvclassification threshold=35.0 results=5 module=mobilenet labels=/etc/labels/imagenet_labels.txt \
    extra-operation=softmax constants="Resnet,q-offsets=<44.0>,q-scales=<0.1439792960882187>;" ! video/x-raw,format=BGRA,width=640,height=360 ! queue ! mixer.
    Copy to clipboard

Last Published: Dec 23, 2025

[Previous Topic
GStreamer API에서 AI Hub 모델 및 레이블 사용](https://docs.qualcomm.com/bundle/publicresource/80-70020-15BK/topics/ai-hub-qualcomm-im-sdk.md) [Next Topic
객체 감지](https://docs.qualcomm.com/bundle/publicresource/80-70020-15BK/topics/object-detection.md)