YOLOV3.h 896 Bytes
Newer Older
Your Name's avatar
Your Name committed
1
2
3
4
#ifndef __DETECTOR_YOLOV3_H__
#define __DETECTOR_YOLOV3_H__

#include <migraphx/program.hpp>
liucong's avatar
liucong committed
5
#include <CommonDefinition.h>
Your Name's avatar
Your Name committed
6
7
8
9
10
11
12
13
14
15

namespace migraphxSamples
{

typedef struct _YOLOV3Parameter
{
    int numberOfClasses;
    float confidenceThreshold;
    float nmsThreshold;
    float objectThreshold;
liucong's avatar
liucong committed
16
} YOLOV3Parameter;
Your Name's avatar
Your Name committed
17
18
19

class DetectorYOLOV3
{
liucong's avatar
liucong committed
20
    public:
Your Name's avatar
Your Name committed
21
    DetectorYOLOV3();
liucong's avatar
liucong committed
22

Your Name's avatar
Your Name committed
23
24
25
26
    ~DetectorYOLOV3();

    ErrorCode Initialize(InitializationParameterOfDetector initializationParameterOfDetector);

liucong's avatar
liucong committed
27
    ErrorCode Detect(const cv::Mat& srcImage, std::vector<ResultOfDetection>& resultsOfDetection);
Your Name's avatar
Your Name committed
28

liucong's avatar
liucong committed
29
    private:
Your Name's avatar
Your Name committed
30
31
32
33
    cv::FileStorage configurationFile;

    migraphx::program net;
    cv::Size inputSize;
liucong's avatar
liucong committed
34
    std::string inputName;
Your Name's avatar
Your Name committed
35
    migraphx::shape inputShape;
liucong's avatar
liucong committed
36

Your Name's avatar
Your Name committed
37
    bool useFP16;
liucong's avatar
liucong committed
38
    std::vector<std::string> classNames;
Your Name's avatar
Your Name committed
39
40
41
42

    YOLOV3Parameter yolov3Parameter;
};

liucong's avatar
liucong committed
43
} // namespace migraphxSamples
Your Name's avatar
Your Name committed
44
45

#endif