WO2024089868A1 - 入力支援システム、入力支援方法及び非一時的なコンピュータ可読媒体 - Google Patents

入力支援システム、入力支援方法及び非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
WO2024089868A1
WO2024089868A1 PCT/JP2022/040318 JP2022040318W WO2024089868A1 WO 2024089868 A1 WO2024089868 A1 WO 2024089868A1 JP 2022040318 W JP2022040318 W JP 2022040318W WO 2024089868 A1 WO2024089868 A1 WO 2024089868A1
Authority
WO
WIPO (PCT)
Prior art keywords
input
feature point
pointer
user
support system
Prior art date
Application number
PCT/JP2022/040318
Other languages
English (en)
French (fr)
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 日本電気株式会社
Priority to PCT/JP2022/040318 priority Critical patent/WO2024089868A1/ja
Publication of WO2024089868A1 publication Critical patent/WO2024089868A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects

Definitions

  • the present disclosure relates to an input support system, an input support method, and a program, and in particular to an input support system, an input support method, and a program that reduce the burden of input work on the user.
  • a commonly known method is to detect feature points from an image of the detection target by image processing, and then the user can check the detection results and make corrections if necessary (Patent Document 1, etc.).
  • one of the objectives that the embodiments disclosed in this specification aim to achieve is to provide an input support system, an input support method, and a program that can reduce the burden of pointer movement operations.
  • An input support system includes: A calculation means for calculating a position related to a feature point from an input image; a display control means for displaying the input image and a pointer operated by a user on a screen; A receiving means for receiving a first input from the user; a determination means for determining a first position based on a position related to the feature point calculated by the calculation means; having When the display control means receives the first input, the display control means moves the pointer to the first position.
  • the computer Calculate the positions of feature points from the input image; Displaying the input image and a pointer operated by a user on a screen; Accepting a first input from the user; determining a first position based on the calculated position of the feature point; When the first input is accepted, the pointer is moved to the first position.
  • a program includes: On the computer, A calculation step of calculating a position of a feature point from an input image; a display control step of displaying the input image and a pointer operated by a user on a screen; a receiving step of receiving a first input from the user; a specifying step of specifying a first position based on the position related to the feature point calculated in the calculating step; Run the command, In the display control step, when the first input is accepted, the pointer is moved to the first position.
  • FIG. 1 is a block diagram showing a configuration example of an input support system according to a first embodiment
  • 4 is a flowchart illustrating an operation example of the input support system according to the first embodiment.
  • FIG. 11 is a block diagram showing a configuration example of an input support system according to a second embodiment.
  • FIG. 13 is a diagram showing an example of a screen display by the input support system of the second embodiment, and in particular, a diagram showing an example of an input image and calculated feature points.
  • 13 is a flowchart illustrating an example of the operation of the input support system according to the second embodiment.
  • FIG. 13 is a diagram illustrating a hardware configuration of an input support system according to a second embodiment.
  • FIG. 13 is a block diagram showing a configuration example of an input support system according to a third embodiment.
  • FIGS. 13A and 13B are diagrams showing an example of a screen display by the input support system of the third embodiment, and in particular, diagrams showing an example of pointer movement.
  • 13 is a flowchart illustrating an operation example of the input support system according to the third embodiment.
  • FIG. 13 is a block diagram showing a configuration example of an input support system according to a fourth embodiment.
  • FIG. 13 is a diagram showing an example of a screen display by the input support system of the fourth embodiment, in particular, a diagram showing an example of an input image and a calculated bounding box.
  • 13A and 13B are diagrams showing an example of a screen display by the input support system of the fourth embodiment, and in particular, diagrams showing an example of pointer movement.
  • FIG. 13 is a flowchart illustrating an operation example of the input support system according to the fourth embodiment.
  • FIG. 13 is a diagram showing an example of a screen display by the input support system of the fourth embodiment, in particular a diagram showing an example of a bounding box display.
  • FIG. 13 is a block diagram showing a configuration example of an input support system according to a fifth embodiment.
  • 13 is a flowchart illustrating an example of the operation of the input support system according to the fifth embodiment.
  • FIG. 23 is a block diagram showing a configuration example of an input support system according to a sixth embodiment. 23 is a flowchart illustrating an example of the operation of the input support system according to the sixth embodiment.
  • FIG. 23 is a block diagram showing a configuration example of an input support system according to a seventh embodiment.
  • FIG. 13 is a diagram showing an example of a screen display by the input support system of the fourth embodiment, in particular a diagram showing an example of a bounding box display.
  • FIG. 13 is a block diagram
  • 23 is a diagram showing an example of a screen display by the input support system of the seventh embodiment, and in particular, a diagram showing an example of a visual area. 23 is a flowchart illustrating an example of the operation of the input support system according to the seventh embodiment.
  • the input support system is a system that supports a user (human) in viewing an input image and determining the positions of feature points and bounding boxes in the input image. Therefore, the positions calculated by the calculation unit of the input support system are used to assist the user's input, and the positions calculated by the calculation unit are not immediately adopted as the positions of feature points and bounding boxes in the input image.
  • FIG. 1 is a block diagram showing an example of the configuration of an input support system according to the first embodiment.
  • the input support system 100 includes a calculation unit 110, a reception unit 120, an identification unit 130, and a display control unit 140.
  • the calculation unit 110 calculates the position of the feature point from the input image.
  • the position of the feature point specifically refers to the position of the feature point or the position of the bounding box surrounding the feature point constituting the target object.
  • the reception unit 120 receives a first input from the user.
  • the first input is a predetermined input that signals the start of a user operation for a new designation of a feature point. This first input may be called a designation start input. Note that, in other embodiments described later, the first input refers to the input described here. Specifically, the first input is, for example, an operation of designating the position of the (previous) feature point, or an operation of moving a pointer to the feature point to be designated.
  • the pointer is a mark displayed on the screen for the user to designate a feature point.
  • the identification unit 130 identifies the first position based on the position of the feature point calculated by the calculation unit 110.
  • the first position is the calculated position of the feature point, or a position in the vicinity of the calculated position of the feature point (in other words, a position a predetermined distance away from the calculated position of the feature point).
  • the first position refers to the position described here. Specifically, the first position is, for example, the position of a feature point or a vertex of a bounding box or a position in the vicinity thereof.
  • the display control unit 140 displays the pointer operated by the user and the input image on the screen. Then, when the receiving unit 120 receives a first input, the display control unit 140 moves the pointer to the first position identified by the identifying unit 130.
  • [Operation Description] 2 is a flowchart showing the operation of the input support system 100 in the first embodiment. A series of processes of the input support system 100 will be described with reference to FIG.
  • the calculation unit 110 acquires an input image (step S110).
  • the calculation unit 110 calculates the position of the feature point from the acquired input image (step S120).
  • the reception unit 120 determines whether or not a first input has been received from the user (step S130). If the first input has been received, the process proceeds to step S140; otherwise, the process of step S130 is repeated. If the reception unit 120 has received the first input, the identification unit 130 identifies the first position based on the position of the feature point calculated in step S120 (step S140). Then, the display control unit 140 controls the display so that the position of the pointer is the first position identified by the identification unit 130 (step S150).
  • step S140 is performed is not limited to this, and may be any time from after the position of the feature point is calculated in step S120 until the process of moving the pointer to the first position in step S150 is performed.
  • step S150 is performed following step S130, allowing the pointer to be moved more intuitively.
  • the calculation unit 110 calculates the position of the feature point of the input image, and when the user provides a first input, the display control unit 140 moves the pointer to the first position specified by the specification unit 130.
  • the user of the input support system 100 can move the pointer to the first position, such as the vicinity of the feature point to be specified, simply by providing a predetermined first input.
  • the input support system 100 can move the pointer to the first position, such as the vicinity of the feature point, without the user having to perform a pointer movement operation.
  • the input support system 100 can reduce the burden of the user's input of feature points, particularly the burden of the movement operation during the input operation.
  • [Configuration Description] 3 is a block diagram showing an example of the configuration of an input support system according to the second embodiment.
  • the input support system 200 includes a calculation unit 210, a reception unit 220, an identification unit 230, a display control unit 240, and a database 250.
  • the calculation unit 210 calculates feature points from the input image. For example, when a face image is input to the input support system 200 as an input image in order for a user to specify the position of the facial feature points in the image, the calculation unit 210 calculates the features present on the surface of the person's face as feature points.
  • the features present on the surface of the person's face are, for example, features that are visible on the surface of the skin, such as the eyes, nose, mouth, ears, eyebrows, contours, moles, freckles, tattoos, birthmarks, wrinkles, dimples, scars, warts, bumps, unevenness of the skin, and discolored areas of the skin.
  • the method of calculating the feature points is not particularly limited.
  • feature extraction techniques such as SIFT (Scale Invariant Feature Transform) and KAZE may be used, or feature points may be extracted using a machine learning model that has been trained in advance.
  • a face image has been described as an example of an input image, but other images may also be used.
  • feature points of a car appearing in the image may be calculated, or cracks in the road surface conditions, manholes, etc. may be calculated as feature points.
  • the feature points and input image that the user wants to specify can be changed as appropriate.
  • an embodiment using a face image as the input image will be described.
  • the reception unit 220 receives a first input (designation start input) from the user.
  • the reception unit 220 receives the first input from the user, for example, via an input interface such as the input device 202 described below.
  • the identification unit 230 identifies the first position based on the feature point calculated by the calculation unit 210.
  • the identification unit 230 identifies the position of the feature point or a position in the vicinity thereof as the first position. For example, as shown in FIG. 4, when a feature point 21 calculated by the calculation unit 210 exists from the input image 20, the first position is the position of the feature point 21.
  • the first position may also be a position that is a predetermined distance away from the position of the feature point. This makes it possible to prevent the moved pointer 22 from being displayed overlapping the feature point when the pointer 22 is moved to the first position under the control of the display control unit 240 described later.
  • the above-mentioned predetermined distance between the first position related to a certain feature point a and the position of the feature point a may be set to be shorter than the distance between the first position related to the feature point a and the position of another feature point other than the feature point a.
  • the above-mentioned predetermined distance i.e., the distance between the first position and the feature point, is set to several pixels. This prevents the pointer 22 that has moved to the first position from overlapping with the feature point, allowing for operation with higher visibility.
  • the identification unit 230 may determine the feature point for which the user is about to specify a position from among the plurality of feature points 21 calculated by the calculation unit 210, and may determine the first position of the determined feature point. This allows the pointer to be automatically moved to a position preferred by the user, further improving user convenience. For example, the identification unit 230 may determine the feature point closest to the position of the pointer at the time of receiving the first input as the feature point for which the user is about to specify a position. In other words, the identification unit 230 may determine the first position based on the position of the pointer and the position of the feature point.
  • the identification unit 230 may also compare data recording the positions of feature points already input by the user with the positions of the feature points calculated by the calculation unit 210, and determine, among the plurality of calculated feature points 21, the feature point at a position where the difference from the position of the feature point already input by the user is equal to or greater than a predetermined value as the feature point for which the user is about to specify a position. That is, the identification unit 230 may determine, among the feature points whose positions are calculated by the calculation unit 210, a feature point whose position has not yet been specified by the user within a predetermined distance from the feature point as a feature point whose position is about to be specified by the user.
  • the identification unit 230 may search for a point specified by the user that is closest to the feature point, and if the distance between the two points is within a predetermined distance, determine that the user has specified the feature point. By the above-mentioned process, it is possible to identify a feature point whose specification by the user has not yet been completed, and to identify a first position for such a feature point. As another example, the identification unit 230 may calculate an estimated value (to be described later) for each feature point calculated for the input image that is the current processing target, based on history data of processing for input images input in the past, and determine only feature points whose estimated value is equal to or greater than a predetermined value as feature points whose positions are about to be specified by the user.
  • the position of the feature point calculated by the calculation unit 210 may be directly adopted as the position of the feature point in the input image without the user specifying the position.
  • the above-mentioned history data is data that records, for each feature point in an input image that was previously input, the distance between the calculated feature point position and the position specified by the user for this feature point (i.e., the difference between the two positions).
  • the history data is data that records, for each feature point, the magnitude of deviation between the feature point position calculated by the calculation unit 210 and the feature point position specified by the user.
  • the estimated value is an estimated value of the distance between the feature point position calculated for the input image that is the current processing target and the position specified by the user for this feature point (i.e., the difference between the two positions).
  • the estimated value is an estimated value of the magnitude of deviation between the feature point position calculated by the calculation unit 210 and the feature point position specified by the user.
  • the calculation of the estimated value may be performed, for example, as follows. Using history data for a plurality of input images that were previously input, the average value of the distance between the calculated feature point position and the feature point position specified by the user may be calculated for each feature point, and this average value may be used as the estimated value.
  • the estimated value may also be obtained by performing machine learning using the history data as teacher data.
  • the above-mentioned estimated value for the feature point of the outer corner of the eye will exceed the above-mentioned predetermined value (i.e., threshold value).
  • identification unit 230 may calculate an estimated value of the difference between the position calculated by calculation unit 210 and the position specified by the user, and determine, among the feature points whose positions have been calculated by calculation unit 210, the feature point whose estimated value is equal to or greater than the predetermined value as the feature point whose position is about to be specified by the user.
  • the display control unit 240 displays the pointer operated by the user and the input image on the screen.
  • the display control unit 240 may display feature points (the positions of feature points). All detected feature points may be displayed, or only a certain portion of feature points may be displayed. Displaying all detected feature points makes it easier for the user to confirm where the feature points should be specified. Also, by setting feature points to be displayed and feature points not to be displayed, such as by displaying only a certain portion of feature points, visibility for the user is improved.
  • the display control unit 240 can inform the user of the feature points to be focused on by displaying only the feature points that the user is desired to specify, or by repeatedly flashing the display and non-display of only the feature points that the user is desired to specify while not displaying the other feature points. Furthermore, the display control unit 240 moves the pointer to the first position when the reception unit 220 receives the first input as a trigger.
  • the database 250 stores input images for the calculation unit 210 to calculate feature points.
  • the stored input images are images including faces, but are not limited to this, and may be images from which certain feature points can be extracted, such as images including automobiles, road conditions, or people.
  • the following input support may be performed using the input support system 200. That is, after the calculation unit 210 calculates the lesions as feature points, the display control unit 240 may support input in which a specialist specifies the correct position of the feature points by moving a pointer. This makes it possible to create learning data in line with expert knowledge and improve detection accuracy.
  • This embodiment can be used for input support when manually assigning meaning to feature points or improving the accuracy of feature points after feature point detection by image processing, and can also be used for input support in situations where expert confirmation is required to specify feature points.
  • [Operation Description] 5 is a flowchart showing the operation of the input support system 200 in the second embodiment. A series of processes of the input support system 200 will be described with reference to FIG.
  • the calculation unit 210 acquires a face image as an input image from the database 250 (step S210). Note that the calculation unit 210 may acquire an image from an external device such as a camera.
  • the display control unit 240 displays on the screen the input image 20 acquired by the calculation unit 210 and the pointer 22 operated by the user (step S220).
  • the timing for executing step S220 is not limited to this, and it may be executed between the time when the calculation unit 210 acquires the image in step S210 and the time when the pointer is moved to the first position in step S270, which will be described later.
  • the calculation unit 210 calculates facial feature points from the acquired face image (step S230).
  • the display control unit 240 displays the facial feature points calculated by the calculation unit 210 on the screen (step S240).
  • the timing at which the display control unit 240 executes step S240 is not limited to this, and it may be executed between step S230 and the end of the flow. Also, step S240 may not be executed and the calculated feature points may not be displayed on the screen.
  • step S240 may not be executed and the calculated feature points may not be displayed on the screen.
  • the reception unit 220 determines whether or not a first input has been received from the user (step S250). If there is no first input, the reception unit 220 waits until there is a first input from the user. If the reception unit 220 receives the first input, the process proceeds to the next step S260.
  • the identifying unit 230 identifies the first position based on the feature point calculated in step S230 (step S260). There may be cases where multiple feature points are calculated. For this reason, it may be predetermined which feature point is to be used to identify the first position in such cases. For example, when the input image is a face image and it is predetermined that the feature point of the outer corner of the left eye is to be used to identify the first position, the identifying unit 230 identifies the position of the feature point of the outer corner of the left eye as the first position from among the feature points calculated in step S230. Step S260 may also be executed before step S250, which is before the first input is received.
  • FIG. 6 is a block diagram showing an example of a hardware configuration of the input support system 200.
  • the input support system 200 includes an output device 201, an input device 202, a storage device 203, a memory 204, and a processor 205.
  • the output device 201 is an output device such as a display that outputs information to the outside.
  • the display may be, for example, a flat panel display such as a liquid crystal display, a plasma display, or an organic EL (Electro-Luminescence) display.
  • the output device 201 displays the input image, feature points, and pointer output by the display control unit 240.
  • the output device 201 receives an instruction from the display control unit 240, which has acquired the first position from the identification unit 230, to move the pointer from the currently displayed position to the first position and output it, and displays the pointer at the first position.
  • the input device 202 is a device for a user to input, and is, for example, an input device such as a pointing device or a keyboard. Examples of pointing devices include a mouse and a trackball.
  • An operation input by the input device 202 is, for example, an operation of clicking a mouse button or an operation of moving the mouse, but is not limited to this. For example, this operation may be input of a specific key on a keyboard, or may be an operation that is predetermined as an operation of specifying the position of a feature point or an operation of moving a pointer to a feature point to be specified.
  • the receiving unit 220 determines that a first input has been received.
  • the storage device 203 is a non-volatile storage device such as a hard disk or flash memory.
  • the database 250 described above and the databases of the embodiments described below are realized by the storage device 203, but these may also be realized by other storage devices such as a server or cloud.
  • the storage device may not only be connected to other hardware by an electric circuit, but may also be capable of communicating information via wireless signals or the Internet, and may be made up of a single device or multiple devices.
  • the memory 204 is configured, for example, by a combination of volatile memory and non-volatile memory.
  • the memory 204 is used to store software (computer programs) including one or more instructions executed by the processor 205, and data used for various processes of the input support system 200.
  • the memory 204 may include multiple memories.
  • the processor 205 reads out software (computer programs) from the memory 204 and executes them to perform the processes of the calculation unit 210, the reception unit 220, the identification unit 230, and the display control unit 240 described above. Note that in the other embodiments, the processor 205 similarly reads out software (computer programs) from the memory 204 and executes them to perform the processes of the input support system of each embodiment.
  • the processor 205 may be, for example, a microprocessor, an MPU (Micro Processor Unit), or a CPU (Central Processing Unit).
  • the processor 205 may include multiple processors. In this manner, the input support system 200 has a function as a computer.
  • the program includes instructions (or software code) that, when loaded into a computer, cause the computer to perform one or more functions described in the embodiments.
  • the program may be stored on a non-transitory computer-readable medium or a tangible storage medium.
  • computer-readable media or tangible storage media include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technology, CD-ROM, digital versatile disc (DVD), Blu-ray (registered trademark) disk or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device.
  • the program may be transmitted on a temporary computer-readable medium or communication medium.
  • temporary computer-readable media or communication media include electrical, optical, acoustic, or other forms of propagated signals.
  • the third embodiment differs from the second embodiment in that the order of feature points designated by the user is obtained and a second input is accepted.
  • the second input is a predetermined input that instructs returning the position of the moved pointer to a previous position. This second input may be called a return input. Note that in other embodiments described later, the second input refers to the input described here.
  • [Configuration Description] 7 is a block diagram showing an example of the configuration of an input support system according to the third embodiment.
  • the input support system 300 includes a calculation unit 310, a reception unit 320, an identification unit 330, a display control unit 340, and a database 350.
  • the database 350 stores input images for the calculation unit 310 to calculate feature points. It may also store a machine learning model for the calculation unit 310 to calculate feature points corresponding to the input image by machine learning. It may also store information on feature points corresponding to the input image in addition to the input image. The information on feature points may include the positions of the feature points, the labels of the feature points, the order of the feature points, etc.
  • the machine learning model is trained in advance by machine learning such as deep learning, using pairs of images and the positions of feature points of objects captured in the images as training data.
  • the positions of the feature points have been specified in advance, for example, by an expert in the task of specifying the positions of feature points.
  • This machine learning model can therefore calculate the positions of the feature points from the input image.
  • the machine learning model may also be trained by associating the order of the feature points with the training data. In this case, by inputting an input image into the machine learning model, it is possible to calculate the order of the feature points as well as their positions.
  • the positions of the feature points included in the feature point information are the positions of the feature points in the input image.
  • the database 350 stores the positions on a two-dimensional plane of the feature points corresponding to the input image as the feature point information.
  • a feature point label indicates what the feature point in an image refers to.
  • a label attached to a feature point in a face image indicates facial features such as the nose, mouth, and eyes. If the label is further subdivided, the label may indicate smaller facial features such as the left corner of the eye, the right corner of the eye, the left nostril, and the right nostril.
  • the order of feature points refers to the order in which the user specifies the positions of multiple feature points.
  • the user needs to specify the positions of the feature points in a specific order.
  • a specific order of features for example, the outer corner of the left eye, the left pupil, the inner corner of the left eye, and the outer corner of the right eye.
  • the feature point corresponding to the outer corner of the left eye is the first feature point
  • the feature point corresponding to the left pupil is the second feature point
  • the feature point corresponding to the inner corner of the left eye is the third feature point
  • the feature point corresponding to the outer corner of the right eye is the fourth feature point, and so on.
  • the calculation unit 310 may calculate feature points and the above-mentioned order of feature points, which is the order in which the user inputs the feature points, from the input image. For example, when a face image is input as the input image, the calculation unit 310 calculates features present on the surface of the person's face as feature points, detects which part of the face the feature point corresponds to, and assigns an order to the detected feature points based on a predetermined order of the parts. In this way, the order of the feature points is calculated.
  • a face image has been described as an example of an input image, but as described in the second embodiment, the invention can also be applied to other images.
  • the calculation unit 310 may also calculate the feature points and the order of the feature points as follows.
  • the calculation unit 310 reads out a machine learning model that outputs the feature points and the order of the feature points from the database 350, and inputs the input image to the machine learning model, thereby calculating the feature points as well as the order in which the user should input the feature points.
  • the calculation unit 310 may also calculate the feature points and the order of the feature points as follows.
  • the calculation unit 310 reads out feature point information from the database 350, it can calculate the feature points and the order of the feature points by referring to the feature point information.
  • the calculation unit 310 can calculate the order in which the user should input the feature points by comparing the parts indicated by the feature point labels at each position with a predetermined order of parts.
  • the identification unit 330 identifies the first position of the feature point.
  • the first position of the feature point is identified based on the position of the feature point and the order of the feature points.
  • the identification unit 330 acquires the position of the feature point and the order of the feature points from the calculation unit 310 or the database 350. For example, if the order of the feature points calculated by the calculation unit 310 from the input image 30 as shown in FIG. 8 is from the feature point 31a of the right outer corner of the eye to the feature point 31b of the right inner corner of the eye, the first first position is the position of the feature point 31a of the right outer corner of the eye.
  • the next first position is the position of the feature point 31b of the right inner corner of the eye.
  • the identification unit 330 may identify one first position each time the reception unit 320 receives a first input, or may identify multiple first positions when one first input is received.
  • the timing for the identification unit 330 to identify the first position is not limited to this, and may be any time after the calculation unit 310 has calculated the feature points and the order of the feature points.
  • the identification unit 330 may obtain the positions of the feature points and the order of the feature points from the database 350 and identify the first position related to the feature points.
  • the display control unit 340 moves the pointer to the first position. Therefore, when the first input is received, the pointer 32 is moved to the position of the feature point 31a, which is the first position, as shown in FIG. 8.
  • the identification unit 330 updates the first position to the position of the feature point 31b so that the user can specify the next feature point, which is the feature point at the corner of the right eye. Then, the display control unit 340 moves the pointer to the position of the feature point 31b so that the pointer moves to the updated first position. Note that the first input does not have to be a unified operation.
  • an operation to move the pointer is received as the first input, and the pointer is moved to the position of the first feature point.
  • an operation to specify the feature point may be received as the first input, and the pointer is moved to the second feature point.
  • the pointer 32 moves to the position of the feature point 31a by receiving an operation to move the pointer as the first input.
  • an operation to specify the position of feature point 31a is received as the first input, and pointer 32 moves to the position of feature point 31b.
  • the identification unit 330 may identify a second position related to the feature point.
  • the first position is identified so as to transition in the order in which the user inputs the feature points
  • the second position is identified so as to transition in the reverse order to the order in which the user inputs the feature points. Note that in other embodiments described below, the second position refers to the position described here.
  • the reception unit 320 may receive a second input in addition to the functions of the reception unit 220 of the second embodiment.
  • the first input (designation start input) is an operation for moving the pointer in the order in which the feature points are input
  • the second input return input is an operation for moving the pointer in the opposite order to the order in which the feature points are input.
  • the second input is an input different from the operation set as the first input.
  • the second input is, for example, an operation of clicking a mouse button or an operation of moving the mouse, but is not limited to this.
  • this operation may be the input of a specified key on the keyboard, or any other operation that is predetermined as an operation for moving to the position of the feature point.
  • the first input is a left click
  • the position of the pointer can be reversed to the position of the specified feature point by inputting a right click as the second input.
  • the display control unit 340 moves the pointer to the second position when the receiving unit 320 receives the second input as a trigger. Therefore, when the first input is received and the pointer 32 is moved from the feature point 31a to the feature point 31b as shown in FIG. 8, the identification unit 330 identifies the second position as follows. That is, the identification unit 330 identifies the feature point 31a as the second position so that the pointer returns to the feature point 31a at the corner of the right eye, which is in the opposite direction to the order of the parts. In this way, the identification unit 330 identifies the second position by tracing back the transition of the identified first position.
  • the identification unit 330 identifies the second position by tracing back the transition of the identified first position one by one each time the receiving unit 320 receives the second input.
  • the display control unit 340 moves the pointer from the feature point 31b to the feature point 31a so that the pointer moves to the second position. That is, the display control unit 340 returns the position of the pointer.
  • the identification unit 330 and the display control unit 340 can also be described as follows.
  • the identification unit 330 identifies a new first position and further identifies a second position.
  • the second position can also be described as a first position identified before the new first position.
  • the display control unit 340 receives a second input from the user, it moves the pointer to the second position. More specifically, the identification unit 330 identifies the first position according to the order in which the user inputs the positions related to the feature points, and identifies the first position immediately before the new first position as the second position in the reverse order to the order used to identify the first position.
  • FIG. 9 is a flowchart showing an example of the operation of the input support system 300 according to the third embodiment.
  • the flowchart shown here differs from the flowchart shown in FIG. 5 in that steps S310 to S370 are newly executed.
  • steps S210, S220, S240, and S270 in FIG. 9 differ only in that the operations of the calculation unit 210 and the display control unit 240 described in FIG. 5 are executed by the calculation unit 310 and the display control unit 340, and therefore description thereof will be omitted.
  • differences from the flowchart shown in FIG. 5 will be described.
  • step S210 the calculation unit 310 calculates the feature points and the order of the feature points specified by the user (steps S310 and S320).
  • step S310 the calculation unit 310 calculates the feature points using a machine learning model read from the database 350.
  • the feature points may not be calculated using a method that uses machine learning, but may be calculated from the input image, or may be calculated based on the information on the feature points as described above.
  • step S320 the calculation unit 310 calculates the order of the feature points using a machine learning model read from the database 350.
  • step S320 is executed after step S310, but they may be executed simultaneously.
  • the reception unit 320 determines whether or not a first input has been received from the user (step S330). If there is no first input or second input, the reception unit 320 waits until there is a first input or second input from the user. If the reception unit 320 receives the first input, the process proceeds to the next step S340.
  • the reception unit 320 determines whether or not a second input has been received from the user (step S350). If the reception unit 320 receives a second input, the process transitions to the next step S360. Therefore, when the reception unit 320 receives a first input or a second input, it performs an operation to transition the process to the corresponding process.
  • the identifying unit 330 identifies the position of the previous feature point as the second position based on the order of the feature points specified by the user (step S360).
  • the timing at which step S360 is performed is not limited to this, and it may be any time after the order of the feature points is calculated in step S320 and before the process of moving the pointer to the second position in S370 is performed.
  • the display control unit 340 displays the pointer at the second position identified by the identification unit 330 (step S370).
  • the input support system 300 in the third embodiment can use a first input as a trigger to move the pointer to the vicinity of the feature point to be specified by the user, and can use a predetermined second input as a trigger to trace the transition and return the pointer to the position of the previous feature point.
  • the input support system 300 can move the pointer to the vicinity of the feature point in sequence while reducing the amount of operation of the user moving the pointer to the position of the feature point.
  • the user can redo the designation of the feature point.
  • the input support system 300 can reduce the burden of the user's work of inputting feature points.
  • the calculation unit 310 calculates the order in which the user inputs positions related to the feature points from the input image. Therefore, the order is automatically calculated, and a system with high convenience is provided.
  • the fourth embodiment differs from the third embodiment in that the calculation unit calculates a bounding box instead of calculating feature points.
  • the input support system 400 includes a calculation unit 410, a reception unit 320, an identification unit 430, a display control unit 440, and a database 350.
  • the calculation unit 410 calculates a bounding box from the input image.
  • a bounding box is a polygonal boundary line that surrounds an object such as a person, face, facial parts (eyebrows, eyes, nose, mouth, ears, etc.), or a car that appears in an image.
  • a bounding box can also be said to be a boundary line that surrounds the feature points that make up an object. For example, if a face image is input as an input image to specify a bounding box for the eyes, etc., the calculation unit 410 calculates a bounding box 41 that surrounds the features present on the surface of the person's face from the input image 40, as shown in FIG. 11. More specifically, the calculation unit 410 calculates the vertices of the bounding box.
  • a face image has been described as an example of an input image, but other images can also be applied.
  • this embodiment may be implemented in an operation in which an image acquired from an on-board camera mounted on a car is sent to a server or a device connected to the on-board camera, and then the user specifies road surface scratches, cars, people, etc. using bounding boxes. This can assist the user in inputting the bounding box. It is then possible to assist in the creation of learning data for machine learning. By using a machine learning model trained using this learning data, it is possible to accurately identify objects such as people and cars from videos taken during driving or videos taken during accidents using bounding boxes. The results of this identification can also be used to determine driving skills and calculate the fault ratio of traffic accidents.
  • images acquired from cameras installed in various environments may be input into the input support system 400 to assist the user in creating learning data used to learn the facial and bodily movements of cars and passersby that appear in the images.
  • This embodiment supports the operation of specifying the whole person or parts such as the face and body using a bounding box from an image acquired from a camera, making it easier to create learning data for machine learning.
  • people appearing in images captured by a camera may be tracked using a bounding box. Then, based on the feature points within the bounding box, it becomes possible to identify people and detect suspicious behavior.
  • the bounding box and input image that the user wishes to specify can be changed as appropriate.
  • the calculation unit 410 may calculate the order of the bounding boxes specified by the user in the same way as the calculation of the order of feature points in the third embodiment.
  • a face image is used as the input image, and an embodiment that supports the specification of rectangular bounding boxes for each part of the face will be described.
  • the bounding box can be calculated using the same calculation method as that used for calculating feature points using the machine learning model described in the third embodiment. However, while a pair of an image and the positions of feature points related to an object is used as training data for the machine learning model described in the third embodiment, in calculating the bounding box, for example, a pair of an image and a bounding box related to an object is used as training data. In addition, the bounding box may be calculated based on the positional relationship between feature points identified from the feature points calculated using the method described in the third embodiment.
  • the identification unit 430 identifies a vertex of the bounding box calculated by the calculation unit 410 as the first position.
  • a rectangular bounding box is specified, so at least two vertices are required to specify one bounding box. Therefore, for example, to specify a bounding box for the left eye, the user is prompted to specify the upper left vertex of the bounding box, and then the lower right vertex, thereby allowing the bounding box for the left eye to be specified. That is, in this case, the identification unit 430 identifies the upper left vertex of the bounding box calculated by the calculation unit 410 as the first position, and then identifies the lower right vertex of this bounding box as the next first position.
  • the identification unit 430 may identify the first position and the second position so that the user is prompted to specify each vertex according to the shape of the bounding box to be specified. Furthermore, if the order of the bounding boxes is calculated by the calculation unit 410, the first position and the second position can be identified based on the vertices and order of the bounding boxes. In this way, the identification unit 430 may identify the first position or the second position based on the order in which the user inputs the positions related to the feature points.
  • the display control unit 440 moves the pointer to the first position when the reception unit 320 receives the first input (input to start designation). Therefore, each time the display control unit 440 receives the first input, it moves the pointer 42 to the vertices 41a, 41b, 41c, and 41d of the bounding boxes calculated by the calculation unit 410 in order, as shown in FIG. 12. This allows the bounding boxes of each face part to be designated in order, such as the bounding box of the right eye, the bounding box of the left eye, and so on. Specifically, when the first input is first received, the pointer 42 is moved to the position of the upper left vertex 41a of the bounding box, which is the first position.
  • the identification unit 430 updates the first position to the lower right vertex 41b of the bounding box in order to allow the user to designate the position of the vertex of the bounding box to be designated next. Accordingly, the display control unit 440 moves the pointer to the position of vertex 41b so that the pointer moves to the updated first position.
  • the identification unit 430 identifies vertex 41a of the bounding box as the second position, and the display control unit 440 can move the pointer back to the second position.
  • FIG. 13 is a flowchart showing an example of the operation of the input support system 400 according to the fourth embodiment.
  • the flowchart shown here differs from the flowchart shown in FIG. 9 in that steps S410 to S470 are newly executed.
  • steps S210 and S220 in FIG. 13 are different only in that the calculation unit 410 and the display control unit 440 execute the operations of the calculation unit 310 and the display control unit 340 described in FIG. 9, and therefore their explanations are omitted.
  • steps S330 and S350 are the same as the operations described above, and therefore their explanations are omitted. Below, the differences from the flowchart shown in FIG. 9 will be described.
  • the calculation unit 410 calculates the order of the bounding boxes and the bounding boxes specified by the user (steps S410 and S420).
  • the order of the bounding boxes is determined based on the predetermined order of each object for which a bounding box is specified and the predetermined order for specifying the vertices of the bounding box for each object.
  • the order of the bounding boxes for specifying rectangular bounding boxes for each part of the face is calculated as follows: first the upper left vertex of the bounding box for the right eye, then the lower right vertex of the bounding box for the right eye, then the upper left vertex of the bounding box for the left eye, then the lower right vertex of the bounding box for the left eye. In this way, the order may be calculated so that the vertices of the upper left and lower right bounding boxes corresponding to each part can be selected in order.
  • the display control unit 440 displays the bounding box calculated by the calculation unit 410 on the screen (step S430).
  • the timing when the display control unit 440 executes step S430 is not limited to this, and may be executed between step S410 and the end of the flow. Displaying the bounding box supports the user's operation.
  • the bounding box may be displayed with a line of a predetermined density or less like the bounding box 43a in FIG. 14, or may be displayed with a dashed line like the bounding box 43b, so that it is clear that the bounding box is displayed for reference.
  • step S430 may not be executed, and the calculated bounding box may not be displayed on the screen.
  • step S440 identifies the first position based on the bounding boxes and the order of the bounding boxes calculated by the calculating unit 410 (step S440). Note that the timing for performing step S440 is not limited to this, and may be any time after the order of the bounding boxes is calculated in step S420 and before the process of moving the pointer to the first position in S450 is performed.
  • the display control unit 440 displays the pointer at the first position identified by the identification unit 430 (step S450).
  • the identification unit 430 identifies a second position based on the bounding boxes and the order of the bounding boxes calculated by the calculation unit 410 (step S460).
  • the identification unit 430 identifies the second position by tracing back the transition of the identified first position. In this way, the second position related to the bounding box is identified so as to transition in the reverse order to the order in which the user inputs the vertices of the bounding box.
  • the timing at which step S460 is performed is not limited to this, and may be any time after the order of the bounding boxes is calculated in step S420 and before the process of moving the pointer to the second position in S470 is performed.
  • the display control unit 440 displays the pointer at the second position identified by the identification unit 430 (step S470).
  • the calculation unit 410 calculates the bounding boxes and their order. Then, the display control unit 440 moves the pointer to an appropriate position when the first input or the second input from the user is used as a trigger. In this way, the input support system 400 allows the user to specify the bounding boxes in order while reducing the amount of operation required for moving the pointer in the user's task of specifying the area of the bounding box. As a result, the input support system 400 can reduce the burden of the user's input task.
  • the fifth embodiment differs from the other embodiments in that it newly includes a warning unit that issues a warning based on a comparison between calculated feature points and feature points specified by a user.
  • a warning unit that issues a warning based on a comparison between calculated feature points and feature points specified by a user.
  • Fig. 15 is a block diagram showing an example of the configuration of an input support system according to the fifth embodiment.
  • the input support system 500 includes a calculation unit 310, a reception unit 520, an identification unit 330, a display control unit 540, a database 350, and a warning unit 560.
  • the reception unit 520 receives an operation by the user to specify a feature point. This operation may be received as a first input (start specification input) as described in the above embodiment.
  • the reception unit 520 may also receive an operation to specify a bounding box instead of an operation to specify a feature point.
  • the reception unit 520 may also receive a first input separately from the operation by the user to specify a feature point.
  • the reception unit 520 may also receive a second input (return input).
  • the display control unit 540 performs the same processing as the display control unit of any of the above-mentioned embodiments, but in addition, when the reception unit 520 receives an operation from the user to specify a feature point, the specified feature point may be displayed superimposed on the image. This allows the user to confirm where the feature point has been specified.
  • the warning unit 560 outputs a warning based on the distance between the position of the feature point calculated by the calculation unit 310 and the position of the feature point specified by the user and accepted by the acceptance unit 520. Specifically, the warning unit 560 determines whether the distance between the position of the feature point calculated by the calculation unit 310 and the position of the feature point accepted by the acceptance unit 520 is greater than or equal to a predetermined distance, and displays a warning to the user on the output device 201 when it is determined that the distance is greater than or equal to the predetermined distance.
  • the warning unit 560 outputs a warning when the position of the feature point specified by the user after the pointer is moved to the first position is greater than or equal to a predetermined distance from the position calculated by the calculation unit 310 for the feature point corresponding to this first position.
  • a warning sound can also be output as a warning from a speaker built into or connected to the input support system. This allows the user to know that his/her input is different from the position of the feature point calculated by the calculation unit 310. It is possible to suggest the possibility of erroneous input or the possibility that the feature point is incorrectly specified based on the user's own knowledge.
  • a case where the distance between the two points is greater than or equal to a predetermined distance refers to a case where the distance between the two points is, for example, several tens of pixels. Therefore, the user can notice erroneous inputs and the like by the warning, and more accurate designation of feature points becomes possible.
  • the predetermined distance can be appropriately set by the user, and if the predetermined distance is shortened, stricter judgment is performed so as to follow the position of the feature point calculated by the calculation unit 310.
  • the warning unit 560 issues a warning when the position of the feature point calculated by the calculation unit 310 (the position of the feature point or the bounding box) and the position of the feature point input by the user (the position of the feature point or the bounding box) are apart by a predetermined distance or more.
  • an embodiment in which an operation of designating a feature point is performed will be described.
  • the input support system according to the embodiment is a system that supports a user (human) in viewing an input image and determining the position of a feature point or the position of a bounding box in the input image. Therefore, by using the input support system according to the embodiment, it is expected that the user will be able to specify the position of the feature point or the position of the bounding box more accurately than the position calculated by the calculation unit. For this reason, the position specified by the user is basically more appropriate than the position calculated by the calculation unit. Therefore, this warning does not necessarily indicate an error in the user's specification.
  • FIG. 16 is a flowchart showing an example of the operation of the input support system 500 according to the fifth embodiment.
  • the flowchart shown here differs from the flowchart shown in FIG. 9 in that steps S510 to S540 are newly executed.
  • the processes from steps S210 to S240 are omitted.
  • the processes of these steps are not illustrated or described because they are different only in that the processes performed by the reception unit 320 and the display control unit 340 are performed by the reception unit 520 and the display control unit 540.
  • the differences from the flowchart shown in FIG. 9 will be described below.
  • the reception unit 520 receives an operation from the user to specify a feature point (step S510). If an operation to specify a feature point is received from the user, the process proceeds to the next step S520. If an operation to specify a feature point is not received from the user, the process waits until an operation is received.
  • step S520 When the reception unit 520 receives an operation from the user to specify feature points, the display control unit 540 superimposes the feature points specified by the user on the image (step S520).
  • the timing for executing step S520 is not limited to this, and step S520 may be executed at any time after step S510.
  • the warning unit 560 compares the position of the feature point calculated by the calculation unit 310 with the position of the feature point specified by the user and accepted by the acceptance unit 520, and determines whether the distance between the two points is within a predetermined distance (step S530). If the distance is not within the predetermined distance, the process transitions to step S540. If the distance is within the predetermined distance, the process ends. If the distance is within the predetermined distance, a message indicating that the user's input is correct may be output, or the display control unit 540 may execute step S520 to display the feature point input by the user, thereby informing the user that the input is correct.
  • warning unit 560 determines that the distance between the two points is within the predetermined distance, a notification to the user is displayed on the output device. Also, a sound indicating that the input is correct may be output from a speaker built into or connected to the input support system to inform the user that the input is correct.
  • the warning unit 560 outputs a warning to the display control unit 540 that the feature points calculated by the calculation unit 310 do not match the feature points input by the user (step S540).
  • the display control unit 540 outputs a warning to the screen of the output device, so that the user can know that his or her input may be incorrect. Furthermore, by outputting a message prompting re-input together with the warning in step S540, the user can be prompted to re-input the feature points.
  • the process can transition to S510 and accept re-input. Note that the acceptance unit 520 may accept an input from the user to ignore the warning, and if such an input is accepted, the process may end without transitioning to step S510.
  • the hardware configuration of the fifth embodiment is the same as that of the input support system 200 described in the second embodiment, and only the differences in operation will be described below.
  • the processor 205 reads and executes software (computer programs) from the memory 204 to further perform the processing of the warning unit 560 described above.
  • the calculated feature points are compared with feature points input by the user. This makes it possible to determine erroneous inputs where there is a large difference between the two, or operations that are judged to be due to an error in the user's knowledge, and to output a warning. This allows the user to know whether their input may be incorrect, enabling more accurate specification of feature points and bounding boxes.
  • FIG. 17 is a block diagram showing an example of the configuration of an input support system according to the sixth embodiment.
  • the input support system 600 includes a calculation unit 310, a reception unit 620, an identification unit 630, a display control unit 340, and a database 350.
  • the receiving unit 620 detects an operation of the user operating the input device to move the pointer to the position of the feature point to be specified, and receives the moving direction of the pointer as a first input (designation start input).
  • the conditions for determining whether the user's pointer operation is the first input are as follows: The conditions can be set as one or a combination of two or more of the following: 1) the pointer is away from the calculated feature point by a predetermined distance or more; 2) another operation indicating that the input is the first input is performed simultaneously with the pointer movement operation; and 3) the acceleration of the pointer movement by the user's operation is equal to or greater than a threshold.
  • the receiving unit 620 may receive the moving direction of the pointer as a second input (return input) together with a predetermined input instructing to return the position of the moved pointer to a previous position.
  • the identification unit 630 identifies the first position based on the position of the pointer and the moving direction of the pointer when the first input is received by the receiving unit 620. Specifically, the identification unit 630 searches for a feature point along the moving direction of the pointer received as the first input, starting from the position of the pointer when the first input is received. The identification unit 630 then identifies the position of the searched feature point that is closest to the position of the pointer when the first input is received as the first position. In this way, the identification unit 630 identifies the first position based on the position of the pointer at the time of the first input, the moving direction of the pointer, and the position of the feature point. By using the first input to identify the first position, the first position can be identified from an intuitive operation by the user, and it is possible to support the user in specifying a feature point with a more intuitive operation.
  • FIG. 18 is a flowchart showing an example of the operation of the input support system 600 according to the sixth embodiment. As shown in FIG. 18, the flowchart shown here is different from the flowchart shown in FIG. 9 in that steps S610 to S630 are newly executed. In addition, the processing from steps S210 to S240 is different only in that the processing performed by the reception unit 320 is performed by the reception unit 620, and therefore the description is omitted.
  • steps S310 to S370 is different only in that the processing performed by the reception unit 320 and the identification unit 330 is performed by the reception unit 620 and the identification unit 630, and therefore the description is omitted. Below, the differences from the flowchart shown in FIG. 9 will be described.
  • the reception unit 620 determines whether the user has operated the pointer as the first input (step S610), and if it determines that the first input has been made, the process proceeds to the next step S620.
  • the identification unit 630 obtains the position of the pointer at the time when the reception unit 620 receives the first input (step S620).
  • the identification unit 630 identifies, from among the multiple feature points calculated by the calculation unit 310, the feature point that is on an extension of the movement direction and is closest to the current pointer position (the position acquired in step S620) as the first position (step S630). That is, the identification unit 630 searches for the feature points calculated by the calculation unit 310 along the movement direction of the pointer, using the current pointer position (the position acquired in step S620) as the starting point of the search. The identification unit 630 then identifies, as the first position, the feature point that is closest to the current pointer position among the searched feature points.
  • step S630 the display control unit 340 moves the pointer to the first position identified in step S630 (step S270), and the flow ends.
  • the movement direction of the pointer is accepted as a first input, and the first input is used to identify the first position, thereby enabling the user to identify the feature point that he or she wants to specify through a more intuitive operation, thereby improving operability.
  • the seventh embodiment differs from the above-described embodiments in that the display control unit further displays a visual area, which is a window in which the pointer and an image around the pointer are enlarged and displayed.
  • a visual area which is a window in which the pointer and an image around the pointer are enlarged and displayed.
  • FIG. 19 is a block diagram showing an example of the configuration of an input support system according to the seventh embodiment.
  • the input support system 700 includes a calculation unit 310, a reception unit 320, an identification unit 330, a display control unit 740, and a database 350.
  • the display control unit 740 performs display control similar to that of the display control unit of the other embodiments described above. However, the display control unit 740 differs from the display control unit of the other embodiments described above in that it displays a visual area in which the pointer and the image around the pointer are enlarged and displayed after the pointer is moved to the first position or the second position.
  • the visual area is, for example, a window displayed around the pointer, such as the upper right of the pointer 72, as shown in FIG. 20, and is a rectangular bordered area 73.
  • the area 73 is displayed superimposed on the input image 70. The user can specify the feature point more accurately by operating the pointer while looking at the enlarged image displayed in the area 73.
  • the display control unit 740 may also display the visual area when the position of the pointer is within a predetermined range from the position of the feature point calculated by the calculation unit 310. For example, it may be set to display the visual area when the pointer is within several pixels from the calculated position of the feature point. In this way, the visual area can be displayed even if the user moves the pointer to the feature point by himself without performing the first input or the second input.
  • the display control unit 740 may set the sensitivity of the pointer lower than the sensitivity when the pointer is outside the predetermined range from the feature point.
  • Pointer sensitivity refers to the ratio of the pointer movement amount to the amount of user operation. In other words, lowering the pointer sensitivity means reducing the ratio of the pointer movement amount to the amount of user operation. Lowering the pointer sensitivity improves the accuracy of the user's operation to move the pointer, making it possible to specify feature points more accurately.
  • Fig. 21 is a flowchart showing an example of the operation of the input support system 700 according to the seventh embodiment. As shown in Fig. 21, the difference is that the display control unit 740 processes step S710 for displaying the visual area and step S720 for changing the sensitivity of the pointer in addition to the operation of the display control unit 340, and the other processing is the same as that in Fig. 9. Below, the points different from the flowchart shown in Fig. 9 will be described.
  • the display control unit 740 After moving the pointer to the first position in step S270, the display control unit 740 displays a visual area that displays an enlarged image of the pointer and the area around the pointer to the upper right of the pointer (step S710).
  • the timing for the display control unit 740 to display the visual area may be any time when the pointer position and the feature point position calculated by the calculation unit 310 are within a predetermined distance. Therefore, for example, the display of the visual area may be executed after the pointer is displayed at the second position in step S370. In this way, when the pointer position and the position related to the calculated feature point are within a predetermined distance, the display control unit 740 displays an enlarged partial image of the area around the pointer, which is included in the input image, superimposed on the input image.
  • the display control unit 740 sets the sensitivity of the pointer to be lower than the sensitivity when the pointer is outside the predetermined range from the feature point (step S720).
  • the display control unit displays the visual area, which enables the user to specify the feature point more accurately while checking an enlarged image of the pointer and its surroundings.
  • a part or all of the above-described embodiments can be described as, but is not limited to, the following supplementary notes.
  • Appendix 1 A calculation means for calculating a position related to a feature point from an input image; a display control means for displaying the input image and a pointer operated by a user on a screen; A receiving means for receiving a first input from the user; a determination means for determining a first position based on a position related to the feature point calculated by the calculation means; having The input support system, wherein the display control means, when receiving the first input, moves the pointer to the first position.
  • the identifying means identifies a new first position and further identifies a second position; the second location is the first location identified prior to the new first location;
  • the input support system according to claim 1 wherein the display control means, upon receiving a second input from the user, moves the pointer to the second position.
  • the specifying means specifies the first position in an order in which a user inputs positions related to feature points, and specifies, as the second position, the first position immediately preceding the new first position in an order reverse to the order used to specify the first positions.
  • the specifying means specifies the first position based on a feature point whose position has been calculated by the calculating means and which is within a predetermined distance from the feature point and whose position has not yet been specified by the user.
  • the identification means calculates, for each of the feature points whose positions are calculated by the calculation means, an estimate of a difference between the position calculated by the calculation means and a position specified by the user, and identifies the first position based on a feature point, among the feature points whose positions are calculated by the calculation means, for which the estimate is equal to or greater than a predetermined value.
  • [Appendix 10] The input support system according to any one of appendix 1 to 9, further comprising a warning unit that issues a warning when a position related to the feature point calculated by the calculation unit and a position related to the feature point input by the user are apart from each other by a predetermined distance or more.
  • Appendix 11 The input support system according to any one of appendixes 1 to 10, wherein the position related to the feature point is a position of the feature point.
  • [Appendix 12] The input support system according to any one of appendices 1 to 10, wherein the positions related to the feature points are positions of a bounding box that surrounds the feature points constituting the object.
  • the computer Calculate the position of the feature point from the input image; Displaying the input image and a pointer operated by a user on a screen; Accepting a first input from the user; determining a first position based on the calculated position of the feature point;
  • the input assist method includes moving the pointer to the first position when the first input is received.
  • a calculation step of calculating a position of a feature point from an input image On the computer, A calculation step of calculating a position of a feature point from an input image; a display control step of displaying the input image and a pointer operated by a user on a screen; a receiving step of receiving a first input from the user; a specifying step of specifying a first position based on the position related to the feature point calculated in the calculating step; Run the command, A non-transitory computer-readable medium having a program stored therein, the display control step comprising: when the first input is accepted, moving the pointer to the first position.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

