CN108369638B - 使用聚类进行的基于事件的图像管理 - Google Patents

使用聚类进行的基于事件的图像管理 Download PDF

Info

Publication number
CN108369638B
CN108369638B CN201680072413.8A CN201680072413A CN108369638B CN 108369638 B CN108369638 B CN 108369638B CN 201680072413 A CN201680072413 A CN 201680072413A CN 108369638 B CN108369638 B CN 108369638B
Authority
CN
China
Prior art keywords
images
clusters
cluster
cluster group
distance
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201680072413.8A
Other languages
English (en)
Other versions
CN108369638A (zh
Inventor
饶京海
关武
斯特西·加斯特鲁姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN108369638A publication Critical patent/CN108369638A/zh
Application granted granted Critical
Publication of CN108369638B publication Critical patent/CN108369638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25841Management of client data involving the geographical location of the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4516Management of client data or end-user data involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Remote Sensing (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computational Linguistics (AREA)
  • Economics (AREA)
  • Computer Graphics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)

Abstract

多个图像的管理可包括使用处理器从具有位置和时间戳的多个图像中生成图像的簇。簇可表示事件,并且可根据距离度量而生成,距离度量取决于根据时间排序的多个图像中的相邻两个图像之间的地理距离和时间差。可使用处理器基于簇之间的地理距离和簇内部的特定日期来将选择的簇合并成表示旅程的合并簇。根据旅程整理的多个图像可使用处理器来显示。

Description

使用聚类进行的基于事件的图像管理
技术领域
本公开涉及图像管理,并且更具体地,涉及使用聚类技术从图像中确定事件并根据所确定的事件来整理图像。
背景技术
配备有相机的便携式装置已变得普及。这使得用户拍摄的照片数量急剧增加。在诸如社交场合、度假等事件期间,用户倾向于拍摄比其它情况更多的照片。这些事件的持续时间可能差别很大。例如,一些事件可能仅持续若干小时,而其它事件则可能持续若干天。此外,事件可能在时间和/或距离上间隔开。
许多图像管理系统尝试根据时间来整理包括照片的图像。例如,来自同一天或同一月份的图像通常被分组在一起以供查看。在其它情况下,图像管理系统可能依赖于图像的地理位置。例如,来自相同地理位置的图像可能被分组在一起以供查看。
发明内容
一个实施方式可包括管理多个图像的方法。方法可包括使用处理器从具有位置和时间戳的多个图像中生成图像的簇。簇可表示事件,并且可根据距离度量而生成,距离度量基于可根据时间排序的多个图像中的相邻两个图像之间的地理距离和时间差。方法可包括:使用处理器基于簇之间的地理距离和簇内部的特定日期来将选择的簇合并成表示旅程的合并簇。方法可包括:使用处理器来显示根据旅程整理的多个图像。
附图说明
附图示出了一个或多个实施方式;然而,附图不应被用来将本发明限制为只有所示出的实施方式。通过阅读以下详细描述并通过参照附图,多个方面和有益效果将变得显而易见。
图1是示出了示例性数据处理系统的框图。
图2是示出了使用数据处理系统管理图像的示例的框图。
图3是示出了使用数据处理系统管理图像的示例性方法的流程图。
图4是示出了使用数据处理系统管理图像的另一示例性方法的流程图。
图5是示出了使用数据处理系统管理图像的另一示例性方法的流程图。
图6是示出了使用数据处理系统处理没有位置的图像的示例性方法的流程图。
图7是示出了使用数据处理系统示例性处理没有位置的图像的框图。
图8是示出了移动计算装置的屏幕的示例性视图的框图。
实施本发明的最佳方式
一个实施方式可包括管理多个图像的方法。方法可包括使用处理器从具有位置和时间戳的多个图像中生成图像的簇。簇可表示事件,并且可根据距离度量而生成,距离度量基于可根据时间排序的多个图像中的相邻两个图像之间的地理距离和时间差。方法可包括:使用处理器基于簇之间的地理距离和簇内部的特定日期来将选择的簇合并成表示旅程的合并簇。方法可包括:使用处理器来显示根据旅程整理的多个图像。
另一实施方式可包括用于管理图像的系统。系统可包括被编程为发起可执行操作的处理器。可执行操作可包括从具有位置和时间戳的多个图像中生成图像的簇。簇可表示事件,并且可根据距离度量而生成,距离度量基于可根据时间排序的多个图像中的相邻两个图像之间的地理距离和时间差。可执行操作可包括基于簇之间的地理距离和簇内部的特定日期来将选择的簇合并成表示旅程的合并簇。可执行操作还可包括显示根据旅程整理的多个图像。
另一实施方式可包括计算机程序产品。计算机程序产品可包括存储有程序代码的计算机可读存储介质。该程序代码可通过处理器来运行以执行管理图像的方法。方法可包括使用处理器从具有位置和时间戳的多个图像中生成图像的簇。簇可表示事件,并且可根据距离度量而生成,距离度量基于可根据时间排序的多个图像中的相邻两个图像之间的地理距离和时间差。方法可包括使用处理器基于簇之间的地理距离和簇内部的特定日期来将选择的簇合并成表示旅程的合并簇。方法还可包括使用处理器显示根据旅程整理的多个图像。
在实施方式中,方法还包括:根据没有位置的附加图像的时间戳将附加图像选择性地包括至旅程中。
在实施方式中,方法还包括:根据时间将具有时间戳但没有位置的其它多个图像聚类至附加旅程中。
在实施方式中,从具有位置和时间戳的多个图像中生成图像的簇包括:根据时间戳将多个图像排序;确定所排序的多个图像中的相邻两个图像的距离度量;以及根据距离度量和图像数量将所排序的多个图像迭代地聚类。
在实施方式中,将选择的簇合并成表示旅程的合并簇包括根据簇之间的地理距离将簇分组成簇群组;根据簇群组中的特定日期选择簇群组;根据时间戳将所选择的簇群组中的簇排序;以及根据所选择的簇群组中的至少两个簇之间的时间差和地理距离将至少两个簇选择性地组合成合并簇。
在实施方式中,根据簇群组中的特定日期选择簇群组包括:对于每个簇群组,确定簇群组中的特定日期的数量与多个簇的特定日期的总数的比率;以及选择具有不超过旅程阈值的比率的簇群组。
具体实施方式
虽然本公开总结为限定新颖特征的权利要求,但应相信,通过结合附图考虑说明书,将更好地理解本文中所描述的各种特征。本公开中所描述的一个或多个过程、一个或多个机器、一个或多个制造及其任何变化是出于说明目的而提供。所描述的任何具体的结构性和功能性细节不应理解为限制,而仅应理解为权利要求的基础并应理解为用于教导本领域技术人员以实际上任何合适的具体结构以各种方式使用所描述特征的代表性基础。此外,本公开中所使用的措辞或短语并不旨在限制,而是提供所述特征的可理解的描述。
本公开涉及图像管理,并且更具体地,涉及使用聚类技术从图像中确定事件并根据所确定的事件来整理图像。根据本文所公开的发明布置,可基于图像的时间戳和位置对图像的集合进行处理来确定事件。可应用聚类技术来从集合中生成图像的簇。簇可表示事件。所得到的簇可被进一步处理,以根据从簇中所选择的簇确定旅程。可基于多种因素从两个或更多个簇中的群组中生成旅程,多种因素可包括但不局限于簇内特定日期的数量、簇之间的地理距离和/或簇之间的时间差。
在另一方面,也可对没有位置的一个或多个图像进行处理。在一种布置中,可基于没有位置的一个或多个图像的一个或多个时间戳将该一个或多个图像包括在现有的旅程内。在另一布置中,可从没有位置的图像中生成一个或多个附加旅程。可相对于已使用本文中所描述的聚类技术针对同时具有时间戳和位置的图像确定的其它旅程创建附加旅程。
本公开中所描述的发明布置可通过数据处理系统执行。数据处理系统可存储图像集合,该图像集合可如所描述地被整理至旅程中。数据处理系统可显示整理在旅程中的图像。与用于图像管理的其它常规方法不同,所确定的旅程可跨越多天和/或多个位置。尽管旅程发生在多天或多个地理位置处,但延长的旅程的图像仍可保持在一起。在其它情况下,可在一天的时间间隔内检测到多个旅程。
本公开中所描述的发明布置利用了低水平的计算资源。此外,本文中所描述的多种实施方式可在例如移动计算装置的数据处理系统内本地执行,而无需服务器的辅助和/或将图像上传到服务器以进行处理。此外,不需要访问基于网络的服务以如所描述地从图像中检测旅程。
图1是示例性数据处理系统(系统)100的框图。可使用系统100来实现包括处理器和存储器并能够执行如本公开中所描述的操作的多种系统和/或装置中的任何一个。
如图所示,系统100包括至少一个处理器105,至少一个处理器105通过系统总线115或诸如输入/输出(I/O)子系统的其它合适的电路联接至存储元件110。系统100在存储元件110内存储程序代码。处理器105运行经由系统总线115从存储元件110存取的程序代码。例如,存储元件110包括诸如本地存储器120的一个或多个物理存储装置和一个或多个大容量存储装置125。本地存储器120表示随机存取存储器(RAM)或通常在程序代码的实际运行期间使用的一个或多个其它非永久性存储装置。大容量存储装置125可实施为硬盘驱动器(HDD)、固态驱动器(SSD)或其它永久性数据存储装置。系统100还可包括提供至少一些程序代码的暂时存储的一个或多个缓存存储器(未示出),从而减小在运行期间需要从大容量存储装置125中检索程序代码的次数。
系统100可联接至诸如显示装置135和/或一个或多个附加I/O装置140的一个或多个I/O装置。系统100可联接至一个或多个传感器145。系统100还可联接至一个或多个网络适配器150。本文所描述的I/O装置、一个或多个传感器145和/或一个或多个网络适配器150可直接或通过中间I/O控制器联接至系统100。
在一方面,显示装置135可实施为非触敏的显示器或屏幕。在另一方面,显示装置135可实施为触敏的显示器或屏幕。一个或多个I/O装置140的示例可包括但不局限于键盘、指向装置、相机、扬声器和麦克风。在一些情况下,如在使用触敏屏幕作为显示装置135的情况下,可对I/O装置中的一个或多个进行组合。在这种情况下,显示装置135还可用作键盘和指向装置。一个或多个示例性传感器145可包括但不局限于加速度计、光传感器、触屏传感器、一个或多个计量生物传感器、陀螺仪、指南针等。
一个或多个网络适配器150可实施为通信电路,通信电路配置为与其它装置建立有线和/或无线通信链路。通信链路可在网络上建立或可建立为对等网络通信链路。相应地,一个或多个网络适配器150使系统100能够被联接至其它系统、计算机系统、远程打印机和/或远程存储装置。一个或多个示例性网络适配器150可包括但不局限于调制解调器、电缆调制解调器、以太网卡、无线收发器,其中无线收发器包括短程和/或远程无线收发器(例如,蜂窝收发器、802.11x(Wi-FiTM)兼容收发器、蓝牙
Figure GDA0001689484920000061
兼容收发器等)。
如图1中所示,存储元件110可存储操作系统155和一个或多个应用程序160。在一方面,通过系统100并且更具体地通过处理器105来运行操作系统155和以可执行程序代码的形式实施的一个或多个应用程序160。在这种情况下,操作系统155和一个或多个应用程序160可被认为是系统100的集成部分。操作系统155、一个或多个应用程序160以及通过系统100使用、生成和/或在其上操作的任何数据项均为在用作系统100的一部分时赋予功能的功能性数据结构。
在一方面,系统100可用来实施为诸如个人计算机的计算机、服务器等。在另一方面,系统100可用来实施为移动计算装置。移动计算装置的示例可包括但不局限于“智能”手机、平板计算机、移动媒体装置和游戏控制台、移动互联网装置(MID)、个人数字助理、膝上型计算机、移动应用装置等。
系统100可根据被实施的装置的具体类型来包括比图1中示出更少的部件或图1中未示出的附加部件。此外,如所包括的一个或多个网络适配器的类型可根据装置类型而改变一样,所包括的具体的操作系统和/或一个或多个应用程序也可根据装置类型而改变。此外,说明性部件中的一个或多个可被合并至另一部件中,或另外形成另一部件的一部分。例如,处理器可包括至少一些存储器。
图2是示出了使用图1的系统100来管理图像的示例的框图。为了清楚并便于讨论,系统100的一些元件未示出。例如,没有示出存储元件110、操作系统155、各种传感器145、I/O装置140和/或网络适配器150。
系统100可在存储元件(未示出)内存储图像的集合205。集合205表示多个图像。图像可以是一些事物的任何数字表示,例如文件。示例性图像可包括但不局限于屏幕截图、幻灯片等。图像的另一示例是照片。如本文所限定的,“照片”是由相机拍摄或生成的图像。
众所周知地,图像可包括元数据。图像的元数据可包括指示图像的生成时间的时间戳。在一些情况下,图像的元数据还可包括指示图像的生成地点的位置。元数据的一个示例性类型是“可交换图像文件格式(Exchangeable Image File Format)”或“Exif”。应理解的是,虽然诸如使用时间戳表示的时间的数据和/或表示为位置的地理数据可被存储为元数据以作为图像的一部分(例如,作为图像文件的一部分)或与图像文件分开存储,但这些数据均与使用多种不同数据结构和/或文件格式中的任一种的图像文件相关联。本公开中所描述的发明布置并非旨在受限于用于存储图像的例如时间戳和/或位置的元数据的特定方式。
如本公开中所限定的,措辞“时间戳”意为图像生成或创建的日期或者日期和时间。可使用系统100的系统时钟或其它计时基准(未示出)来生成时间戳。如本公开中所限定的,如提及图像时所使用的措辞“位置”意为图像生成或创建的地理位置。在一种布置中,位置可被指定为全球定位系统(GPS)坐标。例如,图像的位置可使用纬度和经度坐标来表示。然而,应理解的是,本文中所描述的发明布置并非旨在受限于确定图像的位置的特定方式。在一些情况下,可使用GPS来确定位置。在其它情况下,可使用三角测量技术、使用可识别的无线网络接入点、使用轨道信息等来确定位置。
出于讨论的目的,集合205的每个图像均可具有时间戳和位置。在图2的示例中,系统100可运行图像管理应用程序160-1来处理集合205的图像。在运行图像管理应用程序160-1时,系统100可执行诸如从集合205中生成图像的簇的操作。每一个簇均可表示一个事件,并可包括一个或多个图像。簇可根据针对相邻两个图像所计算的距离度量而生成。系统100可将选择的簇合并成一个或多个合并簇。合并簇中的每一个均可表示一个旅程。如本文所限定的,措辞“旅程”意为两个或更多个簇所形成的合并簇,其中,每个簇均表示一个事件。系统100可根据簇之间的距离、簇内部的特定日期和/或簇之间的时间差来执行合并。系统100可在显示装置135上显示根据旅程A、旅程B和旅程C所整理的集合205。
在另一布置中,系统100可接收和/或存储具有时间戳但不具有位置的一个或多个图像的附加集合210。系统100可将集合210的图像整理至现有旅程中,或可生成包括选自集合210的图像的新旅程。系统100可在显示装置135上显示集合210的图像作为旅程A、旅程B和/或旅程C中一个或多个的一部分,和/或显示在可如本文所描述地生成并显示的附加旅程内。
图3是示出了使用数据处理系统管理图像的示例性方法300的流程图。方法300可通过诸如参照图1和图2所描述的系统100的系统来执行。方法300可在系统存储了多个图像(例如,图像的集合)的状态下开始。一些图像可同时具有时间戳和位置。其它图像可仅具有时间戳而没有位置。
在框305中,系统可从同时具有时间戳和位置的多个图像(例如,集合)中生成图像的簇。没有位置的图像可单独处理。如所提到的,一个簇可表示一个事件。事件的示例可以是社交场合或社交活动。在框310中,系统可将选择的簇(例如,事件)合并,以形成一个或多个合并簇。每一个合并簇均可表示一个旅程。每个旅程包括两个或更多个事件。在框315中,系统可以选择性地处理没有位置的图像。如果没有位置的图像存储在系统中,则没有位置的图像可相对于在框310中所确定的旅程进行处理。在框320中,系统可显示根据合并簇或旅程整理的图像。
图4是示出了使用数据处理系统管理图像的另一示例性方法400的流程图。更具体地,图4示出了图3的框305中所执行的聚类的示例性实现方式。相应地,图4可通过图1和图2的系统100来执行。方法400可在系统已经存储了多个图像(例如,集合205)的状态下开始,该状态下,集合的每个图像均具有时间戳和位置。可递归地执行示出在图4中的过程,以将集合不断地细分来形成簇,直至满足停止条件。
在框405中,系统可根据时间戳将集合的图像排序。在框405中,系统可按照日期和时间的顺序将图像排序。系统可以以递增的年月日顺序或递减的年月日顺序将图像排序。
在框410中,系统可计算集合中的每一对相邻图像之间的距离度量。无论以递增的年月日顺序或以递减的年月日顺序排序,在框405之后的相邻图像均在时间上相邻。在一种布置中,距离度量可使用图像的时间戳计算为时间的函数,并且使用图像的位置计算为地理距离的函数。作为示例,如针对两个相邻图像所确定的距离度量可使用下列表达式1来计算。
Distance(imagei+1,imagei)=a*(imagei+1time-imageitime)
+geographical.distance(imageilocation,imagei+1location) (1)
在表达式1中,措辞“a”是可用来对imagei+1与imagei之间在时间上的差异进行加权的系数。例如,措辞a可设置为处于0与1之间的值。措辞imageitime和imagei+1time如同每个图像的时间戳所指定地那样分别表示imagei的日期和时间以及imagei+1的日期和时间。措辞imageilocation和imagei+1location分别表示imagei的位置和imagei+1的位置。
在框415中,系统可形成包括待被处理的集合中的所有图像的簇,例如初始簇。框415中所形成的簇可被不断地细分成另外的簇,直至满足停止条件。在框420中,系统可确定簇中的相邻两个图像之间的最大距离度量,本文中将最大距离度量表示为“d”。为便于讨论,措辞“第一”和“第二”仅被用来将一个元件(例如,在这种情况下的相邻两个图像)与另一元件区分开。相应地,簇中所有相邻两个图像中的、具有最大距离度量d的一对相邻图像可被称为“第一”相邻图像对。在框425中,系统可确定相邻两个图像之间的次大距离度量,本文中将次大距离度量表示为“d1”。相应地,簇中所有相邻两个图像中的、具有次大距离度量d1的一对图像可被称为第二相邻图像对。
在框430中,系统可确定选择的距离度量(即,最大距离度量d)是否比本文中表示为“MIN_VALUE”的预设最小阈值小。措辞MIN_VALUE可表示用于评估簇中图像之间的距离度量的最小阈值。如果最大距离度量d比最小阈值小,则系统确定没有额外的事件并终止聚类过程。相应地,如果最大距离度量d比MIN_VALUE小,则可结束方法400。否则,方法400可继续至框435。
继续框435,系统可在位于第一相邻图像对的两个图像之间的点处将簇划分成第一簇和第二簇。系统划分簇的点在本文中可表示为l。例如,对于形成具有最大距离度量d的第一相邻图像对的imagei和imagei+1,这两个图像之间的点可称为l,并且是从初始簇形成第一簇和第二簇的划分点。
在框440中,系统可确定最大距离度量d是否超过本文中表示为“MAX_VALUE”的最大阈值。措辞MAX_VALUE可表示作为相同簇的一部分的图像的最大阈值或最大距离度量,而与所得到的簇的大小无关。超过MAX_VALUE的最大距离度量将使得系统循环返回,以将簇递归地细分成更小的簇。如果最大距离度量d超过MAX_VALUE,方法400可循环返回至框420以继续处理。在该情况下,例如,系统可将第一簇和第二簇细分成另外的簇并迭代。系统可如所描述地那样递归地执行聚类,直至用来将簇细分成另外的簇的距离度量满足框430中指定的停止条件。如果最大距离度量d不超过最大阈值,则方法400可继续至框445。
继续框445,系统可确定第一簇中的图像数量是否比本文中表示为“MIN_NUMBER”的最小图像数量小以及第二簇中的图像数量是否也比MIN_NUMBER小。系统可确定,当第一簇的图像数量和第二簇的图像数量均比最小图像数量MIN_NUMBER小时,即可停止聚类过程。相应地,当满足框445的停止条件时,则可结束方法400。否则,方法400可继续至框450以继续处理。
在框450中,系统可确定第一簇中图像的数量或第二簇中图像的数量是否比最小图像数量MIN_NUMBER小。如果是,方法400则可继续至框455。如果不是,方法400则可循环返回至框420以通过将簇划分成另外的簇来继续处理,直至满足框430的停止条件或框445的停止条件。在框455中,系统可确定最大距离度量d与次大距离度量d1之间的差异是否显著。在一个示例中,当最大距离度量d与次大距离度量d1的比率超过表示为“T”的阈值时,系统可确定存在显著的差异。如果系统确定最大距离度量与次大距离度量之间的差异显著,则方法400可循环返回至框420。否则,方法400可继续至框460。
在系统确定存在差异且方法400循环返回至框420的情况下,系统可维持由位置l所限定的第一簇和第二簇。可通过递归地细分簇来继续方法400,直至满足停止条件。在系统确定不存在差异的情况下,方法400可继续至框460。在框460中,系统可将第一簇和第二簇重新组合,并在次大距离度量d1的点l1处划分图像。
在执行框450、框455和框460时,系统可防止第一簇和第二簇中的图像数量偏斜的情况。在说明中,考虑由所排序的图像之间的最大距离度量d产生了第一簇99个图像和第二簇1个图像的示例。如果系统确定了d/dl≤T,系统则可选择将第一簇和第二簇重新组合,并根据次大距离度量d1在位于点l1处划分图像。使用l1作为划分点所生成的第一簇和第二簇可产生更加均匀平衡的簇,例如,第一簇49个图像以及第二簇51个图像。在第一簇中的图像数量显著高于第二簇中的图像数量(99对1)的情况下,在比率d/d1超过阈值T时保持聚类。
措辞MIN_VALUE、MAX_VALUE、MIN_NUMBER和T可基于用户所处的地理区域的类型而调整。对于用户的一天、一周或一个月中的旅行,不同的国家和/或文化可具有不同标准的地理距离和/或时间跨度。例如,地理上家的区域可规定与用以工作、娱乐等用户通勤相关的距离(例如,在时间和地理距离上)。作为说明性示例,在行进四分之一英里时,美国的用户可能仍然位于用户的家附近。然而,在其它国家,四分之一英里的行进可能使用户早已远离用户的家附近。
本公开中所描述的图像管理技术不仅考虑了最小和/或最大地理距离,还考虑了诸如时间差、簇中的最小照片数量等可能影响簇形成的因素,以此来处理这些地理和/或文化差异。此外,表达式1中的a、MIN_VALUE、MAX_VALUE和T的值例如可基于以下因素来调整,这些因素包括但不局限于用户的地理位置、用户是否生活在人口稠密的城市环境中、用户是否生活在人口更稀少的郊区或农村环境中等,以提高在图像处理期间与事件和/或旅程检测相关的精度。
在另一布置中,图3的框305可使用以下示例1所示的赝代码示出。
示例1:Sort the photos according to time-stamps.Calculate distancemetrics for every pair of adjacent photos sorted according to time-stamp.Recursively perform the following:Find the largest distance metric d atposition l.If d<MIN_VALUE,stop clustering.Divide photos at l into firstcluster and second cluster.If d>MAX_VALUE,repeat step 1 for both firstcluster and second cluster.If both first and second clusters have fewer thanMIN_NUMBER images,stop clustering.If both first cluster and second clusterhave more than MIN_NUMBER images,repeat step 1 for first cluster and secondcluster.If either first cluster or second cluster has has fewer than MIN_NUMBER images,find the second largest distance metric d1at position l1.If d/d1>T,divide at l and repeat step 1 for both first cluster and secondcluster.Otherwise,divide at l1and repeat step 1 for first cluster and secondcluster.(根据时间戳将照片排序。计算根据时间戳排序的每一对相邻照片的距离度量。递归地执行以下过程:找出位于位置l处的最大距离度量d。如果d<MIN_VALUE,则停止聚类。在l处将照片划分成第一簇和第二簇。如果d>MAX_VALUE,则对第一簇和第二簇均重复步骤1。如果第一簇和第二簇均具有少于MIN_NUMBER的图像,则停止聚类。如果第一簇和第二簇均具有多于MIN_NUMBER的图像,则对第一簇和第二簇重复步骤1。如果第一簇或第二簇具有少于MIN_NUMBER的图像,则找出位于位置l1处的次大距离度量d1。如果d/d1>T,则在l处划分,并对第一簇和第二簇重复步骤1。否则,在l1处划分,并对第一簇和第二簇重复步骤1。)
图5是示出了使用数据处理系统管理图像的另一示例性方法500的流程图。更具体地,图5示出了对图3的框310中执行的、从事件(即,簇)中确定旅程的合并的示例性实现方式。相应地,方法500可通过图1和图2的系统100来执行。方法500可在系统已如参照图4所描述地确定了多个簇的状态下开始。这些簇包括同时具有时间戳和位置的图像。
在框505中,系统可从框305中所确定的簇的初始群组生成簇列表以及可达性距离。在一个示例性实施方式中,系统可确定簇的位置。在一个示例中,对于每个簇,系统可计算簇中图像的位置的平均纬度和平均经度。所得到的平均纬度和所得到的平均经度可用作簇的位置或“簇位置”。
系统可计算在簇群组中每一对可能的簇之间的表示为“dg”的地理距离。系统可在计算地理距离时使用簇的簇位置。在一方面,系统可通过从簇的群组中随机地选择簇来生成簇列表。系统可通过测量距所选簇的地理距离来找出最接近于所选簇的簇。系统可将最接近于所选簇的簇添加至簇列表中。当将簇添加至簇列表时,簇的可达性距离也被添加至与重新添加的簇相关的簇列表中。此外,在将簇添加至簇列表时,进行从框305中所确定的簇的群组中移除簇的操作。系统可继续按顺序将下一最接近的簇(通过测量距所选簇的地理距离)添加至簇列表,直至簇的群组为空。
示例2示出了框505的示例性赝代码的实施。在示例2中,L表示在框305中所确定的簇的初始群组;R表示所生成的簇列表;以及D是可达性距离,例如两个簇之间的地理距离。
示例2:R.add(L[0]);L.remove(L[0]);D.add(0);While L is not empty:C=acluster in L that has the smallest distance with any cluster in R;R.add(C);D.add(smallest_distance(C,R));L.remove(C)(R.add(L[0]);L.remove(L[0]);D.add(0);在L不为空时:C=L中的与R中的任何簇均具有最小距离的簇;R.add(C);D.add(smallest_distance(C,R));L.remove(C))
在框510中,系统可计算在簇列表中所表示的特定日期的总数。系统可评估属于簇列表中的簇的图像的时间戳,以确定时间戳所表示的特定日期的总数。
在框515中,系统可根据最大地理距离dg将簇列表的簇划分成两个不同的簇群组。在框520中,系统可计算簇群组中的每一个中的特定日期的总数。在框525中,系统可计算每个簇群组的特定日期度量。在一种布置中,特定日期度量可以是簇群组中的特定日期数量与簇列表中的特定日期数量的比率。特定日期度量可与旅程阈值“P”进行比较。在一方面,P可设置为0.2的值。应理解的是,本文中所使用的P的具体值是出于说明的目的,在这种情况下,不旨在作为对本发明布置的限定。
在框530中,系统可确定第一簇群组的特定日期度量是否比旅程阈值P小。如果是,则方法500可以继续至框545。否则,方法500可前进至框535。在框545中,系统可将第二簇群组设置为簇列表,并将第一簇群组设置为用于旅程处理的旅程检测群组。框545之后,方法500可继续至框550。
在框535中,系统可确定第二簇群组的特定日期度量是否比旅程阈值小。如果是,方法500则可继续至框540。否则,可结束方法500。在框540中,系统可将第一簇群组设置为簇列表,并选择第二簇群组作为用于旅程处理的旅程检测群组。
在框550中,系统可根据时间戳将旅程检测群组中的簇排序。例如,旅程检测群组的开始日期和时间可计算为旅程检测群组中的最早图像的时间戳。结束的日期和时间可以是旅程检测群组的最晚图像的时间戳。
在框555中,如果满足旅程形成条件,则系统可从旅程检测群组中的簇中形成事件。在一方面,旅程形成条件可包括确定两个簇彼此相邻(例如彼此在预设地理距离内或在被添加至簇列表时以增加的距离排序)且具有比表示为“MAX_VALUE”的最大时间值小的时间差。如果这两个条件均被满足,则可将这两个簇(即,事件)组合成一个旅程。系统可递归地评估旅程检测群组中的其它簇,以将簇添加至旅程。
示例3示出了不包括框505的方法500的示例性赝代码的实施。如参照示例2所提到的,R表示簇列表,以及D为可达性距离。示例3的示例性赝代码可递归地执行。
示例3:Find the biggest geographic distance dg in D and divide R intotwo cluster groups.Calculate the total unique dates of R and of both clustergroups.If(unique dates in a cluster group)/(unique dates of R)<P,detectevents in the smaller cluster group and assign the larger cluster group as Rand repeat step 1.Otherwise,stop.(在D中找出最大地理距离dg并将R划分成两个簇群组。计算R的总特定日期和两个簇群组的总特定日期。如果(簇群组中的特定日期)/(R的特定日期)<P,则在较小的簇群组中检测事件并将较大的簇群组指定为R并重复步骤1。否则,停止。)
在较小的簇群组中,基于时间戳将簇排序。如果较小的簇群组中的两个簇在R中索引是相邻的且其时间距离比MAX_VALUE小,则较小的簇群组中的两个簇属于同一事件。
图5中所描述的事件检测技术可使用地理距离在事件之间进行辨别。考虑一个示例,用户去欧洲旅行、去美国的东海岸旅行、去约塞米特国家公园(Yosemite NationalPark)旅行并去圣克鲁兹(Santa Cruz)旅行,但不一定要按照这个顺序。首先,系统将来自作为第一旅程的欧洲的图像与其余的图像分开。然后,系统将来自作为第二旅程的东海岸的图像与其余的图像分开。然后,系统将来自作为第三旅程的约塞米特国家公园的图像与其余的图像分开。然后,系统迭代并识别来自圣克鲁兹的图片作为又一个旅程。
图6是示出了使用数据处理系统处理没有位置的图像的示例性方法600的流程图。更具体地,图6示出了参照图3的框315所描述的处理没有位置的图像的示例性实现方式。方法600可通过图1和图2的系统100来执行。相应地,方法600可在系统已接收到了没有位置数据的一个或多个图像的状态下开始。例如,系统可在GPS位置服务关闭的情况下拍摄了一个或多个图像。应理解的是,没有位置的图像仍具有时间戳。
在框605中,系统可以选择没有位置的图像。在框610中,系统可确定图像的时间戳是否落入框310中所确定的旅程的范围内。例如,系统可确定所选图像的时间戳是否在旅程最早图像的时间戳之后并且在旅程最晚图像的时间戳之前。系统可基于旅程检查图像,以确定图像是否位于现有的旅程内。在一种布置中,系统可使用距离被设置为零的表达式1来确定所选图像与旅程之间的时间距离。
如果所选图像的时间戳位于旅程的范围内,方法600则可前进至框615。在框615中,系统可将图像添加至该旅程。如果图像的时间戳不在旅程的范围内,则方法600可继续至框620。在框620中,系统可创建包括所选图像的旅程。
图7是示出了由图1和图2的系统100执行的示例性处理没有位置的图像的框图。在图7的示例中,系统已在图3中的框310完成时创建了旅程1和旅程2。系统可接收诸如图像A、图像B、图像C和图像D的没有位置的附加图像。在图7中,时间从左向右增加。因此,旅程1的左边缘表示旅程1的具有最早时间戳的图像,而旅程1的右边缘表示旅程1的具有最晚时间戳的图像。旅程2的图像被类似地布置并具有旅程1的图像之后的时间戳。
就图像A而言,系统可确定图像A的时间戳落在旅程1的最早图像与最晚图像之间。在该情况下,系统可将图像A添加至旅程1,由此创建混合旅程1。混合旅程1包括通过框310处理的同时包括时间戳和位置的图像以及图像A。
就图像B而言,系统可确定图像B的时间戳没有落入旅程1或旅程2内。在该情况下,系统可创建名为混合旅程1-B的新旅程。混合旅程1-B包括图像B。
就图像C和图像D而言,系统可确定图像C和图像D的时间戳落入旅程2的最早图像与最晚图像之间。相应地,系统可将图像C和图像D添加至旅程2,由此创建混合旅程2。混合旅程2包括通过框310处理的同时包括时间戳和位置的图像以及图像C和图像D。
在另一布置中,在没有位置的多个图像具有落入框310中所确定的旅程之间或旅程之外的时间戳的情况下,系统可应用基于时间的聚类技术。例如,系统可执行方法400(其中距离被设置为零)来为没有位置的图像确定一个或多个旅程。图像可在所确定的基于时间的旅程中排序显示,并被显示在框310中所确定的旅程之中、来自框315的混合旅程之中和/或独立地显示为仅包括没有位置的图像的旅程。
生成了旅程后,系统可确定旅程的名称。可使用多种不同的命名技术中的任一种来对旅程命名。在一种布置中,可根据诸如下文所示规则的一个或多个规则来对旅程命名。通常,用于旅程的位置名称可以是与旅程中的图像相对应的单个地点的名称,或使用旅程中的图像的多个地点而生成的名称。
如果旅程具有一个位置,则系统可使用“街道名,城市名”或“地标名,城市名”作为名称。地标可以是公园、购物中心等。在一种布置中,地标可使用本领域中公知的定位服务来确定。系统可通过使用该服务的应用编程接口(API)经由网络连接来访问定位服务。例如,参照谷歌地图定位(Google Maps Geolocation)API,地标可以是API的“建立(establishment)”字段。
如果旅程在相同的城市内具有多个位置,则系统可使用“城市名称”作为名称。
如果旅程具有来自于多个城市的位置,但该数量比预设城市数量“N”小(例如在这个示例中N为4),则系统可使用列表中的城市名中的每一个作为名称。例如,名称可以是“城市名1&城市名2&城市名3”。
如果旅程具有来自于超过“N”个城市的位置,则系统可使用城市所在的州作为名称。例如,名称可以是“州名”。
如果旅程具有来自于多个州的位置,但州的数量小于“M”个州(其中M在该示例中可为4),则系统可使用列表中的每个州的名字作为名称。例如,名称可以是“州名1&州名2&州名3”。
如果旅程具有来自于超过M个州的位置,则系统可使用州所在的国家的名字作为名称。例如,名称可以是“国家名”。
如果旅程具有多个国家,则系统可使用国家的列表作为名称。例如,名称可以是“国家1&国家2”。
在另一布置中,系统在确定旅程的名称时可应用一个或多个附加规则。就移动计算装置而言,显示器屏幕的尺寸通常受到限制,从而限制了可被显示并且仍可被用户读取的名称的长度。相应地,系统可将名称限制为不超过预定数量的字符。在一个示例中,名称可被限制为22个字符或更少。系统可通过在可能的情况下应用缩写词来限制名称的长度。例如,除了诸如用于“Drive”的“Dr”的传统缩写词,系统可使用诸如用于“National Park”的“NP”的其它缩写词。在其它情况下,当事件的名称超过字符限制时,系统可将命名规则移至下一更高级别。例如,当N个城市的列表超过字符限制时,系统可使用州名作为旅程的名称。应理解的是,虽然示例性规则被描述为用于对旅程命名,但该规则也可在合适的情况下应用于对事件命名。
图8是示出了移动计算装置的屏幕的示例性视图的框图。视图805示出了在执行本文所描述的聚类技术之前的图像1-23的集合。如图所示,将这些图像根据日期进行整理。在视图810中,系统确定了图像1-19与一次单独的旅程相对应,尽管图像是几天内并且是在多个位置处(例如,Carnelian Bay中的Tunnington Drive以及Olymplic Valley中的不同的街道处)生成。相应地,系统已将图像1-19显示为相同的旅程的一部分。
本文所使用的术语仅出于描述特定实施方式的目的,而非旨在进行限定。尽管如此,现在仍对应用于整个文件中的若干定义进行介绍。
除非上下文明确另有指示,否则如本文所限定的单数形式“一(a)”、“一(an)”和“该(the)”旨在也包括复数形式。
如本文所限定的,措辞“另一(another)”意为至少第二个或更多个。
除非另有明确说明,否则如本文所限定的措辞“至少一个(at leastone)”、“一个或多个(one or more)”以及“和/或(and/or)”是开放式表达,其在操作上既是连接性的又是转折性的。例如,“A、B和C中的至少一个”、“A、B或C中的至少一个”、“A、B和C中的一个或多个”、“A、B或C中的一个或多个”以及“A、B和/或C”中的每一种表达均意为仅A、仅B、仅C、A和B、A和C、B和C,或者A、B、C一起。
如本文所限定的,措辞“自动地”意为无需用户介入。
如本文所限定的,措辞“计算机可读存储介质”意为包括或存储程序代码的存储介质,其中,该程序代码用于供指令运行系统、设备或装置使用或与指令运行系统、设备或装置相连。如本文所限定的,“计算机可读存储介质”不是暂时性传播信号本身。计算机可读存储介质可以是但不局限于电子存储装置、磁存储装置、光存储装置、电磁存储装置、半导体存储装置或前述项的任何合适的组合。如本文中所描述的存储元件是计算机可读存储介质的示例。计算机可读存储介质的更具体示例的非排他性列表可包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或Flash存储器)、静态随机存取存储器(SRAM)、便携式压缩光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、存储条、软盘、机械编码装置(如,记录有指令的穿孔卡或凹槽中的凸起结构)以及前述项的任何合适的组合。
除非另有说明,否则如本文所限定的措辞“联接”意为没有任何中间元件的直接连接或具有一个或多个中间元件的间接连接。两个元件可通过通信信道、通道、网络或系统机械地、电气地或通信链接地联接。
除非上下文另有指示,否则如本文所限定的措辞“可执行的操作”或“操作”是通过数据处理系统或数据处理系统内部的处理器执行的任务。可执行的操作的示例包括但不局限于“处理”、“运算”、“计算”、“确定”、“显示”、“比较”等。就这一点而言,操作表示数据处理系统(例如,计算机系统)或类似的电子计算装置的动作和/或进程,其中,该数据处理系统或类似的电子计算装置对表示为计算机系统的寄存器和/或存储器内部的物理(电子)量的数据进行操作,并将其转换成类似地表示为计算机系统存储器和/或寄存器或其它这种信息存储装置、传输装置或显示装置内部的物理量的其它数据。
如本文所限定的,措辞“包括(includes)”、“包括有(including)”、“包括(comprises)”和/或“包括有(comprising)”表示所陈述的特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其它特征、整体、步骤、操作、元件、部件和/或其群组的存在或添加。
如本文所限定的措辞“如果”根据上下文意为“当……时”或“在……时”或“响应于”或“对...作出反应”。因此,短语“如果被确定为”或“如果[所述状况或事件]被检测到”可根据上下文理解为意为“在确定了……时”或“响应于确定了……”或“在检测到[所述状况或事件]时”或“响应于检测到[所述状况或事件]”或“对检测到[所述状况或事件]作出反应”。
如本文所限定的,措辞“一个实施方式”、“实施方式”或类似语言意为结合该实施方式描述的特定特征、结构或特性包括在本公开中所描述的至少一个实施方式中。因此,本公开全文中的短语“在一个实施方式中”、“在实施方式中”和类似语言的出现可以,但未必,全部表示相同的实施方式。
如本文所限定的,措辞“输出”意为存储在物理存储元件(例如装置)中、写入显示器或其它外围输出装置、发送或传输至另一系统、导出等。
如本文所限定的,措辞“多个”意为两个或更多个。
如本文所限定的,措辞“处理器”意为配置为执行程序代码中所包含的指令的至少一个硬件电路。硬件电路可以是集成电路。处理器的示例包括但不局限于中央处理单元(CPU)、阵列处理器、矢量处理器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、专用集成电路(ASIC)、可编程逻辑电路和控制器。
如本文所限定的,措辞“程序代码”、“软件”、“应用程序”和“可执行代码”意为以任何语言、代码或注释对指令集进行的任何表达,旨在使得数据处理系统直接地或在以下任一项或两项之后执行具体功能:a)转换为另一种语言、代码或注释;b)以不同物质形态复制。程序代码的示例可包括但不局限于子例程、函数、过程、对象方法、对象实现、可执行应用程序、小程序、小服务程序、源代码、目标代码、共享库/动态加载库和/或设计为在计算机系统上运行的其它指令序列。
如本文所限定的,措辞“实时”意为这样的一种状态:用户或系统所感知的处理响应能力对于特定的过程或待作出的决定而言是足够及时的,或者该处理响应能力使处理器能够跟得上一些外部的处理。
如本文所限定的,措辞“对...作出反应”意为对动作或事件及时响应或有反应。因此,如果“对”第一个动作“作出反应”而执行第二个动作,则第一动作的发生与第二动作的发生之间存在因果关系。措辞“对...作出反应”指示该因果关系。
如本文所限定的,措辞“用户”意为人类。
措辞第一、第二等可在本文用来描述各种元件。除非另有说明或上下文明确另有指示,否则这些措辞仅被用于将一个元件与另一个元件区分开,因而这些元件不应受限于这些措辞。
计算机程序产品可包括具有用于使处理器执行本发明的各个方面的计算机可读程序指令的计算机可读存储介质(或媒介)。本文中描述的计算机可读程序指令可从计算机可读存储介质下载至相应的计算/处理装置,或经由网络(例如,互联网、LAN、WAN和/或无线网络)下载至外部计算机或外部存储装置。网络可包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或包括边缘服务器的边缘装置。每个计算/处理装置中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并将该计算机可读程序指令转发存储在相应的计算/处理装置内的计算机可读存储介质中。
用于执行本文所述发明布置的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、基于机器的指令、微码、固件指令、状态设置数据,或者是以一种或多种编程语言的任何组合编写的源代码或目标代码,其中,一种或多种编程语言包括面向对象的编程语言和/或过程编程语言。计算机可读程序指令可完全在用户的计算机上运行、作为独立的软件包部分在用户的计算机上运行、部分在用户的计算机上且部分在远程计算机上运行,或者完全在远程计算机或服务器上运行。在后一种情况下,远程计算机可通过任何类型的网络(包括LAN或WAN)连接至用户的计算机,或者可与外部计算机(例如,使用互联网服务提供商通过互联网)进行连接。在一些情况下,包括例如可编程逻辑电路、FPGA或PLA的电子电路可通过利用计算机可读程序指令的状态信息使电子电路定制化来运行计算机可读程序指令,从而执行本文中所描述的发明布置的各个方面。
本文参照方法、设备(系统)和计算机程序产品的流程图说明和/或框图对本发明布置的某些方面进行描述。应理解的是,流程图说明和/或框图的每个框以及流程图说明和/或框图中的框的组合可通过计算机可读程序指令(例如,程序代码)来实施。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其它可编程数据处理设备的处理器以产生机器代码,以使得经由计算机或其它可编程数据处理设备的处理器运行的指令创建用于实施在流程图和/或框图一个或多个框中指定的功能/动作的方式。这些计算机可读程序指令也可存储在可指引计算机、可编程数据处理设备和/或以特定方式运行的其它装置的计算机可读存储介质中,以使得在其中存储有指令的计算机可读存储介质包括具有实施流程图和/或框图一个或多个框中指定操作的方面的指令的制造产品。
计算机可读程序指令还可加载至计算机、其它可编程数据处理设备或其它装置上,以产生待在计算机、其它可编程设备或其它装置上执行的一系列操作,从而产生计算机实施的过程,以使得运行在计算机、其它可编程设备或其它装置上的指令实施流程图和/或框图一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明布置的多个方面的系统、方法和计算机程序产品的可行性实施例的结构、功能和操作。就这一点而言,流程图或框图中的每个框可表示包括用于实施指定的操作的一个或多个可执行指令的模块、片段或部分指令。在一些替代性实施中,框中标注的操作可不按照附图中标注的顺序发生。例如,根据所涉及的功能,连续示出的两个框可大致同时运行,或者框有时可以以相反的顺序运行。还应注意的是,框图和/或流程图说明的每个框以及框图和/或流程图说明中的框的组合可通过执行指定功能或动作或执行专用硬件与计算机指令的组合的基于硬件的专用系统来实施。
为了说明的简化和清楚,示出在附图中的元件不一定按比例绘制。例如,为了清楚,元件中的一些的尺寸可相对于其它元件被夸大。此外,在认为合适的情况下,在附图之间重复的附图标记表明相应的、类似的或相似的特征。
可在所附权利要求中找到的所有功能性限定的元件的相应结构、材料、动作和等同物旨在包括用于执行与被具体声明的其它所要求保护的元件结合的功能的任何结构、材料或动作。
本文中所描述的发明布置可实施为由数据处理系统执行的方法或过程。在另一方面,本发明布置可实施为诸如具有处理器的数据处理系统的设备。处理器在执行程序代码时可执行本文中所描述的一个或多个操作。在一方面,设备可以是客户端装置。在另一方面,设备可以是服务器端装置。示例性装置可包括但不局限于与是否可移动无关的通信装置、设施、网络通信节点、计算机系统等。在又一方面,本发明布置可实施为存储程序代码的非暂时性计算机可读存储介质,其中,该程序代码在运行时,会致使处理器和/或系统执行和/或发起方法或过程。
管理多个图像的方法可包括使用处理器从具有位置和时间戳的多个图像中生成图像的簇,其中,簇表示事件并且根据距离度量而生成,距离度量取决于根据时间排序的多个图像中的相邻两个图像之间的地理距离和时间差。方法可包括使用处理器基于簇之间的地理距离和簇内部的特定日期来将选择的簇合并成表示旅程的合并簇。方法还可包括使用处理器显示根据旅程整理的多个图像。
方法可包括根据没有位置的附加图像的时间戳将附加图像选择性地包括至旅程中。
方法可包括根据时间将具有时间戳但没有位置的其它多个图像聚类至附加旅程中。
从具有位置和时间戳的多个图像中生成图像的簇可包括:根据时间戳将多个图像排序;确定所排序的多个图像中的相邻两个图像的距离度量;以及根据距离度量和图像数量将所排序的多个图像迭代地聚类。
将选择的簇合并成表示旅程的合并簇可包括:根据簇之间的地理距离将簇分组成簇群组;根据簇群组中的特定日期选择簇群组;根据时间戳将所选择的簇群组中的簇排序;以及根据所选择的簇群组中的至少两个簇之间的时间差和地理距离将至少两个簇选择性地组合成合并簇。
根据簇群组中的特定日期选择簇群组可包括:对于每个簇群组,确定簇群组中的特定日期的数量与多个簇的特定日期的总数的比率。方法还可包括选择具有不超过旅程阈值的比率的簇群组。
用于管理图像的系统可包括被编程为发起可执行操作的处理器。可执行操作可包括从具有位置和时间戳的多个图像中生成图像的簇,其中,簇表示事件并且根据距离度量而生成,距离度量取决于根据时间排序的多个图像中的相邻两个图像之间的地理距离和时间差。可执行操作可包括基于簇之间的地理距离和簇内部的特定日期将选择的簇合并成表示旅程的合并簇。可执行操作还可包括显示根据旅程整理的多个图像。
处理器还可被编程为发起包括根据没有位置的附加图像的时间戳将附加图像选择性地包括至旅程中的可执行操作。
处理器还可被编程为发起包括根据时间将具有时间戳但没有位置的其它多个图像聚类至附加旅程中的可执行操作。
从具有位置和时间戳的多个图像中生成图像的簇可包括:根据时间戳将多个图像排序;确定所排序的多个图像中的相邻两个图像的距离度量;以及根据距离度量和图像数量将所排序的多个图像迭代地聚类。
将选择的簇合并成表示旅程的合并簇可包括:根据簇之间的地理距离将簇分组成簇群组;根据簇群组中的特定日期选择簇群组;根据时间戳将所选择的簇群组中的簇排序;以及根据所选择的簇群组中的至少两个簇之间的时间差和地理距离将至少两个簇选择性地组合成合并簇。
根据簇群组中的特定日期选择簇群组可包括:对于每个簇群组,确定簇群组中的特定日期的数量与多个簇的特定日期的总数的比率。
处理器还可被编程为发起包括选择具有不超过旅程阈值的比率的簇群组的可执行操作。
计算机程序产品包括存储有程序代码的计算机可读存储介质。程序代码可通过处理器来运行以执行管理图像的方法。方法可包括使用处理器从具有位置和时间戳的多个图像中生成图像的簇,其中,簇表示事件并且根据距离度量而生成,距离度量取决于根据时间排序的多个图像中的相邻两个图像之间的地理距离和时间差。方法可包括使用处理器基于簇之间的地理距离和簇内部的特定日期来将选择的簇合并成表示旅程的合并簇。方法还可包括使用处理器显示根据旅程整理的多个图像。
方法可包括根据没有位置的附加图像的时间戳将附加图像选择性地包括至旅程中。
方法可包括根据时间将具有时间戳但没有位置的其它多个图像聚类至附加旅程中。
从具有位置和时间戳的多个图像中生成图像的簇可包括:根据时间戳将多个图像排序;确定所排序的多个图像中的相邻两个图像的距离度量;以及根据距离度量和图像数量将所排序的多个图像迭代地聚类。
将选择的簇合并成表示旅程的合并簇可包括:根据簇之间的地理距离将簇分组成簇群组;根据簇群组中的特定日期选择簇群组;根据时间戳将所选择的簇群组中的簇排序;以及根据所选择的簇群组中的至少两个簇之间的时间差和地理距离将至少两个簇选择性地组合成合并簇。
根据簇群组中的特定日期选择簇群组可包括:对于每个簇群组,确定簇群组中的特定日期的数量与多个簇的特定日期的总数的比率。方法还可包括选择具有不超过旅程阈值的比率的簇群组。
本文中所提供的本发明布置的描述是出于说明的目的而不旨在穷尽的目的或受限于公开的形式和示例。选择本文中使用的术语来说明本发明布置的原理、市场中所能发现的技术上的实际应用或技术改进,和/或使得其它本领域普通技术人员能够理解本文所公开的实施方式。在不背离所描述的发明布置的范围和精神的情况下,修改和变化对本领域普通技术人员是显而易见的。相应地,应参照所附权利要求而非以上公开内容来指示这些特征和实现方式的范围。

