Optimal viewpoint position estimation device, optimal viewpoint position estimation method, and optimal viewpoint position estimation program
The optimal viewpoint position estimation device and method address the limitation of single-object detection by estimating optimal viewpoints for multiple gaze objects, enhancing intuitive navigation in virtual spaces.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- NIPPON TELEGRAPH & TELEPHONE CORP
- Filing Date
- 2022-12-14
- Publication Date
- 2026-06-02
AI Technical Summary
Existing techniques for detecting objects in a virtual space can only identify a single object, failing to support intuitive movement by estimating optimal viewpoints for multiple objects within a user's line-of-sight area.
An optimal viewpoint position estimation device and method that includes a gaze measurement unit, area object detection unit, and optimal viewpoint position estimation unit to detect and estimate the optimal viewpoint position for multiple gaze objects, considering their attributes and overlap in the virtual space.
Enables intuitive movement in a virtual space by detecting multiple objects within the user's line-of-sight and estimating the optimal viewpoint position, reducing user burden in navigating the virtual environment.
Smart Images

Figure 0007868695000001 
Figure 0007868695000002 
Figure 0007868695000003
Abstract
Description
Technical Field
[0001] The present invention relates to an optimal viewpoint position estimation device, an optimal viewpoint position estimation method, and an optimal viewpoint position estimation program.
Background Art
[0002] In a virtual space, it is difficult to intuitively move one's viewpoint as in the real space. Patent Document 1 discloses a technique for detecting an object that a user is gazing at in a virtual space. Hereinafter, for convenience, an object that a user is gazing at will be simply referred to as a gazed object.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In order to more intuitively move in a virtual space, it is conceivable to detect an object within the line-of-sight area and estimate an optimal viewpoint position for the user to overlook the gazed object. The technique for detecting an object described in the above-mentioned Patent Document 1 can find one object, but cannot detect a plurality of objects at the same time.
[0005] The present invention has been made paying attention to the above circumstances, and an object thereof is to provide an optimal viewpoint position estimation device, an optimal viewpoint position estimation method, and an optimal viewpoint position estimation program that detect an object within the line-of-sight area and estimate an optimal viewpoint position for the user to overlook the gazed object.
Means for Solving the Problems
[0006] One aspect of the present invention is an optimal viewpoint position estimation device. The optimal viewpoint position estimation device comprises a gaze measurement unit, an area object detection unit, and an optimal viewpoint position estimation unit. The gaze measurement unit measures the user's gaze information and converts it into the user's gaze information in a virtual space. The area object detection unit detects objects within the gaze area of the avatar being operated by the user from the user's gaze information in the virtual space received from the gaze measurement unit. The optimal viewpoint position estimation unit receives the object detection result input from the area object detection unit. Among them, the object that the user focuses on. Based on the attribute information of multiple gaze objects, the system estimates the optimal viewpoint position for the user to view multiple gaze objects through their avatar, taking into account how the gaze objects appear from the front and how they overlap in the direction of the gaze.
[0007] One aspect of the present invention is an optimal viewpoint position estimation method. The optimal viewpoint position estimation method includes the steps of measuring the user's gaze information and converting it into the user's gaze information in a virtual space, detecting objects within the gaze area of the avatar being operated by the user from the user's gaze information in the virtual space, and the object detection result Among them, the object that the user focuses on. The process includes the step of estimating the optimal viewpoint position for the user to view multiple gaze objects through an avatar, based on the attribute information of multiple gaze objects, the frontal view of the multiple gaze objects, and the overlap of the multiple gaze objects in the direction of the line of sight.
[0008] One aspect of the present invention is an optimal viewpoint position estimation program. The optimal viewpoint position estimation program causes a computer having a processor and a memory device to perform at least some of the functions of the components of the optimal viewpoint position estimation device described above. [Effects of the Invention]
[0009] According to the present invention, an optimal viewpoint position estimation device, an optimal viewpoint position estimation method, and an optimal viewpoint position estimation program are provided that detect objects within a line of sight area and estimate the optimal viewpoint position for the user to view the object they are fixated on. [Brief explanation of the drawing]
[0010] [Figure 1] Figure 1 is a block diagram showing the functional configuration of the optimal viewpoint position estimation device according to an embodiment. [Figure 2] Figure 2 is a block diagram showing the hardware configuration of the computer that makes up the optimal viewpoint position estimation device shown in Figure 1. [Figure 3] Figure 3 is a flowchart showing the processing flow performed by the optimal viewpoint position estimation device shown in Figure 1. [Figure 4] Figure 4 shows an example of multiple objects being watched by the object detection unit within the area shown in Figure 1. [Figure 5] Figure 5 shows an example of a circle with the centroid shown in Figure 4 as its center, and the viewpoint position set on its circumference. [Figure 6] Figure 6 shows another example of a circle with the centroid shown in Figure 4 as its center, and the viewpoint position set on its circumference. [Figure 7] Figure 7 illustrates the calculation of the score for the viewpoint position on the circumference of a circle in a plane parallel to the xz plane. [Figure 8] Figure 8 shows how the target avatar is moved to the optimal viewpoint position by the viewpoint position movement unit in Figure 1. [Modes for carrying out the invention]
[0011] Embodiments of the present invention will be described below with reference to the drawings.
[0012] (Functional Configuration) First, referring to FIG. 1, the functional configuration of the optimal viewpoint position estimation apparatus according to the embodiment will be described. FIG. 1 is a block diagram showing the functional configuration of the optimal viewpoint position estimation apparatus according to the embodiment. As an example, an example of detecting a plurality of objects from the user's gaze information and estimating an optimal viewpoint position for the user to overlook the gazed object will be described. In this example, further, the estimated optimal viewpoint position is moved to the user's viewpoint in the virtual space, that is, the viewpoint of the avatar of the user's operation target, and the viewpoint direction is also adjusted.
[0013] The optimal viewpoint position estimation apparatus 10 includes a gaze measurement unit 11, a virtual space management unit 12, a space / object database (DB) 13, an in-area object detection unit 14, an optimal viewpoint position estimation unit 15, and a viewpoint position movement unit 16.
[0014] The gaze measurement unit 11 is a functional unit that measures the user's gaze information, converts it into the user's gaze information in the virtual space, that is, the gaze information of the avatar of the user's operation target, and outputs it to the in-area object detection unit 14. The gaze information has viewpoint coordinates and a gaze direction vector.
[0015] The virtual space management unit 12 is a functional unit that controls the display of the virtual space, objects, and avatars, and the movements of the avatar and objects as inputs of the user's operations. Further, the virtual space management unit 12 can register / del register the information of the virtual space, avatar, and objects in / from the space / object DB 13, and read / write the attribute information (ID, type, coordinate position, etc.) of each record (virtual space, avatar, and object).
[0016] The space / object DB 13 is a database in which the information of the virtual space, avatar, and objects is stored.
[0017] The in - area object detection unit 14 is a functional unit that receives the user's line - of - sight information on the virtual space from the line - of - sight measurement unit 11 and detects objects within the line - of - sight area of the avatar that is the user's operation target from the virtual space management unit 12 based on the user's line - of - sight information on the virtual space. For example, the in - area object detection unit 14 calculates the coordinates where the avatar's line of sight intersects an object (field, installed object, avatar, etc.) on the virtual space from the line - of - sight information (viewpoint position and line - of - sight vector) input from the line - of - sight measurement unit 11, and detects objects within r meters from the intersection coordinates or the maximum s objects close to the intersection coordinates from the virtual space management unit 12. r and s can be arbitrary parameters. Also, the in - area object detection unit 14 outputs the object detection result, the ID of the target avatar, and the type / label of the gazed - at object to the optimal viewpoint position estimation unit 15.
[0018] The optimal viewpoint position estimation unit 15 is a functional unit that estimates the optimal viewpoint position for the user to overlook the gazed - at object through the avatar based on the object detection result, the ID of the target avatar, and the type / label of the gazed - at object input from the in - area object detection unit 14. For example, the optimal viewpoint position estimation unit 15 classifies the detected multiple objects into gazed - at objects and non - gazed - at objects based on the type / label of the gazed - at object, evaluates the score of the viewpoint position, and sets the viewpoint position with the highest score as the optimal viewpoint position. The optimal viewpoint position estimation unit 15 outputs the estimated optimal viewpoint position to the viewpoint position movement unit 16.
[0019] The viewpoint position movement unit 16 is a functional unit that instructs the virtual space management unit 12 to move the viewpoint of the avatar that is the user's operation target to the optimal viewpoint position input from the optimal viewpoint position estimation unit 15 and adjust the line - of - sight direction of the avatar.
[0020] (Hardware Configuration) Next, the hardware configuration of the optimal viewpoint position estimation device 10 will be described. Here, an example in which the optimal viewpoint position estimation device 10 is composed of a computer 20 will be described.
[0021] Figure 2 shows the hardware configuration of the computer 20 that constitutes the optimal viewpoint position estimation device 10. The computer 20 has a processor 21, a ROM (Read Only Memory) 22, a RAM (Random Access Memory) 23, an auxiliary storage device 24, and an input / output interface 25.
[0022] The processor 21, ROM 22, RAM 23, auxiliary storage device 24, and input / output interface 25 are electrically connected to each other via a bus 26, and data is exchanged via the bus 26.
[0023] The processor 21 is composed of a general-purpose hardware processor, such as a CPU (Central Processing Unit) or a GPU (Graphical Processing Unit). The processor 21 controls the entirety of the ROM 22, RAM 23, auxiliary storage device 24, and input / output interface 25.
[0024] ROM22 is a non-volatile memory that constitutes part of the main memory. ROM22 non-temporarily stores the startup program required when the processor 21 starts up. The processor 21 starts up by executing the program in ROM22. ROM22 is composed of, for example, EPROM (Erasable Programmable Read Only Memory) and stores various startup settings in addition to the startup program.
[0025] RAM23 is a volatile memory that constitutes part of the main memory. RAM23 temporarily stores the program necessary for processing by the processor 21 and the data necessary for executing the program. The processor 21 executes the program in RAM23, performs calculations on the data in RAM23, and stores the calculation results in RAM23.
[0026] The auxiliary storage device 24 consists of non-volatile memory such as an HDD (Hard Disk Drive) or SSD (Solid State Drive). The auxiliary storage device 24 non-temporarily stores programs executed by the processor 21 and the data necessary for program execution. The processor 21 reads the programs and data from the auxiliary storage device 24 into the RAM 23 and executes various functions by running the programs. In addition, the auxiliary storage device 24 (and RAM 23) constitute the spatial / object DB 13.
[0027] The input / output interface 25 is connected to external input devices 31 and output devices 32, etc., enabling the input of information from the input device 31 and the output of information to the output device 32. For example, the input / output interface 25 may be a wired interface or a wireless interface. A wired interface includes ports to which the device is connected. A wireless interface includes Bluetooth®, WiFi®, etc.
[0028] The input device 31 may include a keyboard, mouse, touch panel, receiver, disk drive, etc. The input device 31 is not limited to these and may include any other input device. The output device 32 may include a display, transmitter, disk drive, etc. The output device 32 is not limited to these and may include any other output device. The input device 31 and the output device 32 may be combined into an input / output device 33 that has the functions of both.
[0029] A program stored non-temporarily in the auxiliary storage device 24 is provided to the computer 20, for example, via a recording medium 34 that is readable by the computer 20 on which the program was stored non-temporarily. Such a recording medium 34 is called a non-temporarily computer-readable recording medium. Non-temporarily computer-readable recording media include disks such as flexible disks, optical disks (CD-ROM, CD-R, DVD-ROM, DVD-R, etc.), magneto-optical disks (MO, etc.), and semiconductor memory.
[0030] The program stored non-temporarily in the auxiliary storage device 24 includes an optimal viewpoint position estimation program. The optimal viewpoint position estimation program is a program that causes the computer 20 to execute at least some of the functions of the components of the optimal viewpoint position estimation device 10.
[0031] Programs stored non-temporarily in the auxiliary storage device 24 are read into and non-temporarily stored in the auxiliary storage device 24 via the input device 31, which is a disk drive, and the input / output interface 25, if the recording medium 34 is a disk, or via the input / output interface 25, which is a port, if the recording medium 34 is semiconductor memory. Alternatively, the program may be stored on a server on a network, downloaded from the server, and non-temporarily stored in the auxiliary storage device 24.
[0032] When the computer 20 starts up, the processor 21 executes a program in the ROM 22 and loads the OS into the RAM 23 to start up. Under the control of the OS, the processor 21 monitors instruction inputs and the connection of external devices. Also, under the control of the OS, the processor 21 sets up a program area and a data area in the RAM 23. In response to an instruction input to start the optimal viewpoint position estimation device 10, the processor 21 loads the optimal viewpoint position estimation program from the auxiliary storage device 24 into the program area of the RAM 23, and also loads the data necessary for executing the optimal viewpoint position estimation program from the auxiliary storage device 24 into the data area of the RAM 23. The processor 21 calculates the data in the data area according to the optimal viewpoint position estimation program and writes the calculation results to the data area. Through these operations, the processor 21, RAM 23, auxiliary storage device 24, input / output interface 25, and bus 26 work together to perform at least some of the functions of the components of the optimal viewpoint position estimation device 10.
[0033] (Processing for estimating the optimal viewpoint position) Next, with reference to Figure 3, the process of optimal viewpoint position estimation performed by the optimal viewpoint position estimation device will be described. Figure 3 is a flowchart showing the flow of the optimal viewpoint position estimation process performed by the optimal viewpoint position estimation device according to the embodiment.
[0034] In step S1, the gaze measurement unit 11 measures the user's gaze information and calculates the viewpoint coordinates and gaze direction vector in the virtual space. The gaze measurement unit 11 is a functional unit that outputs the calculated viewpoint coordinates and gaze direction vector to the area object detection unit 14.
[0035] In step S2, the area object detection unit 14 detects objects within the line of sight area of the avatar being controlled by the user, based on the user's line of sight information in the virtual space. For example, the area object detection unit 14 calculates the intersection of the avatar's line of sight (a straight line extending in the direction of the line of sight starting from the viewpoint position) in the virtual space, and detects all objects within a radius of r meters from the coordinates of that intersection point. Here, r is a parameter that can be set arbitrarily. Alternatively, the area object detection unit 14 may detect up to s objects close to the intersection coordinates. Here, s is a parameter that can be set arbitrarily. The area object detection unit 14 outputs the object detection results, the ID of the target avatar, and the type / label of the object being gazed upon to the optimal viewpoint position estimation unit 15.
[0036] In step S3, the optimal viewpoint position estimation unit 15 selects objects to be focused on from among the objects input from the area object detection unit 14 based on the object type / label information. For example, the optimal viewpoint position estimation unit 15 may designate objects of any type / label as objects to be focused on and other objects as occluders.
[0037] In step S4, the optimal viewpoint position estimation unit 15 calculates a score for the viewpoint position overlooking the selected gaze objects. The calculation of the score will be described later.
[0038] In step S5, the optimal viewpoint position estimation unit 15 determines whether there are multiple viewpoint positions with the highest score. If there are multiple viewpoint positions with the highest score, in step S6, the optimal viewpoint position estimation unit 15 selects one viewpoint position and estimates it as the optimal viewpoint position. If there are no multiple viewpoint positions with the highest score, a unique viewpoint is determined, which is estimated as the optimal viewpoint position, and the process in step S6 is skipped, proceeding to step S7. The optimal viewpoint position estimation unit 15 outputs the estimated optimal viewpoint position to the viewpoint position movement unit 16.
[0039] In step S7, the viewpoint position movement unit 16 moves the user's viewpoint in the virtual space, in other words, the viewpoint of the avatar that the user is controlling, to the optimal viewpoint position, and also adjusts the direction of the gaze. The movement may be performed immediately, or it may be performed after the user's confirmation action (such as touching the screen or nodding).
[0040] (Calculation of score) The calculation of the score will be explained below. Here, as an example, we will explain assuming that three gaze objects O1, O2, and O3 are detected by the area object detection unit 14, as shown in Figure 4.
[0041] First, the optimal viewpoint position estimation unit 15 calculates the centroid Cg(x,y,z) of the positions of the gaze objects O1, O2, and O3. The gaze objects O1, O2, and O3 are assumed to have forward direction vectors Vf1, Vf2, and Vf3, respectively, as shown in Figure 5. The direction of the sum vector Vs of the forward direction vectors Vf1, Vf2, and Vf3 of the gaze objects O1, O2, and O3 is defined as the inclination direction of the circle M.
[0042] Circle M is a circle centered at the centroid Cg, and the viewpoint position X is set on its circumference. The radius of circle M is calculated using the distance between the center of circle M and the gaze objects O1, O2, and O3. For example, the radius of circle M may be twice the average distance, or it may be the maximum distance plus any number.
[0043] If there is no information about the front direction for the gazed objects O1, O2, and O3, the circle M may be a circle on a plane parallel to the xz plane, as shown in Figure 6. Alternatively, any direction may be set as the front of each gazed object.
[0044] The viewpoint position X is defined as a point on the circumference of a circle M centered at the centroid Cg, and the viewpoint position X is considered to be looking at the center of circle M, i.e., the centroid Cg. In other words, the line of sight is the direction from viewpoint position X towards the center of circle M, i.e., the centroid Cg. For each viewpoint position X on the circumference, a score P is calculated for each viewpoint position X based on whether the fronts of the gaze objects O1, O2, and O3 are visible, whether there is an obstruction between viewpoint position X and the center of circle M, i.e., the centroid Cg, and whether the gaze objects O1, O2, and O3 overlap in the line of sight. In the following, for convenience, the calculation of the score P will be explained assuming that circle M is a circle on a plane parallel to the xz plane, as shown in Figure 7.
[0045] (Bonus points A: Can you see the front of the object being focused on?) The score P is awarded based on how clearly the frontal views of the objects O1, O2, and O3 are visible. The better the frontal views of the objects O1, O2, and O3 are visible, the higher the score P will be. Starting from the center of circle M, i.e., the centroid Cg, let S be the intersection of the line extending in the direction of the sum vector Vs of the frontal direction vectors Vf1, Vf2, and Vf3 with the circumference of circle M. Let S' be the intersection of the line extending in the opposite direction of the sum vector Vs starting from the centroid Cg with the circumference of circle M. The score P is maximized at intersection S, decreases as you move away from intersection S, and minimized at intersection S'. For example, the score A is given by A = acosα, where a is an arbitrary constant (the weight of the score A), and α is the angle between the line connecting the centroid Cg and intersection S and the line connecting the centroid Cg and viewpoint position X. More specifically, α is the angle between the sum vector Vs and the vector in the opposite direction of the line of sight. The addition point A reaches its maximum value a at intersection S and its minimum value -a at intersection S'. If the front direction vector is unknown, the addition point may be omitted, or any direction may be considered the front.
[0046] (Deduction B: Is there an obstruction?) Score P is reduced if there is an obstruction Os between the viewpoint position X and the centroid Cg. Let the number of obstructions be n. In Figure 7, the range between lines Lsr and Lsl corresponds to this case. Since the surrounding area may also be affected, points are also reduced in the range of +θ outside lines Lsr and Lsl. In Figure 7, points are reduced in the range Rs. For example, the reduction B is given by B = -bn, where b is an arbitrary constant (the weight of the reduction B).
[0047] (Deduction C: Do the objects being focused on overlap?) Score P is reduced if the gaze objects O1, O2, and O3 overlap in the line of sight. That is, score P is reduced if multiple gaze objects O1, O2, and O3 lie on the line connecting the viewpoint position X and the centroid Cg. Let the number of overlapping gaze objects be m. In Figure 7, the range between lines Lor and Lol corresponds to this case. Also, since the surrounding area may be affected, points are reduced in the range of +θ outside lines Lor and Lol. In Figure 7, score P is reduced in the range of Ro. For example, the deduction point C is set as C = -cm, where c is an arbitrary constant (the weight of the deduction point C).
[0048] (Score P) Based on the above, the score P can be expressed as P = acosα - bn - cm. The viewpoint position X with the highest score P is estimated to be the optimal viewpoint position. As mentioned above, if there are multiple viewpoint positions with the highest score P, in step S6, one viewpoint position is selected from those viewpoint positions and estimated to be the optimal viewpoint position. In Figure 7, viewpoint position N is close to the intersection S, there is no obstruction Os between it and the centroid Cg, and the gaze objects O1, O2, and O3 do not overlap in the viewing direction, making it the optimal viewpoint position.
[0049] As mentioned above, in step S7, the viewpoint position movement unit 16 moves the viewpoint position of the avatar being controlled by the user to the optimal viewpoint position, and also adjusts the direction of the avatar's gaze. Figure 8 shows how the viewpoint position movement unit 16 moves the target avatar A to the optimal viewpoint position and also adjusts the direction of the target avatar A's gaze.
[0050] Here, we have described an example where multiple (three) objects of focus are included among multiple objects detected by the area object detection unit 14. However, there are also cases where only one object of focus is included among multiple objects. In this case, it is not necessary to consider the overlap of the objects of focus, so the score P is simplified to P = acosα - bn. Furthermore, there are also cases where all of the multiple objects detected by the area object detection unit 14 are objects of focus. In this case, it is not necessary to consider occlusions, so the score P is simplified to P = acosα - cm. Moreover, there are also cases where only one object of focus is detected by the area object detection unit 14. In this case, it is not necessary to consider the overlap of the objects of focus or occlusions, so the score P is simplified to P = acosα.
[0051] (effect) The embodiment detects objects within the line of sight of the user's controlled avatar and estimates the optimal viewpoint position for the user to view the objects through the avatar. Furthermore, it moves the viewpoint of the user's controlled avatar to the optimal viewpoint position and adjusts the avatar's line of sight direction. This reduces the burden on the user in finding the optimal viewpoint position and moving the avatar.
[0052] As described above, according to the embodiment, an optimal viewpoint position estimation device, an optimal viewpoint position estimation method, and an optimal viewpoint position estimation program are provided that detect objects within the line of sight area of an avatar controlled by the user and estimate the optimal viewpoint position for the user to view the object through the avatar.
[0053] In the embodiment described, the optimal viewpoint position estimation device 10 is composed of a computer having a processor and a memory device, the memory device stores the optimal viewpoint position estimation program, and the processor executes the optimal viewpoint position estimation program to estimate the optimal viewpoint position for the user to view the object of focus. However, the optimal viewpoint position estimation program may cause the processor to execute a part of the functions of the optimal viewpoint position estimation device 10, that is, it may be used in combination with a program already recorded in the computer to cause the processor to execute the functions of the optimal viewpoint position estimation device 10. Alternatively, the optimal viewpoint position estimation program may be used in combination with hardware such as a PLD (Programmable Logic Device), FPGA (Field Programmable Gate Array), or GPU (Graphic Processing Unit) to cause the processor to execute the functions of the optimal viewpoint position estimation device 10.
[0054] Embodiments of the present invention have been described above with reference to the drawings. However, the above embodiments are merely examples of configurations that embody the present invention. In other words, it is clear that the present invention is not limited to the above embodiments. Therefore, additions, omissions, substitutions, and other modifications of components are permitted without departing from the technical spirit of the present invention.
[0055] In short, the present invention is not limited to the embodiments described above, and can be modified in various ways during implementation without departing from its essence. Furthermore, each embodiment may be combined as appropriate, and in that case, the combined effects can be obtained. Moreover, the above embodiments include various inventions, and various inventions can be extracted by selecting combinations from the multiple constituent elements disclosed. For example, if the problem can be solved and effects obtained even if some constituent elements are deleted from all the constituent elements shown in the embodiment, then the configuration with these deleted constituent elements can be extracted as an invention. [Explanation of Symbols]
[0056] 10…Optimal viewpoint position estimation device 11…Eye-tracking unit 12…Virtual Space Management Department 13…Spatial / Object Databases 14... Area object detection unit 15...Optimal viewpoint position estimation unit 16... Viewpoint position movement section 20… Computers 21… Processor 22…ROM 23…RAM 24…Auxiliary storage device 25… Input / Output Interface 26... Bus 31…Input device 32…Output device 33… Input / Output Devices 34…Recording media
Claims
1. A gaze measurement unit that measures the user's gaze information and converts it into the user's gaze information in a virtual space, An area object detection unit detects objects within the gaze area of the avatar being operated by the user, based on the user's gaze information in the virtual space received from the gaze measurement unit, The system includes an optimal viewpoint position estimation unit that estimates the optimal viewpoint position for the user to view the multiple objects through the avatar, based on the attribute information of multiple objects that the user is fixated on, which are among the object detection results input from the area object detection unit, and based on the front view of the multiple objects and the overlap of the multiple objects in the line of sight direction. Optimal viewpoint position estimation device.
2. The system further includes a viewpoint position movement unit that moves the viewpoint of the avatar to the optimal viewpoint position estimated by the optimal viewpoint position estimation unit, The optimal viewpoint position estimation device according to claim 1.
3. The area object detection unit calculates the coordinates where the avatar's line of sight intersects with the object in the virtual space from the line of sight information of the line of sight measurement unit, and detects the object within a radius r meters from the intersection coordinates. The optimal viewpoint position estimation device according to claim 2.
4. The area object detection unit calculates the coordinates where the avatar's gaze intersects with the objects in the virtual space from the gaze information of the gaze measurement unit, and detects up to s objects closest to those intersection coordinates. The optimal viewpoint position estimation device according to claim 2.
5. The optimal viewpoint position estimation unit sorts the detected multiple objects into gaze objects and non-gaze objects based on the type of object, evaluates the score of each viewpoint position, and estimates the viewpoint position with the highest score as the optimal viewpoint position. The optimal viewpoint position estimation device according to claim 2.
6. The optimal viewpoint position estimation unit determines the viewpoint position as a point on the circumference of a unique circle based on the positional relationship of the objects being watched, adds points to the score for each viewpoint position according to how the front of the objects being watched is visible, subtracts points from the score if there is an obstruction between the viewpoint position and the center of the circle, and subtracts points from the score if the objects being watched overlap in the line of sight from the viewpoint position toward the center of the circle. The optimal viewpoint position estimation device according to claim 5.
7. The steps include measuring the user's gaze information and converting it into the user's gaze information in a virtual space, The steps include detecting objects within the line of sight area of the avatar being operated by the user from the user's line of sight information in the virtual space, The method includes the step of estimating the optimal viewpoint position for the user to view the multiple objects through the avatar, based on the attribute information of multiple objects that the user is fixated on among the object detection results, and based on the front view of the multiple objects and the overlap of the multiple objects in the line of sight. Method for estimating the optimal viewpoint position.
8. A computer having a processor and memory, To perform at least some of the functions of the components of the optimal viewpoint position estimation device described in claim 1, Optimal viewpoint position estimation program.