虚拟环境下的试衣方法和装置的制造方法
【专利摘要】本发明公开一种虚拟环境下的试衣方法和装置。虚拟环境下的试衣方法,包括步骤:采集多个真实用户的身材的数据,建立身材数据库;从身材数据库抽取数据样本,建立模特数据库;所述模特数据库包括多个模特身材的第一数据;获取衣服款式数据;通过模特试穿确定衣服款式数据中每个尺寸对应的第一数据;所述模特根据模特数据库制作而成;将衣服款式数据及其每个尺寸对应的第一数据关联,建立试穿数据库;获取用户身材的第二数据,以及用户选择的衣服数据;从试穿数据库获取与该衣服数据匹配度最高的第一数据;比较第一数据与第二数据,向用户反馈试穿结果。本发明无需用户亲自试穿,就能够准确判断衣服是否合身。
【专利说明】
虚拟环境下的试衣方法和装置
技术领域
[0001 ]本发明涉及衣服领域,尤指虚拟环境下的试衣方法和装置。
【背景技术】
[0002]在互联网不断普及、电子商务高速发展的今天,网上购衣成为人们很平常的一种生活方式之一,但是网上购衣时仅仅依靠衣服的平面展示无法有效的展示衣服的实际穿着效果,而且不同款式同一尺寸的衣服也有很大区别,许多购买者在购买看中的衣服后发现并不合身,使得用户体验变差,从而导致退货率增加,增加了网上商家的成本,这样对于商家和买方均不利。虽然现在很多网店都将衣服的详细尺寸公开,并基于身高和体重给出了大致的参考范围,但毕竟人的体型差异较大,这种粗略的参考表格无法给出准确的参考意见。
【发明内容】
[0003]本发明提供一种提高判断衣服是否合身准确性的虚拟环境下的试衣方法和装置。
[0004]本发明的目的是通过以下技术方案来实现的:
[0005]—种虚拟环境下的试衣方法,包括步骤:
[0006]采集多个真实用户的身材的数据,建立身材数据库;
[0007]从身材数据库抽取数据样本,建立模特数据库;所述模特数据库包括多个模特身材的第一数据;
[0008]获取衣服款式数据;通过模特试穿确定衣服款式数据中每个尺寸对应的第一数据;所述模特根据模特数据库制作而成。
[0009]将衣服款式数据及其每个尺寸对应的第一数据关联,建立试穿数据库;
[0010]获取用户身材的第二数据,以及用户选择的衣服数据;
[0011 ]从试穿数据库获取与该衣服数据匹配度最高的第一数据;
[0012]比较第一数据与第二数据,向用户反馈试穿结果。
[0013]进一步的,所述获取用户身材的第二数据,以及用户选择的衣服数据的方法包括:
[0014]获取用户ID;
[00?5]根据用户ID查找历史购物记录和评价记录;
[0016]根据历史购物记录和评价记录活动生成所述第二数据。
[0017]进一步的,所述根据历史购物记录和评价记录活动生成所述第二数据的方法包括:
[0018]从历史购物记录中找出购买衣服的记录;
[0019]从评价记录中获得用户对每件衣服的尺寸评价;
[0020]将评价合格的每件已购买衣服的尺寸进行加权平均,得到的尺寸数据作为所述第二数据。
[0021]进一步的,模特上设有与第一数据一一对应的二维码;所述建立试穿数据库的方法包括:通过扫描模特的二维码实现衣服款式数据及其每个尺寸对应的第一数据关联。
[0022]进一步的,所述第一数据包括基准腰围数据;所述第二数据包括用户腰围数据;所述比较第一数据与第二数据,向用户反馈试穿结果的方法包括:
[0023]将用户腰围数据跟基准腰围数据比较;
[0024]如果用户腰围数据减去基准腰围数据的差值在预设的区间内,所述试穿结果为合身;超出区间的上限值,所述试穿结果为腰围偏窄;低于区间的下限值,所述试穿结果为腰围偏长。
[0025]进一步的,所述第一数据包括基准肩宽数据;所述第二数据包括用户肩宽数据;所述将第一数据与第二数据进行比较,得到试穿结果的方法包括:
[0026]将用户肩宽数据跟基准肩宽数据比较;
[0027]如果用户肩宽数据减去基准肩宽数据的差值在预设的区间内,所述试穿结果为合身;超出区间的上限值,所述试穿结果为前后衣肩偏挤;低于区间的下限值,所述试穿结果为衣肩偏宽。
[0028]进一步的,所述第一数据包括基准胸围数据;所述第二数据包括用户胸围数据;所述将第一数据与第二数据进行比较,得到试穿结果的方法包括:
[0029]将用户胸围数据跟基准胸围数据比较;
[0030]如果用户胸围数据减去基准胸围数据的差值在预设的区间内,所述试穿结果为合身;超出区间的上限值,所述试穿结果为胸围过窄;低于区间的下限值,所述试穿结果为胸围过宽。
[0031]一种虚拟环境下的试衣装置,包括:
[0032]身材数据库建立单元:用于采集多个真实用户的身材的数据,建立身材数据库;
[0033]模特数据建立单元:从身材数据库抽取数据样本,建立模特数据库;所述模特数据库包括多个模特身材的第一数据;
[0034]款式采集单元:获取衣服款式数据;通过模特试穿确定衣服款式数据中每个尺寸对应的第一数据;所述模特根据模特数据库制作而成。
[0035]试穿数据库建立单元:将衣服款式数据及其每个尺寸对应的第一数据关联,建立试穿数据库;
[0036]身材采集单元:获取用户身材的第二数据,以及用户选择的衣服数据;
[0037]匹配单元:从试穿数据库获取与该衣服数据匹配度最高的第一数据;
[0038]判断单元:比较第一数据与第二数据,向用户反馈试穿结果。
[0039]进一步的,所述身材采集单元还包括:
[0040]ID获取单元:用于获取用户ID;
[0041]记录查找单元:用于根据用户ID查找历史购物记录和评价记录;
[0042]数据生成单元:用于根据历史购物记录和评价记录活动生成所述第二数据。
[0043]进一步的,所述数据生成单元被配置为:
[0044]从历史购物记录中找出购买衣服的记录;
[0045]从评价记录中获得用户对每件衣服的尺寸评价;
[0046]将评价合格的每件已购买衣服的尺寸进行加权平均,得到的尺寸数据作为所述第二数据。
[0047]本发明中,只要在生产或销售过程中预先匹配好衣服款式及其没给尺寸对应的模特的数据,即第一数据,用户购买的时候只要提交自己的身材相关的数据,即第二数据,并选择好想要的衣服,然后根据该衣服数据衣服找到匹配度最高的第一数据,最后通过比较第一数据与第二数据,就可以衣服是否合身。本发明无须将用户的身材数据跟所选的衣服数据进行直接比较,可靠度更高,且事先无须穷举每款衣服可能合身的身材数据,仅需要存储具有代表性的模特数据即可,数据量大幅减少,且准确度又可以保障。另外,本发明建立了身材数据库,跟用户最终购物需要用到的试穿数据库相对独立,可以独立运营,随着采集的样本数量增加,可提炼出更具备普适性的第一数据,具备广阔的升级空间且不影响主体(即试穿数据库)的正常运行。本发明无需用户亲自试穿,就能够准确判断衣服是否合身。
【附图说明】
[0048]图1是本发明实施例虚拟环境下的试衣方法示意图;
[0049]图2是本发明实施例虚拟环境下的试衣装置的原理示意图。
【具体实施方式】
[0050]如图1所示,本发明公开一种虚拟环境下的试衣方法,包括步骤:
[0051 ] S11、采集多个真实用户的身材的数据,建立身材数据库;
[0052]S12、从身材数据库抽取数据样本,建立模特数据库;所述模特数据库包括多个模特身材的第一数据;
[0053]S13、获取衣服款式数据;通过模特试穿确定衣服款式数据中每个尺寸对应的第一数据;所述模特根据模特数据库制作而成。
[0054]S14、将衣服款式数据及其每个尺寸对应的第一数据关联,建立试穿数据库;
[0055]S15、获取用户身材的第二数据,以及用户选择的衣服数据;
[0056]S16、从试穿数据库获取与该衣服数据匹配度最高的第一数据;
[0057]S17、比较第一数据与第二数据,向用户反馈试穿结果。
[0058]如图2所示,本发明还一种虚拟环境下的试衣装置,包括:
[0059]身材数据库建立单元10:用于采集多个真实用户的身材的数据,建立身材数据库;
[0060]模特数据建立单元20:从身材数据库抽取数据样本,建立模特数据库;所述模特数据库包括多个模特身材的第一数据;
[0061 ]款式采集单元30:获取衣服款式数据;通过模特试穿确定衣服款式数据中每个尺寸对应的第一数据;所述模特根据模特数据库制作而成。
[0062]试穿数据库建立单元40:将衣服款式数据及其每个尺寸对应的第一数据关联,建立试穿数据库;
[0063]身材采集单元50:获取用户身材的第二数据,以及用户选择的衣服数据;
[0064]匹配单元60:从试穿数据库获取与该衣服数据匹配度最高的第一数据;
[0065]判断单元70:比较第一数据与第二数据,向用户反馈试穿结果。
[0066]本发明中,只要在生产或销售过程中预先匹配好衣服款式及其没给尺寸对应的模特的数据,即第一数据,用户购买的时候只要提交自己的身材相关的数据,即第二数据,并选择好想要的衣服,然后根据该衣服数据衣服找到匹配度最高的第一数据,最后通过比较第一数据与第二数据,就可以衣服是否合身。本发明无须将用户的身材数据跟所选的衣服数据进行直接比较,可靠度更高,且事先无须穷举每款衣服可能合身的身材数据,仅需要存储具有代表性的模特数据即可,数据量大幅减少,且准确度又可以保障。另外,本发明建立了身材数据库,跟用户最终购物需要用到的试穿数据库相对独立,可以独立运营,随着采集的样本数量增加,可提炼出更具备普适性的第一数据,具备广阔的升级空间且不影响主体(即试穿数据库)的正常运行。本发明无需用户亲自试穿,就能够准确判断衣服是否合身。
[0067]在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0068]在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
[0069]所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
[0070]需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
[0071]后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
[0072]这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
[0073]这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
[0074]还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
[0075]下面结合附图和较佳的实施例对本发明作进一步说明。
[0076]本实施方式公开的虚拟环境下的试衣方法包括步骤:
[0077]采集多个真实用户的身材的数据,建立身材数据库;
[0078]从身材数据库抽取数据样本,建立模特数据库;所述模特数据库包括多个模特身材的第一数据;
[0079]获取衣服款式数据;通过模特试穿确定衣服款式数据中每个尺寸对应的第一数据;所述模特根据模特数据库制作而成。
[0080]将衣服款式数据及其每个尺寸对应的第一数据关联,建立试穿数据库;
[0081 ]获取用户身材的第二数据,以及用户选择的衣服数据;
[0082]从试穿数据库获取与该衣服数据匹配度最高的第一数据;
[0083]比较第一数据与第二数据,向用户反馈试穿结果。
[0084]具体来说,所述获取用户身材的第二数据,以及用户选择的衣服数据的方法包括:
[0085]获取用户ID;
[0086]根据用户ID查找历史购物记录和评价记录;
[0087]根据历史购物记录和评价记录活动生成所述第二数据。
[0088]更进一步的,所述根据历史购物记录和评价记录活动生成所述第二数据的方法包括:
[0089]从历史购物记录中找出购买衣服的记录;
[0090]从评价记录中获得用户对每件衣服的尺寸评价;
[0091]将评价合格的每件已购买衣服的尺寸进行加权平均,得到的尺寸数据作为所述第二数据。
[0092]每个用户在电商平台都有一个唯一的ID,对于综合性的电商平台来说,用户在里面可能购买了各种品类的东西,如衣服、鞋子、手机、化妆品等等。因此,我们首先要从历史购物记录将购买衣服的数据找出来,然后看用户对该商品的点评,如果评价该衣服合身,则提取该衣服的尺寸数据,其中该尺寸数据包括但不局限于衣长、前衣长、后衣长、领围、横肩宽、颈肩点、颈前点、颈后点、肩端点、胸围、胸厚、乳头点间距、乳峰下围、大肩宽、肩宽、肩厚、背宽、背厚、背长、大臂周长、肘围、袖长、袖肥、袖口、袖厚、袖窿周长、手腕周长、总长、后长、前长、乳下垂、腰高、下档长、立档长、肩袖长、衣长、膝长、裙长、裤长、腰围、摆围、下摆、臀围、中臀围、裤长、大腿围、小腿围、膝盖围、脚□、前浪、后浪等。
[0093]把所有购买过的合身的衣服尺寸数据提取出来进行加权平均,比如所有购买的衣服中有2件合身的。第一件衣服的衣长为67cm,第二件衣服的衣长为69cm,那么可以推测该用户的衣长尺寸应该为68cm。
[0094]采用该技术方案,用户不需要每次都输入自己的身材数据就可以获得较为准确的第二数据。即便有网店平台可以存储用户的身材数据,但毕竟对于普通的用户来说,量尺寸都是比较粗略。而从上述衣服尺寸的数据举例可以看出,想要获得较为准确的第二数据,想要测量的数据是很多的,如果让普通用户去测量显然是不现实的。而本发明通过自学习的方式,无效用户自己测量,或者只需要初期提供简要数据,如自己的身高、体重即可,随着购买衣服的数量增加,第二数据的准确性会越来越高。
[0095]可选的,所述第一数据包括基准腰围数据;所述第二数据包括用户腰围数据;所述比较第一数据与第二数据,向用户反馈试穿结果的方法包括:
[0096]将用户腰围数据跟基准腰围数据比较;
[0097]如果用户腰围数据减去基准腰围数据的差值在预设的区间内,所述试穿结果为合身;超出区间的上限值,所述试穿结果为腰围偏窄;低于区间的下限值,所述试穿结果为腰围偏长。
[0098]可选的,所述第一数据包括基准肩宽数据;所述第二数据包括用户肩宽数据;所述将第一数据与第二数据进行比较,得到试穿结果的方法包括:
[0099]将用户肩宽数据跟基准肩宽数据比较;
[0100]如果用户肩宽数据减去基准肩宽数据的差值在预设的区间内,所述试穿结果为合身;超出区间的上限值,所述试穿结果为前后衣肩偏挤;低于区间的下限值,所述试穿结果为衣肩偏宽。
[0101]可选的,所述第一数据包括基准胸围数据;所述第二数据包括用户胸围数据;所述将第一数据与第二数据进行比较,得到试穿结果的方法包括:
[0102]将用户胸围数据跟基准胸围数据比较;
[0103]如果用户胸围数据减去基准胸围数据的差值在预设的区间内,所述试穿结果为合身;超出区间的上限值,所述试穿结果为胸围过窄;低于区间的下限值,所述试穿结果为胸围过宽。
[0104]需要进一步说明的是,以上的数据比较可以单项比较,也可以多项比较,综合判断。本发明也可以对脚围、足弓等脚的其他参数进行比较,比较的数据越多,试穿结果越详细,也越准确,在此不再赘述。
[0105]为了简化试穿数据库数据输入,可以在模特上印刷与第一数据一一对应的二维码;当试穿的模特合身时,扫描该二维码即可将该模特对应的第一数据输入到数据库中并与该衣服款式数据对应的尺寸建立关联。这样就大幅简化了数据录入的工作。
[0106]作为本发明的另一实施方式。本实施方式公开的虚拟环境下的试衣装置,包括:
[0107]身材数据库建立单元:用于采集多个真实用户的身材的数据,建立身材数据库;
[0108]模特数据建立单元:从身材数据库抽取数据样本,建立模特数据库;所述模特数据库包括多个模特身材的第一数据;
[0109]款式采集单元:获取衣服款式数据;通过模特试穿确定衣服款式数据中每个尺寸对应的第一数据;所述模特根据模特数据库制作而成。
[0110]试穿数据库建立单元:将衣服款式数据及其每个尺寸对应的第一数据关联,建立试穿数据库;
[0111]身材采集单元:获取用户身材的第二数据,以及用户选择的衣服数据;
[0112]匹配单元:从试穿数据库获取与该衣服数据匹配度最高的第一数据;
[0113]判断单元:比较第一数据与第二数据,向用户反馈试穿结果。
[0114]具体的,所述身材采集单元还包括:
[0115]ID获取单元:用于获取用户ID;
[0116]记录查找单元:用于根据用户ID查找历史购物记录和评价记录;
[0117]数据生成单元:用于根据历史购物记录和评价记录活动生成所述第二数据。
[0118]进一步的,所述数据生成单元被配置为:
[0119]从历史购物记录中找出购买衣服的记录;
[0120]从评价记录中获得用户对每件衣服的尺寸评价;
[0121]将评价合格的每件已购买衣服的尺寸进行加权平均,得到的尺寸数据作为所述第二数据。
[0122]上述实施例的虚拟环境下的试衣方法可以依靠本实施方式的虚拟环境下的试衣装置来实现。
[0123]以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
【主权项】
1.一种虚拟环境下的试衣方法,其特征在于,包括步骤: 采集多个真实用户的身材的数据,建立身材数据库; 从身材数据库抽取数据样本,建立模特数据库;所述模特数据库包括多个模特身材的第一数据; 获取衣服款式数据;通过模特试穿确定衣服款式数据中每个尺寸对应的第一数据;所述模特根据模特数据库制作而成; 将衣服款式数据及其每个尺寸对应的第一数据关联,建立试穿数据库; 获取用户身材的第二数据,以及用户选择的衣服数据; 从试穿数据库获取与该衣服数据匹配度最高的第一数据; 比较第一数据与第二数据,向用户反馈试穿结果。2.根据权利要求1所述的虚拟环境下的试衣方法,其特征在于,所述获取用户身材的第二数据,以及用户选择的衣服数据的方法包括: 获取用户ID; 根据用户ID查找历史购物记录和评价记录; 根据历史购物记录和评价记录活动生成所述第二数据。3.根据权利要求2所述的虚拟环境下的试衣方法,其特征在于,所述根据历史购物记录和评价记录活动生成所述第二数据的方法包括: 从历史购物记录中找出购买衣服的记录; 从评价记录中获得用户对每件衣服的尺寸评价; 将评价合格的每件已购买衣服的尺寸进行加权平均,得到的尺寸数据作为所述第二数据。4.根据权利要求1所述的虚拟环境下的试衣方法,其特征在于,模特上设有与第一数据一一对应的二维码;所述建立试穿数据库的方法包括:通过扫描模特的二维码实现衣服款式数据及其每个尺寸对应的第一数据关联。5.根据权利要求1所述的虚拟环境下的试衣方法,其特征在于,所述第一数据包括基准腰围数据;所述第二数据包括用户腰围数据;所述比较第一数据与第二数据,向用户反馈试穿结果的方法包括: 将用户腰围数据跟基准腰围数据比较; 如果用户腰围数据减去基准腰围数据的差值在预设的区间内,所述试穿结果为合身;超出区间的上限值,所述试穿结果为腰围偏窄;低于区间的下限值,所述试穿结果为腰围偏长。6.根据权利要求1所述的虚拟环境下的试衣方法,其特征在于,所述第一数据包括基准肩宽数据;所述第二数据包括用户肩宽数据;所述将第一数据与第二数据进行比较,得到试穿结果的方法包括: 将用户肩宽数据跟基准肩宽数据比较; 如果用户肩宽数据减去基准肩宽数据的差值在预设的区间内,所述试穿结果为合身;超出区间的上限值,所述试穿结果为前后衣肩偏挤;低于区间的下限值,所述试穿结果为衣肩偏宽。7.根据权利要求1所述的虚拟环境下的试衣方法,其特征在于,所述第一数据包括基准胸围数据;所述第二数据包括用户胸围数据;所述将第一数据与第二数据进行比较,得到试穿结果的方法包括: 将用户胸围数据跟基准胸围数据比较; 如果用户胸围数据减去基准胸围数据的差值在预设的区间内,所述试穿结果为合身;超出区间的上限值,所述试穿结果为胸围过窄;低于区间的下限值,所述试穿结果为胸围过宽。8.一种虚拟环境下的试衣装置,其特征在于,包括: 身材数据库建立单元:用于采集多个真实用户的身材的数据,建立身材数据库; 模特数据建立单元:从身材数据库抽取数据样本,建立模特数据库;所述模特数据库包括多个模特身材的第一数据; 款式采集单元:获取衣服款式数据;通过模特试穿确定衣服款式数据中每个尺寸对应的第一数据;所述模特根据模特数据库制作而成。 试穿数据库建立单元:将衣服款式数据及其每个尺寸对应的第一数据关联,建立试穿数据库; 身材采集单元:获取用户身材的第二数据,以及用户选择的衣服数据; 匹配单元:从试穿数据库获取与该衣服数据匹配度最高的第一数据; 判断单元:比较第一数据与第二数据,向用户反馈试穿结果。9.根据权利要求8所述的虚拟环境下的试衣装置,其特征在于,所述身材采集单元还包括: ID获取单元:用于获取用户ID; 记录查找单元:用于根据用户ID查找历史购物记录和评价记录; 数据生成单元:用于根据历史购物记录和评价记录活动生成所述第二数据。10.根据权利要求9所述的虚拟环境下的试衣装置,其特征在于,所述数据生成单元被配置为: 从历史购物记录中找出购买衣服的记录; 从评价记录中获得用户对每件衣服的尺寸评价; 将评价合格的每件已购买衣服的尺寸进行加权平均,得到的尺寸数据作为所述第二数据。
【文档编号】G06Q30/06GK105825412SQ201610141604
【公开日】2016年8月3日
【申请日】2016年3月11日
【发明人】曾秋燕, 雷塘生
【申请人】深圳市十方联智科技有限公司