入力支援システム(100)は、入力画像から特徴点に関する位置を算出する算出手段(110)と、画面上に前記入力画像、およびユーザが操作するポインタを表示する表示制御手段(140)と、前記ユーザから第1の入力を受け付ける受付手段(120)と、前記算出手段(110)により算出された前記特徴点に関する位置に基づいて第1の位置を特定する特定手段(130)と、を有し、前記表示制御手段(140)は、前記第1の入力を受け付けた場合に、前記第1の位置に前記ポインタを移動させる。

Description

入力支援システム、入力支援方法及び非一時的なコンピュータ可読媒体
 本開示は、入力支援システム、入力支援方法及びプログラムに関し、特にユーザの入力作業の負担を軽減する入力支援システム、入力支援方法及びプログラムに関する。
 検出対象を撮影した画像から画像処理によって特徴点を検出後に、ユーザが検出結果をチェックし、必要に応じてユーザが訂正処理を行うことができる手法が一般的に知られている(特許文献1等)。
特開2019-57111号公報
 しかしながら、上記背景技術は、ユーザが手動でポインタの移動操作を行う必要があるため、作業の負担が大きいという課題があった。
 そこで、この明細書に開示される実施形態が達成しようとする目的の1つは、ポインタの移動操作の負担を軽減することができる入力支援システム、入力支援方法及びプログラムを提供することにある。
 この開示の第1の態様にかかる入力支援システムは、
 入力画像から特徴点に関する位置を算出する算出手段と、
 画面上に前記入力画像、およびユーザが操作するポインタを表示する表示制御手段と、
 前記ユーザから第1の入力を受け付ける受付手段と、
 前記算出手段により算出された前記特徴点に関する位置に基づいて第1の位置を特定する特定手段と、
 を有し、
 前記表示制御手段は、前記第1の入力を受け付けた場合に、前記第1の位置に前記ポインタを移動させる。
 この開示の第2の態様にかかる入力支援方法では、
 コンピュータが、
 入力画像から特徴点に関する位置を算出し、
 画面上に前記入力画像、およびユーザが操作するポインタを表示し、
 前記ユーザから第1の入力を受け付け、
 算出された前記特徴点に関する位置に基づいて第1の位置を特定し、
 前記第1の入力を受け付けた場合に、前記第1の位置に前記ポインタを移動する。
 この開示の第3の態様にかかるプログラムは、
 コンピュータに、
 入力画像から特徴点に関する位置を算出する算出ステップと、
 画面上に前記入力画像、およびユーザが操作するポインタを表示する表示制御ステップと、
 前記ユーザから第1の入力を受け付ける受付ステップと、
 前記算出ステップで算出された前記特徴点に関する位置に基づいて第1の位置を特定する特定ステップと、
 を実行させ、
 前記表示制御ステップでは、前記第1の入力を受け付けた場合に、前記第1の位置に前記ポインタを移動させる。
