GENiUS Tech

미래 수준까지 끌어올린 기술을 누구나 간편히

  • Generative
  • Classification
  • Polyp GAN
  • RNA GAN
  • Watermarking
  • Style Mixing
  • Object Eraser
  • Pose Estimation
  • Realtime Detection
  • MNC
  • Blurring
  • OCR
  • Polyp GAN

    생성적 적대 신경망을 활용한 합성 위암 데이터 생성합니다.

  • RNA GAN

    특정 질병을 가진 사람의 RNA 시퀀스 데이터를 학습하여,
    해당 질병에 대한 RNA 시퀀스 데이터를 재생성합니다.

  • Digital Video Watermarking

    DCT/DWT를 사용하여 동영상에 보이지 않는 워터마크를 삽입하고, 삽입된 워터마크를
    추출하여 저작권 침해 영상 여부를 판단합니다.

  • Style Mixing

    샘플 PNG를 genius에서 가지고 있는 데이터셋으로 테스트용 얼굴을 가져오게 되며,
    정사각형 얼굴 사진 2개를 가져와 얼굴 합성을 진행합니다.

  • Object Eraser

    선택한 대상을 정밀 분할 및 삭제 후 삭제된 대상 영역에
    배경 이미지를 추정 및 생성합니다.

  • Pose Estimation

    형체를 인식하고 18개의 key points를 추출하여 영상으로부터 형체의 움직임을 감지하고 결과물로 보여줍니다.

  • Realtime Detecting

    실시간 개체 검출 시스템으로 이미지를 포함하여 동영상에서도 실시간으로
    동작 할만큼 빠르고 정확하게 특정 사물을 Detecting 합니다.

  • Multi-task Network Cascades

    Faster R-CNN에서 객체여부를 마스킹하는 CNN을 추가하여 파손부위를 추적합니다.
    약 900개의 파손 차량 데이터를 활용하였으며, CNN을 통과하면서 ROI Align을 사용하기에 파손 위치를 92% 정확하게 추출합니다.

  • Blurring

    영상으로부터 얼굴을 인식하고 개인정보보호를 위해 인식한 얼굴에 모자이크 처리를 진행합니다.

  • OCR

    주어진 이미지에서 텍스트를 추출하기 위해 CRNN을 활용하여 feature sequence 추출, 텍스트 시퀀스를 예측하고 최종적으로
    예측된 텍스트 시퀀스를 텍스트로 변환합니다. 약 50,000장의 한국어 글자체 이미지가 활용되었으며, 이미지 인식에
    ResNet/VGG, 추론에 CTC/Attention/KoSpeech를 사용하여 Word Error Rate 1.13 score를 기록하여 온라인 경진대회에서 수상하였습니다.

  • client.PolypGANs({
      callback_url: 'http://www.example.com/callback',
      instruction: 'Create Medical data using GAN.',
      object_type: ['Polyps'],
      images_to_produce: 30,
      img_width: 1225,
      img_height: 968,
       }, (err, task) => {
        // do something
    });

    RUN CODE

    {
      "annotations" : {
      "url" : "https://{}/img/polyp/72e17a13f4adc003ddb92541.jpg"
       },
    }
  • client.RNAGANs({
      callback_url: 'http://www.example.com/callback',
      attachment_type: 'csv',
      attachment: 'http://example.com/RNA_Sequence_Data.csv',
      data_size: 1000
      disease_type: ['bileduct cancer']
       }, (err, task) => {
        // do something with task
    });

    RUN CODE

    {
      "result" : {
      "url" : "http://{}/gernerated_data/RNA_Data_GAN.csv"
       },
    }
  • client.createWatermarkingTask({
      attachment: 'https://example.com/video.mp4',
      hidden: 'base64:Zm9vYmFyYmF6cXV4Lg==',
      min_width: 30,
      min_height: 30
       }, (err, task) => {
        // do something with task
    });

    RUN CODE

    client.createWatermarkingExtractionTask({
      attachment: 'https://example.com/suspicious_video.mp4',
      target_hidden: 'base64:Zm9vYmFyYmF6cXV4Lg==',
      min_width: 30,
      min_height: 30
       }, (err, task) => {
        task.on('complete', (likelihood) => {
         // computed likelihood delivered in [0, 1] range
         });
    });
  • client.createStyleMixingTask({
      dataset_imgs: 'https://{}/projectAgent_
                     image_to_np/images/*
    ',
      attachment-l: 'https://i.imgur.com/test1.png',
      attachment-: 'https://i.imgur.com/test2.png',
    }, (err, task) => {
         // do something with task
    });

    RUN CODE

    {
      "result": {
      "url": 'https://{}/projectAgent_image_to_np/
              images/output/output.png
    '
      }
    }
  • client.createObjectEraserTask({
      input: 'https://i.imgur.com/foobar.png',
      mask: 'base64:Zm9vYmFyYmF6cXV4Lg==',
      max_height: 3072,
      max_width: 2048
    }, (err, task) => {
        // do something with task
    });

    RUN CODE

    {
       "result": {
         "url": "http://{}/img/tech/txt/g_img01_03.jpg",
      }
    }
  • client.createObjectDetectionTask({[
      {"position": {
        "y": 1,
        "x": 1
      },
        "part": “head",
        "score": 0.1
      },
      {"position": {
        "y": 3,
        "x": 3
      },
        "part": “left shoulder",
        "score": 0.2
      },
      {"position": {
        "y": 1,
        "x": 3
      },
        "part": “right soulder",
        "score": 0.3
      }
    ]});

    RUN CODE

    {
       "result": {
         "url": "http://{}/img/tech/txt/cImg01_02.jpg",
      }
    }
  • client.createSegmentationTask({
      callback_url: 'http://www.example.com/callback',
      instruction: Annotate all the pothole in the video,
      attachment_type: video
      attachment: http://example.com/video.mp4
      objects_to_annotate: ['pothole']
       }, (err, task) => {
        // do something with task
    });

    RUN CODE

    client.createSegmentationTask({
      callback_url: 'http://www.example.com/callback',
      instruction: Annotate all the pothole in the video,
      attachment_type: video
      attachment: http://example.com/video.mp4
      objects_to_annotate: ['pothole']
       }, (err, task) => {
          //"annotations": {
          //"url": "http://{}/img/tech/txt/c_img02_02.jpg",
        },
    });
  • client.createSegmentationTask({[{   “shape_attr": {
        “name”: “polyline”,
        “all_points_x”: [
          319,
          255,
          321,
          ...
          359.
          415,
          457
        ],
        “all_points_y”: [
          474,
          451,
          325,
          
          257,
          210,
          201
        ]
      },
    region_attr”: {“name”: dmg_part }
    dmg_score": 0.1
      },
      {
      “shape_attr": {
      “name”: “polyline”,
      “all_points_x”: [
          359,
          355,
          221,
          ...
          199.
          215,
          357
        ],
      “all_points_y”: [
          374,
          151,
          225,
          
          157,
          110,
          101
        ]
      },
    region_attr”: {“name”: dmg_part }
    dmg_score": 0.25
    }]});

    RUN CODE

    {
       "result": {
         "url": "http://{}/img/tech/txt/c_img03_02.jpg",
      }
    }
  • client.createFaceLandmarkTask({
      attachment: 'https://i.imgur.com/baz.png',
      num_landmarks: 68,
      min_width: 30,
      min_height: 30
       }, (err, task) => {
        // do something with task
    });

    RUN CODE

    client.createFaceLandmarkTask({
      attachment: 'https://i.imgur.com/baz.png',
      num_landmarks: 68,
      min_width: 30,
      min_height: 30
    }, (err, task) => {
        task.on('complete'', (data) => {
            // landmarks: [
            // [252, 38],
            // [258, 58],
            // …
            // ]
        });
    });
  • client.*createNamedentityrecognitionTask*({
      callback_url: 'https://example.com/0000.jpg',
      params: {
        text: “손글씨 내용을 탐지합니다”,
        num_found: 3,
        labels: [
         {
          name: 'T_DETECT',
          display_name: '손글',
         },
         {
          name: 'T_DETECT',
          display_name: '내용을',
         },
         {
          name: 'T_DETECT',
          display_name: '탐지합니다',
         },
        ]
      },
    }, (err, task) => {
        // do something with task
        //T_Detect: [
        // [0,2],
        // [4,6],
        // [8,12]
        //]
    }

    RUN CODE