Learned piece-wise patch regression for image enhancement
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06K-009/00
G06T-005/00
출원번호
US-0691190
(2012-11-30)
등록번호
US-9117262
(2015-08-25)
발명자
/ 주소
Lin, Zhe
Lu, Xin
Brandt, Jonathan
Jin, Hailin
출원인 / 주소
Adobe Systems Incorporated
대리인 / 주소
Kilpatrick Townsend & Stockton LLP
인용정보
피인용 횟수 :
3인용 특허 :
4
초록▼
Systems and methods are provided for providing learned, piece-wise patch regression for image enhancement. In one embodiment, an image manipulation application generates training patch pairs that include training input patches and training output patches. Each training patch pair includes a respecti
Systems and methods are provided for providing learned, piece-wise patch regression for image enhancement. In one embodiment, an image manipulation application generates training patch pairs that include training input patches and training output patches. Each training patch pair includes a respective training input patch from a training input image and a respective training output patch from a training output image. The training input image and the training output image include at least some of the same image content. The image manipulation application determines patch-pair functions from at least some of the training patch pairs. Each patch-pair function corresponds to a modification to a respective training input patch to generate a respective training output patch. The image manipulation application receives an input image generates an output image from the input image by applying at least some of the patch-pair functions based on at least some input patches of the input image.
대표청구항▼
1. A method comprising: generating, by an image manipulation application executed by a processing device, a plurality of training patch pairs comprising a plurality of training input patches and a plurality of training output patches, wherein each training patch pair comprises a respective training
1. A method comprising: generating, by an image manipulation application executed by a processing device, a plurality of training patch pairs comprising a plurality of training input patches and a plurality of training output patches, wherein each training patch pair comprises a respective training input patch from a training input image and a respective training output patch from a training output image, wherein the training input image and the training output image include at least some of the same image content;determining, by the image manipulation application, a plurality of patch-pair functions from at least some of the plurality of training patch pairs, wherein each patch-pair function of the plurality of patch-pair functions corresponds to a modification to a respective training input patch to generate a respective training output patch;receiving, by the image manipulation application, an input image; andgenerating, by the image manipulation application, an output image from the input image by applying at least some of the plurality of patch-pair functions based on at least some of a plurality of input patches of the input image, wherein applying the at least some of the plurality of patch-pair functions based on the at least some of the plurality of input patches of the input image comprises, for each input patch of the at least some of the plurality of input patches: determining a respective distance between the input patch and a respective anchor point from a plurality of anchor points, wherein the respective anchor point corresponds to a respective group of training input patches that includes the input patch;determining whether the respective distance exceeds a threshold distance; andperforming at least one of: applying the respective patch-pair function corresponding to the respective anchor point based on determining that the distance does not exceed the threshold distance; andapplying the respective patch-pair function corresponding to the input patch based on determining that the distance exceeds the threshold distance. 2. The method of claim 1, wherein each training input patch is represented by a multi-dimensional vector. 3. The method of claim 1, wherein determining the plurality of patch-pair functions comprises: generating a hierarchy of the plurality of training input patches representing a plurality of groups of training input patches; anddetermining the plurality of anchor points by selecting a plurality of leaf nodes from the hierarchy, wherein each anchor point represents a respective one of the plurality of groups of training input patches; anddetermining a respective patch-pair function for each of the plurality of anchor points. 4. The method of claim 3, wherein generating the hierarchy comprises, for each level of a plurality of levels in the hierarchy specified by a depth factor for the hierarchy, determining a plurality of centroids, each centroid representative of a respective subset of the plurality of training input patches closest to the centroid, wherein the number of centroids for each level is specified by a branch factor for the hierarchy. 5. The method of claim 1, wherein determining the plurality of patch-pair functions comprises: partitioning the plurality of training input patches into a plurality of groups of training input patches;determining the plurality of anchor points, wherein each anchor point represents a respective one of the plurality of groups of training input patches; anddetermining a respective patch-pair function for each of the plurality of anchor points. 6. The method of claim 5, wherein determining the plurality of patch-pair functions from at least some of the plurality of training patch pairs comprises applying a least squares algorithm to determine a relationship between a respective one of a respective group of training input patches represented by a respective anchor point and a corresponding training output patch. 7. The method of claim 5, wherein determining the plurality of patch-pair functions from at least some of the plurality of training patch pairs comprises applying a non-negative least squares algorithm to determine a relationship between a respective one of a respective group of training input patches represented by a respective anchor point and a corresponding training output patch. 8. A non-transitory computer-readable medium embodying program code executable by a processing device, the non-transitory computer-readable medium comprising: program code for generating a plurality of training patch pairs comprising a plurality of training input patches and a plurality of training output patches, wherein each training patch pair comprises a respective training input patch from a training input image and a respective training output patch from a training output image, wherein the training input image and the training output image include at least some of the same image content;program code for determining a plurality of patch-pair functions from at least some of the plurality of training patch pairs, wherein each of the plurality of patch-pair functions corresponds to a modification to a respective training input patch to generate a respective training output patch;program code for receiving an input image; andprogram code for generating an output image from the input image by applying at least some of the plurality of patch-pair functions based on at least some of a plurality of input patches of the input image, wherein applying the at least some of the plurality of patch-pair functions based on the at least some of the plurality of input patches of the input image comprises, for each input patch of the at least some of the plurality of input patches: determining a respective distance between the input patch and a respective anchor point from a plurality of anchor points, wherein the respective anchor point corresponds to a respective group of training input patches that includes the input patch;determining whether the respective distance exceeds a threshold distance; andperforming at least one of: applying the respective patch-pair function corresponding to the respective anchor point based on determining that the distance does not exceed the threshold distance; andapplying the respective patch-pair function corresponding to the input patch based on determining that the distance exceeds the threshold distance. 9. The non-transitory computer-readable medium of claim 8, wherein determining the plurality of patch-pair functions comprises: partitioning the plurality of training input patches into a plurality of groups of training input patches;determining the plurality of anchor points, wherein each anchor point represents a respective one of the plurality of groups of training input patches; anddetermining a respective patch-pair function for each of the plurality of anchor points. 10. The non-transitory computer-readable medium of claim 9, wherein determining the plurality of patch-pair functions from at least some of the plurality of training patch pairs comprises applying a least squares algorithm to determine a relationship between a respective one of a respective group of training input patches represented by a respective anchor point and a corresponding training output patch. 11. The non-transitory computer-readable medium of claim 9, wherein determining the plurality of patch-pair functions from at least some of the plurality of training patch pairs comprises applying a non-negative least squares algorithm to determine a relationship between a respective one of a respective group of training input patches represented by a respective anchor point and a corresponding training output patch. 12. A system comprising: a processor configured to execute instructions stored in a non-transitory computer-readable medium;wherein the instructions comprise an image manipulation application configured to perform operations comprising: generating a plurality of training patch pairs comprising a plurality of training input patches and a plurality of training output patches, wherein each training patch pair comprises a respective training input patch from a training input image and a respective training output patch from a training output image, wherein the training input image and the training output image include at least some of the same image content;determining a plurality of patch-pair functions from at least some of the plurality of training patch pairs, wherein each of the plurality of patch-pair functions corresponds to a modification to a respective training input patch to generate a respective training output patch;receiving an input image; andgenerating an output image from the input image by applying at least some of the plurality of patch-pair functions based on at least some of a plurality of input patches of the input image, wherein applying the at least some of the plurality of patch-pair functions based on the at least some of the plurality of input patches of the input image comprises, for each input patch of the at least some of the plurality of input patches: determining a respective distance between the input patch and a respective anchor point from a plurality of anchor points, wherein the respective anchor point corresponds to a respective group of training input patches that includes the input patch;determining whether the respective distance exceeds a threshold distance; andperforming at least one of: applying the respective patch-pair function corresponding to the respective anchor point based on determining that the distance does not exceed the threshold distance; andapplying the respective patch-pair function corresponding to the input patch based on determining that the distance exceeds the threshold distance. 13. The system of claim 12, further comprising an imaging device configured to record the input image, wherein the processor is configured to receive the input image from the imaging device. 14. The system of claim 12, wherein determining the plurality of patch-pair functions comprises: partitioning the plurality of training input patches into a plurality of groups of training input patches, wherein partitioning the plurality of training input patches into the plurality of groups of training input patches comprises generating a hierarchy of the plurality of training input patches;determining the plurality of anchor points by selecting a plurality of leaf nodes from the hierarchy, wherein each anchor point represents a respective one of the plurality of groups of training input patches; anddetermining the respective patch-pair function for each of the plurality of anchor points.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.