第1の実施形態の入力支援システムの構成例を示すブロック図である。 第1の実施形態の入力支援システムの動作例を示すフローチャートである。 第2の実施形態の入力支援システムの構成例を示すブロック図である。 第2の実施形態の入力支援システムによる画面の表示例を示す図であり、特に、入力画像と算出された特徴点の例を示す図である。 第2の実施形態の入力支援システムの動作例を示すフローチャートである。 第2の実施形態の入力支援システムのハードウェア構成を示す図である。 第3の実施形態の入力支援システムの構成例を示すブロック図である。 第3の実施形態の入力支援システムによる画面の表示例を示す図であり、特に、ポインタの移動例を示す図である。 第3の実施形態の入力支援システムの動作例を示すフローチャートである。 第4の実施形態の入力支援システムの構成例を示すブロック図である。 第4の実施形態の入力支援システムによる画面の表示例を示す図であり、特に、入力画像と算出されたバウンディングボックスの例を示す図である。 第4の実施形態の入力支援システムによる画面の表示例を示す図であり、特に、ポインタの移動例を示す図である。 第4の実施形態の入力支援システムの動作例を示すフローチャートである。 第4の実施形態の入力支援システムによる画面の表示例を示す図であり、特に、バウンディングボックスの表示例を示す図である。 第5の実施形態の入力支援システムの構成例を示すブロック図である。 第5の実施形態の入力支援システムの動作例を示すフローチャートである。 第6の実施形態の入力支援システムの構成例を示すブロック図である。 第6の実施形態の入力支援システムの動作例を示すフローチャートである。 第7の実施形態の入力支援システムの構成例を示すブロック図である。 第7の実施形態の入力支援システムによる画面の表示例を示す図であり、特に、視覚領域の例を示す図である。 第7の実施形態の入力支援システムの動作例を示すフローチャートである。
 以下で説明される実施形態にかかる入力支援システムは、ユーザ(人間)が入力画像を見て、この入力画像における特徴点の位置やバウンディングボックスの位置を決定することを支援するシステムである。したがって、入力支援システムの算出部が算出する位置は、ユーザの入力を補助するために用いられ、算出部が算出する位置が入力画像における特徴点の位置やバウンディングボックスの位置として直ちに採用されるわけではない。