Claims (9)

1.管理多个图像的方法,包括:
使用处理器从具有位置和时间戳的多个图像中生成图像的簇,其中,所述簇表示事件并且根据距离度量而生成,所述距离度量取决于根据时间排序的所述多个图像中的相邻两个图像之间的地理距离和时间差;
使用所述处理器基于所述簇之间的地理距离和所述簇内部的特定日期将选择的簇合并成表示旅程的合并簇;以及
使用所述处理器显示根据所述旅程整理的所述多个图像,
其中,将选择的簇合并成表示旅程的合并簇包括:
根据簇之间的地理距离将所述簇分组成簇群组;
根据所述簇群组中的特定日期选择簇群组;
根据时间戳将所选择的簇群组中的簇排序;以及
根据所选择的簇群组中的至少两个簇之间的时间差和地理距离将所述至少两个簇选择性地组合成所述合并簇,
其中,根据所述簇群组中的特定日期选择簇群组包括:
对于每个簇群组,确定所述簇群组中的特定日期的数量与所述多个簇的特定日期的总数的比率;以及
选择具有不超过旅程阈值的比率的簇群组。
2.根据权利要求1所述的方法,还包括:
根据没有位置的附加图像的时间戳将所述附加图像选择性地包括至所述旅程中。
3.根据权利要求1所述的方法,还包括:
根据时间将具有时间戳但没有位置的其它多个图像聚类至附加旅程中。
4.根据权利要求1所述的方法,其中,从具有位置和时间戳的多个图像中生成图像的簇包括:
根据时间戳将所述多个图像排序;
确定所排序的多个图像中的相邻两个图像的距离度量;以及
根据所述距离度量和图像数量将所排序的多个图像迭代地聚类。
5.用于管理图像的系统,包括:
处理器,被编程为发起包括以下项的可执行操作:
从具有位置和时间戳的多个图像中生成图像的簇,其中,所述簇表示事件并且根据距离度量而生成,所述距离度量取决于根据时间排序的所述多个图像中的相邻两个图像之间的地理距离和时间差;
基于所述簇之间的地理距离和所述簇内部的特定日期将选择的簇合并成表示旅程的合并簇;以及
显示根据所述旅程整理的所述多个图像,
其中,将选择的簇合并成表示旅程的合并簇包括:
根据簇之间的地理距离将所述簇分组成簇群组;
根据所述簇群组中的特定日期选择簇群组;
根据时间戳将所选择的簇群组中的簇排序;以及
根据所选择的簇群组中的至少两个簇之间的时间差和地理距离将所述至少两个簇选择性地组合成所述合并簇,
其中,根据所述簇群组中的特定日期选择簇群组包括:
对于每个簇群组,确定所述簇群组中的特定日期的数量与所述多个簇的特定日期的总数的比率;以及
选择具有不超过旅程阈值的比率的簇群组。
6.根据权利要求5所述的系统,其中,所述处理器还被编程为发起包括以下项的可执行操作:
根据没有位置的附加图像的时间戳将所述附加图像选择性地包括至所述旅程中。
7.根据权利要求5所述的系统,其中,所述处理器还被编程为发起包括以下项的可执行操作:
根据时间将具有时间戳但没有位置的其它多个图像聚类至附加旅程中。
8.根据权利要求5所述的系统,其中,从具有位置和时间戳的多个图像中生成图像的簇包括:
根据时间戳将所述多个图像排序;
确定所排序的多个图像中的相邻两个图像的距离度量;以及
根据所述距离度量和图像数量将所排序的多个图像迭代地聚类。
9.非暂时性计算机可读存储介质,存储有程序代码,所述程序代码能够通过处理器运行以执行管理图像的方法,所述方法包括:
使用所述处理器从具有位置和时间戳的多个图像中生成图像的簇,其中,所述簇表示事件并且根据距离度量而生成,所述距离度量取决于根据时间排序的所述多个图像中的相邻两个图像之间的地理距离和时间差;
使用所述处理器基于所述簇之间的地理距离和所述簇内部的特定日期将选择的簇合并成表示旅程的合并簇;以及
使用所述处理器显示根据所述旅程整理的所述多个图像,
其中,将选择的簇合并成表示旅程的合并簇包括:
根据簇之间的地理距离将所述簇分组成簇群组;
根据所述簇群组中的特定日期选择簇群组;
根据时间戳将所选择的簇群组中的簇排序;以及
根据所选择的簇群组中的至少两个簇之间的时间差和地理距离将所述至少两个簇选择性地组合成所述合并簇,
其中,根据所述簇群组中的特定日期选择簇群组包括:
对于每个簇群组,确定所述簇群组中的特定日期的数量与所述多个簇的特定日期的总数的比率;以及
选择具有不超过旅程阈值的比率的簇群组。
CN201680072413.8A 2015-12-16 2016-06-03 使用聚类进行的基于事件的图像管理 Active CN108369638B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/971,451 US10140516B2 (en) 2015-12-16 2015-12-16 Event-based image management using clustering
US14/971,451 2015-12-16
PCT/KR2016/005909 WO2017104919A1 (en) 2015-12-16 2016-06-03 Event-based image management using clustering

