Star tracker, star position calculation method and program
Patent Information
- Application Number
- JP2022018038
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-02-08
- Publication Date
- 2025-02-12
- Estimated Expiration
- 2042-02-08
AI Technical Summary
Conventional star position calculation methods in star trackers require a large number of memory accesses and computational load, which is inefficient.
A star tracker system that determines an extraction range for partial image processing based on peak pixel luminance values, temperature, and position, reducing computational load by optimizing filter sizes for noise reduction.
The system reduces computational load and improves accuracy by minimizing noise influence in star position calculations, enabling faster and more precise star identification.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0004] , , , , , , , , , , , ,
[0005] , , , , , , , , ,
[0003]
[0001] The present invention relates to a star tracker, a star position calculation method, and a program.
Background Art
[0002] Artificial satellites and space probes (hereinafter referred to as satellites) carry star trackers, which detect the positions of stars by the star trackers and determine the attitude of the aircraft based on the detected positions of the stars. A star tracker is one of the satellite attitude sensors, calculates the star positions from the star images acquired by an imaging device, identifies the stars by comparing with the positions on the star catalog, and outputs the attitude of the satellite.
[0003] The images acquired by the imaging device contain noise in addition to star images. Therefore, when determining the image area used for star position calculation in the image, it is necessary to devise a way to prevent the noise from entering the image area. According to Patent Document 1, a method has been proposed in which adjacent pixels are searched spirally around a pixel (peak pixel) whose luminance takes an extreme value, and pixels until the luminance falls below a threshold value are used for star position calculation. According to Patent Document 2, a method has been proposed in which bright pixels adjacent to a target pixel are recursively found to extract a lump of star images.
Prior Art Documents
[0006] In view of the above, the start tracker according to the present invention is An imaging means for capturing images of stars and outputting them as images, A search means for searching for a peak pixel among a plurality of pixels constituting the aforementioned image that has a brightness value higher than the brightness value of its adjacent pixel, A determination means for determining an extraction range for extracting a partial image containing the peak pixel from the aforementioned image, A calculation means for calculating the position of a star based on the brightness values of multiple pixels constituting the partial image, It has, The determination means is characterized by determining the extraction range based on at least one of the following parameters: the brightness value of the peak pixel, the position of the peak pixel in the image, and the temperature of the imaging means. [Effects of the Invention]
[0007] According to the present invention, it is possible to reduce the computational load compared to conventional methods. [Brief explanation of the drawing]
[0008] [Figure 1] Block diagram showing the star tracker [Figure 2] Diagram showing the operation of the star position calculation unit. [Figure 3] Diagram showing the operation of the peak search unit. [Figure 4] Diagram showing the operation of the size adjustment section. [Figure 5] Diagram showing the operation of the position calculation unit. [Figure 6] Flowchart showing how to calculate star positions [Figure 7] This diagram illustrates how to determine the filter size based on the peak brightness value. [Figure 8]Flowchart showing how to calculate star positions [Figure 9] A diagram illustrating how to determine the filter size based on temperature information. [Figure 10] Flowchart showing how to calculate star positions [Figure 11] This diagram illustrates how to determine the filter position and size based on the peak pixel position. [Modes for carrying out the invention]
[0009] The embodiments will be described in detail below with reference to the attached drawings. Note that the following embodiments do not limit the invention as defined in the claims, and not all combinations of features described in the embodiments are essential to the invention. Two or more features from the multiple features described in the embodiments may be combined arbitrarily. Furthermore, identical or similar configurations will be given the same reference numeral, and redundant descriptions will be omitted.
[0010] <Star Tracker Configuration> Figure 1 is a block diagram showing a star tracker 100 that supplies attitude control signals to a controlled object 150 such as a satellite. The star tracker 100 includes an image sensor 4, a signal processing circuit 5, a temperature sensor 9 (optional), a CPU 101, and memories 102 and 103. The CPU 101 is a processor or processing circuit that realizes various functions by executing a program stored in memory 103 such as ROM (read-only memory). However, all or part of the multiple functions realized by the CPU 101 may be realized by an integrated circuit such as an ASIC, FPGA, or DSP. ASIC is an abbreviation for Application-Specific Integrated Circuit. FPGA is an abbreviation for Field-Programmable Gate Array. DSP is an abbreviation for Digital Signal Processor.
[0011] The imaging element 4 captures an image of a star via an optical system (not shown) and outputs an image signal to the signal processing circuit 5. The signal processing circuit 5 converts the image signal (analog data) into digital image data 121 and outputs it. The image data 121 may be temporarily stored in a memory 102 such as a RAM (Random Access Memory).
[0012] The star position calculation unit 6 is a function realized by the CPU 101. It extracts star candidates within the image data 121, calculates the positions of each star candidate within the image, and outputs the calculation results to the star identification unit 7. The star position calculation unit 6 has a peak search unit 1 realized by the CPU 101 executing a peak search program 11. The peak search unit 1 searches for peak pixels from the image data 121. Information on the peak pixels found by this search may be saved to a peak pixel list 122. Furthermore, the star position calculation unit 6 has a size adjustment unit 2 realized by the CPU 101 executing a size adjustment program 12. The size adjustment unit 2 is a function for adjusting the extraction range of the partial image (for example, the cut-out size (filter size). In the following description, as an example, extraction will be referred to as cut-out, and the extraction range will be referred to as the filter size for explanation). The filter size determined for each peak pixel is stored in the memory 102 as a filter size list 123. The star position calculation unit 6 has a position calculation unit 3 realized by the CPU 101 executing a position calculation program 13. The position calculation unit 3 cuts out partial images from the entire image according to the filter size for each peak pixel registered in the filter size list 123, calculates the positions of star candidates from the cut-out partial images, and outputs them to the star identification unit 7. Note that the positions of the star candidates may be registered in a star position list 124.
[0013] The star identification unit 7 is a function realized by the CPU 101 executing a star identification program 17. The star identification unit 7 identifies a star based on the position of each star candidate and outputs the identification result to the attitude determination unit 8.
[0014] The attitude determination unit 8 is a function realized by the CPU 101 executing the attitude determination program 18. The attitude determination unit 8 compares the stars identified by the star identification unit 7 with the star catalog 22 that has been pre-calculated and stored in the memory 103 to calculate the current attitude vector of the satellite. Furthermore, the attitude determination unit 8 generates an attitude control signal so that the error between the current attitude vector and the target vector of the satellite becomes small, and outputs it to the control target 150.
[0015] <Star position calculation unit> FIG. 2 is a diagram for explaining the calculation flow in the star position calculation unit 6. FIG. 3 is a conceptual diagram of the operation of the peak search unit 1. FIG. 4 is a conceptual diagram of the operation of the size adjustment unit 2. FIG. 5 is a conceptual diagram of the operation of the position calculation unit 3.
[0016] The peak search unit 1, for example, compares the luminance value of each pixel in the image represented by the image data 121 with a threshold value, and searches for pixels having a luminance value equal to or higher than the threshold value. Furthermore, the peak search unit 1 compares the luminance value of the found pixel (candidate for peak pixel) with the luminance values of a plurality of adjacent pixels adjacent to the found pixel. As a result, a pixel having a luminance value larger than the luminance values of the adjacent pixels is specified as the peak pixel. As illustrated in FIG. 3, the peak search unit 1 stores the position (peak position) of the found peak pixel and its luminance value (peak luminance value) in the peak pixel list 122. In the peak pixel list 122, identification information (peak No.) may be assigned to each peak pixel or star image. The peak position may be expressed by the X coordinate and the Y coordinate in the image data 121.
[0017] The size adjustment unit 2 adjusts or determines the filter size based on one or more pieces of information from the peak brightness value, peak position, and temperature acquired by the temperature sensor 9 of each peak pixel stored in the memory 102 by the peak search unit 1, and adds the filter size to the filter size list 123. As shown in Figure 2, by optimizing the filter size (the size of the extracted partial image), the number of memory accesses and calculation time are reduced while the effect of noise is reduced. According to Figure 2, the filter size is optimized according to the peak brightness value. In other words, the effect of noise is reduced by using different filter sizes for bright stars and faint stars. Figure 2 shows how the filter size is increased (5x5) for bright stars with large peak brightness values and decreased (3x3) for faint stars with small peak brightness values, which will be explained in more detail later.
[0018] As illustrated in Figure 4, the size adjustment unit 2 determines the filter size based on the peak position (X coordinate, Y coordinate) and peak brightness value read from the peak pixel list 122, and registers the determined filter size in the filter size list 123. Similar to the peak pixel list 122, each peak pixel in the filter size list 123 is assigned identification information (peak No.), and the relationship between the peak pixel and the filter size is maintained. This makes it possible to associate different filter sizes with each peak pixel.
[0019] Temperature may be considered when determining the filter size. The temperature obtained by the temperature sensor 9 may be, for example, the temperature of the optical system of the image sensor 4, the temperature of the housing of the star tracker 100, or the temperature of the circuit board on which the image sensor 4 is mounted. The reason for considering temperature is that the main cause of noise is heat. In general, as the temperature of the image sensor 4 increases, thermal noise increases and appears as noise (false bright spots) in the image. Therefore, the filter size may be determined such that the noise reduction level increases (the filter size decreases) as the temperature of the image sensor 4 increases. Alternatively, the filter size may be determined by combining multiple parameters such as the peak brightness value and peak position of each peak pixel and the temperature obtained by the temperature sensor 9, etc. For example, the filter size determined according to the peak brightness value as described above may be corrected based on the temperature obtained by the temperature sensor 9, etc., before determining the final filter size.
[0020] As illustrated in Figure 5, the position calculation unit 3 performs (1) image cropping and (2) star position calculation using luminance-weighted averaging. The position calculation unit 3 determines one star candidate (peak pixel) to be calculated according to the identification information registered in the peak pixel list 122. This is referred to as the i-th peak pixel (peak No. i). The position calculation unit 3 obtains the position (X coordinate, Y coordinate) of the i-th peak pixel from the peak pixel list 122. Furthermore, the position calculation unit 3 reads the filter size registered in association with the i-th peak pixel from the filter size list 123. The position calculation unit 3 sets a cropping area according to the filter size, centered on the position of the i-th peak pixel, and crops a partial image 131 from the image data 121. Next, the position calculation unit 3 calculates a luminance-weighted average value of the positions of each pixel in the partial image 131 and outputs it as the star position in the image.
[0021] The following describes in detail how to adjust the filter size. Example 1 uses peak brightness values. Example 2 uses temperature information. Example 3 uses peak position. As an example, it is assumed that the brightness value of each pixel can take values from 0 to 127.
[0022] <Example 1> Figure 6 is a flowchart showing a method for determining the filter size based on the peak brightness value.
[0023] In S601, the CPU 101 (peak search unit 1) determines whether the search for all peak pixels in the image has been completed. For example, the CPU 101 determines whether the processes from S602 to S605 have been executed for all N pixels (i=1 to N) that make up the image data 121. If the search for peak pixels is not complete, the CPU 101 proceeds to S602.
[0024] In S602, CPU101 (peak search unit 1) obtains the brightness value of the i-th pixel (target pixel) from image data 121.
[0025] In S603, the CPU 101 (peak search unit 1) determines whether the brightness value of the pixel of interest is equal to or greater than a pre-set threshold Th_p. The threshold Th_p is set to a value higher than Th_z, the lower limit of brightness used to select the pixels to be used in the calculation when performing a weighted average in star position calculation. If the brightness value of the pixel of interest is equal to or greater than the threshold Th_p, the CPU 101 proceeds to S604. If the brightness value of the pixel of interest is not equal to or greater than the threshold Th_p, the CPU 101 proceeds to S601.
[0026] In S604, the CPU 101 (peak search unit 1) determines whether the brightness value of the pixel of interest is greater than or equal to the brightness values of all adjacent pixels (adjacent brightness values). The number of adjacent pixels is a maximum of 8 and a minimum of 3 (because pixels at the four corners of the image are adjacent to only 3 pixels). If the brightness value of the pixel of interest is greater than or equal to the adjacent brightness values, the CPU 101 proceeds to S605. If even one of the adjacent brightness values exceeds the brightness value of the pixel of interest, the CPU 101 proceeds to S601.
[0027] In S605, the CPU 101 (peak search unit 1) adds the brightness value and position of the pixel of interest to the peak pixel list 122 as the peak brightness value and peak position. After that, the CPU 101 proceeds to S601.
[0028] If S601 determines that the processing from S602 to S605 has been performed for all N pixels that make up the image data 121, the CPU 101 proceeds from S601 to S611.
[0029] In S611, the CPU 101 (size adjustment unit 2) determines whether the filter size has been determined for each peak pixel registered in the peak pixel list 122. For example, if M peak pixels are registered in the peak pixel list 122, it is determined whether the filter size has been determined for each of the M peak pixels. If there are still peak pixels whose filter size has not been determined, the CPU 101 proceeds to S612.
[0030] In S612, the CPU 101 (size adjustment unit 2) reads the peak brightness value L_p of the j-th peak pixel (the peak pixel of interest) out of M peak pixels from the peak pixel list 122. j is an integer from 1 to M. j is incremented by 1 each time.
[0031] In S613, the CPU 101 (size adjustment unit 2) determines the filter size based on the peak luminance value L_p of the pixel of interest. Multiple threshold values may be used when determining the filter size. For example, the filter size may be determined by comparison with five levels of luminance threshold values (Th1 = 20, Th2 = 40, Th3 = 60, Th4 = 80, Th5 = 100). In this embodiment, when Th1 ≤ L_p < Th2, the filter size is determined to be "3". When Th2 ≤ L_p < Th3, the filter size is determined to be "5". When Th3 ≤ L_p < Th4, the filter size is determined to be "7". When Th4 ≤ L_p < Th5, the filter size is determined to be "9". When Th5 ≤ L_p, the filter size is determined to be "11". Here, the unit of the filter size is the number of pixels in the vertical and horizontal directions of the filter.
[0032] As illustrated in FIG. 7, the cutout size (filter size) of the partial image is determined according to the peak luminance value. The partial image 131a has a peak luminance value of 70 and is an area cut out by a filter of size "7". The partial image 131b has a peak luminance value of 30 and is an area cut out by a filter of size "3".
[0033] Generally, when the peak luminance value is high, the star image becomes large, and when the peak luminance value is low, the star image becomes small. Therefore, when the peak luminance value is low, by relatively reducing the filter size, the probability that noise enters the pixel area of the partial image 131b decreases.
[0034] As another method for determining the filter size based on the peak luminance value, a filter size conversion formula stored in the memory 103 may be used. The input value of the filter size conversion formula is the peak luminance value, and the output value is the filter size. When the output value is not an integer, a process of rounding up or rounding down to an integer may be adopted.
[0035] By adopting these methods, repetitive calculations are not required for determining the filter size. Therefore, the processing can be completed at high speed.
[0036] In S614, the CPU 101 (size adjustment unit 2) adds a filter size to the filter size list 123. The size adjustment unit 2 associates the peak number of the pixel of interest with the filter size and registers it in the filter size list 123. After that, the CPU 101 proceeds to S611. In S611, if it is determined that the filter size has been determined for all peak pixels registered in the peak pixel list 122, the CPU 101 proceeds from S611 to S621.
[0037] In S621, the CPU 101 (position calculation unit 3) determines whether the position calculation for each peak pixel (star candidate) registered in the peak pixel list 122 has been completed. For example, if M peak pixels are registered in the peak pixel list 122, it is determined whether the filter size has been determined for each of the M peak pixels. If there are still peak pixels for which the filter size has not yet been determined, the CPU 101 proceeds to S622.
[0038] In S622, the CPU 101 (position calculation unit 3) reads the peak position of the k-th peak pixel (the peak pixel of interest) from the peak pixel list 122, and also reads the filter size of the pixel of interest from the filter size list 123. k is an integer from 1 to M. k is incremented by 1 each time.
[0039] In S623, the CPU 101 (position calculation unit 3) extracts a partial image 131 based on the peak position of the pixel of interest and the filter size, and calculates the star position within the partial image 131. For example, the position calculation unit 3 calculates the star position by performing a luminance-weighted average within the partial image 131.
[0040] In S624, CPU101 (position calculation unit 3) adds the star positions to the star position list 124.
[0041] In FIG. 7, a square partial image 131 with the number of pixels on one side being the filter size is cut out, but this is only an example. In addition to a square, the partial image 131 may be cut out in a filter shape such as a rhombus according to the shape of the star image in optical design or the like. In that case, the filter size may be determined in light of the definition of the filter size corresponding to each filter shape.
[0042] <Example 2> FIG. 8 is a flowchart showing a method for determining the filter size based on temperature information. The same reference numerals are assigned to the processes common to the process of FIG. 6 in the process of FIG. 8, and the description thereof is omitted. When the search for the peak pixel is completed by the processes from S601 to S605, the CPU 101 proceeds from S601 to S701.
[0043] In S701, the CPU 101 (size adjustment unit 2) acquires the temperature T of the imaging device 4 by the temperature sensor 9. As described above, temperature information correlated with the generation of noise, such as the temperature of the optical system or the temperature of the housing, may be substituted. The CPU 101 proceeds from S701 to S611.
[0044] If it is determined in S611 that there are still peak pixels for which the filter size has not been determined, the CPU 101 proceeds from S611 to S702.
[0045] [[ID=I7]] In S702, the CPU 101 (size adjustment unit 2) determines the filter size based on the temperature T of the imaging device 4. As an example, the filter size is determined by comparing the temperature T with three temperature thresholds (Th1 = 20°C, Th2 = 40°C, Th3 = 6(TC). In this embodiment, when T < Th1, the filter size is determined to be "9". When Th1 ≤ T < Th2, the filter size is determined to be "I". When Th2 ≤ T < Th3, the filter size is determined to be "5". When Th3 ≤ T, the filter size is determined to be "3". Thus, the higher the temperature, the smaller the filter size.
[0046] Figure 9 shows the relationship between filter size and temperature T. When the temperature T is 50°C, the filter size is determined to be 5, and a 5x5 pixel partial image 131c is extracted. When the temperature T is 70°C, the filter size is determined to be 3, and a 3x3 pixel partial image 131d is extracted. The CPU 101 proceeds from S702 to S614 and adds the filter size to the filter size list 123.
[0047] Other methods for determining filter size using temperature information include, for example, using the temperature of the optical system to determine the filter size according to the distortion of the star image. Furthermore, after the filter size is determined by the peak brightness value in Example 1, the filter size may be fine-tuned according to the temperature.
[0048] <Example 3> Figure 10 is a flowchart showing a method for determining the filter position and size based on the position of peak pixels relative to the entire image. Processes in Figure 10 that are common to the processes in Figure 6 are given the same reference numerals, and their explanation is omitted. In other words, S612 and S613 shown in Figure 6 are replaced with S1001 and S1002, respectively.
[0049] In S1001, the CPU 101 (size adjustment unit 2) reads the peak position of the peak pixel of interest from the peak pixel list 122.
[0050] In S1002, the CPU 101 (size adjustment unit 2) determines the filter size based on the peak position of the peak pixel of interest. However, in this embodiment, before that, it calculates a temporary position to adjust the filter position by simulating the position of the peak pixel of interest. This temporary position is read in S622 and S623 is executed, which allows the range over which the filter is applied to the peak pixel of interest to be corrected (the filter position is determined).
[0051] As an example, as shown in Figure 11, the size adjustment unit 2 divides the original image represented by the image data 121 into nine image regions i1 to i9. Furthermore, the size adjustment unit 2 determines the temporary position of the peak pixel of interest according to which image region the peak pixel is located in. Generally, due to the characteristics of the optical lens of the image sensor 4, the image tends to distort as it moves away from the center of the image. Therefore, taking into account the distortion shape, it is possible to pre-determine the temporary position of the peak pixel of interest for each image region.
[0052] Specifically, as shown in Figure 11, instead of applying the filter centered on the peak pixel, a temporary position is determined so that the filter can be applied at a shifted position. In image region i3, the temporary position is pre-set to be determined to the upper right of the peak pixel.
[0053] Thus, in Example 1, which uses peak brightness values, and Example 2, which uses temperature, a partial image 131 is extracted based on a filter centered on the peak pixel, whereas in Example 3, the filter position is determined based on the position of the peak pixel relative to the entire image.
[0054] This is because the distortion tendency of star images differs for each image region, meaning that the peak pixel may be located in a different position from the center of the star image (closer to the center of the overall image) for each image region. Therefore, by setting a filter position relative to the peak pixel position defined for each image region, it becomes easier to extract only the star image.
[0055] Furthermore, the size adjustment unit 2 determines the filter size based on the image region where the peak pixel exists. In Figure 11, the filter size decreases as you move towards the periphery of the image. However, if a temporary position is set here, and the distortion of the image can be absorbed by setting the temporary position, the size adjustment unit 2 does not necessarily need to change the filter size for each image region. It may determine the same filter size for some or all image regions, or the filter size may be determined based on the methods of Example 1 or Example 2.
[0056] An example of decreasing the filter size towards the periphery of the image will be explained in detail. In image region i3 of Figure 11, the temporary position is set to (1,-1) relative to the coordinate (0,0) of the peak pixel, and a 3x3 filter is applied to the peak pixel at (0,0), and the region is the inner region of (0,-2), (0,0), (2,-2), and (2,0). In image region i6, the temporary position is set to (1,0) relative to the coordinate (0,0) of the peak pixel, and a 3x4 filter is applied to the peak pixel at (0,0), and the region is the inner region of (0,-2), (0,2), (2,-2), and (2,2). In image region i5, the temporary position is set to (0,0) relative to the peak pixel coordinate (0,0). A 4x4 filter is applied to the peak pixel at (0,0), and the affected region is the area inside (-2,-2), (-2,2), (2,-2), and (2,2).
[0057] The examples of filter size changes described in the above embodiments are just examples and are not limited to them. For example, the filter size may be increased as you move away from the center of the entire image. This can accommodate the fact that the image tends to stretch at the edges due to the optical design. Even in this case, it is preferable to set a temporary position for adjusting the position where the filter is applied to the peak pixel of interest in a direction away from the center of the image than the position of the peak pixel of interest (upper right in image region i3 in Figure 11).
[0058] Alternatively, the filter position and size may be determined according to the relative position of the peak pixel with respect to the center of the original image. Furthermore, the filter size determined based on the peak brightness value and temperature, as described in other embodiments, may be further fine-tuned according to the position of the peak pixel.
[0059] According to this embodiment, pixels used for star position calculation can be extracted without the need for iterative calculations as in conventional methods. Therefore, luminance-weighted averaging is performed within a range corresponding to the expected size of the star image. Thus, star position calculation can be performed at high speed while reducing noise. Furthermore, the star position is calculated within a partial image extracted by a filter size appropriately set according to the peak luminance value, temperature, or star image shape. Therefore, the probability of noise being included in the partial image is reduced. The star tracker identifies the star based on the position of this candidate star, calculates its attitude from the direction vector of the identified star, and outputs the calculation result. Therefore, the decrease in star identification probability and attitude accuracy due to noise is suppressed.
[0060] The present invention is not limited to the methods described in each of the embodiments described above, and various modifications are possible without departing from the spirit of the invention, and it is also possible to use each embodiment in combination. For example, as described above, after determining the filter size according to the peak brightness value described in Example 1, the filter size may be corrected using the temperature of the image sensor 4 as in Example 2. Furthermore, the filter size may be corrected according to the position of the peak pixel as in Example 3.
[0061] <Technical concepts derived from examples> [Perspective 1] As shown in Figure 1, the image sensor 4 is an example of an imaging means that captures stars and outputs an image. The CPU 101 and the peak search unit 1 function as a search means that searches for peak pixels among a plurality of pixels constituting the image that have a brightness value higher than the brightness value of their adjacent pixels. The CPU 101 and the size adjustment unit 2 function as a determination means that determines the extraction range for extracting a partial image containing peak pixels from the image. The extraction range may be, for example, the cropping size for cropping a partial image (e.g., filter size), or it may be the range of processing in which a certain range of pixels is extracted as a result of image processing other than cropping. For example, the range extracted as a result of filtering processing such as a bilateral filter, or processing that removes pixels that satisfy certain conditions, is also included in this extraction range. The CPU 101 and the position calculation unit 3 function as a calculation means that calculates the position of stars based on the brightness values of a plurality of pixels constituting the partial image. Here, the CPU 101 and the size adjustment unit 2 determine the extraction range in such a way as to reduce the noise contained in the partial image, based on at least one of the following parameters: the brightness value of the peak pixels, the position of the peak pixels in the image, and a parameter correlated with the temperature of the imaging means. This makes it possible to reduce the number of memory accesses and computation time compared to conventional methods. In addition, since there is less noise in the partial image, the accuracy of star position calculations may also improve.
[0062] [Perspective 2] The CPU 101 and the size adjustment unit 2 may determine the extraction range based on the brightness value of the peak pixels included in the partial image, such that the extraction range of the partial image increases if the brightness value of the peak pixels is large. As illustrated in Figure 7, a larger extraction range can be set as the brightness value of the peak pixels increases. Conversely, a smaller extraction range can be set as the brightness value of the peak pixels decreases. This is thought to reduce the influence of noise.
[0063] [Perspective 3] Parameters correlated with the temperature of the imaging means include, for example, the temperature of the imaging means, the temperature of the substrate on which the imaging means is mounted, the temperature of the optical system of the imaging means, and the temperature of the star tracker housing. Therefore, the temperature sensor 9 functions as a temperature detection means. As illustrated in Figure 9, the CPU 101 and the size adjustment unit 2 may determine the extraction range such that the extraction range of the partial image becomes smaller as the temperature of the imaging means increases. In other words, the CPU 101 and the size adjustment unit 2 may determine the extraction range such that the extraction range of the partial image becomes larger as the temperature of the imaging means decreases.
[0064] [Perspectives 4, 5, 6] As described in Example 3, the CPU 101 and the size adjustment unit 2 may determine the cropping position and extraction range based on the position of the peak pixels in the image. For example, the CPU 101 and the size adjustment unit 2 may determine the extraction range according to the optical image distortion corresponding to the position of the peak pixels in the image. This will reduce the effect of image distortion and improve the accuracy of star position calculation.
[0065] [perspective 7] As illustrated in Figure 11, an image may consist of multiple image regions. An extraction range may be pre-set for each of the multiple image regions. The CPU 101 and the size adjustment unit 2 may determine the extraction range according to which of the multiple image regions the peak pixel belongs to. This will reduce the effect of image distortion, thereby improving the accuracy of star position calculation.
[0066] [Perspective 8] As illustrated in Figure 11, the coordinates of the vertices of the partial images extracted based on the extraction range may be pre-set for each of the multiple image regions as relative coordinates to the position of the peak pixels. This will reduce the effects of image distortion and improve the accuracy of star position calculations.
[0067] [Perspective 9] The CPU 101 and the size adjustment unit 2 may determine the shape of the partial image according to the optical image distortion corresponding to the position of the peak pixel in the image. The shape may be a square, rectangle, or rhombus. Alternatively, a more complex shape may be defined to reduce the effect of image distortion. This will reduce the effect of image distortion and thus improve the accuracy of star position calculation.
[0068] [Perspective 10] As illustrated in Figures 6, 8, and 10, a method for calculating star positions is provided. The method for calculating star positions is, for example, The imaging process involves capturing images of stars using an imaging device and outputting the images, A search process for finding a peak pixel among multiple pixels that make up an image that has a brightness value higher than the brightness value of its adjacent pixels, A determination step to determine the extraction range for extracting a partial image containing peak pixels from an image, A calculation process that calculates the position of a star based on the brightness values of multiple pixels that make up a partial image, It has, The determination step is characterized by determining the extraction range in such a way as to reduce noise in the partial image, based on at least one of the following parameters: the brightness value of the peak pixel, the position of the peak pixel in the image, and the temperature of the imaging means.
[0069] [Perspective 11] A program is provided that causes the computer to function as a star tracker as described in any one of the views 1 through 8. As illustrated in Figure 1, this program is stored in memory 103.
[0070] The invention is not limited to the embodiments described above, and various modifications and changes are possible within the scope of the gist of the invention. [Explanation of Symbols]
[0071] 1: Peak search unit, 2: Size adjustment unit, 3: Position calculation unit, 4: Image sensor
Claims
1. An imaging means for capturing an image of a star; A specifying means for specifying a peak pixel having a luminance value higher than the luminance values of its adjacent pixels among a plurality of pixels constituting the image; a determination means for determining an extraction range for extracting a partial image including the peak pixel from the image; A calculation means for calculating a star position in the image based on the luminance values of a plurality of pixels constituting the partial image; A star tracker comprising:
2. The star tracker described in Claim 1, characterized in that the determination means determines the extraction range based on at least one of the brightness value of the peak pixel, the position of the peak pixel within the image, and parameters correlated to the temperature of the imaging means.
3. 3. The star tracker according to claim 2, wherein the determination means determines the extraction range based on a luminance value of the peak pixel such that the extraction range of the partial image becomes larger when the luminance value of the peak pixel included in the partial image is larger.
4. A star tracker as described in claim 2 or 3, characterized in that the determination means determines the size of the extraction range by comparing the luminance value of the peak pixel with a threshold value.
5. A star tracker as described in claim 2 or 3, characterized in that the determination means determines the size of the extraction range of the partial image from the luminance value of the peak pixel using a conversion formula for calculating the extraction range of the partial image according to the luminance value of the peak pixel.
6. A star tracker as described in any one of claims 1 to 3, characterized in that the calculation means calculates the star position in the image by performing a brightness weighted average calculation on the multiple pixels that constitute the partial image.
7. a temperature detection means for detecting at least one of a temperature of the imaging means, a temperature of a board on which the imaging means is mounted, a temperature of an optical system of the imaging means, and a temperature of a housing of the star tracker as a parameter correlated with the temperature of the imaging means; 4. The star tracker according to claim 2, wherein the determining means determines the extraction range based on the parameters such that the extraction range of the partial image becomes smaller as the temperature of the imaging means increases.
8. 8. The star tracker according to claim 2, wherein the determining means sets a cut-out position of the extraction range based on a position of the peak pixel in the image.
9. 8. The star tracker according to claim 7, wherein said determining means determines said extraction range based on a position of said peak pixel in said image.
10. 10. The star tracker according to claim 9, wherein said determining means determines said extraction range in response to an optical image distortion that corresponds to a position of said peak pixel in said image.
11. an imaging step of capturing an image of stars by an imaging means; a step of identifying a peak pixel having a luminance value higher than the luminance values of its adjacent pixels from among a plurality of pixels constituting the image by using an identifying means; a determining step of determining an extraction range for extracting a partial image including the peak pixel from the image by a determining means; A calculation step of calculating a star position in the image based on the luminance values of a plurality of pixels constituting the partial image by a calculation means; A star position calculation method comprising the steps of:
12. A program for causing a computer to function as the star tracker according to any one of claims 1 to 10.