[第1の実施形態]
 まず、第1の実施形態について説明する。
[構成の説明]
 図1は、第1の実施形態の入力支援システムの構成例を示すブロック図である。図1に示すように、入力支援システム100は、算出部110、受付部120、特定部130及び表示制御部140を備える。
 算出部110は、入力画像から特徴点に関する位置を算出する。特徴点に関する位置とは、具体的には、特徴点の位置、又は対象物を構成する特徴点を囲むバウンディングボックスの位置をいう。受付部120は、ユーザから第1の入力を受け付ける。第1の入力とは、特徴点に関する新たな指定のためのユーザの操作の開始を合図する所定の入力である。この第1の入力は、指定開始入力と称されてもよい。なお、後述する他の実施の形態においても、第1の入力とは、ここで説明される入力を指す。具体的には、第1の入力は、例えば、(一つ前の)特徴点の位置を指定する操作、または指定したい特徴点へとポインタを移動する操作のことである。また、ポインタとは、ユーザが特徴点を指定するために画面上に表示される目印のことである。特定部130は、算出部110により算出された特徴点に関する位置に基づいて、第1の位置を特定する。第1の位置とは、算出された特徴点に関する位置、又は、算出された特徴点に関する位置の近傍の位置(換言すると、算出された特徴点に関する位置から所定の距離だけ離れた位置)である。なお、後述する他の実施の形態においても、第1の位置とは、ここで説明される位置を指す。具体的には、第1の位置は、例えば、特徴点やバウンディングボックスの頂点の位置又はその近傍の位置である。表示制御部140は、ユーザが操作するポインタ、及び入力画像を画面上に表示する。そして、表示制御部140は、受付部120が第1の入力を受け付けた場合に、特定部130が特定した第1の位置に、ポインタを移動させる。
[動作の説明]
 図2は、第1の実施形態における入力支援システム100の動作を示すフローチャートである。図2を参照して入力支援システム100の一連の処理について説明する。
 算出部110は入力画像を取得する(ステップS110)。算出部110は、取得した入力画像から特徴点に関する位置を算出する(ステップS120)。受付部120は、ユーザから第1の入力を受け付けたか否か判定する(ステップS130)。第1の入力が受付けられた場合、処理はステップS140へ移行し、それ以外の場合、ステップS130の処理が繰り返される。受付部120が第1の入力を受け付けた場合、特定部130は、ステップS120で算出された特徴点に関する位置に基づいて、第1の位置を特定する(ステップS140)。そして、表示制御部140は、ポインタの位置が特定部130で特定された第1の位置になるよう表示を制御する(ステップS150)。
 なお、ステップS140が実施されるタイミングはこれに限られず、ステップS120にて特徴点に関する位置が算出された後から、ステップS150の第1の位置へポインタを移動させる処理を行う前までであればいつでもよい。例えば、ステップS130にて第1の入力を受け付けるまでの間にステップS140で第1の位置を特定することで、予め第1の位置を特定する処理を実行できる。このため、ステップS130の次にステップS150が実行され、より直感的にポインタを移動させることができる。
[効果の説明]
 第1の実施形態における入力支援システム100は、算出部110によって入力画像の特徴点に関する位置を算出し、ユーザから第1の入力がされたことで、表示制御部140がポインタを特定部130で特定された第1の位置へ移動させるようにしている。この入力支援システム100のユーザは、予め決められた第1の入力を行うだけで、指定しようとする特徴点の近傍などである第1の位置へとポインタを移動させることができる。これにより、入力支援システム100では、ユーザがポインタの移動操作をすることなく、ポインタを特徴点の近傍などである第1の位置へと移動させることができる。その結果、入力支援システム100は、ユーザによる特徴点の入力作業の負担、特に入力作業時の移動操作の負担を減らすことができる。
[第2の実施形態]
 次に、第2の実施形態について説明する。