Publications (2)

Publication Number Publication Date
CN108369638A CN108369638A (zh) 2018-08-03
CN108369638B true CN108369638B (zh) 2022-06-21

Family

ID=59056897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680072413.8A Active CN108369638B (zh) 2015-12-16 2016-06-03 使用聚类进行的基于事件的图像管理

Country Status (5)

Country Link
US (1) US10140516B2 (zh)
EP (1) EP3351008B1 (zh)
KR (1) KR20180079474A (zh)
CN (1) CN108369638B (zh)
WO (1) WO2017104919A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2015203570A1 (en) * 2015-06-26 2017-01-19 Canon Kabushiki Kaisha Method, system and apparatus for segmenting an image set to generate a plurality of event clusters
US10762126B2 (en) * 2017-09-27 2020-09-01 Shutterfly, Llc System and method for reducing similar photos for display and product design
US11443469B2 (en) * 2017-09-27 2022-09-13 Shutterfly, Llc System and method for reducing similar photos for display and product design
EP3706015A4 (en) 2017-12-05 2020-09-23 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR DISPLAYING A STORY ALBUM
WO2020019248A1 (zh) * 2018-07-26 2020-01-30 威超智能股份有限公司 影像评选方法、影像评选服务器及影像评选系统
CN110377774B (zh) * 2019-07-15 2023-08-01 腾讯科技(深圳)有限公司 进行人物聚类的方法、装置、服务器和存储介质
CN110413817B (zh) * 2019-07-30 2023-06-16 腾讯科技(武汉)有限公司 用于对图片进行聚类的方法和设备
CN111091152A (zh) * 2019-12-17 2020-05-01 上海云从汇临人工智能科技有限公司 图像聚类方法、系统、设备及机器可读介质
US11810291B2 (en) 2020-04-15 2023-11-07 Siemens Healthcare Gmbh Medical image synthesis of abnormality patterns associated with COVID-19

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006055730A2 (en) * 2004-11-17 2006-05-26 Eastman Kodak Company Multi-tiered image clustering by event
CN104199853A (zh) * 2014-08-12 2014-12-10 南京信息工程大学 一种聚类方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7009643B2 (en) 2002-03-15 2006-03-07 Canon Kabushiki Kaisha Automatic determination of image storage location
US7653249B2 (en) * 2004-11-17 2010-01-26 Eastman Kodak Company Variance-based event clustering for automatically classifying images
WO2007100228A1 (en) 2006-03-02 2007-09-07 Mtome Co., Ltd A system and method for contents upload using a mobile terminal
US7958104B2 (en) 2007-03-08 2011-06-07 O'donnell Shawn C Context based data searching
US20080270880A1 (en) 2007-04-19 2008-10-30 Lynne Becker System and method for memoralizing predetermined events
JP5034706B2 (ja) 2007-06-19 2012-09-26 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP5050727B2 (ja) * 2007-08-22 2012-10-17 ソニー株式会社 画像表示装置
WO2010021625A1 (en) * 2008-08-21 2010-02-25 Hewlett-Packard Development Company, L.P. Automatic creation of a scalable relevance ordered representation of an image collection
US20100082624A1 (en) * 2008-09-30 2010-04-01 Apple Inc. System and method for categorizing digital media according to calendar events
WO2010047843A1 (en) 2008-10-26 2010-04-29 Hewlett-Packard Development Company, L.P. Arranging images into pages using content-based filtering and theme-based clustering
US8611677B2 (en) 2008-11-19 2013-12-17 Intellectual Ventures Fund 83 Llc Method for event-based semantic classification
US20120141023A1 (en) 2009-03-18 2012-06-07 Wang Wiley H Smart photo story creation
JP2011109428A (ja) * 2009-11-18 2011-06-02 Sony Corp 情報処理装置、情報処理方法、およびプログラム
US8479107B2 (en) 2009-12-31 2013-07-02 Nokia Corporation Method and apparatus for fluid graphical user interface
US8584015B2 (en) 2010-10-19 2013-11-12 Apple Inc. Presenting media content items using geographical data
JP5648473B2 (ja) * 2010-12-27 2015-01-07 ソニー株式会社 電子機器、表示制御方法およびプログラム
KR101969930B1 (ko) 2011-01-07 2019-04-18 삼성전자주식회사 컨텐트 수집 방법 및 그 장치
JP5246286B2 (ja) 2011-03-15 2013-07-24 カシオ計算機株式会社 画像記録装置、画像記録方法及びプログラム
US8856121B1 (en) 2011-04-28 2014-10-07 Adobe Systems Incorporated Event based metadata synthesis
US8918463B2 (en) 2011-04-29 2014-12-23 Facebook, Inc. Automated event tagging
AU2011202609B2 (en) * 2011-05-24 2013-05-16 Canon Kabushiki Kaisha Image clustering method
US9552376B2 (en) 2011-06-09 2017-01-24 MemoryWeb, LLC Method and apparatus for managing digital files
US9202143B2 (en) * 2013-04-29 2015-12-01 Microsoft Technology Licensing, Llc Automatic photo grouping by events
JP5788455B2 (ja) * 2013-09-30 2015-09-30 富士フイルム株式会社 画像割当装置および画像割当方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006055730A2 (en) * 2004-11-17 2006-05-26 Eastman Kodak Company Multi-tiered image clustering by event
CN104199853A (zh) * 2014-08-12 2014-12-10 南京信息工程大学 一种聚类方法

