KR20220062336A - 이미지 교체 복원 - Google Patents

이미지 교체 복원 Download PDF

Info

Publication number
KR20220062336A
KR20220062336A KR1020227011445A KR20227011445A KR20220062336A KR 20220062336 A KR20220062336 A KR 20220062336A KR 1020227011445 A KR1020227011445 A KR 1020227011445A KR 20227011445 A KR20227011445 A KR 20227011445A KR 20220062336 A KR20220062336 A KR 20220062336A
Authority
KR
South Korea
Prior art keywords
image
masked
target area
generating
inverse
Prior art date
Application number
KR1020227011445A
Other languages
English (en)
Other versions
KR102626274B1 (ko
Inventor
나단 제임스 프레이
비나이 코티카라푸디 스리람
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20220062336A publication Critical patent/KR20220062336A/ko
Application granted granted Critical
Publication of KR102626274B1 publication Critical patent/KR102626274B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • G06T5/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

이미지에서 객체를 교체하는 방법이다. 방법은 제1 이미지 내의 한 포지션에서 제1 객체를 식별하는 단계, 마스킹된 이미지를 생성하기 위해 제1 이미지 및 제1 객체의 포지션에 기초하여, 타겟 영역을 마스킹하는 단계, 마스킹된 이미지 및 복원 기계 학습 모델에 기초하여, 상기 제1 이미지와 상이한 제2 이미지를 생성하는 단계, 상기 복원 기계 학습 모델은 트레이닝 이미지들의 타겟 영역과 상기 트레이닝 이미지들의 타겟 영역에 대응하는 위치에 생성된 이미지들의 콘텐츠 사이의 차이를 사용하여 트레이닝되며, 상기 마스킹된 이미지 및 제2 이미지에 기초하여, 제3 이미지를 생성하는 단계, 및 상기 제1 객체와 상이한 새로운 객체를 상기 제3 이미지에 추가하는 단계를 포함한다.

Description

이미지 교체 복원
본 문서는 복원을 사용하여 이미지의 일부를 교체하는 방법에 관한 것이다.
일반적으로, 본 명세서에 기술된 발명의 일 혁신적 양태는 이미지에서 객체를 교체하기 위한 컴퓨터로 구현되는 방법에 포함될 수 있다. 방법은 제1 이미지 내의 한 포지션에서 제1 객체를 식별하는 단계, 마스킹된 이미지를 생성하기 위해 제1 이미지 및 제1 객체의 포지션에 기초하여, 타겟 영역을 마스킹하는 단계, 마스킹된 이미지 및 복원 기계 학습 모델에 기초하여, 상기 제1 이미지와 상이한 제2 이미지를 생성하는 단계, 상기 복원 기계 학습 모델은 트레이닝 이미지들의 타겟 영역과 상기 트레이닝 이미지들의 타겟 영역에 대응하는 위치에 생성된 이미지들의 콘텐츠 사이의 차이를 사용하여 트레이닝되며, 상기 마스킹된 이미지 및 제2 이미지에 기초하여, 제3 이미지를 생성하는 단계, 및 상기 제1 객체와 상이한 새로운 객체를 상기 제3 이미지에 추가하는 단계를 포함한다.
이들 또는 다른 실시예들은 다음 구성들 중 하나 이상을 각각 선택적으로 포함할 수 있다.
일부 구현예에서, 상기 복원 기계 학습 모델은 트레이닝 이미지들의 타겟 영역과 상기 트레이닝 이미지들의 타겟 영역에 대응하는 위치에서 생성된 이미지들의 콘텐츠 사이의 차이를 표현하는 손실 함수를 사용하여 트레이닝된다.
일부 구현예에서, 제1 이미지는 비디오의 프레임이다.
일부 구현예에서, 상기 마스킹된 이미지 및 제2 이미지에 기초하여, 제3 이미지를 생성하는 단계는 상기 제2 이미지 및 상기 제1 이미지의 타겟 영역에 대응하는 위치에 기초하여, 역 마스킹된 이미지를 생성하기 위해 역 타겟 영역을 마스킹하는 단계, 및 상기 마스킹된 이미지 및 상기 역 마스킹된 이미지에 기초하여, 상기 제3 이미지를 생성하는 단계를 포함한다. 상기 역 타겟 영역은 상기 제1 이미지의 타겟 영역에 대응하는 위치 외부에 있는 상기 제2 이미지의 영역을 포함할 수 있다. 상기 제2 이미지 및 상기 제1 이미지의 타겟 영역에 대응하는 위치에 기초하여, 역 마스킹된 이미지를 생성하기 위한 역 타겟 영역을 마스킹하는 단계는, 상기 제2 이미지로부터, 상기 타겟 영역 내부에 있는 상기 제2 이미지의 적어도 일부 콘텐츠를 포함하고, 상기 타겟 영역 외부에 있는 상기 제2 이미지의 적어도 일부 콘텐츠를 포함하지 않는 역 마스킹된 이미지를 생성하는 단계를 포함할 수 있다. 제3 이미지를 생성하는 단계는 역 마스킹된 이미지와 마스킹된 이미지를 합성하는 단계를 포함할 수 있다.
일부 구현예에서, 방법은 상기 제3 이미지에 기초하여, 제4 이미지를 외삽하는 단계를 더 포함하고, 상기 제1 이미지, 제2 이미지, 제3 이미지 및 제4 이미지 각각은 비디오의 프레임이다.
이 양태들의 다른 실시예들은 상기 방법들의 액션들을 수행하도록 구성된 대응 시스템들, 장치들 및 컴퓨터 저장 디바이스들에 인코딩된 컴퓨터 프로그램들을 포함한다.
본 문서에 기술된 본 발명의 특정한 실시예들은 다음의 이점들을 실현하도록 구현될 수 있다. 특정 환경에서, 이전에는 원본 비디오 또는 이미지와 시각적으로 일치하지 않는 교체될 부분을 둘러싸는 영역을 생성하지 않고 비디오 또는 이미지의 최종 렌더링과 같은 파일의 이미지 부분을 교체할 수 있는 방법이 없었다. 예를 들어, 이전 방법은 일반적으로 원본 폐쇄 자막을 둘러싸는 영역을 단일색의 고정 모양으로 교체하거나 복원 기법을 사용하여 원본 폐쇄 자막을 제거하려고 시도하고, 박스 상에 번역된 자막 또는 제거된 자막을 렌더링하므로 비디오의 최종 렌더링에 있는 폐쇄 자막은 번역, 수정 또는 업데이트를 제공하기 위해 단순히 변경되거나 교체될 수 없었다. 이러한 이전 방법은 이상하거나 정확하지 않으며 비디오 또는 이미지를 볼 때 사용자의 경험에 부정적인 영향을 미치고 더 나아가 비디오 또는 이미지의 콘텐츠에 대한 사용자의 반응에 부정적인 영향을 미칠 수 있다. 일반적으로, 복원을 위한 기존 해결책은 전체 이미지를 사용하여 트레이닝되며, 이미지 전반에 걸친 구조 및 세부 사항의 변화로 인해 이미지의 더 작은 영역을 효과적으로 재구성하지 못할 수 있는데 이러한 단점은 여기에서 논의된 기술, 장치 및 시스템으로 해결된다. 본 문서에 설명된 기법을 사용하면 시스템에서 이미지 내의 특정 유형의 객체를 둘러싼 영역을 사용하여 트레이닝된 복원 기계 학습 모델(복원 모델이라고도 함)을 사용하여 교체할 영역을 마스킹하여 이미지 교체에 대한 개선된 해결책을 제공하게 하여, 이미지보다 작은 이미지의 적절한 서브세트(예: 마스킹된 영역에 대응함)를 복원(예를 들어, 예측적으로 생성 또는 재구성)하고, 복원된 영역 위에 교체 이미지를 렌더링한다.
이 새로운 시스템은 자연 배경과 합성 배경이 모두 있는 최종적으로 렌더링된 비디오 또는 이미지의 이미지 부분 교체를 지원한다. 현재의 복원 모델 트레이닝 기법은 시각적 특성이 크게 달라지는 이미지를 사용하여 모델을 트레이닝하기 때문에, 기존의 복원 방법은 다른 시각적 특성 중 구조, 색상 및 질감이 다른 영역을 갖는 이미지에 적용하면 부정확한 결과를 생성한다. 이 새로운 이미지 교체 방법은 특정 유형의 객체를 둘러싸는 제한된 이미지 영역을 재구성하도록 트레이닝된 딥러닝 모델을 사용한다. 예를 들어, 이 새로운 시스템은 타겟 콘텐츠가 단순 고정 모양일 때 단순한 고정 모양 주변 영역을 재구성하도록 트레이닝된 복원 모델을 사용하고, 타겟 콘텐츠가 텍스트인 경우 텍스트 주변 영역을 재구성하도록 트레이닝된 복원 모델을 사용할 수 있다. 복원 모델은 타겟 객체를 둘러싼 제한된 영역(예: 마스킹된 영역 내)에 초점을 맞추도록 트레이닝되기 때문에 모델은 영역 내의 세부 사항과 변형을 보다 정확하게 재구성할 수 있다. 보다 구체적으로, 마스킹된 영역 외부 콘텐츠가 원본 이미지와 새로 생성된 이미지의 해당 부분들 간의 차이를 매우 낮게 하여 쉽게 재현되어야 하므로 복원 모델에 대한 손실 함수는 마스킹된 영역 외부의 영역이 손실 함수를 지배하도록 허용하지 않고, 마스킹된 영역에 대응하는 새로 생성된 이미지 부분에 초점을 맞출 수 있다. 또한, 복원 모델은 특정 유형의 객체에 대해 트레이닝될 수 있으므로, 복원 모델은 여러 투명 영역을 가진 복잡한 객체 주변 및 내부에서 특정 스타일과 간격의 텍스트; 로고를 나타내는 특정 이미지; 다른 특정 애플리케이션 중에서 재구성을 위해 트레이닝될 수 있다.
시스템은 이미지가 최종적으로 렌더링된 후 원본 이미지에 기초하여 비디오 및 이미지를 변경 및/또는 커스터마이징할 수 있는 효율적인 솔루션을 제공한다. 시스템은 다양한 시각적 특성을 갖는 영역을 재구성하는 정확도를 개선하기 위해 테스트 데이터의 맞춤형 부분을 사용하여 복원 모델을 트레이닝시키는 새로운 해결책을 구현함으로써 복원 방법을 사용하여 타겟 영역을 마스킹하고 이미지에서 제거할 수 있는 정확도를 개선한다. 또한 시스템은 사용자 선호도를 포함하여 특정 특성에 기초하여 콘텐츠를 동적으로 업데이트할 수 있다. 예를 들어, 사용자가 영어 오디오와 스페인어 폐쇄 자막을 포함하는 비디오를 보고 있고 사용자가 선호하는 언어는 중국어인 경우, 시스템은 비디오가 중국어 폐쇄 자막을 포함하도록 비디오를 변경하고 다시 렌더링하게 할 수 있다. 일부 구현예에서, 시스템은 필요한 변경 또는 사용자 정의를 자동으로 검출할 수 있다. 예를 들어, 시스템은 사용자의 선호 언어가 중국어임을 나타내는 사용자 정보에 기초하여, 영어로 된 폐쇄 자막을 중국어로 생성된 폐쇄 자막으로 교체하기로 결정할 수 있다. 일부 구현예에서, 시스템은 이루어질 변경 또는 맞춤화와 함께 제공된다. 예를 들어, 시스템은 중국어로 된 한 세트의 폐쇄 자막을 수신할 수 있고 교체될 객체가 스페인어로 된 폐쇄 자막 세트라는 표시를 수신할 수 있다. 또한 텍스트가 아닌 콘텐츠도 원하는 대로 교체할 수 있다. 예를 들어, 비디오는 현재 청중에게 부적절하다고 여겨지거나 비디오 배포 서비스 약관을 위반하는 아이템(예: 지나치게 노골적인 콘텐츠)을 교체하도록 수정할 수 있다. 일부 구현예에서, 시스템은 콘텐츠가 프레임에 대해 상대적으로 이동되는 것을 허용한다. 예를 들어, 배경의 콘텐츠를 가리는 최상위 레이어의 로고는 배경의 콘텐츠가 보이도록 재배치될 수 있다.
이 시스템을 사용하면 이미지 및 비디오가 특정한 애플리케이션, 사용자 기본 설정 및 지리적 위치에 맞게 커스터마이징되게 할 수 있다. 추가로, 개선된 제거 및 재-렌더링 프로세스는 단일 비디오 프로젝트를 조정하여 다양한 애플리케이션 및 사용자가 사용할 수 있도록 함으로써 소비되는 전체 리소스 양을 감소시켜 비디오 및 이미지 콘텐츠 생산의 효율성을 제공한다. 이것은 단 하나의 비디오 프로젝트만 노드로 전송되면 되므로 네트워크를 통한 비디오 전송 대역폭을 줄일 수 있으며, 시스템에서 수정하는 비디오 프로젝트의 양태가 완전히 새로운 비디오 프로젝트가 렌더링(그 후 노드로 전송됨)되는 것보다 상당히 적게 수정하여 하나 이상의 비디오 프로젝트를 렌더링하는데 요구되는 프로세싱 리소스를 감소시킨다. 이 시스템은 많은 리소스를 필요로 하는 디자인, 편집 및 사후 프로세싱 단계 후에 비디오 디자이너, 개발자 및 콘텐츠 제공자가 이미지 및 비디오 콘텐츠를 조정할 수 있는 방법을 제공한다.
또한, 이 방법의 이점은 비디오 제작자가 비디오 프로젝트의 일부만 변경할 수 있다는 점이다. 이 방법을 사용하면 비디오 프로젝트들을 특정한 애플리케이션, 사용자 기본 설정 및 지리적 위치에 맞게 커스터마이징할 수 있다. 각 요청에 대해 비디오를 커스터마이징하고 렌더링하는데 필요한 리소스의 양을 감소시키는 것 외에도, 시스템은 단일 비디오 프로젝트를 조정하여 다양한 애플리케이션 및 사용자에 사용할 수 있도록 함으로써 소비되는 전체 리소스 양을 감소시킨다.
본 명세서에서 본 발명의 하나 이상의 실시예들의 세부 사항은 첨부 도면과 아래의 설명에서 기술된다. 본 발명의 다른 구성들, 양태들 및 이점들은 설명, 도면 및 청구항으로부터 명백해질 것이다.
도 1은 개선된 이미지 교체 복원을 위한 예시적 환경의 블록도이다.
도 2는 개선된 이미지 교체 복원 프로세스의 데이터 흐름을 도시한다.
도 3은 이미지 교체 복원 모델을 트레이닝하기 위한 예시적 기계 학습 프로세스의 다이어그램이다.
도 4는 개선된 이미지 교체 복원을 위한 예시적 프로세스의 흐름도이다.
도 5는 예시적 컴퓨터 시스템의 블록도이다.
다양한 도면들에서 동일한 참조 번호 및 기호는 동일한 컴포넌트를 표시한다.
본 문서는 이미지 및 비디오의 콘텐츠 교체를 개선하는 방법, 시스템 및 디바이스이며, 단일 이미지 또는 비디오가 다수의 애플리케이션에서 사용되게 하고, 현지 규범 및 표준을 준수하도록 수정하고, 이미지/비디오 배포에 대한 서비스 약관을 준수하게 하고, 다양한 사용자의 선호도에 맞게 조정되게 한다.
일부 구현예에서, 시스템은 최종적으로 렌더링된 이미지 또는 비디오가 요청시에 변경되고 이미지 또는 비디오가 제시될 컨텍스트, 예를 들어, 이미지가 배포될 지리적 영역 및/또는 청중 정보에 기초하여 커스터마이징되게 한다. 일부 상황에서, 여기에서 논의된 기법은 특정 클라이언트에 대한 비디오 프로젝트를 조정하려는 비디오 제작자에 의해 사용될 수 있다.
예를 들어, 시스템은 콘텐츠 제공자로부터 최종적으로 렌더링된 비디오를 수신할 수 있다. 비디오는 시청자의 위치에 따라 조정될 이미지를 포함한다. 이 예시에서, 비디오는 미국 전역에서 사용될 공익광고이며, 이미지는 비디오의 각 프레임 모서리에 디스플레이되는 로고일 수 있다. 로고는 시청자가 위치한 국가에 맞게 조정될 수 있다. 시스템은 로고를 타겟으로, 프레임 내 타겟의 포지션, 타겟이 고정 모양임을 검출하고 타겟을 둘러싸는 경계 상자를 결정할 수 있다. 경계 상자는 다른 파라미터들 중에서 타겟 정확도 입도 및 타겟 이미지 품질을 포함하는 파라미터에 기초하여 결정될 수 있다. 각 프레임에 대해, 시스템은 로고를 제거하는 경계 상자 내의 프레임 부분에 대한 마스크와 경계 상자 외부의 프레임 부분에 대한 "역" 마스크를 생성할 수 있다. 경계 상자 내의 프레임 부분에 대한 마스크가 프레임에 적용되어 경계 상자 내부의 콘텐츠가 제거된 마스킹된 이미지를 생성한다. 마스킹된 이미지는 경계 상자 주변 영역에 초점을 맞추도록 트레이닝된 복원 모델에 제공된다. 복원 모델은 경계 상자 내부의 콘텐츠와 경계 상자 외부의 콘텐츠를 포함하는 두 제2의 다른 프레임을 생성하는데 사용된다. 따라서 콘텐츠를 생성하는데 사용되는 복원 모델은 이 특정 애플리케이션에 맞게 조정된다. 경계 상자 외부의 프레임 부분에 대한 역 마스크는 제2의 다른 프레임에 적용되어 경계 상자 외부의 콘텐츠가 제거된 역 마스크 이미지를 만든다. 그런 다음 시스템은 마스킹된 이미지와 역 마스킹된 이미지를 합성하여 새 프레임을 렌더링할 수 있다. 즉, 경계 상자 외부에 있는 원본 이미지의 부분을 경계 상자 내부에 있는 생성된 이미지의 일부와 결합하여 타겟을 포함하지 않는 새 이미지를 생성할 수 있다. 교체 객체가 식별되고, 타겟이 원래 프레임에 있던 동일한 포지션에서 새 프레임에 배치될 수 있다. 일부 구현예에서, 교체 객체는 원래 프레임에서 타겟이 위치했던 포지션과 관련하여 다른 포지션에서 새 프레임에 배치된다. 시스템은 교체 객체로 새 프레임을 렌더링하고, 전체 비디오를 새 프레임으로 렌더링하여 요청에 대한 응답으로 제시할 최종 비디오를 생성할 수 있다.
도 1은 개선된 이미지 교체 복원을 위한 예시적 환경(100)의 블록도이다. 예시적 환경(100)은 근거리 네트워크(LAN), 광역 네트워크(WAN), 인터넷 또는 그들의 조합과 같은 네트워크(102)를 포함한다. 네트워크(102)는 전자 문서 서버(104), 사용자 디바이스(106), 디지털 컴포넌트 서버(106) 및 디지털 컴포넌트 배포 시스템(110)(또한 DCDS(110)으로도 지칭됨)을 연결한다. 예시적 환경(100)은 많은 상이한 전자 문서 서버(104) 및 사용자 디바이스(106)를 포함할 수 있다.
사용자 디바이스(106)는 네트워크(102)를 통해 리소스들(예를 들어, 전자 문서들)을 요청하고 수신할 수 있는 전자 디바이스이다. 예시적 사용자 디바이스들(106)은 퍼스널 컴퓨터들, 모바일 통신 디바이스들 및 네트워크(102)를 통해 데이터를 송수신할 수 있는 기타 디바이스들을 포함한다. 사용자 디바이스(106)는 일반적으로 네트워크(102)를 통해 데이터의 송수신을 지원하기 위한 웹 브라우저와 같은 사용자 애플리케이션을 포함하지만, 사용자 디바이스(106)에 의해 실행되는 네이티브 애플리케이션(native application)도 네트워크(102)를 통해 데이터의 송수신을 지원할 수 있다.
하나 이상의 서드파티(150)는 비디오, 제품 및/또는 서비스의 디자인, 개발, 마케팅 또는 배포에 관련된 콘텐츠 제공자, 제품 디자이너, 제품 제조업체 및 기타 당사자를 포함한다.
전자 문서는 사용자 디바이스(106)에서 콘텐츠의 세트를 제시하는 데이터이다. 전자 문서들의 예시들은 웹페이지, 워드 프로세싱 문서, PDF(Portable Document Format) 문서, 이미지, 비디오, 검색 결과 페이지 및 피드 소스를 포함한다. 모바일, 태블릿 또는 데스크톱 컴퓨팅 디바이스들에 설치된 어플리케이션과 같은 네이티브 어플리케이션들(예: "앱들")도 전자 문서들의 예시들이다. 전자 문서들(105)은 전자 문서 서버(104)에 의해 사용자 디바이스(106)에 제공될 수 있다. 예를 들어, 전자 문서 서버들(104)은 퍼블리셔 웹사이트를 호스팅하는 서버들을 포함할 수 있다. 이 예시에서, 사용자 디바이스(106)는 주어진 퍼블리셔 웹페이지에 대한 요청을 개시할 수 있고, 상기 주어진 퍼블리셔 웹페이지를 호스팅하는 전자 문서 서버(104)는 사용자 디바이스(106)에서 상기 주어진 웹페이지의 제시를 개시하는 기계 HTML 코드를 송신함으로써 상기 요청에 응답할 수 있다.
전자 문서들은 다양한 콘텐츠를 포함할 수 있다. 예를 들어, 전자 문서(105)는 전자 문서 자체 내에 있는 및/또는 시간 경과에 따라 변하지 않는 정적 콘텐츠(예: 텍스트 또는 기타 특정 내용)을 포함할 수 있다. 또한, 전자 문서들은 시간이 지남에 따라 또는 요청 기반으로 변경될 수 있는 동적 콘텐츠를 포함할 수 있다. 예를 들어, 주어진 전자 문서의 퍼블리셔는 전자 문서의 일부를 채우기 위해 사용되는 데이터 소스를 유지할 수 있다. 이 예시에서, 주어진 전자 문서는 사용자 디바이스(106)에 의해 주어진 전자 문서가 프로세싱(예를 들어, 렌더링 또는 실행)되는 경우, 사용자 디바이스(106)로 하여금 데이터 소스로부터 콘텐츠를 요청하게 하는 태그 또는 스크립트를 포함할 수 있다. 사용자 디바이스(106)는 데이터 소스로부터 획득된 콘텐츠를 상기 주어진 전자 문서의 제시에 통합하여, 상기 데이터 소스로부터 획득된 콘텐츠를 포함하는 복합 전자 문서를 생성한다.
일부 경우에, 주어진 전자 문서는 디지털 컴포넌트 배포 시스템(110)을 참조하는 디지털 콘텐츠 태그들 또는 디지털 콘텐츠 스크립트를 포함할 수 있다. 이들 상황에서, 디지털 콘텐츠 태그 또는 디지털 콘텐츠 스크립트는 주어진 전자 문서가 사용자 디바이스(106)에 의해 프로세싱되는 경우, 사용자 디바이스(106)에 의해 실행된다. 디지털 콘텐츠 태그 또는 디지털 콘텐츠 스크립트의 실행은 사용자 디바이스(106)를 구성하여, 디지털 콘텐츠에 대한 요청(108)을 생성하며, 상기 디지털 콘텐츠는 네트워크(102)를 통해 DCDS(110)에 전송된다. 예를 들어, 디지털 콘텐츠 태그 또는 디지털 콘텐츠 스크립트는 사용자 디바이스(106)로 하여금 헤더 및 페이로드 데이터를 포함하는 패킷화된 데이터 요청을 생성하게 한다. 요청(108)은 디지털 콘텐츠가 요청되는 서버의 이름(또는 네트워크 위치), 요청하는 디바이스(예를 들어, 사용자 디바이스(106))의 이름(또는 네트워크 위치) 및/또는 상기 요청에 응답하여 제공되는 디지털 콘텐츠를 선택하기 위해 디지털 콘텐츠 배포 시스템(110)이 사용할 수 있는 정보를 포함할 수 있다. 요청(108)은 사용자 디바이스(106)에 의해, 네트워크(102)(예를 들어, 통신 네트워크)를 통해, 디지털 콘텐츠 배포 시스템(110)의 서버로 전송된다.
요청(108)은 전자 문서 및 디지털 콘텐츠가 제시될 수 있는 위치들의 특성들을 를 특정하는 데이터를 포함할 수 있다. 예를 들어, 디지털 콘텐츠가 제시될 전자 문서(예: 웹페이지)에 대한 참조(예: URL), 디지털 콘텐츠를 제시하기 위해 사용가능한 전자 문서들의 사용가능한 위치들(예: 디지털 콘텐츠 슬롯들), 상기 사용가능한 위치들의 크기들, 전자 문서의 제시 내에서 사용 가능한 위치들의 포지션들 및/또는 상기 위치들에서 제시하기에 적합한 미디어 유형들을 특정하는 데이터가 디지털 콘텐츠 배포 시스템(110)에 제공될 수 있다. 유사하게, 전자 문서에 의해 참조되는 상기 전자 문서와 연관된 키워드들("문서 키워드") 또는 엔티티들(예를 들어, 사람들, 장소들 또는 사물들)의 선택을 위해 지정된 키워드를 특정하는 데이터는 또한 상기 요청(108)에 포함되고(예를 들어, 페이로드 데이터로서), 디지털 콘텐츠 배포 시스템(110)에 제공되어 전자 문서와의 제시에 적합한 디지털 콘텐츠 아이템의 식별을 용이하게 한다.
또한, 요청들(108)은 사용자가 제공했던 정보, 요청이 제출되었던 주(state) 또는 지역을 표시하는 지리적 정보 또는 디지털 콘텐츠가 디스플레이될 환경에 대한 컨텍스트를 제공하는 기타 정보(예: 모바일 디바이스 또는 태블릿 디바이스와 같이 디지털 콘텐츠가 디스플레이될 디바이스의 유형)와 같은 기타 정보와 관련된 데이터를 포함할 수 있다. 사용자에게 제공된 정보는 사용자 디바이스(106)의 사용자에 대한 인구통계 데이터를 포함할 수 있다. 예를 들어, 인구통계 정보는 연령, 성별, 지리적 위치, 교육 수준, 결혼 여부, 가구 소득, 직업, 취미, 소셜 미디어 데이터, 사용자가 특정한 아이템을 소유하고 있는지 여부 등을 포함할 수 있다.
본 명세서에서 논의된 시스템들이 사용자들에 관한 개인 정보를 수집하거나 또는 개인 정보를 사용하는 경우들에 있어서, 사용자들에게 프로그램들 또는 구성들이 개인 정보 예를 들면, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호들 또는 사용자의 현재 위치에 관한 정보를 수집할 것인지 여부를 제어할, 사용자와 더 관련된 콘텐츠 서버로부터의 콘텐츠를 수신할지 및/또는 어떻게 수신할지 제어할 기회가 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 익명화되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 신원은 사용자에 관한 개인적으로 식별가능한 정보가 결정될 수 없도록 익명화되거나 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(시, 우편번호 또는 주 레벨로), 사용자의 특정한 위치가 결정될 수 없도록 한다. 따라서, 사용자는 그 또는 그녀에 관한 정보가 어떻게 수집되는지 그리고 콘텐츠 서버에 의해 사용되는지에 관한 제어를 가질 수 있다.
또한, 사용자 디바이스(106)의 모델을 식별하는 정보, 사용자 디바이스(106)의 구성 또는 전자 문서가 제시되는 전자 디스플레이(예: 터치스크린 또는 데스크톱 모니터)의 크기(예: 물리적 크기 또는 해상도)와 같은 사용자 디바이스(106)의 특성들을 특정하는 데이터도 상기 요청(108)에서 제공될 수 있다. 요청들(108)은 예를 들어, 패킷화된 네트워크를 통해 전송될 수 있고, 요청들(108) 자체는 헤더 및 페이로드 데이터를 갖는 패킷화된 데이터로서 포맷팅될 수 있다. 상기 헤더는 상기 패킷의 목적지를 특정할 수 있고, 상기 페이로드 데이터는 상기 논의된 임의의 정보를 포함할 수 있다.
디지털 컴포넌트 배포 시스템(110)은 요청(108)의 수신 및/또는 상기 요청(108)에 포함된 정보의 사용에 응답하여, 주어진 전자 문서와 함께 제시될 디지털 콘텐츠를 선택한다. 일부 구현예에서, 디지털 콘텐츠 배포 시스템(110)은 예를 들어, 상호연결되고, 그리고 요청들(108)에 응답하여 디지털 콘텐츠를 식별하고 배포하는 서버 및 다수의 컴퓨팅 디바이스들의 세트를 포함하는 분산 컴퓨팅 시스템(또는 환경)에서 구현된다. 다수의 컴퓨팅 디바이스(114)의 세트는 수백만의 사용가능한 디지털 콘텐츠의 코퍼스 중에서 전자 문서에 제시되기에 적합한 디지털 콘텐츠의 세트를 식별하기 위해 함께 동작한다. 수백만의 사용가능한 디지털 콘텐츠는 예를 들어, 디지털 컴포넌트 데이터베이스(112)에서 색인될 수 있다. 각 디지털 콘텐츠 색인 항목은 대응하는 디지털 콘텐츠를 참조하거나 및/또는 대응하는 디지털 콘텐츠의 배포를 조건화하는 배포 파라미터들(예: 선택 기준)을 포함할 수 있다.
일부 구현예에서, 디지털 컴포넌트 데이터베이스(112)로부터의 디지털 컴포넌트는 서드파티(150)에 의해 제공되는 콘텐츠를 포함할 수 있다. 예를 들어, 디지털 컴포넌트 데이터베이스(112)는 공도를 탐색하기 위해 기계 학습 및/또는 인공 지능을 사용하는 서드파티(150)로부터 공공 교차로의 사진을 수신할 수 있다. 다른 예에서, 디지털 컴포넌트 데이터베이스(112)는 자전거 라이더에게 서비스를 제공하는 서드파티(150)로부터 서드파티(150)가 사용자로부터 응답을 원하는 특정 질문을 수신할 수 있다. 추가적으로, DCDS(110)는 예를 들어 비디오 렌더링 프로세서(130)로부터의 콘텐츠 및 디지털 컴포넌트 데이터베이스(112)에 저장된 비디오 렌더링 프로세서(130)에 의해 제공되는 비디오 콘텐츠를 포함하는 비디오 콘텐츠를 제시할 수 있다.
적합한 디지털 콘텐츠의 식별은 다수의 컴퓨팅 디바이스들의 세트 내의 컴퓨팅 디바이스들 사이에 할당되는 다수의 작업들로 세분될 수 있다. 예를 들어, 상이한 컴퓨팅 디바이스들은 디지털 컴포넌트 데이터베이스(112)의 상이한 부분을 각각 분석하여 요청(108)에 포함된 정보와 매칭되는 배포 파라미터들을 갖는 다양한 디지털 콘텐츠를 식별할 수 있다.
디지털 콘텐츠 배포 시스템(110)은 다수의 컴퓨팅 디바이스들(114)의 세트로부터 수신된 결과들을 집합시키고, 상기 집합된 결과들과 연관된 정보를 사용하여, 요청(108)에 응답하여 제공될 디지털 콘텐츠의 하나 이상의 인스턴스들을 선택한다. 차례로, 디지털 컴포넌트 배포 시스템(110)은 사용자 디바이스(106)로 하여금 디지털 콘텐츠의 선택된 세트를 주어진 전자 문서에 통합하게 하는 응답 데이터(114)를 생성하고, 네트워크(102)를 통해 전송할 수 있어, 디지털 콘텐츠의 선택된 세트와 상기 전자 문서의 콘텐츠가 사용자 디바이스(106)의 디스플레이에 함께 제시되도록 한다.
이미지 교체 프로세서(120)는 이미지 및 비디오를 수신하거나 검색하고 이미지 또는 비디오의 특정 부분을 교체한다. 이미지 교체 프로세서(120)는 객체 프로세서(122), 복원 모델(124) 및 렌더링 프로세서(126)를 포함한다. 객체 프로세서(122)는 객체를 검출하고 검출된 객체를 둘러싸는 경계 상자를 생성하기 위해 이미지 또는 비디오를 프로세싱한다. 복원 모델(124)은 예를 들어 객체 프로세서(122)에 의해 생성된 경계 상자 내에서 이미지 또는 비디오의 특정 부분을 재생성하기 위해 기계 학습 기법을 사용한다. 렌더링 프로세서(126)는 변경된 이미지 및/또는 비디오를 렌더링한다.
설명의 편의를 위해, 객체 프로세서(122), 복원 모델(124) 및 렌더링 프로세서(126)가 도 1에 이미지 교체 프로세서(120)의 개별 컴포넌트로서 도시된다. 이미지 교체 프로세서(120)는 비일시적 컴퓨터 판독 가능 매체에서 단일 시스템으로 구현될 수 있다. 일부 구현예에서, 하나 이상의 객체 프로세서(122), 복원 모델(124) 및 렌더링 프로세서(126)는 단일 시스템의 통합된 컴포넌트로서 구현될 수 있다. 이미지 교체 프로세서(120), 그 컴포넌트 객체 프로세서(122), 복원 모델(124) 및 렌더링 프로세서 및 이들 각각의 동작 및 출력은 아래에서 더 상세히 설명된다.
복원 모델(124)은 통계적 및/또는 기계 학습 모델일 수 있다. 예를 들어, 복원 모델(124)은 이미지의 제한된 영역(예를 들어, 마스킹된 영역 내 또는 마스킹된 영역의 일부 지정된 거리 내)에 초점을 맞추는 손실 함수를 사용하여 트레이닝되는 GAN(Generative-Adversarial-Network) 모델일 수 있다. 일부 구현예에서, 복원 모델(124)은 GAN 모델에 추가하여, 의사 결정 트리, 선형 회귀 모델, 로지스틱 회귀 모델, 신경망, 분류기, 지원 벡터 머신, 유도 논리 프로그래밍, 모델들의 앙상블(예: 배깅, 부스팅, 랜덤 포레스트 등과 같은 기법들을 사용하는), 제네틱 알고리즘, 베이시안 네트워크 등과 같은 다양한 임의의 모델들을 사용할 수 있고, 딥러닝, 연관 규칙, 유도 논리, 클러스터링, 최대 엔트로피 분류, 학습 분류 등과 같은 다양한 접근법들을 사용하여 트레이닝될 수 있다. 일부 예시에서, 기계 학습 모델들은 지도 학습을 사용할 수 있다. 일부 예시에서, 기계 학습 모델들은 비지도 학습을 사용할 수 있다. 복원 모델(124)의 트레이닝은 도 3을 참조하여 이하에서 상세히 설명된다.
아래에 설명된 기법을 통해 시스템은 복잡성에 관계없이 효율적으로 비디오를 편집하고 렌더링할 수 있다.
도 2는 도 1의 예시적인 환경에서의 개선된 이미지 교체 복원의 예시적 데이터 흐름(200)을 도시한다. 데이터 흐름(200)의 동작은 시스템(100)의 다양한 컴포넌트에 의해 수행된다. 예를 들어, 데이터 흐름(200)의 동작은 DCDS(110) 및/또는 사용자 디바이스(106)와 통신하는 이미지 교체 프로세서(120)에 의해 수행될 수 있다.
흐름은 이미지 교체 프로세서(120)가 최종 렌더링(202)을 수신하는 단계 A로 시작한다. 최종 렌더링(202)은 이미지 또는 비디오일 수 있다. 예를 들어, 이미지 교체 프로세서(120)는 서드파티(130)와 같은 콘텐츠 제공자로부터 또는 DCDS(110)로부터 최종 이미지 렌더링(202)을 수신할 수 있다. 일부 구현예에서, 이미지 교체 프로세서(120)는 사용자 디바이스(106)의 사용자와 같은 사용자로부터 최종 렌더링(202)을 수신한다. 일부 구현예에서, 이미지 교체 프로세서(120)는 데이터베이스와 같은 저장 매체로부터 최종 렌더링(202)을 검색한다. 예를 들어, 이미지 교체 프로세서(120)는 디지털 컴포넌트 데이터베이스(112)로부터 최종 렌더링(202)을 검색한다. 일부 구현예에서, 이미지 교체 프로세서(120)는 최종 렌더링(202)을 검색하기 위한 명령어를 수신할 수 있다.
흐름은 이미지 교체 프로세서(120)가 교체될 타겟 객체를 검출하고 타겟 객체를 둘러싸는 경계 상자(206)를 생성하는 단계 B로 계속된다. 예를 들어, 객체 프로세서(122)는 타겟 객체(204) 및 그 객체 유형을 검출할 수 있다. 이 특정 예에서, 타겟 객체(204)는 텍스트 라벨이다. 다른 구현예에서, 타겟 객체는 객체의 다른 유형 중에서도 특히 텍스트, 열린 모양, 닫힌 모양, 투명도 파라미터가 있는 복잡한 모양, 간단한 모양, 움직이는 모양 및/또는 변화하는 모양과 같은 다른 유형의 콘텐츠일 수 있다.
객체 프로세서(122)는 또한 타겟 객체(204) 주위에 경계 상자(206)를 생성할 수 있다. 일부 구현예에서, 경계 상자(206)는 미리 결정된 파라미터에 기초하여 결정된다. 예를 들어, 경계 상자(206)는 경계 상자(206)와 타겟 객체(204) 사이에 적어도 미리 결정된 크기의 여백을 갖는 타겟 객체를 둘러싸는 직사각형 모양으로 결정될 수 있다. 예를 들어, 객체 프로세서(122)는 타겟 객체(204)의 에지를 검출하고 마진 파라미터를 따름으로써 타겟 객체(204) 주위의 경계 상자(206)를 결정할 수 있다. 마진 파라미터는 예를 들어 사용자 디바이스(106)의 사용자, 콘텐츠 제공자, DCDS(110) 및/또는 서드파티(130)에 의해 제공될 수 있다.
객체 프로세서(122)는 또한 최종 렌더링(202) 내의 타겟 객체(204)의 포지션을 검출한다. 예를 들어, 객체 프로세서(122)는 x 포지션 및 y 포지션의 관점에서 타겟 객체(204)의 포지션을 결정할 수 있다. 일부 구현예에서, 객체 프로세서(122)는 기준 포인트(예를 들어, 기준 픽셀 위치 및 타겟 객체에 의해 점유된 영역)에 대한 타겟 객체(204)의 포지션을 결정할 수 있다. 일부 구현예에서, 객체 프로세서(122)는 타겟 객체(204)의 절대 포지션을 결정할 수 있다.
흐름은 이미지 교체 프로세서(120)가 경계 상자(206) 내의 최종 렌더링(202) 영역의 콘텐츠 데이터를 재생성하는 단계 C로 계속된다. 먼저, 하위 단계 C-1에서, 이미지 교체 프로세서(120)는 경계 상자(206) 내의 최종 렌더링(202)의 콘텐츠를 제거하기 위해 경계 상자(206) 내의 최종 렌더링(202)의 영역에 대한 마스크를 생성한다. 그런 다음 이미지 교체 프로세서(120)는 마스크를 최종 렌더링(202)에 적용하여 경계 상자(206) 내에 최종 렌더링(202)의 콘텐츠를 포함하지 않는 마스킹된 이미지(208)를 생성한다. 일부 구현예에서, 객체 프로세서(122)는 마스크를 생성하고 최종 렌더링(202)에 적용하여 마스킹된 이미지(208)를 생성한다.
다음으로, 하위 단계 C-2에서, 복원 모델(124)은
Figure pct00001
를 균일하게 샘플링함으로써 타겟 객체를 둘러싼 영역(예를 들어, 경계 상자(206) 내의 영역) 내의 콘텐츠를 재현할 수 있고, 여기서 rmin 및 rmax는 각각 최소값 및 최대 종횡비를 나타낸다. 복원 모델(124)은
Figure pct00002
를 균일하게 샘플링할 수 있고, 여기서 amin 및 amax는 각각 최소 및 최대 적용 범위이고; xmax 및 ymax는 각각 이미지 너비와 높이이고; m은 타겟 객체의 가장자리 주변에 원하는 여백이다. 복원 모델(124)은 선택된 종횡비에 따르도록
Figure pct00003
를 다음으로 설정할 수 있다. 일부 구현예에서, 선택된 종횡비는 원본 이미지의 종횡비이다. 다른 구현예에서, 종횡비는 사용자 입력 또는 다른 파라미터들에 기초하여 선택될 수 있다. 복원 모델(124)은
Figure pct00004
Figure pct00005
를 균일하게 샘플링할 수 있다.
이 샘플링된 데이터를 사용하여, 복원 모델(124)은 타겟 객체(204) 없이 경계 상자(206) 내부의 최종 렌더링(202) 영역 내에 콘텐츠를 재생성할 수 있다. 복원 모델(124)은 예를 들어 구조적 또는 기하학적 복원, 텍스처 복원 및/또는 구조 및 텍스처 복원의 조합을 수행할 수 있다. 복원 모델(124)은 복잡하고 가변적인 텍스처와 경계에서 단순한 가장자리 및 구조적 속성에 이르는 구조적 속성을 가진 이미지에 적응할 수 있기 때문이다. 예를 들어, 복원 모델(124)은 복원 모델(124)에 의해 재생성된 최종 렌더링(202)의 영역 내의 콘텐츠를 포함하는 마스킹된 이미지를 사용하여 제2 이미지(210)를 생성할 수 있다. 다시 말해서, 제2 이미지는 마스킹된 이미지(208)를 입력으로 사용하여 복원 모델(124)에 의한 생성된 최종 렌더링(202)의 재생성일 수 있다.
일부 구현예에서, 제2 이미지(210)는 최종 렌더링(202)에서 표현된 것과 정확히 같은 경계 상자(206) 외부의 최종 렌더링(202)의 콘텐츠를 포함한다. 예를 들어, 경계 상자(206) 외부의 최종 렌더링(202)의 콘텐츠는 입력된 그대로 제2 이미지(210)에서 사용될 수 있거나, 복원 모델(124)에 입력된 그대로 정확하게 복원 모델(124)에 의해 재현될 수 있다. 일부 구현예에서, 제2 이미지(210)는 복원 모델(124)에 의해 생성되는 경계 상자(206) 외부의 최종 렌더링(202)의 콘텐츠를 표현하는 콘텐츠를 포함한다. 예를 들어, 복원 모델(124)은 경계 상자(206) 외부에서 최종 렌더링(202)의 콘텐츠를 생성할 수 있고, 이 생성된 콘텐츠는 그것이 입력되었던 것과 정확히 최종 렌더링(202)의 콘텐츠를 표현하지 않을 수 있다. 제2 이미지(210)는 최종 렌더링(202)과 동일한 치수를 가질 수 있다. 일부 구현예에서, 제2 이미지(210)는 최종 렌더링(202)과 상이한 치수를 가질 수 있다. 예를 들어, 제2 이미지(210)는 최종 렌더링(202)의 스케일링된 버전일 수 있다.
흐름은 이미지 교체 프로세서(120)가 "역" 마스킹된 이미지를 생성하는 단계 D로 계속된다. 먼저, 하위 단계 D-1에서, 이미지 교체 프로세서(120)는 경계 상자(212)의 포지션 외부에 있는 제2 이미지(210)의 영역에 대한 "역" 마스크를 생성한다. 이미지 교체 프로세서(210)는 최종 렌더링(202)에서 경계 상자(206)와 동일한 포지션 및 비율로 경계 상자(212)를 생성할 수 있다. 경계 상자(212)는 복원 프로세서(124)에 의해 생성된 재생성된 콘텐츠를 포함할 수 있다. 복원 모델(124)은 예를 들어, 경계 상자(212) 외부의 제2 이미지(210)의 영역을 제거하기 위해 경계 상자(212) 외부의 제2 이미지(210)의 영역에 대한 역 마스크를 생성할 수 있다. 그런 다음 복원 모델(124)은 역 마스크된 이미지(214)를 생성하기 위해 제2 이미지(210)에 역 마스크를 적용한다. 일부 구현예에서, 객체 프로세서(122)는 역 마스킹된 이미지(214)를 생성하기 위해 마스크를 생성하고 제2 이미지(210)에 적용한다.
하위 단계 D-2에서, 복원 모델(124)은 타겟 객체(204)를 포함하지 않는 최종 렌더링(202)의 버전을 표현하는 제3 이미지를 생성하기 위해 마스킹된 이미지(208)와 역 마스킹된 이미지(210)의 합성물을 생성할 수 있다. 예를 들어, 복원 모델(124)은 마스킹된 이미지(208)와 역 마스킹된 이미지(210)를 타겟 객체(204)를 포함하지 않는 제3 이미지(216)로 결합하기 위해 알파 블렌딩을 사용할 수 있다. 마스킹된 이미지(208)와 역 마스킹된 이미지(210)를 결합하기 위한 다른 기법이 또한 마스킹된 이미지(208) 및 역 마스킹된 이미지(210)의 일부를 포함하는 제3 이미지(216)를 생성하는데 사용될 수 있다.
흐름은 DCDS(110)가 사용자 디바이스(106)로부터 콘텐츠에 대한 요청(108)을 수신하는 단계 E로 계속된다. 요청(108)은 클라이언트 디바이스가 디지털 콘텐츠와 인터렉션할 때 사용자 디바이스(106)에 의해 DCDS(110)로 전송된다. 예를 들어, 사용자 디바이스(106)의 사용자가 쇼핑 애플리케이션을 다운로드하기 위해 링크를 클릭하면, 링크는 사용자 디바이스(106)가 요청(108)을 DCDS(110)에 전송하게 할 수 있다. 요청(108)은 클라이언트 디바이스(106)으로부터 데이터를 추정하는 인터렉션을 포함할 수 있다. 예를 들어, 요청(108)은 인터렉션의 표시, 사용자 디바이스(106)가 인터렉션한 디지털 콘텐츠 및 사용자 디바이스(106)를 고유하게 식별하는 식별자와 같은 추적 데이터를 포함할 수 있다. 일부 구현예에서, 요청(108)은 디지털 콘텐츠 제공자의 표시 및 요청된 리소스를 호스팅하는 목적지 서버의 위치를 포함한다.
DCDS(110)는 요청을 프로세싱하고, 커스터마이징 정보를 포함하는 특정 이미지 또는 비디오에 대한 요청을 이미지 교체 프로세서(120)에 포워딩한다. 예를 들어, DCDS(110)는 도 1과 관련하여 전술한 콘텐츠 선택 프로세스를 사용하여 특정 비디오를 선택하고, 이미지 교체 프로세서(120)에 제공할 맞춤화 정보를 결정한다. 일부 구현예에서, DCDS(110)는 이미지 또는 비디오가 사용자 디바이스(106)에서 제시될 컨텍스트에 기초하여 맞춤화 정보를 결정한다. 일부 구현예에서, DCDS(110)는 예를 들어, 콘텐츠를 DCDS(110)에 제공하는 서드파티(130)로부터의 정보에 기초하여 맞춤화 정보를 결정한다.
흐름은 이미지 교체 프로세서(120)가 제3 이미지(216) 또는 합성 이미지에 교체 객체를 추가하는 단계 F로 계속된다. 교체 객체(218)는 타겟 객체(204)와 동일한 유형이거나 다른 유형일 수 있다. 예를 들어, 교체 객체(218)는 이미지일 수 있고 타겟 객체(204)는 텍스트일 수 있다. 일부 구현예에서, 교체 객체(218)는 맞춤화 정보에 기초하여 선택될 수 있다. 일부 구현예에서, 교체 객체(218)는 이미지 교체 프로세서(120)에 제공된다. 객체 프로세서(122)는 타겟 객체(204)가 최종 렌더링(202)에서 위치되었던 동일한 포지션에 교체 객체(218)를 추가할 수 있다. 일부 구현예에서, 객체 프로세서(122)는 타겟 객체(204)가 최종 렌더링(202)에서 위치되었던 포지션에 대해 다른 포지션에 교체 객체(218)를 추가할 수 있다. 하나의 특정 예에서, 객체 프로세서(122)는 타겟 객체(204)가 최종 렌더링(202)에서 위치되었던 포지션에 대해 제3 이미지(216) 내의 상이한 포지션으로 타겟 객체(204)를 이동할 수 있다.
흐름은 이미지 교체 프로세서(120)가 새로운 이미지를 생성하기 위해 추가된 객체로 이미지를 다시 렌더링하는 단계 G로 계속된다. 예를 들어, 렌더링 프로세서(126)는 제3 이미지(216)와 교체 객체(218)의 합성물을 새로운 렌더링(220)으로 생성할 수 있다. 일부 구현예에서, 렌더링 프로세서(126)는 알파 블렌딩 기법을 사용하여 새로운 렌더링(220)을 생성할 수 있다.
일부 구현예에서, 이미지 교체 프로세서(120)는 제2 이미지(210)와 교체 객체(218)의 합성물을 생성함으로써 새로운 렌더링(220)을 생성할 수 있다. 예를 들어, 이미지 교체 프로세서(120)는 단계 D를 수행하지 않을 수 있다.
흐름은 단계 H로 계속되는데, 여기서 이미지 교체 프로세서(120)는 새 이미지 또는 비디오를 DCDS(110)에 제공하여 사용자 디바이스(106)에 응답(114)과 함께 또는 응답(114)으로서 제시한다. 예를 들어, 이미지 교체 프로세서(120)는 응답(114)과 함께 사용자 디바이스(106)에 제시하기 위해 DCDS(110)에 새로운 렌더링(220)을 제공한다. 전술한 바와 같이, 응답 데이터(114)는 요청된 전자 문서에 추가하여 이미지 교체 프로세서(120)에 의해 렌더링된 이미지 또는 비디오 콘텐츠를 표시할 수 있다. 응답 데이터(114)는 DCDS(110)가 요청(108)을 수신하고, 수신된 배포 파라미터 및 요청(108)에 표시된 사용자 데이터에 기초하여 배포 파라미터가 만족되는지를 결정하는 것에 응답하여 DCDS(110)에 의해 사용자 디바이스(106)로 전송된다.
도 3은 지능 외관 시스템을 트레이닝하기 위한 시스템(300)의 예시적인 블록도의 도면이다. 예를 들어, 시스템(300)은 도 1과 관련하여 설명된 바와 같이 복원 모델(124)을 트레이닝하는데 사용될 수 있다.
예(202)는 이 특정 예에서 GAN 기반 복원 모델을 트레이닝하기 위한 입력으로서 트레이닝 모듈(210)에 제공된다. 예(202)는 긍정 예(즉, 임계 정확도 레벨을 갖는 복원 영역 마스크의 예) 또는 부정 예(즉, 임계 정확도 레벨보다 작은 레벨을 갖는 복원 영역의 예)일 수 있다. 예(202)는 실측 영역 또는 원래 이미지로부터 실제의 정확한 영역에 대해 임계 정확도 레벨을 갖는 것으로 결정된 영역을 포함할 수 있다.
실측은 원본 이미지의 실제 정확한 영역을 표시한다. 예를 들어, 예(202)는 실제 영역이 원본 이미지에서 제거되고 트레이닝 모듈(210)에 제공되는 트레이닝 세트를 포함할 수 있다. 일부 구현예에서, 복원 모델(124)을 사용하여 복원된 영역 마스크를 생성하고 복원된 영역 마스크가 원본 이미지로부터 실제 정확한 영역과 관련하여 임계 정확도 레벨을 갖는다고 확인함으로써 실측 영역이 생성되어 예(202)로서 트레이닝 모듈(210)에 제공될 수 있다. 일부 구현예에서 사람은 복원된 영역 마스크의 정확도를 수동으로 검증할 수 있다. 복원된 영역 마스크는 검증된 복원된 영역 마스크를 포함하는 데이터 저장 매체로부터 데이터를 가져와서 자동으로 검출하고 라벨을 지정할 수 있다.
실측 미래 모션은 입력이 실측값으로 라벨링되도록 예(202)의 특정 입력과 상관될 수 있다. 실측 라벨로, 트레이닝 모듈(210)은 복원 모델(124)의 모델 출력을 검증하기 위해 예(202) 및 라벨을 사용할 수 있고, 모델이 복원된 영역 마스크를 생성하는 정확도를 개선하기 위해 모델을 계속 트레이닝할 수 있다.
트레이닝 모듈(210)은 타겟 영역 손실 함수(212)를 사용하여 복원 모델(124)을 트레이닝한다. 트레이닝 모듈(110)은 복원 모델(124)을 트레이닝하여 복원된 영역 마스크를 생성하기 위해 타겟 영역 손실 함수(212)를 사용한다. 타겟 영역 손실 함수(212)는 다른 변수 중에서 예측된 텍스처 및/또는 예측된 구조와 같은 변수를 고려할 수 있다. 예를 들어, 타겟 영역 손실 함수(212)는 도 2와 관련하여 도시된 바와 같이 타겟 객체(204)를 둘러싸는 경계 상자(206) 내의 영역과 같은 타겟 객체를 둘러싸는 영역에 초점을 맞출 수 있다.
예를 들어, 복원 모델(124)은 예를 들어 다음과 같이 지정된 것과 같은 손실 함수를 사용할 수 있다.
Figure pct00006
Figure pct00007
이 손실 함수는 제1 이미지의 타겟 영역과 제1 이미지의 타겟 영역에 대응하는 위치에서 제2 이미지의 콘텐츠 사이의 차이를 나타낸다. 마스킹된 영역 외부의 콘텐츠는 매우 재현 가능하고 일부 구현예에서는 정확하게 복사될 수 있으므로, 원본 이미지와 새로 생성된 이미지의 해당 부분 사이의 차이가 매우 낮기 때문에, 시스템의 손실 함수는 마스킹된 영역 외부의 영역이 손실 함수를 지배하도록 허용하는 대신 마스킹된 영역에 대응하는 새로 생성된 이미지의 부분에 초점을 맞춘다.
트레이닝 모듈(210)은 복원 모델(124)을 수동으로 트레이닝하거나 프로세스가 자동화될 수 있다. 트레이닝 모듈(210)은 손실 함수(212) 및 실측 영역으로 라벨링된 예(202)를 사용하여 모델에 중요한 것이 무엇인지 학습하기 위해 복원 모델(124)을 트레이닝한다. 예를 들어, 트레이닝 모듈(210)은 손실 함수에 기초하여 모델을 최적화함으로써 복원 모델(124)을 트레이닝할 수 있다. 일부 구현예에서, 손실 함수에 기초하여 모델을 최적화하는 것은 손실 함수의 결과를 최소화하는 것을 포함하며, 이는 트레이닝 이미지의 타겟 영역과 트레이닝 이미지의 타겟 영역에 대응하는 위치에서 생성된 이미지의 콘텐츠 사이의 차이를 최소화한다. 일부 구현예에서, 트레이닝 모듈(210)은 최대 백분율 차이와 같은 차이에 대한 임계값을 사용할 수 있다. 예를 들어, 트레이닝 모듈(210)은 다른 백분율 중에서 최대 5%, 10% 또는 20% 차이로 트레이닝 이미지의 타겟 영역에 대응하는 위치에서 콘텐츠를 재구성하기 위해 복원 모델(124)을 트레이닝할 수 있다. 일부 구현예에서, 트레이닝 모듈(210)은 복원 모델(124)을 트레이닝하여, 상이한 픽셀들의 최대 수 또는 유사 픽셀들의 최소 수 또는 동일한 픽셀과 같은, 픽셀들의 임계 수로 트레이닝 이미지의 타겟 영역에 대응하는 위치에서 콘텐츠를 재구성할 수 있다. 트레이닝 모듈(210)은 복원 모델(124)이 모델 내에서 변수의 중요성을 강조하거나 덜 강조하기 위해 상이한 변수에 적용된 가중치를 변경함으로써 학습할 수 있게 한다. 모델 내의 변수에 적용된 가중치를 변경함으로써, 트레이닝 모듈(210)은 모델이 더 정확한 복원 모델을 생성하기 위해 더 많은 가중치를 부여해야 하는 정보의 유형(예를 들어, 어떤 텍스처, 구조적 컴포넌트, 경계 등)을 학습할 수 있게 한다.
예 및 변수는 예를 들어 이미지 교체 프로세서(120)로부터의 피드백에 기초하여 가중될 수 있다. 예를 들어, 이미지 교체 프로세서(120)가 손실 함수(212)가 특정 유형의 타겟 객체에 대해 임계 레벨의 정확도를 갖지 않는 결과를 생성하고 있음을 나타내는 피드백 데이터를 수집하는 경우, 복원 모델(124)은 다른 구성보다 특정 구성에 더 많이 가중치를 둘 수 있다. 임계 레벨 정확도를 만족하는 복원 모델(124)에 의해 생성된 복원 영역은 긍정 예(202)로서 저장될 수 있다.
복원 모델(124)은 모든 유형의 타겟 객체 및 원본 이미지의 속성, 또는 최종 렌더링(202)에 사용할 수 있는 일반 모델 및 특성의 세트를 공유하는 타겟 객첵 또는 원본 이미지의 특정 서브세트에 사용될 수 있는 커스터마이징 모델을 포함하는 다양한 유형의 모델을 사용할 수 있고, 검출된 타겟 개체 또는 원본 이미지의 유형에 기초하여 모델을 동적으로 조정할 수 있다. 예를 들어 분류기는 모든 타겟 개체에 기본 GAN을 사용한 다음 각 개체에 맞게 모델을 조정할 수 있다.
복원 모델(124)은 수많은 유형의 타겟 객체에 적응하고 마스크를 생성할 수 있다. 일부 구현예에서, 모델(124)을 복원하기 위한 트레이닝 프로세스는 피드백 정보를 수신하고 이 피드백 정보에 기초하여 복원 모델 네트워크를 동적으로 업데이트하는 폐쇄 루프 시스템이다.
도 4는 개선된 이미지 교체 복원을 위한 프로세스에 대한 예시적 프로세스(400)의 흐름도이다. 프로세스(400)는 하나 이상의 시스템에 의해 수행될 수 있다. 예를 들어, 프로세스(400)는 도 1 내지 도 3의 이미지 교체 프로세서(120), DCDS(110), 사용자 디바이스(106) 및/또는 서드파티(140)에 의해 구현될 수 있다. 일부 구현예에서, 프로세스(400)는 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들로서 구현될 수 있고, 명령어들이 하나 이상의 서버들에 의해 실행될 때, 명령어들은 하나 이상의 서버로 하여금 프로세스(400)의 동작들을 수행하게 할 수 있다.
이미지에서 객체를 교체하기 위한 프로세스(400)는 제1 이미지 내의 포지션에서 제1 객체를 식별하는 것으로 시작한다(402). 예를 들어, 이미지 교체 프로세서(120)는 최종 렌더링(202)을 수신하고, 제1 이미지 내의 특정 포지션에서 타겟 객체(204)를 식별한다. 이미지 교체 프로세서(120)의 객체 프로세서(122)는 식별을 수행할 수 있다. 객체 프로세서(122)는 또한 타겟 객체(204)의 객체 유형을 식별하고 최종 렌더링(202)에서 타겟 객체(204)의 포지션를 결정할 수 있다. 객체 프로세서(122)는 타겟 객체(204)를 둘러싸는 경계 상자(206)를 생성할 수 있다.
프로세스(400)는 마스킹된 이미지를 생성하기 위해 제1 이미지 및 제1 객체의 포지션에 기초하여 타겟 영역을 마스킹하는 것으로 계속된다(404). 예를 들어, 이미지 교체 프로세서(120)는 최종 렌더링(202)에 기초하여 경계 상자(206) 내의 영역을 제거하기 위해 마스크를 생성할 수 있다. 객체 프로세서(122) 또는 복원 모델(124)은 도 1 내지 도 3과 관련하여 위에서 설명된 바와 같이 마스크 생성 및 적용 프로세스를 수행할 수 있다.
프로세스(400)는 마스킹된 이미지 및 복원 기계 학습 모델에 기초하여, 상기 제1 이미지와 상이한 제2 이미지를 생성하는 것을 계속하고, 상기 복원 기계 학습 모델은 트레이닝 이미지들의 타겟 영역과 상기 트레이닝 이미지들의 타겟 영역에 대응하는 위치에 생성된 이미지들의 콘텐츠 사이의 차이를 표현하는 손실 함수를 사용하여 트레이닝된다(406). 예를 들어, 복원 모델(124)은 도 1 내지 도 3과 관련하여 앞서 설명된 바와 같이 최종 렌더링(202)에 기초하여 제2 이미지(210)를 생성할 수 있다. 전술한 바와 같이, 복원 모델(124)은 전체 이미지의 서브세트인 영역과 특정 유형의 주변 타겟 객체에 초점을 맞추도록 트레이닝된다.
프로세스(400)는 마스킹된 이미지 및 제2 이미지에 기초하여 제3 이미지를 생성하는 것으로 계속된다(408). 예를 들어, 이미지 프로세서(120)는 도 1 내지 도 3과 관련하여 앞서 설명된 바와 같이 제2 이미지 및 역 마스크에 기초하여 역 마스킹된 이미지를 생성할 수 있다. 그런 다음, 이미지 프로세서(120)는 마스킹된 영역과 역 마스크를 합성함으로써 제3 이미지를 생성할 수 있다. 예를 들어, 복원 모델(124) 또는 객체 프로세서(122)는 제3 이미지(216)를 생성할 수 있다.
프로세스(400)는 제3 이미지에 새로운 객체를 추가하는 것으로 계속된다(410). 예를 들어, 이미지 프로세서(120)는 타겟 객체(206)와 다른 교체 객체(218)를 제3 이미지(216)에 추가함으로써 새로운 렌더링(220)을 생성할 수 있다. 렌더링 프로세서(126)는 예를 들어 새로운 렌더링(222)을 생성하기 위해 알파 블렌딩 기법을 사용할 수 있다. 일부 구현예에서, 이미지 프로세서(120)는 최종 렌더링(202) 내의 타겟 객체(206)의 상대 포지션에서 교체 객체(218)를 제3 이미지(216)에 추가한다. 일부 구현예에서, 이미지 프로세서(120)는 교체 객체(218)를 다른 포지션의 제3 이미지(216)에 추가한다. 일부 구현예에서, 교체 객체(218)는 타겟 객체(206)와 동일한 객체이고 프로세스(400)는 최종 렌더링(202) 내의 포지션과 관련하여 타겟 객체(206)를 재배치한다.
도 5는 상기 기술된 동작들을 수행하는데 사용될 수 있는 예시적 컴퓨터 시스템(500)의 블록 다이어그램이다. 시스템(500)은 프로세서(510), 메모리(520), 저장 디바이스(530) 및 입력/출력 디바이스(540)를 포함한다. 컴포넌트들(510, 520, 530 및 540) 각각은 예를 들면, 시스템 버스(550)를 사용하여 상호 연결될 수 있다. 프로세서(510)는 시스템(500) 내에서 실행하기 위한 명령어들을 프로세싱할 수 있다. 일 구현예에서, 프로세서(510)는 단일-스레드 프로세서이다. 다른 구현예에서, 프로세서(510)는 멀티-스레드 프로세서이다. 프로세서(510)는 메모리(520) 또는 저장 디바이스(530)에 저장된 명령어들을 프로세싱할 수 있다.
메모리(520)는 시스템(500) 내에 정보를 저장한다. 일 구현예에서, 메모리(520)는 컴퓨터 판독가능 매체이다. 일 구현예에서, 메모리(520)는 휘발성 메모리 유닛이다. 다른 구현예에서, 메모리(520)는 비휘발성 메모리 유닛이다.
저장 디바이스(530)는 시스템(500)에 대한 대형 저장소를 제공할 수 있다. 일 구현예에서, 저장 디바이스(530)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현예에서, 저장 디바이스(530)는 예를 들면, 하드 디스크 디바이스, 광학 디스크 디바이스, 다수의 컴퓨팅 디바이스들(예를 들면, 클라우드 저장 디바이스)에 의해 네트워크를 통해 공유되는 저장 디바이스 또는 일부 기타 대용량 저장 디바이스를 포함할 수 있다.
입력/출력 디바이스(540)는 시스템(500)에 대한 입력/출력 동작들을 제공한다. 일 구현예에서, 입력/출력 디바이스(540)는 네트워크 인터페이스 디바이스들 예를 들어, 이더넷 카드, 직렬 통신 디바이스(예를 들어, RS-232 포트) 및/또는 무선 인터페이스 디바이스(예를 들어, 802.11 카드) 중 하나 이상을 포함할 수 있다. 다른 구현예에서, 입력/출력 디바이스는 입력 데이터를 수신하고 출력 데이터를 다른 입력/출력 디바이스들 예를 들어, 키보드, 프린터 및 디스플레이 디바이스들(560)에 송신하도록 구성된 드라이버 디바이스들을 포함할 수 있다. 그러나, 모바일 컴퓨팅 디바이스들, 모바일 통신 디바이스들, 셋톱 박스 텔레비전 클라이언트 디바이스들 등과 같은 다른 구현예들도 사용될 수 있다.
예시적 프로세싱 시스템이 도 5에서 기술되었지만, 본 발명의 구현예들 및 본 명세서에 기술된 기능적 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는 다른 유형의 디지털 전자 회로에서, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다.
전자 문서(간단히 문서로 지칭됨)는 반드시 파일에 해당하는 것은 아니다. 문서는 다른 문서를 보관하는 파일의 일부, 문제의 문서 전용 단일 파일 또는 다수의 조정된 파일에 저장될 수 있다.
본 발명의 실시예들과 본 명세서에 기술된 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는 디지털 전자회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 본 명세서에 기술된 본 발명의 실시예들은 하나 이상의 컴퓨터 프로그램들로서 구현될 수 있다. 즉, 데이터 프로세싱 장치에 의해 실행 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 컴퓨터 저장 매체(또는 매체들)에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들. 대안적으로 또는 추가로, 프로그램 명령어들은 데이터 프로세싱 장치에 의해 실행하기 위한 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하기 위해 생성된 인공적으로 생성된 전파된 신호 즉, 기계-생성 전기, 광학 또는 전자기적 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스 또는 그들 중 하나 이상의 조합이거나 그에 포함될 수 있다. 또한, 컴퓨터 저장 매체는 전파된 신호가 아니지만, 컴퓨터 저장 매체는 인공적으로 생성된 전파된 신호에 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 목적지일 수 있다. 또한, 컴퓨터 저장 매체는 하나 이상의 별개의 물리적 컴포넌트들 또는 매체(예를 들면, 다수의 CD들, 디스크들, 또는 다른 저장 디바이스들)이거나 또는 그에 포함될 수 있다.
본 명세서에 기술된 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들에 저장된 또는 다른 소스들로부터 수신된 데이터에서 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다.
용어 "데이터 프로세싱 장치"는 예시로서 프로그래머블 프로세서, 컴퓨터, 시스템 온 칩 또는 앞서 언급된 것들 중 다수의 것들 또는 조합들을 포함하는 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스들 및 기계들을 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 또한, 장치는 하드웨어 이외에 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 실행 환경, 가상 머신 또는 그들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 또는 코드로도 알려져 있음)은 컴파일된 또는 인터프리트된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 객체로서 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만, 반드시 그런 것은 아니다. 프로그램은 다른 프로그램들이나 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들)를 가지는 파일의 부분에, 문제되는 프로그램 전용 단일의 파일에 또는 다수의 조정된 파일들(예를 들어, 하나 이상의 모듈들, 서브프로그램 또는 코드의 일부를 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치되어 있거나 다수의 사이트들에 걸쳐서 분산되어 있고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 특수 목적 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예시로서, 범용 및 전용 마이크로프로세서들을 포함한다. 일반적으로, 프로세서는 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다. 추가로, 컴퓨터는 다른 디바이스, 예를 들어, 몇 가지만 나열하면, 모바일 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스 예를 들어, 범용 직렬 버스(USB) 플래시 드라이브에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 인터렉션을 제공하기 위해, 본 명세서에서 기술된 본 발명의 실시예들은 사용자에게 정보를 디스플레이하기 위해 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터와 같은 디스플레이 디바이스 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를 송수신함으로써 예를 들어, 웹브라우저로부터 수신된 요청에 응답하여, 사용자의 사용자 디바이스상의 웹브라우저에 웹페이지를 전송함으로써 사용자와 인터렉션할 수 있다.
본 명세서에서 기술된 발명의 실시예는 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 어플리케이션 서버와 같은 미들웨어 컴포넌트 또는 그래픽 사용자 인터페이스를 가지는 사용자 컴퓨터 또는 사용자가 본 명세서에 기술된 본 발명의 구현예와 인터렉션할 수 있는 웹 브라우저와 같은 프론트엔드 컴포넌트 또는 하나 이상의 상기 백엔드, 미들웨어 또는 프론트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터-네트워크(예를 들어, 인터넷) 및 피어투피어 네트워크(예를 들어, 애드혹 피어투피어 네트워크)를 포함한다.
컴퓨팅 시스템은 사용자들 및 서버들을 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 인터렉션한다. 사용자와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 사용자-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 일부 실시예에서, 서버는(예를 들어, 사용자 디바이스와 인터렉션하는 사용자에게 데이터를 디스플레이하고 사용자 입력을 수신하기 위해) 사용자 디바이스에 데이터(예를 들어, HTML 페이지)를 전송한다. 사용자 디바이스에서 생성된 데이터(예를 들어, 사용자 인터렉션의 결과)는 서버에서 사용자 디바이스로부터 수신될 수 있다.
본 명세서는 많은 특정 구현 세부내용을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정한 발명의 특정한 실시예에 특정한 구성들에 대한 설명으로 해석되어야 한다. 별개의 실시예의 컨텍스트에서 본 명세서에서 기술되는 일정 구성들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 컨텍스트에서 기술된 다양한 구성들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적절한 서브 조합으로 구현될 수 있다. 게다가, 구성들은 일정 조합으로 동작하고 심지어 초기적으로 그렇게 청구되는 것으로서 상기에서 기술될 수 있지만, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우, 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 안내될 수 있다.
유사하게, 동작들이 특정한 순서로 도면에서 도시되었지만, 이는 상기 동작들이 도시된 특정한 순서로 또는 시계열적 순서로 수행되어야 함을 요구하는 것으로서 또는 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안된다. 특정 환경에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다. 게다가, 상기 기술된 실시예에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예에서 그러한 분리가 필요한 것으로서 이해되어서는 안되며, 일반적으로 기술된 프로그램 컴포넌트들 및 시스템들은 단일의 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들에 패키징될 수 있다고 이해되어야 한다.
따라서, 본 발명의 특정한 실시예들이 기술되었다. 다른 실시예들도 다음의 청구항들의 범위 내에 있다. 일부 경우에, 청구항들에서 기재된 액션들은 상이한 순서로 수행되고 여전히 원하는 결과들을 달성할 수 있다. 추가로, 첨부 도면들에 도시된 프로세스들은 원하는 결과들을 달성하기 위해 특정한 도시된 순서, 또는 시계열적 순서를 반드시 필요로 하지 않는다. 특정 구현예에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다.

Claims (20)

  1. 이미지에서 객체를 교체하기 위한 컴퓨터로 구현되는 방법으로서,
    제1 이미지 내의 한 포지션에서 제1 객체를 식별하는 단계;
    마스킹된 이미지를 생성하기 위해 제1 이미지 및 제1 객체의 포지션에 기초하여, 타겟 영역을 마스킹하는 단계;
    마스킹된 이미지 및 복원 기계 학습 모델에 기초하여, 상기 제1 이미지와 상이한 제2 이미지를 생성하는 단계, 상기 복원 기계 학습 모델은 트레이닝 이미지들의 타겟 영역과 상기 트레이닝 이미지들의 타겟 영역에 대응하는 위치에 생성된 이미지들의 콘텐츠 사이의 차이를 사용하여 트레이닝되며;
    상기 마스킹된 이미지 및 제2 이미지에 기초하여, 제3 이미지를 생성하는 단계; 및
    상기 제1 객체와 상이한 새로운 객체를 상기 제3 이미지에 추가하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서, 상기 제1 이미지는 비디오의 프레임인, 방법.
  3. 청구항 1에 있어서, 상기 복원 기계 학습 모델은 트레이닝 이미지들의 타겟 영역과 상기 트레이닝 이미지들의 타겟 영역에 대응하는 위치에서 생성된 이미지들의 콘텐츠 사이의 차이를 표현하는 손실 함수를 사용하여 트레이닝되는, 방법.
  4. 청구항 1에 있어서, 상기 마스킹된 이미지 및 상기 제2 이미지에 기초하여, 제3 이미지를 생성하는 단계는:
    상기 제2 이미지 및 상기 제1 이미지의 타겟 영역에 대응하는 위치에 기초하여, 역 마스킹된 이미지를 생성하기 위해 역 타겟 영역을 마스킹하는 단계; 및
    상기 마스킹된 이미지 및 상기 역 마스킹된 이미지에 기초하여, 상기 제3 이미지를 생성하는 단계를 포함하는, 방법.
  5. 청구항 4에 있어서, 상기 역 타겟 영역은 상기 제1 이미지의 타겟 영역에 대응하는 위치 외부에 있는 상기 제2 이미지의 영역을 포함하는, 방법.
  6. 청구항 4에 있어서, 상기 제2 이미지 및 상기 제1 이미지의 타겟 영역에 대응하는 위치에 기초하여, 역 마스킹된 이미지를 생성하기 위한 역 타겟 영역을 마스킹하는 단계는, 상기 제2 이미지로부터, 상기 타겟 영역 내부에 있는 상기 제2 이미지의 적어도 일부 콘텐츠를 포함하고, 상기 타겟 영역 외부에 있는 상기 제2 이미지의 적어도 일부 콘텐츠를 포함하지 않는 역 마스킹된 이미지를 생성하는 단계를 포함하는, 방법.
  7. 청구항 4에 있어서, 상기 제3 이미지를 생성하는 단계는 상기 역 마스킹된 이미지를 마스킹된 이미지와 합성하는 단계를 포함하는, 방법.
  8. 청구항 1에 있어서, 상기 제3 이미지에 기초하여, 제4 이미지를 외삽하는 단계를 더 포함하고, 상기 제1 이미지, 제2 이미지, 제3 이미지 및 제4 이미지 각각은 비디오의 프레임인, 방법.
  9. 시스템으로서,
    하나 이상의 프로세서; 및
    명령어를 포함하는 하나 이상의 메모리 엘리먼트를 포함하며, 상기 명령어는 실행시 상기 하나 이상의 프로세서로 하여금 동작들을 수행하게 하며, 상기 동작들은:
    제1 이미지 내의 한 포지션에서 제1 객체를 식별하는 동작;
    마스킹된 이미지를 생성하기 위해 제1 이미지 및 제1 객체의 포지션에 기초하여, 타겟 영역을 마스킹하는 동작;
    마스킹된 이미지 및 복원 기계 학습 모델에 기초하여, 상기 제1 이미지와 상이한 제2 이미지를 생성하는 동작, 상기 복원 기계 학습 모델은 트레이닝 이미지들의 타겟 영역과 상기 트레이닝 이미지들의 타겟 영역에 대응하는 위치에 생성된 이미지들의 콘텐츠 사이의 차이를 사용하여 트레이닝되며;
    상기 마스킹된 이미지 및 제2 이미지에 기초하여, 제3 이미지를 생성하는 동작; 및
    상기 제1 객체와 상이한 새로운 객체를 상기 제3 이미지에 추가하는 동작을 포함하는, 시스템.
  10. 청구항 9에 있어서, 상기 복원 기계 학습 모델은 트레이닝 이미지들의 타겟 영역과 상기 트레이닝 이미지들의 타겟 영역에 대응하는 위치에서 생성된 이미지들의 콘텐츠 사이의 차이를 표현하는 손실 함수를 사용하여 트레이닝되는, 시스템.
  11. 청구항 9에 있어서, 상기 제1 이미지는 비디오의 프레임인, 시스템.
  12. 청구항 9에 있어서, 상기 마스킹된 이미지 및 상기 제2 이미지에 기초하여, 제3 이미지를 생성하는 동작은:
    상기 제2 이미지 및 상기 제1 이미지의 타겟 영역에 대응하는 위치에 기초하여, 역 마스킹된 이미지를 생성하기 위해 역 타겟 영역을 마스킹하는 동작; 및
    상기 마스킹된 이미지 및 상기 역 마스킹된 이미지에 기초하여, 상기 제3 이미지를 생성하는 동작을 포함하는, 시스템.
  13. 청구항 12에 있어서, 상기 역 타겟 영역은 상기 제1 이미지의 타겟 영역에 대응하는 위치 외부에 있는 상기 제2 이미지의 영역을 포함하는, 시스템.
  14. 청구항 12에 있어서, 상기 제2 이미지 및 상기 제1 이미지의 타겟 영역에 대응하는 위치에 기초하여, 역 마스킹된 이미지를 생성하기 위한 역 타겟 영역을 마스킹하는 동작은, 상기 제2 이미지로부터, 상기 타겟 영역 내부에 있는 상기 제2 이미지의 적어도 일부 콘텐츠를 포함하고, 상기 타겟 영역 외부에 있는 상기 제2 이미지의 적어도 일부 콘텐츠를 포함하지 않는 역 마스킹된 이미지를 생성하는 동작을 포함하는, 시스템.
  15. 청구항 12에 있어서, 상기 제3 이미지를 생성하는 단계는 상기 역 마스킹된 이미지를 마스킹된 이미지와 합성하는 동작을 포함하는, 시스템.
  16. 청구항 9에 있어서, 상기 제3 이미지에 기초하여, 제4 이미지를 외삽하는 동작을 더 포함하고, 상기 제1 이미지, 제2 이미지, 제3 이미지 및 제4 이미지 각각은 비디오의 프레임인, 시스템.
  17. 명령어가 인코딩된 비일시적 컴퓨터 저장 매체로서, 상기 명령어는 분산 컴퓨팅 시스템에 의해 실행될 때, 상기 분산 컴퓨팅 시스템으로 하여금 동작들을 수행하게 하며, 상기 동작들은:
    제1 이미지 내의 한 포지션에서 제1 객체를 식별하는 동작;
    마스킹된 이미지를 생성하기 위해 제1 이미지 및 제1 객체의 포지션에 기초하여, 타겟 영역을 마스킹하는 동작;
    마스킹된 이미지 및 복원 기계 학습 모델에 기초하여, 상기 제1 이미지와 상이한 제2 이미지를 생성하는 동작, 상기 복원 기계 학습 모델은 트레이닝 이미지들의 타겟 영역과 상기 트레이닝 이미지들의 타겟 영역에 대응하는 위치에 생성된 이미지들의 콘텐츠 사이의 차이를 사용하여 트레이닝되며;
    상기 마스킹된 이미지 및 제2 이미지에 기초하여, 제3 이미지를 생성하는 동작; 및
    상기 제1 객체와 상이한 새로운 객체를 상기 제3 이미지에 추가하는 동작을 포함하는, 비일시적 컴퓨터 저장 매체.
  18. 청구항 17에 있어서, 상기 복원 기계 학습 모델은 트레이닝 이미지들의 타겟 영역과 상기 트레이닝 이미지들의 타겟 영역에 대응하는 위치에서 생성된 이미지들의 콘텐츠 사이의 차이를 표현하는 손실 함수를 사용하여 트레이닝되는, 비일시적 컴퓨터 저장 매체.
  19. 청구항 17에 있어서, 상기 제1 이미지는 비디오의 프레임인, 비일시적 컴퓨터 저장 매체.
  20. 청구항 15에 있어서, 상기 마스킹된 이미지 및 상기 제2 이미지에 기초하여, 제3 이미지를 생성하는 동작은:
    상기 제2 이미지 및 상기 제1 이미지의 타겟 영역에 대응하는 위치에 기초하여, 역 마스킹된 이미지를 생성하기 위해 역 타겟 영역을 마스킹하는 동작; 및
    상기 마스킹된 이미지 및 상기 역 마스킹된 이미지에 기초하여, 상기 제3 이미지를 생성하는 동작을 포함하는, 비일시적 컴퓨터 저장 매체.
KR1020227011445A 2020-05-13 2020-05-13 이미지 교체 복원 KR102626274B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/032677 WO2021230863A1 (en) 2020-05-13 2020-05-13 Image replacement inpainting

Publications (2)

Publication Number Publication Date
KR20220062336A true KR20220062336A (ko) 2022-05-16
KR102626274B1 KR102626274B1 (ko) 2024-01-17

Family

ID=70919228

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227011445A KR102626274B1 (ko) 2020-05-13 2020-05-13 이미지 교체 복원

Country Status (6)

Country Link
US (1) US20220301118A1 (ko)
EP (1) EP4022575A1 (ko)
JP (1) JP7457800B2 (ko)
KR (1) KR102626274B1 (ko)
CN (1) CN114514560A (ko)
WO (1) WO2021230863A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102476815B1 (ko) * 2022-09-21 2022-12-12 (주)슬레이트미디어 인공지능 기반 스톡 이미지 자동 추출 방법, 장치 및 시스템
KR20240094106A (ko) * 2022-11-28 2024-06-25 (주)슬레이트미디어 영상 공모전 중개 및 인공지능 기반 화면 전환 자동 추출 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020212113A1 (de) * 2020-03-12 2021-09-16 Friedrich-Alexander-Universität Erlangen-Nürnberg Generieren modifizierter medizinischer Bilder und Erkennen abnormaler Strukturen
US12136200B2 (en) * 2021-06-30 2024-11-05 CareAR Holdings LLC Method and system for replacing scene text in a video sequence
US20230005107A1 (en) * 2021-06-30 2023-01-05 Palo Alto Research Center Incorporated Multi-task text inpainting of digital images
CN114820885B (zh) * 2022-05-19 2023-03-24 北京百度网讯科技有限公司 图像编辑方法及其模型训练方法、装置、设备和介质
WO2024151578A1 (en) * 2023-01-10 2024-07-18 Loop Now Technologies, Inc. Augmented performance replacement in a short-form video
WO2024167650A1 (en) * 2023-02-08 2024-08-15 Typeface Inc. Prompting system for multimodal personalized content generation
US12045735B1 (en) 2023-02-08 2024-07-23 Typeface Inc. Interactive template for multimodal content generation
US11983806B1 (en) 2023-08-30 2024-05-14 OpenAI Opco, LLC Systems and methods for image generation with machine learning models
CN117953339A (zh) * 2023-12-20 2024-04-30 北京百度网讯科技有限公司 视觉模型训练及图像处理方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003333424A (ja) * 2002-05-13 2003-11-21 Nippon Hoso Kyokai <Nhk> 原画像復元装置、及び原画像復元プログラム
KR20130140904A (ko) * 2011-05-02 2013-12-24 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 적응 및 재타겟팅을 위한 비디오 캡션 재-오버레이 시스템 및 방법
KR20190021967A (ko) * 2017-08-24 2019-03-06 주식회사 수아랩 훈련 데이터를 생성하는 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램
CN109472260A (zh) * 2018-10-31 2019-03-15 成都索贝数码科技股份有限公司 一种基于深度神经网络的移除图像内台标和字幕的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2492843A1 (en) * 2011-02-22 2012-08-29 Thomson Licensing Graphic user interface for adaption of parameters for an automatic logo removal algorithm and method for adaption of these parameters
CN109564575B (zh) * 2016-07-14 2023-09-05 谷歌有限责任公司 使用机器学习模型来对图像进行分类
US10262236B2 (en) * 2017-05-02 2019-04-16 General Electric Company Neural network training image generation system
US10805647B2 (en) 2017-12-21 2020-10-13 Facebook, Inc. Automatic personalized story generation for visual media

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003333424A (ja) * 2002-05-13 2003-11-21 Nippon Hoso Kyokai <Nhk> 原画像復元装置、及び原画像復元プログラム
KR20130140904A (ko) * 2011-05-02 2013-12-24 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 적응 및 재타겟팅을 위한 비디오 캡션 재-오버레이 시스템 및 방법
KR20190021967A (ko) * 2017-08-24 2019-03-06 주식회사 수아랩 훈련 데이터를 생성하는 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램
CN109472260A (zh) * 2018-10-31 2019-03-15 成都索贝数码科技股份有限公司 一种基于深度神经网络的移除图像内台标和字幕的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102476815B1 (ko) * 2022-09-21 2022-12-12 (주)슬레이트미디어 인공지능 기반 스톡 이미지 자동 추출 방법, 장치 및 시스템
KR20240094106A (ko) * 2022-11-28 2024-06-25 (주)슬레이트미디어 영상 공모전 중개 및 인공지능 기반 화면 전환 자동 추출 방법

Also Published As

Publication number Publication date
KR102626274B1 (ko) 2024-01-17
EP4022575A1 (en) 2022-07-06
CN114514560A (zh) 2022-05-17
US20220301118A1 (en) 2022-09-22
WO2021230863A1 (en) 2021-11-18
JP7457800B2 (ja) 2024-03-28
JP2023500203A (ja) 2023-01-05

Similar Documents

Publication Publication Date Title
KR102626274B1 (ko) 이미지 교체 복원
JP7562571B2 (ja) ウェブ構築システムサービスにユーザフィードバックを統合するシステム及び方法
JP6355800B1 (ja) 学習装置、生成装置、学習方法、生成方法、学習プログラム、および生成プログラム
CN109863527B (zh) 用于展现的本地内容的服务器侧渲染的方法和系统
US20190392487A1 (en) System, Device, and Method of Automatic Construction of Digital Advertisements
CN106462560B (zh) 使用行为度量来优化内容布局的系统和方法
US9405734B2 (en) Image manipulation for web content
US10620804B2 (en) Optimizing layout of interactive electronic content based on content type and subject matter
CN111783508A (zh) 用于处理图像的方法和装置
US20230291978A1 (en) Subtitle processing method and apparatus of multimedia file, electronic device, and computer-readable storage medium
US20240007701A1 (en) Continuing video playback when switching from a dynamic page to a non-dynamic page
CN113966619B (zh) 一种用于高效动态视频渲染的方法、系统及存储介质
US20200073925A1 (en) Method and system for generating a website from collected content
KR102499733B1 (ko) 리소스에 대한 단일 스타일 정의 식별자의 조건부 해석
CN117835001A (zh) 视频编辑方法、装置、设备和介质
CN116954605A (zh) 页面生成方法、装置及电子设备
US20240338515A1 (en) Compositions Rendering for Publisher-Rendered Native Content Items in Applications
US20240203023A1 (en) Computerized system and method for cloud-based content creation, enhancement and/or rendering
WO2024147792A1 (en) Cross-domain content blending
CN112818142A (zh) 帐户行为信息的处理方法、装置、电子设备及存储介质
Chauhan et al. Website Design and Development Using Advance Technology React-Js
CN116795360A (zh) 页面渲染方法、装置及设备
CN114302229A (zh) 一种场景素材转换为视频的方法、系统及存储介质
CN116700704A (zh) 图像处理方法、装置、存储介质及电子设备
CN117951409A (zh) 页面嵌套关系元素处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right