[構成の説明]
 図3は、第2の実施形態の入力支援システムの構成例を示すブロック図である。図3に示すように、入力支援システム200は、算出部210、受付部220、特定部230、表示制御部240及び、データベース250を備える。
 算出部210は、入力画像から特徴点を算出する。例えば、ユーザが画像における顔の特徴点の位置を指定するために、入力画像として顔画像が入力支援システム200に入力された場合、算出部210は、人の顔の表面に存在する特徴を特徴点として算出する。なお、人の顔の表面に存在する特徴とは、例えば、目、鼻、口、耳、眉、輪郭、ほくろ、そばかす、刺青、痣、皺、えくぼ、傷、疣、瘤、皮膚の凹凸、皮膚の変色部位などの皮膚表面にみえる特徴である。また、特徴点を算出する方法は、特に限定されない。例えば、SIFT (Scale Invariant Feature Transform)やKAZEなどの特徴抽出技術を用いてもよいし、予め学習された機械学習モデルを用いて特徴点を抽出してもよい。ここでは、入力画像の一例として、顔画像について説明したが、それ以外でもよい。例えば、物体検知のために、カメラから取得される画像を入力し、画像に写る自動車の特徴点を算出してもよいし、路面状況のひび割れやマンホールなどを特徴点として算出してもよい。また、ユーザが指定したい特徴点と入力画像は適宜変更可能である。本実施形態では、入力画像として顔画像を用いた実施形態について説明を行う。
 受付部220は、ユーザから第1の入力(指定開始入力)を受け付ける。受付部220は、例えば、後述する入力装置202などの入力インタフェースを介して、ユーザからの第1の入力を受付ける。
 特定部230は、算出部210が算出した特徴点に基づいて第1の位置を特定する。本実施の形態では、具体的には、特定部230は、第1の位置として、特徴点の位置又はその近傍の位置を特定する。例えば、図4に示すように入力画像20から算出部210によって算出された特徴点21が存在する場合、第1の位置は、特徴点21の位置である。また、第1の位置は、特徴点の位置から所定の距離離れた位置であってもよい。これにより、後述する表示制御部240の制御によりポインタ22が第1の位置に移動した際に、移動したポインタ22が、特徴点に重なって表示されることを防ぐことができる。なお、或る特徴点aに関する第1の位置と当該特徴点aの位置についての上述の所定の距離は、特徴点aに関する第1の位置と特徴点a以外の他の特徴点の位置との距離より短くなるように設定されてもよい。好ましくは、上述の所定の距離、すなわち、第1の位置と特徴点との距離は数ピクセルに設定されると良い。これにより、第1の位置へと移動したポインタ22と特徴点とが重なって表示されないため、より視認性が高い状態で、操作が可能となる。
 なお、特定部230は、算出部210によって算出された複数の特徴点21の中から、ユーザが位置の指定をこれから行なおうとしている特徴点を決定し、決定された特徴点についての第1の位置を特定してもよい。これにより、ユーザにとって好ましい位置にポインタが自動的に移動されることとなるため、ユーザの利便性がさらに向上する。例えば、特定部230は、第1の入力を受け付けた時点でのポインタの位置から最も近い特徴点をユーザが位置の指定をこれから行なおうとしている特徴点と決定してもよい。つまり、特定部230は、ポインタの位置と特徴点に関する位置に基づいて、第1の位置を特定してもよい。また、特定部230は、ユーザが既に入力した特徴点の位置を記録したデータと算出部210で算出された特徴点の位置とを比較し、算出された複数の特徴点21のうち、ユーザにより既に入力された特徴点の位置との差が所定値以上である位置にある特徴点を、ユーザが位置の指定をこれから行なおうとしている特徴点と決定してもよい。つまり、特定部230は、算出部210で位置が算出された特徴点のうち、特徴点から所定の距離以内の領域においてユーザによる位置の指定が未だに行われていない特徴点を、ユーザが位置の指定をこれから行なおうとしている特徴点と決定してもよい。これに関し、特定部230は、特徴点から最も近いユーザによる指定の点を探索し、それら2点間の距離が所定の距離以内であれば、その特徴点に対してユーザが指定を行ったと判断してもよい。上述した処理により、ユーザによる指定がまだ終わっていない特徴点を特定し、そのような特徴点について第1の位置を特定することができる。さらに別例として、特定部230は、現在の処理対象である入力画像に対して算出された各特徴点毎に、過去に入力された入力画像に対する処理の履歴データに基づいて後述する推定値を算出し、推定値が所定値以上となる特徴点のみを、ユーザが位置の指定をこれから行なおうとしている特徴点と決定してもよい。また、推定値が所定値未満となる特徴点については、算出部210で算出された特徴点の位置を、ユーザによる位置の指定を経ずに、入力画像における特徴点の位置としてそのまま採用してもよい。なお、上述した履歴データとは、過去に入力された入力画像における各特徴点毎に、算出された特徴点の位置とこの特徴点に対してユーザが指定した位置との距離(つまり2つの位置の差)を記録したデータである。つまり、履歴データは、算出部210の算出した特徴点の位置とユーザの指定した特徴点の位置のずれの大きさを特徴点毎に記録したデータである。また、推定値とは、現在の処理対象である入力画像に対して算出された特徴点の位置とこの特徴点に対してユーザが指定する位置との距離(つまり2つの位置の差)を推定した値である。つまり、推定値は、算出部210の算出した特徴点の位置とユーザの指定する特徴点の位置のずれの大きさを推定した値である。推定値の算出は、例えば次のように行われてもよい。過去に入力された複数の入力画像についての履歴データを用いて、算出された特徴点の位置とユーザが指定した特徴点の位置との距離の平均値を各特徴点毎に算出し、この平均値を推定値としてもよい。また、履歴データを教師データとして用いて、機械学習を行うことにより推定値を求めてもよい。例えば、算出部210により算出された顔の特徴点の位置のうち、目尻の特徴点の位置がユーザにより大きく修正されるケースが過去に多く存在する場合、目尻の特徴点に対する上述した推定値は、上述した所定値(すなわち閾値)を超えることとなる。このように、特定部230は、算出部210で位置が算出された特徴点のそれぞれに対して、算出部210により算出された位置とユーザにより指定される位置との差の推定値を算出し、算出部210で位置が算出された特徴点のうち、推定値が所定値以上となる特徴点を、ユーザが位置の指定をこれから行なおうとしている特徴点と決定してもよい。
 表示制御部240は、ユーザが操作するポインタ、及び入力画像を画面に表示する。表示制御部240はこれに加えて、特徴点(特徴点の位置)を表示してもよい。また、特徴点は、検出された特徴点全てを表示してもよいし、ある一部の特徴点のみを表示するようにしてもよい。検出された特徴点をすべて表示することでユーザはどこに特徴点を指定すべきか確認が容易になる。また、ある一部の特徴点のみを表示するといったように、表示する特徴点と表示しない特徴点を設定することでユーザの視認性が向上する。例えば、ユーザに指定してほしい特徴点のみを表示したり、ユーザに指定してほしい特徴点のみを表示と非表示を繰り返し点滅表示しつつ、それ以外の特徴点を表示しないようにしたりすることで注視させたい特徴点をユーザに知らせることができる。さらに表示制御部240は、受付部220で第1の入力を受け付けたことをトリガーに、第1の位置へとポインタを移動する。
 データベース250は、算出部210が特徴点を算出するための入力画像を記憶している。記憶されている入力画像は、本実施形態では、顔を含む画像であるがそれに限られず、自動車、路面状況又は人物が含まれる画像など、ある特徴点を抽出できる画像であってもよい。例えば、内視鏡カメラにより取得された体内の画像から病変を検知するために、入力支援システム200を用いて次のような入力支援が行なわれてもよい。すなわち、算出部210によって病変を特徴点として算出した上で、表示制御部240により、ポインタを移動させることにより、専門医が正しい特徴点の位置を指定する入力を支援してもよい。これにより、専門的な知見に沿った学習データの作成や検知精度の向上を図ることが可能である。本実施形態は、画像処理による特徴点検出後に、人手により特徴点の意味づけをしたり特徴点の精度を向上させたりする際の入力支援に活用することが可能であるし、特徴点の指定に専門家の確証が必要な場面での入力支援にも活用することが可能である。
[動作の説明]
 図5は、第2の実施形態における入力支援システム200の動作を示すフローチャートである。図5を参照して入力支援システム200の一連の処理について説明する。
 算出部210は、データベース250から入力画像として顔画像を取得する(ステップS210)。なお、算出部210は、外部の装置であるカメラなどから画像を取得してもよい。
 表示制御部240は、図4に示すように、算出部210が取得した入力画像20と、ユーザが操作を行うポインタ22を画面に表示する。(ステップS220)。ただし、ステップS220を実行するタイミングはこれに限らず、ステップS210で画像を算出部210が取得した後から後述するステップS270の第1の位置へポインタを移動する処理までの間に実行されればよい。
 算出部210は、取得した顔画像の中から、顔の特徴点を算出する(ステップS230)。
 表示制御部240は、算出部210が算出した顔の特徴点を画面に表示する(ステップS240)。ただし、表示制御部240がステップS240を実行するタイミングは、これに限らず、ステップS230からフローが終了するまでの間で実行すればよい。また、ステップS240を実行せず、算出した特徴点を画面に表示しないようにしてもよい。特徴点を表示しないことにより、操作性を確保しつつ、ユーザの知見のみによる特徴点の入力が可能となる。つまり、この場合、ユーザは、算出部210が提案する特徴点の位置に頼ることなく、自らの知見のみに基づいて特徴点の入力を行なうこととなる。
 受付部220は、ユーザから第1の入力を受け付けたか否か判定する(ステップS250)。受付部220は第1の入力がない場合は、ユーザから第1の入力があるまで待機する。受付部220が第1の入力を受け付けた場合、次のステップS260へと処理が遷移する。
 特定部230は、受付部220が第1の入力を受け付けた場合に、ステップS230で算出された特徴点に基づいて、第1の位置を特定する(ステップS260)。複数の特徴点が算出される場合もあり得る。このため、そのような場合のために、どの特徴点を用いて第1の位置を特定するのかが予め決められていてもよい。例えば、入力画像が顔画像であって、左目尻の特徴点を用いて第1の位置を特定することが予め決められている場合、特定部230は、ステップS230により算出された特徴点の中から、左目尻の特徴点の位置を第1の位置と特定する。またステップS260は、第1の入力を受け付ける前であるステップS250の前に実行してもよい。
 表示制御部240は、ポインタの位置を特定部230で特定された第1の位置へと移動させるよう、表示を制御する(ステップS270)。
[ハードウェア構成の説明]
 図6は、入力支援システム200のハードウェア構成の一例を示すブロック図である。 図6に示すように、入力支援システム200は、出力装置201、入力装置202、記憶装置203、メモリ204、及びプロセッサ205を含む。
 出力装置201は、外部へ情報の出力を行うディスプレイなどの出力装置である。ディスプレイは、例えば、液晶ディスプレイ、プラズマディスプレイ、有機EL(Electro-Luminescence)ディスプレイなどのフラットパネルディスプレイであってもよい。出力装置201は、表示制御部240が出力する入力画像、特徴点及び、ポインタを表示する。出力装置201は、第1の位置を特定部230から取得した表示制御部240から、ポインタを現在表示させている位置から第1の位置へ移動させて出力するよう命令を受け、ポインタを第1の位置へと表示する。
 入力装置202は、ユーザが入力を行うための装置であり、例えば、ポインティングデバイス又は、キーボードなどの入力装置である。ポインティングデバイスの例としては、マウスやトラックボールなどが挙げられる。入力装置202によって入力される操作とは、例えばマウスのボタンをクリックする操作や、マウスを移動させる操作であるが、これに限られない。例えば、この操作は、キーボードの所定のキーの入力などでもよく、特徴点の位置を指定する操作、または指定したい特徴点へとポインタを移動させるための操作として予め定められた操作であればよい。この特徴点の位置を指定する操作、または指定したい特徴点へとポインタを移動させるための操作が入力装置202によって入力されると、受付部220は、第1の入力を受け付けたと判断する。
 記憶装置203は、ハードディスク、フラッシュメモリ等の不揮発性記憶装置である。記憶装置203により、上述したデータベース250及び後述する実施形態のデータベースが実現されるが、他の記憶装置であるサーバやクラウド等によりこれらが実現されてもよい。また、記憶装置は電気回路で他のハードウェアとつながっているだけでなく、無線信号やインターネットを介して情報を通信できてもよく、また、単体の装置又は複数の装置で記憶装置が構成されていてもよい。
 メモリ204は、例えば、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ204は、プロセッサ205により実行される、1以上の命令を含むソフトウェア(コンピュータプログラム)、及び入力支援システム200の各種処理に用いるデータなどを格納するために使用される。メモリ204は、複数のメモリを含んでもよい。
 プロセッサ205は、メモリ204からソフトウェア(コンピュータプログラム)を読み出して実行することで、上述した算出部210、受付部220、特定部230、及び表示制御部240の処理を行う。なお、他の実施の形態でも、同様に、プロセッサ205は、メモリ204からソフトウェア(コンピュータプログラム)を読み出して実行することで、各実施の形態の入力支援システムの処理を行う。プロセッサ205は、例えば、マイクロプロセッサ、MPU(Micro Processor Unit)、又はCPU(Central Processing Unit)などであってもよい。プロセッサ205は、複数のプロセッサを含んでもよい。
 このように、入力支援システム200は、コンピュータとしての機能を備える。
 プログラムは、コンピュータに読み込まれた場合に、実施形態で説明される1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
 なお、上述した入力支援システム200のハードウェア構成は、特に言及する場合を除き、他の実施形態の入力支援システムにおいても同様である。
[効果の説明]
 入力支援システム200のユーザは、予め決められた第1の入力を行うだけで、指定しようとする特徴点の近傍へとポインタを移動させることができる。これにより、特徴点の位置までポインタをユーザが移動させる操作の操作量が低減できるため、ユーザの入力作業の負担を減らすことができる。
[第3の実施形態]
 次に、第3の実施形態について説明する。第3の実施形態は、ユーザが指定する特徴点の順番を取得する点と、第2の入力を受け付ける点で、第2の実施形態と異なっている。第2の入力とは、移動したポインタの位置を過去の位置に戻すことを指示する所定の入力である。この第2の入力は、戻し入力と称されてもよい。なお、後述する他の実施の形態においても、第2の入力とは、ここで説明される入力を指す。
 以下、第2の実施形態と異なる点ついて具体的に説明し、適宜重複する説明については省略する。なお、第3の実施形態について、上述した第1の実施形態を適用することも可能であるし、上述した第2の実施形態を適用することも可能である。
[構成の説明]
 図7は、第3の実施形態の入力支援システムの構成例を示すブロック図である。図7に示すように、入力支援システム300は、算出部310、受付部320、特定部330、表示制御部340及び、データベース350を備える。
 データベース350は、算出部310が特徴点を算出するための入力画像を記憶している。また、入力画像に対応する特徴点を機械学習によって算出部310が算出するための機械学習モデルを記憶していてもよい。また、入力画像に加えて入力画像に対応する特徴点の情報を記憶していてもよい。特徴点の情報は、特徴点の位置、特徴点のラベル、特徴点の順番などを含んでいてもよい。
 機械学習モデルは、画像と当該画像に映された対象物の特徴点の位置との組を教師データとして用いて、ディープラーニングなどの機械学習により予め学習されている。この教師データにおいて、特徴点の位置は、例えば、特徴点の位置を指定する作業の熟練者により予め指定されている。したがって、この機械学習モデルにより、入力画像から特徴点の位置を算出することができる。また、教師データに特徴点の順番も対応させるようにして、機械学習モデルが学習されてもよい。この場合、機械学習モデルに入力画像を入力することで、特徴点の位置と共に特徴点の順番も算出することができる。
 特徴点の情報に含まれる特徴点の位置とは、入力画像の特徴点の位置である。例えば、データベース350が入力画像に対応する特徴点の2次元平面上の位置を特徴点の情報として記憶する。
 特徴点のラベルとは、画像上の何についての特徴点を指しているのか示すものである。例えば、顔画像の特徴点に付されるラベルであれば、鼻、口、目などの顔のパーツを示す。ラベルを更に細分化するならば、ラベルは、例えば、左目尻、右目尻、左小鼻、右小鼻など顔のより細かなパーツを示す。
 特徴点の順番とは、ユーザが複数の特徴点の位置を指定する際の特徴点の指定の順番のことである。1枚の入力画像に含まれる特徴点群についてのデータをユーザによる特徴点の位置の指定に基づいて生成する際、所定の順番で特徴点の位置が指定されたデータの生成が求められる場合がある。この場合、ユーザは、所定の順番で特徴点の位置を指定する必要がある。例えば、顔画像の特徴点群の場合、所定のパーツの順番、例えば、左目尻、左瞳、左目頭、右目尻といった順番で特徴点の位置が指定されたデータの生成が求められる場合がある。そのような場合、左目尻に対応する特徴点は1番目の特徴点であり、左瞳に対応する特徴点は2番目の特徴点であり、左目頭に対応する特徴点は3番目の特徴点であり、右目尻に対応する特徴点は4番目の特徴点などとなる。
 算出部310は、入力画像から、特徴点と、ユーザが特徴点を入力する順番である上述の特徴点の順番とを算出してもよい。例えば、入力画像として顔画像が入力された場合、算出部310は、人の顔の表面に存在する特徴を特徴点として算出するとともに、その特徴点が顔のどのパーツを算出したのかを検出し、予め決められたパーツの順番に基づいて検出された特徴点に順番を付与する。これにより、特徴点の順番が算出される。ここでは、入力画像の一例として、顔画像について説明したが、第2の実施形態で説明したように、それ以外の画像でも適用できる。
 また、算出部310は、次のように、特徴点及び特徴点の順番を算出してもよい。算出部310は、データベース350から、特徴点と特徴点の順番を出力する機械学習モデルを読み出し、入力画像を機械学習モデルに入力することにより、特徴点に加え、ユーザが特徴点を入力すべき順番を算出することができる。
 また、算出部310は、次のように、特徴点及び特徴点の順番を算出してもよい。算出部310は、データベース350から特徴点の情報を読み出した場合、特徴点の情報を参照することで、特徴点と、特徴点の順番を算出することができる。例えば、特徴点の情報に特徴点の位置と特徴点のラベルとの対応関係が含まれる場合には、算出部310は、各位置にある特徴点のラベルが示すパーツと予め決められたパーツの順番とを比較することで、ユーザが特徴点を入力すべき順番を算出することができる。
 特定部330は、特徴点に関する第1の位置を特定する。本実施の形態では、特徴点に関する第1の位置は、特徴点の位置と、特徴点の順番に基づいて特定される。特定部330は、特徴点の位置と特徴点の順番を算出部310または、データベース350から取得する。例えば、図8に示すように入力画像30から算出部310によって算出された特徴点の順番が右目尻の特徴点31aから右目頭の特徴点31bという順番である場合、まず、第1の位置は、右目尻の特徴点31aの位置となる。その後、受付部320がさらに第1の入力(指定開始入力)を受け付けると、次の第1の位置は、右目頭の特徴点31bの位置となる。特定部330は、受付部320が第1の入力を受け付けるごとに1つの第1の位置を特定してもよいし、1回の第1の入力を受け付けた場合に、複数の第1の位置を特定してもよい。特定部330が第1の位置を特定するタイミングはこれだけに限られず、算出部310によって特徴点及び特徴点の順番を算出した後であればいつでもよい。また、特定部330は、データベース350に、特徴点の位置と特徴点の順番が特徴点の情報として入力画像と結びついて保存されている場合は、データベース350から特徴点の位置と特徴点の順番を取得し、特徴点に関する第1の位置を特定してもよい。
 表示制御部340は、受付部320が第1の入力を受け付けたことをトリガーに、第1の位置へとポインタを移動する。したがって、第1の入力を受け付けると、図8に示すようにポインタ32を第1の位置である特徴点31aの位置へと移動させる。再度第1の入力を受付部320が受け付けると、特定部330は、次の特徴点である右目頭にある特徴点をユーザに指定させるように、第1の位置を特徴点31bの位置へと更新する。そして、表示制御部340は、更新された第1の位置へとポインタが移動するように、特徴点31bの位置へとポインタを移動させる。なお、第1の入力はすべて統一された操作でなくてもよい。例えば、まず初めに、ポインタを移動させる操作を第1の入力として受け取り、1番目の特徴点の位置へとポインタを移動させる。次にその特徴点を指定する操作を第1の入力として受け取り、2番目の特徴点へとポインタを移動させるようにしてもよい。図8を例に説明すると、ポインタを移動させる操作を第1の入力として受け取ることにより、ポインタ32が特徴点31aの位置へと移動する。そして、次に、特徴点31aについての位置を指定する操作を第1の入力として受け取ることにより、ポインタ32が特徴点31bの位置へと移動する。
 さらに特定部330は、特徴点に関する第2の位置を特定してもよい。第1の位置は、ユーザが特徴点を入力する順番に沿って遷移するように位置が特定されるのに対して、特徴点に関する第2の位置は、ユーザが特徴点を入力する順番と逆の順番に沿って遷移するように位置が特定される。なお、後述する他の実施の形態においても、第2の位置とは、ここで説明される位置を指す。
 受付部320は、第2の実施形態の受付部220の機能に加えて、第2の入力を受け付けてもよい。第1の入力(指定開始入力)が、特徴点を入力する順番に沿ってポインタを遷移させるための操作であるのに対して、第2の入力(戻し入力)は、特徴点を入力する順番とは逆にポインタを遷移させるための操作である。第2の入力を行うことによって、これまで遷移してきた特徴点へとポインタを戻すことができる。第2の入力は、第1の入力として設定されている操作とは異なる入力である。第2の入力は、例えばマウスのボタンをクリックする操作や、マウスを移動させる操作であるが、これに限られない。例えば、この操作は、キーボードの所定のキーの入力などでもよく、特徴点の位置へと移動するための操作として予め定められた操作であればよい。例えば、第1の入力が左クリックである場合、第2の入力として右クリックを入力することで、所定の特徴点の位置へとポインタの位置を逆遷移することができる。
 表示制御部340は、第2の実施形態の表示制御部240の機能に加えて、受付部320が第2の入力を受け付けたことをトリガーに、第2の位置へとポインタを移動する。したがって、第1の入力を受け付け、図8に示すようにポインタ32を特徴点31aから特徴点31bの位置へと移動させていた場合、特定部330は次のように第2の位置を特定する。すなわち、特定部330は、パーツの順番と逆方向である右目尻にある特徴点31aへとポインタが戻るように、第2の位置として特徴点31aを特定する。このように、特定部330は、特定された第1の位置の遷移を遡ることにより、第2の位置を特定する。例えば、特定部330は、第2の入力を受付部320が受け付ける度に、特定された第1の位置の遷移を一つずつ遡ることにより、第2の位置を特定する。表示制御部340は、第2の位置へとポインタが移動するように、特徴点31bから特徴点31aの位置へとポインタを移動させる。すなわち、表示制御部340は、ポインタの位置を戻す。特定部330及び表示制御部340について次のように説明することもできる。特定部330は、新たな第1の位置を特定するとともに第2の位置をさらに特定する。第2の位置は、新たな第1の位置よりも前に特定された第1の位置と説明することもできる。表示制御部340は、ユーザから第2の入力を受け付けると、第2の位置にポインタを移動させる。より詳細には、特定部330は、ユーザが特徴点に関する位置を入力する順番にしたがって第1の位置を特定し、第1の位置の特定に用いられた順番とは逆の順番にしたがって、新たな第1の位置よりも一つ前の第1の位置を第2の位置として特定する。
[動作の説明]
 次に、第3の実施形態にかかる入力支援システム300の動作についてフローチャートを参照して説明する。図9は、第3の実施形態にかかる入力支援システム300の動作の一例を示すフローチャートである。図9に示すように、ここで示されるフローチャートは、ステップS310からステップS370が新たに実行される点で、図5に示したフローチャートと異なっている。また、図9のステップS210、S220、S240、S270は図5で説明した算出部210、表示制御部240の動作を算出部310、表示制御部340が実行する点のみが異なるため、説明を省略する。以下、図5に示したフローチャートと異なる点について説明する。
 ステップS210で算出部310がデータベース350から画像を取得した後、算出部310が特徴点とユーザが指定する特徴点の順番を算出する(ステップS310及びステップS320)。ステップS310では、算出部310が、データベース350から読み出した機械学習モデルにより特徴点を算出する。なお、特徴点は機械学習を用いた方法で算出するのではなく、入力画像から算出されてもよいし、前述のように特徴点の情報に基づいて算出されてもよい。ステップS320では、算出部310が、データベース350から読み出した機械学習モデルにより特徴点の順番を算出する。なお、このような算出方法に代えて、画像から算出される特徴点と、パーツの順番とに基づいて特徴点の順番が算出されてもよいし、取得した画像に紐づく特徴点の情報から特徴点の順番が算出されてもよい。図9では、ステップS310の後にステップS320が実行されているが、同時に実行されてもよい。
 受付部320は、ユーザから第1の入力を受け付けたか否か判定する(ステップS330)。受付部320は、第1の入力及び第2の入力がない場合は、ユーザから第1の入力及び第2の入力があるまで待機する。受付部320が第1の入力を受け付けた場合、次のステップS340へと処理が遷移する。
 特定部330は、算出部310で算出された特徴点と特徴点の順番に基づいて第1の位置を特定する(ステップS340)。このように、特定部330は、ユーザが特徴点に関する位置を入力する順番に基づいて、第1の位置を特定する。ステップS340を実行後、ステップS270に遷移し、表示制御部340がポインタを第1の位置に表示するとフローが終了する。なお、ステップS340が実施されるタイミングはこれだけに限られず、ステップS320にて特徴点の順番が算出された後から、S270にて第1の位置へポインタを移動する処理を行う前であればいつでもよい。
 受付部320は、ユーザから第2の入力を受け付けたか否か判定する(ステップS350)。受付部320が第2の入力を受け付けた場合、次のステップS360へと処理が遷移する。したがって、受付部320は、第1の入力または第2の入力があると対応する処理へと処理を遷移させる動作を行う。
 特定部330は、受付部320が第2の入力を受け付けた場合に、ユーザが指定する特徴点の順番に基づいて、一つ前の特徴点の位置を第2の位置として特定する。(ステップS360)。ステップS360も実施されるタイミングはこれだけに限られず、ステップS320にて特徴点の順番が算出された後から、S370にて第2の位置へポインタを移動する処理を行う前であればいつでもよい。
 表示制御部340は、第2の実施形態の表示制御部240の動作に加えて、受付部320が第2の入力を受け付けた場合に、ポインタを特定部330で特定された第2の位置に表示させる(ステップS370)。
[効果の説明]
 第3の実施形態における入力支援システム300は、第1の入力をトリガーとして、ユーザが指定すべき特徴点の近傍へとポインタを移動させつつ、予め決められた第2の入力をトリガーとして、遷移を遡って、前の特徴点の位置にポインタを戻すことができる。これにより、入力支援システム300は、ユーザが特徴点の位置までポインタを移動させる操作の操作量を低減させつつ、ポインタを順に特徴点の近傍へと移動させることができる。そして、さらに、入力支援システム300は、前の特徴点の位置へとポインタを戻すことができるため、ユーザは特徴点の指定をやり直すことが可能となる。その結果、入力支援システム300は、ユーザの特徴点の入力作業の負担を減らすことができる。また、本実施の形態では、算出部310が、入力画像から、ユーザが特徴点に関する位置を入力する順番を算出する。このため、自動的に順番が算出され、高い利便性を有するシステムが提供される。
[第4の実施形態]
 次に、第4の実施形態について説明する。第4の実施形態は、算出部が特徴点を算出することに代えて、バウンディングボックスを算出する点が、第3の実施形態と異なっている。
 以下、第3の実施形態と異なる点ついて具体的に説明し、適宜重複する説明については省略する。なお、第4の実施形態について、上述した第1、第2及び第3の実施形態を適用することも可能である。
[構成の説明]
 図10は、第4の実施形態の構成例を示すブロック図である。図10に示すように、入力支援システム400は、算出部410、受付部320、特定部430、表示制御部440及び、データベース350を備える。
 算出部410は、入力画像からバウンディングボックスを算出する。バウンディングボックスとは、画像に写る人や顔、顔の各パーツ(眉、目、鼻、口、耳など)、自動車といった対象物の周囲を囲む多角形の境界線である。バウンディングボックスは、対象物を構成する特徴点を囲む境界線ともいえる。例えば、顔の眼などのバウンディングボックスを指定するために、入力画像として顔画像が入力されたならば、算出部410は、図11に示すように、入力画像40から、人の顔の表面に存在する特徴を囲むバウンディングボックス41を算出する。より詳細には、算出部410は、バウンディングボックスの頂点を算出する。
 ここでは、入力画像の一例として、顔画像について説明したが、それ以外の画像でも適用できる。例えば、車に搭載された車載カメラから取得される画像をサーバに送信、もしくは車載カメラとつながるデバイスに送信し、その後、路面の傷や車、人などをバウンディングボックスでユーザが指定する操作において、本実施形態が実施されてもよい。これにより、ユーザがバウンディングボックスを入力する操作を支援することができる。そして、機械学習に向けた学習データの作成の支援を行うことが可能となる。この学習データを用いて学習された機械学習モデルを用いることで、運転時の映像や事故時の映像から人や車などの対象物を精度よくバウンディングボックスで特定することが可能となる。この特定した結果を、運転スキルの判定や交通事故の過失割合などの算出に利用することも可能となる。他にも、道路や施設内に向けられたカメラなど様々な環境下に設置されたカメラから取得される画像を入力支援システム400に入力することで、画像に写る自動車や、通行人の顔や体の動きを学習するために用いる学習データのユーザによる作成を支援してもよい。カメラから取得された画像から、人全体もしくは顔や体といったパーツをバウンティグボックスで指定する操作を本実施形態によって支援することで機械学習における学習データをより容易に作成することができる。この学習データを用いて学習されたモデルを用いることで、カメラにて撮像される映像に写る人物をバウンディングボックスで追跡してもよい。そして、そのバウンディングボックス内の特徴点に基づいて、人物の特定や、不審な挙動などの検知も可能となる。
 また、ユーザが指定したいバウンディングボックスと入力画像は適宜変更可能である。さらに、算出部410は、第3の実施形態で特徴点の順番を算出したのと同様に、ユーザが指定するバウンディングボックスの順番を算出してもよい。本実施形態では、入力画像として顔画像を用いた実施形態であって、顔の各パーツに対する矩形のバウンディングボックスの指定を支援する実施形態について説明を行う。
 バウンディングボックスの算出方法には、第3の実施形態で説明した機械学習モデルによる特徴点の算出と同様の算出方法を利用できる。ただし、第3の実施形態で説明した機械学習モデルの学習には、画像と対象物に関する特徴点の位置との組が教師データとして用いられたが、バウンディングボックスの算出では、例えば、画像と対象物に関するバウンディングボックスとからなる組が教師データとして用いられる。また、第3の実施形態で述べた方法により算出された特徴点から特定される特徴点間の位置関係に基づいてバウンディングボックスを算出してもよい。
 特定部430は、算出部410で算出されたバウンディングボックスの頂点を第1の位置として特定する。本実施形態では、矩形のバウンディングボックスを指定するため、一つのバウンディングボックスを指定するためには、少なくとも2つの頂点を指定すればよい。したがって、例えば、左目のバウンティンクボックスを指定するためには、バウンディングボックスの左上の頂点をユーザに指定させ、その次に右下の頂点をユーザに指定させることで左目のバウンディングボックスを指定することができる。つまり、この場合、特定部430は、算出部410で算出されたバウンディングボックスの左上の頂点を第1の位置として特定し、その後、このバウンディングボックスの右下の頂点を次の第1の位置として特定する。またこれに限らず、特定部430は、指定したいバウンディングボックスの形に合わせて、各頂点をユーザに指定させるように第1の位置及び第2の位置を特定してもよい。さらに、算出部410でバウンディングボックスの順番が算出されていれば、バウンディングボックスの頂点と順番に基づいて第1の位置及び第2の位置を特定することができる。このように、特定部430は、ユーザが特徴点に関する位置を入力する順番に基づいて、第1の位置又は第2の位置を特定してもよい。
 表示制御部440は、受付部320が第1の入力(指定開始入力)を受け付けたことをトリガーに、第1の位置へとポインタを移動する。したがって、表示制御部440は、第1の入力を受け付ける毎に、図12に示すようにポインタ42を、算出部410が算出した各バウンディングボックスの頂点である41a、41b、41c、41dへと順番に移動させる。これにより、右目のバウンディングボックス、左目のバウンディングボックスといった順番で各顔のパーツのバウンディングボックスを順に指定することができる。具体的には、まず第1の入力を受け付けると、ポインタ42を第1の位置であるバウンディングボックスの左上の頂点41aの位置へと移動させる。再度第1の入力を受付部320が受け付けると、特定部430は、次に指定すべきバウンディングボックスの頂点の位置をユーザに指定させるために、第1の位置をバウンディングボックスの右下の頂点41bへと更新する。これにともない、表示制御部440は、更新された第1の位置へとポインタが移動するように、頂点41bの位置へとポインタを移動させる。ここで、バウンディングボックスの頂点41bにポインタを移動させた後、第2の入力(戻し入力)があった場合は、バウンディングボックスの頂点41aを第2の位置として特定部430が特定し、表示制御部440は第2の位置へとポインタを戻すように移動させることができる。
[動作の説明]
 次に、第4の実施形態にかかる入力支援システム400の動作についてフローチャートを参照して説明する。図13は、第4の実施形態にかかる入力支援システム400の動作の一例を示すフローチャートである。図13に示すように、ここで示されるフローチャートは、ステップS410からステップS470が新たに実行される点で、図9に示したフローチャートと異なっている。また、図13のステップS210、S220は、図9で説明した算出部310、表示制御部340の動作を算出部410、表示制御部440が実行する点のみが異なるため、説明を省略する。また、ステップS330、S350は上述した動作と同様の動作のため説明を省略する。以下、図9に示したフローチャートと異なる点について説明する。
 ステップS210でデータベース350から画像を取得した後、算出部410は、バウンディングボックスとユーザが指定するバウンディングボックスの順番を算出する(ステップS410及びステップS420)。バウンディングボックスの順番は、バウンディングボックスが指定される各対象物の所定の順番と、1つの対象物に対するバウンディングボックスの頂点を指定する所定の順番に基づいて決定される。例えば、顔の各パーツに矩形のバウンディングボックスを指定するためのバウンディングボックスの順番は、最初に右目のバウンディングボックスの左上の頂点、次に、右目のバウンディングボックスの右下の頂点、次に、左目のバウンディングボックスの左上の頂点、次に、左目のバウンディングボックスの右下の頂点といった順番が算出される。このように、各パーツに対応する左上と右下のバウンディングボックスの頂点が順に選択できるように順番が算出されればよい。
 表示制御部440は、算出部410が算出したバウンディングボックスを画面に表示する(ステップS430)。
 ただし、表示制御部440がステップS430を実行するタイミングは、これに限らず、ステップS410からフローが終了するまでの間で実行すればよい。バウンディングボックスを表示することでユーザの操作が支援される。表示されるバウンディングボックスは、参考としての表示であることがわかるように、図14のバウンディングボックス43aのように所定の濃度以下の線で表示されてもよいし、バウンディングボックス43bのように破線で表示されてもよい。また、ステップS430を実行せず、算出したバウンディングボックスを画面に表示しないようにしてもよい。バウンディングボックスを表示しないことにより、操作性を確保しつつ、ユーザの知見のみによるバウンディングボックスの入力が可能となる。つまり、この場合、ユーザは、算出部410が提案するバウンディングボックスの位置に頼ることなく、自らの知見のみに基づいてバウンディングボックスの入力を行なうこととなる。
 ステップS330で、受付部320が、ユーザから第1の入力を受け付けた場合に、特定部430は、算出部410で算出されたバウンディングボックスとバウンディングボックスの順番に基づいて第1の位置を特定する(ステップS440)。なお、ステップS440が実施されるタイミングはこれだけに限られず、ステップS420にてバウンディングボックスの順番が算出された後から、S450にて第1の位置へポインタを移動する処理を行う前であればいつでもよい。
 表示制御部440は、受付部320が第1の入力を受け付けた場合に、ポインタを特定部430で特定された第1の位置に表示させる(ステップS450)。
 ステップS350で、ユーザから第2の入力を受け付けた場合に、特定部430は、算出部410で算出されたバウンディングボックスとバウンディングボックスの順番に基づいて第2の位置を特定する(ステップS460)。特定部430は、特定された第1の位置の遷移を遡ることにより、第2の位置を特定する。このようにバウンディングボックスに関する第2の位置は、ユーザがバウンディングボックスの頂点を入力する順番と逆の順番に沿って遷移するよう位置が特定される。ステップS460も実施されるタイミングはこれだけに限られず、ステップS420にてバウンディングボックスの順番が算出された後から、S470にて第2の位置へポインタを移動する処理を行う前であればいつでもよい。
 表示制御部440は、受付部320が第2の入力を受け付けた場合に、ポインタを特定部430で特定された第2の位置に表示させる(ステップS470)。
[効果の説明]
 第4の実施形態における入力支援システム400では、算出部410によってバウンディングボックスとその順番を算出する。そして、ユーザからの第1の入力又は第2の入力をトリガーとして、表示制御部440がポインタを適切な位置へと移動させている。これにより、入力支援システム400は、バウンディングボックスの領域を指定するユーザの作業において、ポインタの移動操作における操作量を低減させつつ、順にバウンディングボックスをユーザに指定させることができる。その結果、入力支援システム400は、ユーザの入力作業の負担を減らすことができる。
[第5の実施形態]
 次に、第5の実施形態について説明する。第5の実施形態は、算出された特徴点とユーザが指定した特徴点の比較に基づいて警告を行う警告部を新たに備える点で、他の実施形態と異なる。以下、他の実施形態と異なる点ついて具体的に説明し、適宜重複する説明については省略する。
[構成の説明]
 図15は、第5の実施形態の入力支援システムの構成例を示すブロック図である。図15に示すように、入力支援システム500は、算出部310、受付部520、特定部330、表示制御部540、データベース350及び、警告部560を備える。
 受付部520は、ユーザが特徴点を指定する操作を受け付ける。なお、この操作は、上述した実施の形態で説明したように、第1の入力(指定開始入力)として受付けられてもよい。また、受付部520は、特徴点を指定する操作に代えて、バウンディングボックスを指定する操作を受け付けてもよい。また、受付部520は、ユーザが特徴点を指定する操作とは別に第1の入力を受付けてもよい。また、受付部520は、第2の入力(戻し入力)を受付けてもよい。
 表示制御部540は、上述したいずれかの実施の形態の表示制御部と同様の処理を行うが、さらに、受付部520がユーザから特徴点を指定する操作を受け付けた場合に、その指定された特徴点を画像上に重ねて表示してもよい。これにより、ユーザは自身がどこに特徴点を指定したのか確認することができる。
 警告部560は、算出部310が算出した特徴点の位置と受付部520が受け付けたユーザにより指定された特徴点の位置との距離に基づいて、警告を出力する。具体的には、警告部560は、算出部310が算出した特徴点の位置と受付部520が受け付けた特徴点の位置との距離が所定の距離以上離れているか否か判定し、所定の距離以上離れていると判定した場合に、ユーザに向けた警告を出力装置201に表示する。例えば、警告部560は、第1の位置にポインタが移動した後にユーザにより指定された特徴点の位置が、この第1の位置に対応する特徴点についての算出部310が算出した位置から所定の距離以上離れている場合、警告を出力する。なお、警告として入力支援システムに内蔵もしくは接続されたスピーカーから警告音を出力することもできる。これによりユーザは自身の入力が算出部310により算出された特徴点の位置と異なっていることを知ることができる。誤入力の可能性や自身の知見による特徴点の指定が間違っている可能性を示唆することができる。なお、所定の距離以上離れている場合とは、例えば2点間の距離が数十ピクセル離れている場合などを指す。したがって、ユーザは警告により誤入力等に気づくことができ、より正確な特徴点の指定が可能となる。この所定の距離はユーザが適宜設定することが可能であり、所定の距離を短くすれば、算出部310が算出した特徴点の位置に沿うように厳しい判定が行われる。また、特徴点に換えてバウンディングボックスを指定する構成でも、算出部410が算出したバウンディングボックスの特定の頂点の位置とユーザ指定したバウンディングボックスの特定の頂点の位置とを比較することで警告を行うか否か判定することができる。このように、警告部560は、算出部310で算出された特徴点に関する位置(特徴点又はバウンディングボックスの位置)とユーザが入力した特徴点に関する位置(特徴点又はバウンディングボックスの位置)とが、所定の距離以上離れている場合に警告を行う。本実施形態では、特徴点を指定する操作が行なわれる実施形態について説明を行う。なお、実施の形態にかかる入力支援システムは、ユーザ(人間)が入力画像を見て、この入力画像における特徴点の位置やバウンディングボックスの位置を決定することを支援するシステムである。したがって、実施の形態にかかる入力支援システムを用いることにより、算出部が算出する位置よりも精確な特徴点の位置やバウンディングボックスの位置がユーザにより特定されることが期待されている。このことから、基本的には、算出部が算出する位置よりもユーザが指定した位置の方が適切である。したがって、この警告は、必ずしもユーザによる指定の誤りを指摘するとは限らない。
[動作の説明]
 次に、第5の実施形態にかかる入力支援システム500の動作についてフローチャートを参照して説明する。図16は、第5の実施形態にかかる入力支援システム500の動作の一例を示すフローチャートである。図16に示すように、ここで示されるフローチャートは、ステップS510からステップS540が新たに実行される点で、図9に示したフローチャートと異なっている。また、図16では、ステップS210からステップS240までの処理を省略して図示している。これらのステップの処理は、受付部320と表示制御部340が行っていた処理を受付部520と表示制御部540が行う点のみが異なるに過ぎないので図示及び説明を省略している。以下、図9に示したフローチャートと異なる点について説明する。
 ステップS270又はステップS370で表示制御部540が第1の位置又は第2の位置へとポインタを移動させた後、受付部520は、ユーザから特徴点を指定する操作を受け付ける(ステップS510)。ユーザから特徴点を指定する操作を受け付けた場合には、次のステップS520へと処理が遷移する。ユーザから特徴点を指定する操作を受け付けていない場合は、操作を受け付けるまで待機する。
 表示制御部540は、ユーザから特徴点を指定する操作を受付部520が受け付けたことをトリガーにユーザが指定した特徴点を画像に重ねて表示させる(ステップS520)。ステップS520が実行されるタイミングはこれに限られず、ステップS510以降であればいつ実行してもよい。
 警告部560は、算出部310から算出された特徴点の位置と、受付部520が受け付けたユーザから指定された特徴点の位置を比較し、2点の距離が所定の距離以内であるか判定を行う(ステップS530)。所定の距離以内でない場合は、処理はステップS540に遷移する。所定の距離以内である場合は、処理を終了する。また、所定の距離以内である場合は、ユーザの入力が正しいことを出力してもよいし、ステップS520を実行することで、表示制御部540がユーザから入力された特徴点を表示させることをもって、ユーザに入力が正しいことを知らせてもよい。具体的には、警告部560が2点の距離は所定の距離内であると判定した場合、ユーザに向けた通知を出力装置に表示する。また、入力支援システムに内蔵もしくは接続されたスピーカーから正解である旨を知らせる音を出力することで、ユーザに入力が正しいことを知らせてもよい。
 警告部560は、2点の距離が所定の距離以内でない場合、算出部310によって算出された特徴点とユーザからの特徴点の入力が一致しないことの警告を表示制御部540に出力する(ステップS540)。表示制御部540が警告を出力装置の画面に出力することで、ユーザは自身の入力が間違っているおそれがあることを知ることができる。さらに、再入力を促す出力を警告と合わせてステップS540で行うことで、ユーザに特徴点の再入力を促すことができる。ステップS540で警告を出力したのち、S510に遷移し、再入力を受け付けることができる。なお、受付部520は、警告を無視する入力をユーザから受付けてもよく、そのような入力が受け付けれた場合、処理はステップS510へ遷移せずに終了してもよい。
[ハードウェア構成の説明]
 第5の実施形態のハードウェア構成は第2の実施形態で説明した入力支援システム200のハードウェア構成と同一であり動作の違いのみを以下に説明する。
 プロセッサ205は、メモリ204からソフトウェア(コンピュータプログラム)を読み出して実行することで、上述した警告部560の処理さらに行う。
[効果の説明]
 第5の実施形態では、これまで説明してきた実施形態に加えて、さらに、算出された特徴点とユーザが入力した特徴点を比較する。これにより、両者にあまりにも差があるような誤入力やユーザの持つ知見に間違いがあると判断されるような操作を判定し、警告を出力することが可能である。したがって、ユーザは、自身の入力が間違っているおそれがあるか知ることができ、より正確な特徴点及びバウンディングボックスの指定が可能になる。
[第6の実施形態]
 次に、第6の実施形態について説明する。第6の実施形態は、特定部がユーザの操作するポインタの移動方向から第1の位置及び第2の位置を特定する構成について具体的に説明する。以下、他の実施形態と異なる点について具体的に説明し、適宜重複する説明については省略する。
[構成の説明]
 図17は、第6の実施形態の入力支援システムの構成例を示すブロック図である。図17に示すように、入力支援システム600は、算出部310、受付部620、特定部630、表示制御部340及び、データベース350を備える。
 受付部620は、ユーザが入力装置を操作して、指定したい特徴点の位置へとポインタを移動させる操作を検知し、ポインタの移動方向を第1の入力(指定開始入力)として受け付ける。このとき、ユーザのポインタの操作が第1の入力か否か判断するための条件は、
1)ポインタが算出された特徴点から所定の距離以上離れている
2)ポインタの移動操作と同時に第1の入力であることを示す別の操作が同時に行われる
3)ユーザの操作により移動されるポインタの移動の加速度が閾値以上である
のいずれか一つ又はいずれか2つ以上を組み合わせて設定することができる。上記条件を採用することにより、ポインタの操作が、ユーザがポインタを次の特徴点へと移動させる操作であるか否かを判定できる。また、受付部620は、移動したポインタの位置を過去の位置に戻すことを指示する所定の入力とともに、ポインタの移動方向を第2の入力(戻し入力)として受け付けてもよい。
 特定部630は、受付部620が受け付けた第1の入力の入力時のポインタの位置とポインタの移動方向に基づいて、第1の位置を特定する。具体的には、特定部630は、第1の入力の受付け時のポインタの位置を探索の始点として、第1の入力として受付けられたポインタの移動方向に沿って特徴点を探索する。そして特定部630は、探索された特徴点であって第1の入力の受付け時のポインタの位置から最も近い特徴点の位置を第1の位置として特定する。このように、特定部630は、第1の入力時のポインタの位置と、ポインタの移動方向と、特徴点に関する位置に基づいて第1の位置を特定する。第1の入力を第1の位置の特定に用いることで、ユーザの直感的な操作から第1の位置を特定でき、より直感的な操作でユーザが特徴点を指定するための操作を支援することができる。
[動作の説明]
 次に、第6の実施形態にかかる入力支援システム600の動作についてフローチャートを参照して説明する。図18は、第6の実施形態にかかる入力支援システム600の動作の一例を示すフローチャートである。図18に示すように、ここで示されるフローチャートは、ステップS610からステップS630が新たに実行される点で、図9に示したフローチャートと異なっている。また、ステップS210からステップS240までの処理は、受付部320が行っていた処理を受付部620が行う点のみが異なるため説明を省略している。同様に、ステップS310からステップS370までの処理は、受付部320及び特定部330が行っていた処理を受付部620及び特定部630が行う点のみが異なるため説明を省略している。以下、図9に示したフローチャートと異なる点について説明する。
 受付部620は、ユーザがポインタを第1の入力として操作したか判定(ステップS610)し、第1の入力がされたと判断した場合、処理は次のステップS620へと遷移する。
 特定部630は、受付部620が第1の入力を受け付けた時点でのポインタの位置を取得する(ステップS620)。
 特定部630は、算出部310が算出した複数の特徴点の中から、移動方向の延長線上にあって、現在のポインタの位置(ステップS620で取得した位置)に最も近い特徴点の位置を第1の位置として特定する(ステップS630)。すなわち、特定部630は、現在のポインタの位置(ステップS620で取得した位置)を探索の始点として、ポインタの移動方向に沿って、算出部310により算出された特徴点を探索する。そして、特定部630は、探索された特徴点であって現在のポインタの位置から最も近い特徴点の位置を第1の位置として特定する。
 ステップS630の後、表示制御部340は、ポインタをステップS630にて特定された第1の位置へと移動させ(ステップS270)、フローが終了する。
[効果の説明]
 第6の実施形態では、ポインタの移動方向を第1の入力として受け付け、第1の入力を第1の位置の特定に用いることで、ユーザが指定したい特徴点をより直感的な操作によって特定することが可能となり操作性が向上する。
[第7の実施形態]
 次に、第7の実施形態について説明する。第7の実施形態は、表示制御部が、ポインタとポインタ周辺の画像とが拡大して表示されたウィンドウである視覚領域をさらに表示する点で上述した実施の形態と異なる。以下、他の実施形態と異なる点について具体的に説明し、適宜重複する説明については省略する。
[構成の説明]
 図19は、第7の実施形態の入力支援システムの構成例を示すブロック図である。図19に示すように、入力支援システム700は、算出部310、受付部320、特定部330、表示制御部740及び、データベース350を備える。
 表示制御部740は、上述した他の実施形態の表示制御部と同様の表示制御を行う。ただし、表示制御部740は、ポインタを第1の位置又は第2の位置に移動させた後に、ポインタとポインタ周辺の画像とを拡大して表示する視覚領域を表示する点で、上述した他の実施形態の表示制御部と異なる。視覚領域とは、例えば、図20に表示されるようにポインタ72の右上等のポインタ周辺に表示されるウィンドウであって、矩形で縁取られた領域73である。領域73は、入力画像70に重畳して表示される。ユーザは、領域73内に表示される拡大画像を見ながらポインタを操作することで、より正確に特徴点を指定することが可能となる。また、表示制御部740は、ポインタの位置が算出部310の算出した特徴点の位置から所定の範囲内である場合に、視覚領域を表示してもよい。例えば、算出された特徴点の位置から数ピクセル内にポインタがある場合に視覚領域を表示するよう設定してもよい。このようにすることで、ユーザが第1の入力又は第2の入力を行わずに自ら特徴点へとポインタを移動させた場合でも、視覚領域を表示することができる。
 さらに、表示制御部740は、算出部310で算出された特徴点から所定範囲内にポインタが存在する場合、ポインタの感度を特徴点から所定範囲外にポインタが存在する場合の感度より低くしてもよい。ポインタの感度とは、ユーザの操作量に対するポインタの移動量の比率のことである。すなわち、ポインタの感度を低くするとは、ユーザの操作量に対するポインタの移動量の比を小さくすることを意味する。ポインタの感度を低くすることで、ポインタを移動させるためのユーザの操作精度が向上し、正確な特徴点の指定が可能となる。
[動作の説明]
 次に、第7の実施形態にかかる入力支援システム700の動作について図21を用いて説明する。図21は、第7の実施形態にかかる入力支援システム700の動作の一例を示すフローチャートである。図21に示すように、表示制御部740が表示制御部340の動作に加えて、視覚領域を表示するステップS710とポインタの感度を変更するステップS720を処理する点が異なっており、その他の処理は図9と同様である。以下、図9に示したフローチャートと異なる点について説明する。
 表示制御部740は、ステップS270によってポインタを第1の位置へ移動させた後に、ポインタとポインタ周辺の画像を拡大して表示する視覚領域をポインタの右上に表示する(ステップS710)。表示制御部740が視覚領域を表示するタイミングは、ポインタの位置と算出部310が算出した特徴点の位置が所定の距離内である場合であればいつでもよい。したがって、例えば、ステップS370により第2の位置にポインタを表示させた後に、視覚領域の表示が実行されてもよい。このように、表示制御部740は、ポインタの位置と算出された特徴点に関する位置が所定距離内である場合に、入力画像に含まれる部分画像であってポインタの周辺の部分画像を拡大した画像を入力画像に重畳して表示する。
 表示制御部740は、ポインタを第1の位置又は第2の位置に移動させた後に、算出部310で算出された特徴点から所定範囲内にポインタが存在する場合、ポインタの感度を特徴点から所定範囲外にポインタが存在する場合の感度より低くする(ステップS720)。
[効果の説明]
 第7の実施形態では、ポインタの位置と算出された特徴点の位置が所定の距離内である場合に、表示制御部が視覚領域を表示する。これにより、ユーザはポインタとその周辺が拡大された画像を確認しながら特徴点をより正確に指定することが可能となる。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、各実施形態を組み合わせることができる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
 入力画像から特徴点に関する位置を算出する算出手段と、
 画面上に前記入力画像、およびユーザが操作するポインタを表示する表示制御手段と、
 前記ユーザから第1の入力を受け付ける受付手段と、
 前記算出手段により算出された前記特徴点に関する位置に基づいて第1の位置を特定する特定手段と、
 を有し、
 前記表示制御手段は、前記第1の入力を受け付けた場合に、前記第1の位置に前記ポインタを移動させる
 入力支援システム。
[付記2]
 前記特定手段は、さらにユーザが特徴点に関する位置を入力する順番に基づいて、前記第1の位置を特定する
 付記1に記載の入力支援システム。
[付記3]
 前記算出手段は、さらに、入力画像から、前記順番を算出する
 付記2に記載の入力支援システム。
[付記4]
 前記特定手段は、前記ポインタの位置と前記特徴点に関する位置に基づいて、前記第1の位置を特定する
 付記1に記載の入力支援システム。
[付記5]
 前記特定手段は、前記第1の入力時の前記ポインタの位置と、前記ポインタの移動方向と、前記特徴点に関する位置に基づいて前記第1の位置を特定する
 付記1に記載の入力支援システム。
[付記6]
 前記特定手段は、新たな前記第1の位置を特定するとともに第2の位置をさらに特定し、
 前記第2の位置は、前記新たな第1の位置よりも前に特定された前記第1の位置であり、
 前記表示制御手段は、前記ユーザから第2の入力を受け付けると、前記第2の位置に前記ポインタを移動させる
 付記1に記載の入力支援システム。
[付記7]
 前記特定手段は、ユーザが特徴点に関する位置を入力する順番にしたがって前記第1の位置を特定し、前記第1の位置の特定に用いられた前記順番とは逆の順番にしたがって、前記新たな第1の位置よりも一つ前の前記第1の位置を前記第2の位置として特定する
 付記6に記載の入力支援システム。
[付記8]
 前記特定手段は、前記算出手段で位置が算出された特徴点のうち、特徴点から所定の距離以内の領域においてユーザによる位置の指定が未だに行われていない特徴点に基づいて、前記第1の位置を特定する
 付記1に記載の入力支援システム。
[付記9]
 前記特定手段は、前記算出手段で位置が算出された特徴点のそれぞれに対して、前記算出手段により算出された位置とユーザにより指定される位置との差の推定値を算出し、前記算出手段で位置が算出された特徴点のうち、前記推定値が所定値以上となる特徴点に基づいて、前記第1の位置を特定する
 付記1に記載の入力支援システム。
[付記10]
 前記算出手段で算出された前記特徴点に関する位置と前記ユーザが入力した前記特徴点に関する位置とが、所定の距離以上離れている場合に警告を行う警告手段をさらに備える
 付記1乃至9のいずれか一つに記載の入力支援システム。
[付記11]
 前記特徴点に関する位置は、特徴点の位置である
 付記1乃至10のいずれか一つに記載の入力支援システム。
[付記12]
 前記特徴点に関する位置は、対象物を構成する特徴点を囲むバウンディングボックスの位置である
 付記1乃至10のいずれか一つに記載の入力支援システム。
[付記13]
 前記表示制御手段は、さらに前記特徴点の位置を表示する
 付記11に記載の入力支援システム。
[付記14]
 前記表示制御手段は、さらに前記バウンディングボックスを表示する
 付記12に記載の入力支援システム。
[付記15]
 前記表示制御手段は、前記ポインタの位置と前記特徴点に関する位置が所定距離内である場合に、前記入力画像に含まれる部分画像であって前記ポインタの周辺の部分画像を拡大した画像を前記入力画像に重畳して表示する
 付記1乃至14のいずれか一つに記載の入力支援システム。
[付記16]
 コンピュータが、
 入力画像から特徴点に関する位置を算出し、
 画面上に前記入力画像、およびユーザが操作するポインタを表示し、
 前記ユーザから第1の入力を受け付け、
 算出された前記特徴点に関する位置に基づいて第1の位置を特定し、
 前記第1の入力を受け付けた場合に、前記第1の位置に前記ポインタを移動する
 入力支援方法。
[付記17]
 コンピュータに、
 入力画像から特徴点に関する位置を算出する算出ステップと、
 画面上に前記入力画像、およびユーザが操作するポインタを表示する表示制御ステップと、
 前記ユーザから第1の入力を受け付ける受付ステップと、
 前記算出ステップで算出された前記特徴点に関する位置に基づいて第1の位置を特定する特定ステップと、
 を実行させ、
 前記表示制御ステップでは、前記第1の入力を受け付けた場合に、前記第1の位置に前記ポインタを移動させる
 プログラムが格納された非一時的なコンピュータ可読媒体。
20、30、40、70  入力画像
21、31a、31b  特徴点
22、32、42、72  ポインタ
41、43a、43b  バウンディングボックス
41a、41b  頂点
73  領域
100、200、300、400、500、600、700  入力支援システム
110、210、310、410  算出部
120、220、320、520、620  受付部
130、230、330、430、630  特定部
140、240、340、440、540、740  表示制御部
201  出力装置
202  入力装置
203  記憶装置
204  メモリ
205  プロセッサ
250、350  データベース
560  警告部

Claims (17)

  1.  入力画像から特徴点に関する位置を算出する算出手段と、
     画面上に前記入力画像、およびユーザが操作するポインタを表示する表示制御手段と、
     前記ユーザから第1の入力を受け付ける受付手段と、
     前記算出手段により算出された前記特徴点に関する位置に基づいて第1の位置を特定する特定手段と、
     を有し、
     前記表示制御手段は、前記第1の入力を受け付けた場合に、前記第1の位置に前記ポインタを移動させる
     入力支援システム。
  2.  前記特定手段は、さらにユーザが特徴点に関する位置を入力する順番に基づいて、前記第1の位置を特定する
     請求項1に記載の入力支援システム。
  3.  前記算出手段は、さらに、入力画像から、前記順番を算出する
     請求項2に記載の入力支援システム。
  4.  前記特定手段は、前記ポインタの位置と前記特徴点に関する位置に基づいて、前記第1の位置を特定する
     請求項1に記載の入力支援システム。
  5.  前記特定手段は、前記第1の入力時の前記ポインタの位置と、前記ポインタの移動方向と、前記特徴点に関する位置に基づいて前記第1の位置を特定する
     請求項1に記載の入力支援システム。
  6.  前記特定手段は、新たな前記第1の位置を特定するとともに第2の位置をさらに特定し、
     前記第2の位置は、前記新たな第1の位置よりも前に特定された前記第1の位置であり、
     前記表示制御手段は、前記ユーザから第2の入力を受け付けると、前記第2の位置に前記ポインタを移動させる
     請求項1に記載の入力支援システム。
  7.  前記特定手段は、ユーザが特徴点に関する位置を入力する順番にしたがって前記第1の位置を特定し、前記第1の位置の特定に用いられた前記順番とは逆の順番にしたがって、前記新たな第1の位置よりも一つ前の前記第1の位置を前記第2の位置として特定する
     請求項6に記載の入力支援システム。
  8.  前記特定手段は、前記算出手段で位置が算出された特徴点のうち、特徴点から所定の距離以内の領域においてユーザによる位置の指定が未だに行われていない特徴点に基づいて、前記第1の位置を特定する
     請求項1に記載の入力支援システム。
  9.  前記特定手段は、前記算出手段で位置が算出された特徴点のそれぞれに対して、前記算出手段により算出された位置とユーザにより指定される位置との差の推定値を算出し、前記算出手段で位置が算出された特徴点のうち、前記推定値が所定値以上となる特徴点に基づいて、前記第1の位置を特定する
     請求項1に記載の入力支援システム。
  10.  前記算出手段で算出された前記特徴点に関する位置と前記ユーザが入力した前記特徴点に関する位置とが、所定の距離以上離れている場合に警告を行う警告手段をさらに備える
     請求項1乃至9のいずれか一項に記載の入力支援システム。
  11.  前記特徴点に関する位置は、特徴点の位置である
     請求項1乃至10のいずれか一項に記載の入力支援システム。
  12.  前記特徴点に関する位置は、対象物を構成する特徴点を囲むバウンディングボックスの位置である
     請求項1乃至10のいずれか一項に記載の入力支援システム。
  13.  前記表示制御手段は、さらに前記特徴点の位置を表示する
     請求項11に記載の入力支援システム。
  14.  前記表示制御手段は、さらに前記バウンディングボックスを表示する
     請求項12に記載の入力支援システム。
  15.  前記表示制御手段は、前記ポインタの位置と前記特徴点に関する位置が所定距離内である場合に、前記入力画像に含まれる部分画像であって前記ポインタの周辺の部分画像を拡大した画像を前記入力画像に重畳して表示する
     請求項1乃至14のいずれか一項に記載の入力支援システム。
  16.  コンピュータが、
     入力画像から特徴点に関する位置を算出し、
     画面上に前記入力画像、およびユーザが操作するポインタを表示し、
     前記ユーザから第1の入力を受け付け、
     算出された前記特徴点に関する位置に基づいて第1の位置を特定し、
     前記第1の入力を受け付けた場合に、前記第1の位置に前記ポインタを移動する
     入力支援方法。
  17.  コンピュータに、
     入力画像から特徴点に関する位置を算出する算出ステップと、
     画面上に前記入力画像、およびユーザが操作するポインタを表示する表示制御ステップと、
     前記ユーザから第1の入力を受け付ける受付ステップと、
     前記算出ステップで算出された前記特徴点に関する位置に基づいて第1の位置を特定する特定ステップと、
     を実行させ、
     前記表示制御ステップでは、前記第1の入力を受け付けた場合に、前記第1の位置に前記ポインタを移動させる
     プログラムが格納された非一時的なコンピュータ可読媒体。
PCT/JP2022/040318 2022-10-28 2022-10-28 入力支援システム、入力支援方法及び非一時的なコンピュータ可読媒体 WO2024089868A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/040318 WO2024089868A1 (ja) 2022-10-28 2022-10-28 入力支援システム、入力支援方法及び非一時的なコンピュータ可読媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/040318 WO2024089868A1 (ja) 2022-10-28 2022-10-28 入力支援システム、入力支援方法及び非一時的なコンピュータ可読媒体

Publications (1)

Publication Number Publication Date
WO2024089868A1 true WO2024089868A1 (ja) 2024-05-02

Family

ID=90830403

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/040318 WO2024089868A1 (ja) 2022-10-28 2022-10-28 入力支援システム、入力支援方法及び非一時的なコンピュータ可読媒体

Country Status (1)

Country Link
WO (1) WO2024089868A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108268A (ja) * 1991-10-11 1993-04-30 Kobe Nippon Denki Software Kk カーソル移動装置
JPH05314232A (ja) * 1992-05-12 1993-11-26 Toshiba Corp 図形作成装置
JP2003519558A (ja) * 2000-01-14 2003-06-24 株式会社ソニー・コンピュータエンタテインメント 感圧手段からの出力に応じて画像の拡大、縮小及び形状変化処理を行う電子機器、その方法及び該方法を記録した記録媒体
JP2007279776A (ja) * 2004-07-23 2007-10-25 Matsushita Electric Ind Co Ltd Cgキャラクタエージェント装置
JP2009075846A (ja) * 2007-09-20 2009-04-09 Fujifilm Corp 輪郭抽出装置及びプログラム
KR20140018643A (ko) * 2012-08-03 2014-02-13 한국과학기술원 커서 이동 경향을 이용한 객체 선택방법 및 이를 위한 제어장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108268A (ja) * 1991-10-11 1993-04-30 Kobe Nippon Denki Software Kk カーソル移動装置
JPH05314232A (ja) * 1992-05-12 1993-11-26 Toshiba Corp 図形作成装置
JP2003519558A (ja) * 2000-01-14 2003-06-24 株式会社ソニー・コンピュータエンタテインメント 感圧手段からの出力に応じて画像の拡大、縮小及び形状変化処理を行う電子機器、その方法及び該方法を記録した記録媒体
JP2007279776A (ja) * 2004-07-23 2007-10-25 Matsushita Electric Ind Co Ltd Cgキャラクタエージェント装置
JP2009075846A (ja) * 2007-09-20 2009-04-09 Fujifilm Corp 輪郭抽出装置及びプログラム
KR20140018643A (ko) * 2012-08-03 2014-02-13 한국과학기술원 커서 이동 경향을 이용한 객체 선택방법 및 이를 위한 제어장치

Similar Documents

Publication Publication Date Title
CN108571974B (zh) 使用摄像机的车辆定位
US11468753B2 (en) Intrusion detection system, intrusion detection method, and computer-readable medium
CN111695402B (zh) 用于标注3d点云数据中人体姿态的工具和方法
CN108876934B (zh) 关键点标注方法、装置和系统及存储介质
WO2019037489A1 (zh) 地图显示方法、装置、存储介质及终端
US9410818B2 (en) Navigation device
US20210329175A1 (en) Image processing system, image processing method, and program
JP2008250999A (ja) 対象物追跡方法、対象物追跡装置および対象物追跡プログラム
US10235607B2 (en) Control device, control method, and computer program product
US11030821B2 (en) Image display control apparatus and image display control program
JP6515704B2 (ja) 車線検出装置及び車線検出方法
US10185399B2 (en) Image processing apparatus, non-transitory computer-readable recording medium, and image processing method
JP2007163864A (ja) 表示制御装置、表示制御方法、表示制御プログラム、および表示制御プログラム記録媒体
US11508150B2 (en) Image processing apparatus and method of controlling the same
CN114194180A (zh) 一种辅助泊车信息的确定方法、装置、设备及介质
US20240189044A1 (en) Virtual interaction with instruments in augmented reality
JP6638527B2 (ja) 車両用装置、車両用プログラム
JP2009217448A (ja) 画像情報を用いた人物追跡システム
WO2024089868A1 (ja) 入力支援システム、入力支援方法及び非一時的なコンピュータ可読媒体
WO2015005102A1 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP2017016474A (ja) 障害物検出装置、及び、障害物検出方法
JP2010262478A (ja) 車両制御システム及び安全確認判定装置
CN114518106A (zh) 高精度地图垂向要素更新检测方法、系统、介质及设备
JP2009044631A (ja) 物体検出装置
JP2009171369A (ja) 画像データ処理装置及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22963515

Country of ref document: EP

Kind code of ref document: A1