Also Published As

Publication number Publication date
WO2017104919A1 (en) 2017-06-22
EP3351008B1 (en) 2022-08-03
EP3351008A4 (en) 2018-10-17
CN108369638A (zh) 2018-08-03
US10140516B2 (en) 2018-11-27
EP3351008A1 (en) 2018-07-25
KR20180079474A (ko) 2018-07-10
US20170177942A1 (en) 2017-06-22

Similar Documents

Publication Publication Date Title
CN108369638B (zh) 使用聚类进行的基于事件的图像管理
US9646026B2 (en) Determining points of interest using intelligent agents and semantic data
US10317233B2 (en) Direction list
US9418466B2 (en) Geospatial representation of data-less map areas
WO2015124082A1 (en) Electronic travel album generating method and system
US20210092551A1 (en) System and method for processing vehicle event data for journey analysis
US20140278291A1 (en) Discovering functional groups
US20170293673A1 (en) Applying geo-tags to digital media captured without location information
JP2014509424A (ja) イベント自動認識及びクロスユーザフォトクラスタリング
US20130328941A1 (en) Scalable Processing for Associating Geometries with Map Tiles
US10769428B2 (en) On-device image recognition
US9706518B2 (en) Location based application feature notification
US20090327229A1 (en) Automatic knowledge-based geographical organization of digital media
CN104115180A (zh) 信息处理设备、信息处理方法和程序
KR20200014416A (ko) 위치 데이터가 포함된 컨텐츠를 이용한 추천 방법 및 그 시스템
US8862995B1 (en) Automatically creating a movie from geo located content using earth
CN104133845A (zh) 一种多媒体信息展示的方法与设备
CN111737374B (zh) 位置坐标确定方法、装置、电子设备及存储介质
US20140363137A1 (en) Generating a Geo-Located Data Movie from Certain Data Sources
CN117437288B (zh) 摄影测量方法、装置、设备及存储介质
JP2014025849A (ja) 重要領域決定装置及び方法及びプログラム
CN110619087B (zh) 用于处理信息的方法和装置
US20170191840A1 (en) Clustering of Geo-Tagged Media
JP2016177496A (ja) 教材データ配信方法、教材データ配信システム、教材データ配信プログラム
CN110704567A (zh) 用于输出信息的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant